Skip to content

chore(deps): update dependency gql to v4 #3252

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 18, 2025

This PR contains the following updates:

Package Change Age Confidence
gql >=3.5.0,<4 -> >=4,<5 age confidence
gql ==3.5.3 -> ==4.0.0 age confidence

Release Notes

graphql-python/gql (gql)

v4.0.0

Compare Source

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
  • 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)

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/gql-4.x branch from 7dcec6c to 6f0d70e Compare August 18, 2025 04:20
@renovate renovate bot changed the title fix(deps): update dependency gql to v4 chore(deps): update dependency gql to v4 Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants