Skip to content

Conversation

@renovate
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)
    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)

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
@renovate renovate bot force-pushed the renovate/gql-4.x branch 2 times, most recently from 6e3451b to 2e58288 Compare August 28, 2025 01:37
@renovate renovate bot force-pushed the renovate/gql-4.x branch 2 times, most recently from cbf4e72 to 0ab7c72 Compare September 8, 2025 16:23
@codecov
Copy link

codecov bot commented Sep 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.72%. Comparing base (e8d2538) to head (9a1bcef).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3252   +/-   ##
=======================================
  Coverage   95.72%   95.72%           
=======================================
  Files          98       98           
  Lines        6052     6052           
=======================================
  Hits         5793     5793           
  Misses        259      259           
Flag Coverage Δ
api_func_v4 83.69% <ø> (ø)
cli_func_v4 78.68% <ø> (ø)
unit 90.18% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/gql-4.x branch 3 times, most recently from 62560e8 to d572a94 Compare September 15, 2025 01:56
@renovate renovate bot force-pushed the renovate/gql-4.x branch 2 times, most recently from 403faed to 6b2c63d Compare September 28, 2025 01:29
@renovate renovate bot force-pushed the renovate/gql-4.x branch 3 times, most recently from 6baaf6b to b8cbe86 Compare October 13, 2025 01:32
@renovate renovate bot force-pushed the renovate/gql-4.x branch 3 times, most recently from c94abad to 58fa119 Compare October 17, 2025 19:57
@renovate renovate bot force-pushed the renovate/gql-4.x branch from 58fa119 to 9a1bcef Compare October 17, 2025 20:51
@nejch
Copy link
Member

nejch commented Oct 17, 2025

We'll do this in #3254 instead as it already has the changes required.

@nejch nejch closed this Oct 17, 2025
@renovate
Copy link
Contributor Author

renovate bot commented Oct 17, 2025

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 4.x releases. But if you manually upgrade to 4.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/gql-4.x branch October 17, 2025 21:09
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.

2 participants