Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: graphql-python/gql

v4.4.0b0

v4.4.0b0 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 21 Jul 13:04

Features

  • Feature support httpx2 (#606)
  • Remove Python 3.9 support (#600)

Fixes

  • Fix gql to work with graphql-core 3.3.0rc0 (#597)
  • Skip multipart parts with empty Content-Type instead of raising (#598)

Misc

  • docs: fix typo in intro.rst (#608)
  • Using Python 3.14 instead of 3.9 to generate the read the docs documentation (#607)
  • Bump isort to 8.0.1 (#605)
  • Bump mypy to 2.1.0 (#604)
  • Bump pytest versions (#603)
  • Fix flake8 unused nonlocal and global warnings (F824) (#602)
  • Bump black version to 26.5.1 and run it with new format (#601)
  • Upgrade vcrpy to 8.2.1 to fix aiohttp 3.14 compatibility (#599)

v4.3.0b3

v4.3.0b3 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 30 May 21:39

Features

  • Add extensions support to GraphQLRequest (#591)

Fixes

  • Support standard http.cookiejar.CookieJar in RequestsHTTPTransport cookies typing (#594)

v4.3.0b2

v4.3.0b2 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 02 Apr 18:50

This version restore graphql-core to <3.4 as issue #588 is now fixed.

Fixes

  • DSL using immutable graphql-core AST classes (#589)

v4.3.0b1

v4.3.0b1 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 30 Mar 21:46

!!! This version limits graphql-core to <3.3.0a12 to avoid issue #588

Features

  • Add extra_args parameter to subscribe() for aiohttp transport (#584)

Fixes

  • Fix DeprecationWarning in test_requests_batch online tests (#582)
  • Don't fall back to Apollo when not in subprotocols (#586)

Misc

  • DOC Use the session in async subs example (#585)

v4.3.0b0

v4.3.0b0 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 09 Jan 18:11

Features

  • Support HTTP multipart subscriptions in AIOHTTPTransport (#574)
  • show oneOf in introspection query (#569)
  • Support Python 3.14 (#575)

Misc

  • Refactor DSL code to use Self type (#567)
  • Fix python 3.9 dev dependencies (#568)
  • Replace archived backoff with tenacity (#573)
  • Bump pytest-asyncio to 1.2.0 (#576)
  • Fix warning in make docs (#579)

v4.2.0b0

v4.2.0b0 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 05 Sep 14:22

Features

  • Add comprehensive directive support to DSL module (#563)
  • Feature dsl schema shortcuts (#566)

Thanks @kasbaker for these features!

v4.1.0b0

v4.1.0b0 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 17 Aug 15:01

Same as v4.0.0b0
Same as stable version v4.0.0 but with graphql-core alpha versions

v4.0.0

Choose a tag to compare

@leszekhanusz leszekhanusz released this 17 Aug 14:42

Breaking Changes

  • Change transports prototype using GraphQLRequest (#551)
  • Using GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (#556):
    This is a big change:
    • the gql and dsl_gql methods will now return a GraphQLRequest instead of a Document Node
      a GraphQLRequest is an object containing the document and optional variable_values and operation_name
    • ALL the execute and subscribe methods now receive a GraphQLRequest as main argument instead of
      a DocumentNode, variable_values and operation_name arguments
    • The old method of sending variable_values as an argument of execute or subscribe still works but is deprecated
      See https://gql.readthedocs.io/en/latest/usage/variables.html for the new syntax.
  • Fix subscription task cancel exception swallow (#548):
    Previously if a task was cancelled while a subscription task was active,
    the asyncio.CancelledError Exception would be swallowed by our code.
    This is not the case anymore so you should now trap that Exception yourself.
  • Clean up the file upload interface with FileVar class (#549):
    The file upload functionality has been modified to require FileVar instances
    for uploaded files (the old method still works but is deprecated).
    See https://gql.readthedocs.io/en/latest/usage/file_upload.html
  • Set logging level to DEBUG for all transports (#552)
  • introspection now requests deprecated input fields by default (#553)
    Note that some backends might not support this and return Unknown argument includeDeprecated. See #564
  • Trapping dependencies Exceptions into TransportConnectionFailed (#558):
    Now gql will trap Exceptions raised by dependencies when executing a request and will
    encapsulate that Exception into the TransportConnectionFailed Exception
  • Set ssl=True by default for AIOHTTPTransport (#538) (issue #529)
  • New TransportConnectionClosed Exception replacing ConnectionClosed Exception (#536)
  • websocket attribute removed from transport, now using _connected instead (#536)
  • Upgrade lastest websockets and Exceptions overhaul (#543)

Features

Batching requests is now fully supported, on sync or async transports, with automatic batching:

  • Implementation of execute_batch for async transports (#550)
  • Implementation of automatic batching for async (#554)

See https://gql.readthedocs.io/en/latest/advanced/batching_requests.html

Fixes

  • Fix httpx test deprecated warning (#542)

  • Refactor websockets transports (#536) :

    Refactor WebSockets Transport with Dependency Injection Architecture

    This major architectural improvement implements dependency injection patterns across the WebSockets transport layer, creating a more modular, testable, and extensible system:

    • Created abstract AdapterConnection interface in common/adapters/connection.py
    • Implemented concrete WebSocketsAdapter to wrap the websockets library
    • Moved websockets_base.py to common/base.py maintaining better structure which is independant of the websockets library used
    • Added new TransportConnectionClosed exception for clearer error handling
    • Reorganized code with proper separation of concerns:
    • Moved common functionality into dedicated adapters folder
    • Isolated connection handling from transport business logic
    • Separated ListenerQueue into its own file for better modularity

Misc

  • Remove MIT license classifier (#555)
  • Refactor transports (#557)
  • bump aiohttp to 3.11.2 (#541)
  • Bumping all the dev dependencies to latest versions (#540)
  • Bump test dependencies (#539)
  • Update pytest to 8.3.4 and pytest-asyncio to 0.25.3 (#537)

v4.0.0b0

v4.0.0b0 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 28 May 16:08

Breaking Changes

  • Change transports prototype using GraphQLRequest (#551)
  • Using GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (#556):
    This is a big change:
    • the gql and dsl_gql methods will now return a GraphQLRequest instead of a Document Node
      a GraphQLRequest is an object containing the document and optional variable_values and operation_name
    • ALL the execute and subscribe methods now receive a GraphQLRequest as main argument instead of
      a DocumentNode, variable_values and operation_name arguments
    • The old method of sending variable_values as an argument of execute or subscribe still works but is deprecated
      See https://gql.readthedocs.io/en/latest/usage/variables.html for the new syntax.
  • Fix subscription task cancel exception swallow (#548):
    Previously if a task was cancelled while a subscription task was active,
    the asyncio.CancelledError Exception would be swallowed by our code.
    This is not the case anymore so you should now trap that Exception yourself.
  • Clean up the file upload interface with FileVar class (#549):
    The file upload functionality has been modified to require FileVar instances
    for uploaded files (the old method still works but is deprecated).
    See https://gql.readthedocs.io/en/latest/usage/file_upload.html
  • Set logging level to DEBUG for all transports (#552)
  • introspection now requests deprecated input fields by default (#553)
  • Trapping dependencies Exceptions into TransportConnectionFailed (#558):
    Now gql will trap Exceptions raised by dependencies when executing a request and will
    encapsulate that Exception into the TransportConnectionFailed Exception

Features

Batching requests is now fully supported, on sync or async transports, with automatic batching:

  • Implementation of execute_batch for async transports (#550)
  • Implementation of automatic batching for async (#554)

See https://gql.readthedocs.io/en/latest/advanced/batching_requests.html

Misc

  • Remove MIT license classifier (#555)
  • Refactor transports (#557)

v4.0.0a0

v4.0.0a0 Pre-release
Pre-release

Choose a tag to compare

@leszekhanusz leszekhanusz released this 20 May 14:27

Breaking Changes

  • Set ssl=True by default for AIOHTTPTransport (#538) (issue #529)
  • New TransportConnectionClosed Exception replacing ConnectionClosed Exception (#536)
  • websocket attribute removed from transport, now using _connected instead (#536)
  • Upgrade lastest websockets and Exceptions overhaul (#543)

Fixes

  • Fix httpx test deprecated warning (#542)

  • Refactor websockets transports (#536) :

    Refactor WebSockets Transport with Dependency Injection Architecture

    This major architectural improvement implements dependency injection patterns across the WebSockets transport layer, creating a more modular, testable, and extensible system:

    • Created abstract AdapterConnection interface in common/adapters/connection.py
    • Implemented concrete WebSocketsAdapter to wrap the websockets library
    • Moved websockets_base.py to common/base.py maintaining better structure which is independant of the websockets library used
    • Added new TransportConnectionClosed exception for clearer error handling
    • Reorganized code with proper separation of concerns:
    • Moved common functionality into dedicated adapters folder
    • Isolated connection handling from transport business logic
    • Separated ListenerQueue into its own file for better modularity

Misc

  • bump aiohttp to 3.11.2 (#541)
  • Bumping all the dev dependencies to latest versions (#540)
  • Bump test dependencies (#539)
  • Update pytest to 8.3.4 and pytest-asyncio to 0.25.3 (#537)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.