rsocket-py
rsocket-py copied to clipboard
Bump gql from 3.5.2 to 4.0.0
Bumps gql from 3.5.2 to 4.0.0.
Release notes
Sourced from gql's releases.
v4.0.0
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
gqlanddsl_gqlmethods will now return aGraphQLRequestinstead of aDocumentNode aGraphQLRequestis an object containing the document and optionalvariable_valuesandoperation_name- ALL the
executeandsubscribemethods now receive aGraphQLRequestas main argument instead of aDocumentNode,variable_valuesandoperation_namearguments- The old method of sending
variable_valuesas an argument ofexecuteorsubscribestill 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.CancelledErrorException 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
FileVarinstances 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
TransportConnectionFailedException- Set ssl=True by default for AIOHTTPTransport (#538) (issue #529)
- New
TransportConnectionClosedException replacingConnectionClosedException (#536)websocketattribute removed from transport, now using_connectedinstead (#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
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
... (truncated)
Commits
059cabaBump version number to 4.0.07695620Restrict graphql-core to <3.3 instead of <3.2.7 on stable branch16c76bfMerge branch 'master' into stabledba4953Documentation improvements (#561)a90f923Bump version number to 4.0.0b04af703eTrapping dependencies Exceptions into TransportConnectionFailed (#558)4fa1553Refactor transports (#557)b3789efUsing GraphQLRequest instead of DocumentNode for gql, execute, subscribe meth...b221c0eRemove MIT license classifier (#555)7fcb5b6Implementation of automatic batching for async (#554)- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.