v4.0.0b0
Pre-release
Pre-release
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
See https://gql.readthedocs.io/en/latest/usage/variables.html for the new syntax.
- the
- 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).
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 theTransportConnectionFailed
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