This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|
| gql | >=3.5.0,<4 ->>=4,<5 |  |  |
| gql | ==3.5.3 ->==4.0.0 |  |  |
Release Notes
graphql-python/gql (gql)
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 anddsl_gql methods will now return aGraphQLRequest instead of aDocument Node
aGraphQLRequest is an object containing the document and optionalvariable_values andoperation_name - ALL the
execute andsubscribe methods now receive aGraphQLRequest as main argument instead of
aDocumentNode,variable_values andoperation_name arguments - The old method of sending
variable_values as an argument ofexecute orsubscribe still works but is deprecated
Seehttps://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,
theasyncio.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 requireFileVar instances
for uploaded files (the old method still works but is deprecated).
Seehttps://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 returnUnknown 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 theTransportConnectionFailed Exception - Setssl=True by default for AIOHTTPTransport (#538) (issue#529)
- New
TransportConnectionClosed Exception replacingConnectionClosed 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)
Seehttps://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.
This PR was generated byMend Renovate. View therepository job log.
Uh oh!
There was an error while loading.Please reload this page.
This PR contains the following updates:
>=3.5.0,<4->>=4,<5==3.5.3->==4.0.0Release Notes
graphql-python/gql (gql)
v4.0.0Compare Source
Breaking Changes
This is a big change:
gqlanddsl_gqlmethods will now return aGraphQLRequestinstead of aDocumentNodea
GraphQLRequestis an object containing the document and optionalvariable_valuesandoperation_nameexecuteandsubscribemethods now receive aGraphQLRequestas main argument instead ofa
DocumentNode,variable_valuesandoperation_nameargumentsvariable_valuesas an argument ofexecuteorsubscribestill works but is deprecatedSeehttps://gql.readthedocs.io/en/latest/usage/variables.html for the new syntax.
Previously if a task was cancelled while a subscription task was active,
the
asyncio.CancelledErrorException would be swallowed by our code.This is not the case anymore so you should now trap that Exception yourself.
The file upload functionality has been modified to require
FileVarinstancesfor uploaded files (the old method still works but is deprecated).
Seehttps://gql.readthedocs.io/en/latest/usage/file_upload.html
Note that some backends might not support this and return
Unknown argument includeDeprecated. See#564Now gql will trap Exceptions raised by dependencies when executing a request and will
encapsulate that Exception into the
TransportConnectionFailedExceptionTransportConnectionClosedException replacingConnectionClosedException (#536)websocketattribute removed from transport, now using_connectedinstead (#536)Features
Batching requests is now fully supported, on sync or async transports, with automatic batching:
Seehttps://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:
Misc
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.
This PR was generated byMend Renovate. View therepository job log.