Recent Releases of gql
gql -
Features
- Add comprehensive directive support to DSL module (#563)
- Feature dsl schema shortcuts (#566)
Thanks @kasbaker for these features!
- Python
Published by leszekhanusz 6 months ago
gql -
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.
- the
- 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)
- 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
- 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)
- Python
Published by leszekhanusz 6 months ago
gql -
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.
- the
- 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)
- 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
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
Misc
- Remove MIT license classifier (#555)
- Refactor transports (#557)
- Python
Published by leszekhanusz 9 months ago
gql -
Breaking Changes
- 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)
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
- 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)
- Python
Published by leszekhanusz 9 months ago
gql -
Now supporting graphql-core v3.2.4 again (See issue #534)
- Allow graphql-core 3.2.4 by retrofitting introspection commits #535
- Python
Published by leszekhanusz 12 months ago
gql -
3.5.1
Issue #529 reported that by default the AIOHTTPTransport was not validating ssl certificates
(a self-certificate was accepted by default).
This version adds a warning to warn users (See PR #533).
As a workaround, using ssl=True in the transport arguments fix the issue.
graphql-core has been restricted to <3.2.4 to fix tests.
A new stable version will be made shortly.
- Python
Published by leszekhanusz about 1 year ago
gql -
Warning
Issue #529 reported that by default the AIOHTTPTransport was not validating ssl certificates
(a self-certificate was accepted by default).
This version adds a warning to warn users, in the PR:
- AIOHTTPTransport default ssl cert validation add warning (#530)
A new major version will be made shortly to change this default behavior to always verify ssl certificates by default.
Features
- Use httpx with gql-cli if aiohttp is not available on auto (#528)
Fixes
- Using gql version of the getintrospectionquery method (#523) This would reset the change of graphql-core to increase the type recursion level from 7 to 9 in version graphql-core==3.3.0a7 and allow the possibility to change the introspection query recursion level.
Misc
- Sort elements in node_tree method (#520)
- Fix test for introspection type recursion level change in graphql-core v3.3.0a7 (#521)
- Adding the inputvaluedeprecation argument to getintrospectionquery_ast (#524)
- Remove Python 3.8 support (#525)
- Bump sphinx dev dependencies (#526)
- Bump httpx to min 0.27 (#531)
- Bump websockets to 13.x (#532)
- Python
Published by leszekhanusz about 1 year ago
gql -
Features
- New transport AIOHTTPWebsocketsTransport (#478)
- Wire httpx transport in gql-cli (#513)
Fixes
- Fix properly exiting the WebsocketsTransport when a connection_error is received during init (#486)
- Always close transport when an exception appears during the transport connect (#488)
- Fix ssl=None not supported on recent versions of aiohttp (#496)
- Websockets transport Fix long hang under certain network failures (#517)
Misc
- Bump mypy to 1.10 (#485)
- Remove Python 3.7 support (#489)
- Bump pytest-cov dev-dependency to 5.0.0 (#487)
- Remove Python 3.7 support - cleaning old code (#495)
- Update annotation for client.executebatch, getexecution_result argu… (#483)
- Adding MIT License classifier (#498)
- Delete gql-checker folder (#502)
- Fix build wheel warnings (#503)
- Using unittest.mock instead of mock (#504)
- Using pyupgrade with --py38-plus (#505)
- Upgrade GitHub workflows (#506)
- Restrict permissions to GitHub actions (#509)
- types-mock was only useful when using old standalone "mock" module (#511)
- Fix python 3.11 test coverage issues (#512)
- Add minimal pyproject.toml (#514)
- Fix docs sphinx nitpick warnings - adding intersphinx_mapping (#515)
- Fix tests failing vcrpy urllib3 dep (#518)
- Support Python 3.13 (#519)
- Fix deploy to Pypi GitHub action
- Python
Published by leszekhanusz about 1 year ago
gql -
Fixes
- Fix importing
DirectiveLocationdirectly from graphql (#477) Fix running gql with graphql-core 3.3.0a5
Misc
- Fix spelling of
_source(#474) - Doc Fix confusion about
TransportQueryErrorexecute retries (#473)
- Python
Published by leszekhanusz almost 2 years ago
gql -
Features
- Adding
json_serializeandjson_deserializeto requests transport (#466) - Adding
json_deserializeparameter to aiohttp and httpx transports (#465)
- Python
Published by leszekhanusz about 2 years ago
gql -
Same as stable version 3.5.0 but with graphql-core back to versions >= 3.3.0a3
- Python
Published by leszekhanusz about 2 years ago
gql -
IMPORTANT: graphql-core has been reverted to the stable versions 3.2.x See #427 A new pre-release version will be made shortly with the graphql-core versions 3.3.x
New features
- Add execute-timeout argument for gql-cli (#349)
- Add HTTPX transport (#370)
- Don't try to close the aiohttp session if
connector_owneris False (#382) - Feature allow to set the content-type of file uploads (#386)
- Allow to configure the introspection query sent to recover the schema (#402)
- Python 3.11 support (#410)
- Make retry backoff and status codes customizable for the requests transport (#421)
- Support batching queries using sync transports (#431)
- Support automatic batching of sync requests coming from different threads (#436)
- httpx transport now working with trio (#455)
new
anyiodependency added
Bug fixes
- Fix KeyError when errors is not iterable (#359)
- Handle JSON response being
None(#365) - Get response headers even with 4xx return code (#367)
TransportQueryErrorshould extendTransportError(#392)- Fix sync subscribe graceful shutdown (#395)
- Restrict urllib3 to versions 1.x (#413) This should fix the problems which appeared when requests version 2.30 bumped urllib3 to a 2.x version.
- DSLSchema transform type attribute assert into AttributeError (#409)
- Fix typo response_headers in httpx transport (#407)
- Allow alias on DSLMetaField (#405)
- Fix parse_results with fragments (#446)
- Fix missing empty directives in DSL nodes (#448)
Documentation
- Add documentation on websockets level ping frames (#345)
- Minor Spelling Mistake (#351)
- Add phoenix channel transport example (#354)
- DOC minor typo (#396)
Misc
- Make
AsyncTransportandTransportproper abstract base classes (#350) - Update graphql-core to 3.3.0 and dropping support for Python 3.6 (#363)
- Update Sphinx dev dependency to 5.3.0 (#371)
- Update aiohttp minimum dependency version to 3.8.0 (#393)
- Bump websockets dependency to allow 11.x versions (#424)
- Adjust aiohttp pin (#425)
- Validate the argument of the gql function (#435)
- Switch ubuntu-latest to ubuntu-20.04 to fix github actions
- Bump vcrpy and requests_toolbelt (#440) : allows users to use urllib3 2.x versions
- Fix automatic documentation build on readthedocs.io:
readthedocs remove
system_packages: truein config - DOC explain how to install pre-releases versions
- Fix tests with Python 3.12 (#442)
- Adding
node_treemethod in utilities to debug and compareDocumentNodeinstances (#449)
- Python
Published by leszekhanusz about 2 years ago
gql -
Features
- httpx transport now working with trio (#455)
new
anyiodependency added
Misc
- Adding
node_treemethod in utilities to debug and compareDocumentNodeinstances (#449)
- Python
Published by leszekhanusz about 2 years ago
gql -
Fixes
- Fix missing empty directives in DSL nodes (#448)
- Python
Published by leszekhanusz over 2 years ago
gql -
Fixes
- Fix parse_results with fragments (#446)
Misc
- Fix automatic documentation build on readthedocs.io:
readthedocs remove
system_packages: truein config - DOC explain how to install pre-releases versions
- Fix tests with Python 3.12 (#442)
- Python
Published by leszekhanusz over 2 years ago
gql -
Features
- Support batching queries using sync transports (#431)
- Support automatic batching of sync requests coming from different threads (#436)
Misc
- Validate the argument of the gql function (#435)
Maintenance
- Bump vcrpy and requests_toolbelt (#440) : allows users to use urllib3 2.x versions
- Python
Published by leszekhanusz over 2 years ago
gql -
Features
- Make retry backoff and status codes customizable for the requests transport (#421)
Maintenance
- Bump graphql-core min version to 3.3.0a3 and remove await before subscribe (#417)
- Bump websockets dependency to allow 11.x versions (#424)
- Adjust aiohttp pin (#425)
- Python
Published by leszekhanusz over 2 years ago
gql -
Features
- Allow to configure the introspection query sent to recover the schema (#402)
- Python 3.11 support (#410)
Fixes
- Restrict urllib3 to versions 1.x (#413) This should fix the problems which appeared when requests version 2.30 bumped urllib3 to a 2.x version.
- DSLSchema transform type attribute assert into AttributeError (#409)
- Fix typo response_headers in httpx transport (#407)
- Allow alias on DSLMetaField (#405)
- DOC minor typo (#396)
- Switch ubuntu-latest to ubuntu-20.04 to fix github actions
- Python
Published by leszekhanusz almost 3 years ago
gql -
Fixes
- Restrict urllib3 to versions 1.x (#413).
This should fix the problems which appeared when
requestsversion 2.30 bumpedurllib3to a 2.x version.
- Python
Published by leszekhanusz almost 3 years ago
gql -
Fixes
- Fix sync subscribe graceful shutdown (#395)
- Python
Published by leszekhanusz almost 3 years ago
gql -
Fixes
TransportQueryErrorshould extendTransportError(#392)
Maintenance
- Update aiohttp minimum dependency version to 3.8.0 (#393)
- Python
Published by leszekhanusz almost 3 years ago
gql -
New features
- Don't try to close the aiohttp session if
connector_owneris False (#382) - Feature allow to set the content-type of file uploads (#386)
- Python
Published by leszekhanusz about 3 years ago
gql -
New features
- Add HTTPX transport (#370)
Misc
- Update Sphinx dev dependency to 5.3.0 (#371)
- Python
Published by leszekhanusz about 3 years ago
gql -
New features
- Add execute-timeout argument for gql-cli (#349)
Bug fixes
- Fix KeyError when errors is not iterable (#359)
- Handle JSON response being
None(#365) - Get response headers even with 4xx return code (#367)
Documentation
- Add documentation on websockets level ping frames (#345)
- Minor Spelling Mistake (#351)
- Add phoenix channel transport example (#354)
Misc
- Make
AsyncTransportandTransportproper abstract base classes (#350) - Update graphql-core to 3.3.0 and dropping support for Python 3.6 (#363)
- Python
Published by leszekhanusz over 3 years ago
gql -
New features
- Permanent reconnecting async session (#324) This new feature will make it more easy to keep a reference to a session in a class. See the new documentation about this Note: the backoff dependency had to be added for this feature
- Adding explicit json_serialize argument in AIOHTTPTransport (#337)
Bug fixes
- Allow omitting optional arguments with serialize_variables=True (#338)
Documentation
- DOC Add basic example result in README (#336)
- Python
Published by leszekhanusz over 3 years ago
gql -
New features
- DSL Add default method for variables (#322)
Fixes
- Check for errors during fetch_schema() (#328)
- Fix parsing of None with parse_results=True (#326)
Documentation
- Add doc to install gql with conda (#321)
- Python
Published by leszekhanusz almost 4 years ago
gql -
New features
- DSL: support custom names for root operation types (#320)
Fixes
- Fix gql-cli signal issue on windows (fixed in #311)
- Represent serialized floats to approximately python float precision (#318)
Maintenance
- Update black dev dependency to 22.3.0 (#313)
- replace use of
scriptswithentry_points(#311) - build Python wheel (#312)
Documentation
- DSL add note for arguments with Python keywords (#317)
- Python
Published by leszekhanusz almost 4 years ago
gql -
New features
- Allow to specify subprotocols in the websockets transport (#300)
- Saving http response headers reference in transports (#293)
Fixes
- Close transport when fetching the schema failed (#297)
- Fix errors raising TransportProtocolError with the graphql-ws protocol (#299)
- Client: Add explicit overloads and remove *args arguments (#306)
- Python
Published by leszekhanusz almost 4 years ago
gql -
The graphql-python/gql stable version 3.0 is now finally available!
A lot of changes were made since the stable 2.x version and were available in the many pre-releases released since then. We now support async usage and subscriptions, new transports (aiohttp, websockets, phoenix channels, AWS appsync), file uploads, gql-cli script, completely revamped DSL module to compose GraphQL queries dynamically, custom scalars support... with 100% code coverage, typing hints and complete documentation.
This version needs graphql-core>=3.2.0 (#283)
Breaking changes since 2.x
- Set
use_jsondefault True by default in requests transport (#16) type_defargument in Client is now removed in favor ofschema(#113) (#262)- The schema is now always fetched at the beginning of the first session if
fetch_schema_from_transportis set to True (#167) Note that previously with 2.x versions, if the fetching of the schema failed, then the error was silently discarded. This is no more the case with 3.x versions and if you usefetch_schema_from_transport=Trueand there was a problem while getting the schema, then you'll get an Exception - Optional dependencies for transports (#158):
- It is now necessary to request additional dependencies when installing gql
- Please check the installation instructions
- DSL module: see below
- EDIT variable values: some users were apparently providing variable values using
client.execute(query, variables)instead ofclient.execute(query, variable_values=variables). This no longer works in gql 3.0
New since 2.x
- New websockets and aiohttp async transports using asyncio (#70). See async vs sync in the documentation
- Implementation of graphql-ws protocol (#242)
- File upload support (#145) with streaming functionalities (#174) for aiohttp or requests transport (#244)
- gql-cli script
- RequestHTTPTransport:
- Support different operation names (#21)
- Add extra_args argument to execute function (#232)
- Update requests/urllib3 dependency and allow retries on POST requests (#249)
- Custom Scalars input serialization in variables (#253)
- Parse custom scalar and enums in outputs (#256)
- Adding a new transport class to handle Phoenix channels (#100) (#228)
- Supports AWS AppSync (#239)
- Complete Refactor of the DSL Module (#169):
- The DSLSchema only needs a schema, a Client is no more needed
- New dsl_gql function to convert the DSL operations into a Document
- This allows DSL queries to be executed in a session instead of a client (Solves #138)
- Added typing annotations
- Added code documentation and sphinx docs (Solves #82)
- Supports Subscriptions
- Fix nested input arguments
- Allow to set the alias directly in the select method
- Allow multiple operations in a document
- Allow to set the operation name
- Allow to use GraphQL keys named type (#151)
- Add support for variable definitions (#210)
- Implementation of fragments (#235)
- Serialize complex arguments to literals (#255)
- Meta fields implementation (#259)
- Refactor select (#261)
- Support extensions:
- It is now possible to get the full execution result to receive the extensions field (#257)
- Add extensions field to ExecutionResult (#190)
- Enable mypy to discover type hints as specified in PEP 561 (#207)
Big thanks to @Cito for the graphql-core development and all the many contributors who contributed to this release!
- Python
Published by leszekhanusz about 4 years ago
gql -
Misc
- Bump graphql-core to 3.2.0 (#283)
- Add type overloads for getexecutionresult (#287)
Fixes
- Update type hint to align with docs and usage (#285)
Other
- Mark online tests as online (#288)
- Python
Published by leszekhanusz about 4 years ago
gql -
New features
- Supports AWS AppSync (#239)
- It is now possible to get the full execution result to receive the extensions field (#257)
- Add --print-schema to gql-cli to easily download a schema from a backend (#258)
- DSL meta fields implementation (#259)
- Enable mypy to discover type hints as specified in PEP 561 (#275)
- gql-cli add --transport argument (#281)
Fixes
- Invert the order of proposed subprotocols apollo and graphql-ws (#265):
This was needed because some backends were incorrectly sending the first
supported protocol in the list without verification - Fix aiohttp wait for closed ssl connections (#153):
Should fix error "RuntimeError: Event loop is closed" when using gql-cli under windows with a https backend - Add skip and include directive in introspection schema (#279)
Other
- DSL Refactor select (#261)
- Supporting Python 3.10 without warnings (#264)
- Update websockets to 10 for Python versions >= 3.6
- Expand aiohttp version range (#274)
- Documentation Adding error handling doc (#266)
- gql-cli add signal handlers to catch ctrl-c and close cleanly (#276)
- refactor the websockets transport with WebsocketsTransportBase (#239)
Breaking changes
- Remove the obsolete type_def argument of Client (#262)
- Python
Published by leszekhanusz about 4 years ago
gql -
New features
- Implementation of graphql-ws protocol (#242)
- Add upload_files functionality for requests transport (#244)
- AIOHTTPTransport ignore backend mimetype (#248)
- Add the option to specify a filename on multipart file upload (#241)
- DSL implementation of fragments (#235)
- RequestsHTTPTransport add extra_args argument to execute function (#232)
- Update typing hints of timeouts to allow passing floats (#234)
- PhoenixChannelWebsocketsTransport: Handle Absinthe unsubscriptions (#228)
Bug fixes
- Update requests/urllib3 dependency and allow retries on POST requests (#249)
- Async generators always ensure that inner generator are closed properly (#230)
- Python
Published by leszekhanusz over 4 years ago
gql -
New features
- Add Streaming functionalities to file uploads (#174)
- Add extensions field to ExecutionResult (#190)
- Added
keep_alive_timeoutargument to the websockets transport to close the connection if no keep alive are received from the backend in the specified time (#201) - Add support for variable definitions in dsl (#210)
Fixes
- Fix 4xx error handling in transports (#195)
Maintenance
- Update graphql-core version to 3.1.5 (#213)
- Update websockets to >=9 (#214)
Documentation
- Adding docs and test about cookies (#202)
- add docs on how to disable the transport logs (#183)
- Python
Published by leszekhanusz over 4 years ago
gql -
Breaking Changes
- The schema is now always fetched at the beginning of the first session if
fetch_schema_from_transportis set to True (#167) - Complete Refactor of the DSL Module (#169):
- The DSLSchema only needs a schema, a Client is no more needed.
- New dsl_gql function to convert the DSL operations into a Document
- This allows DSL queries to be executed in a session instead of a client (Solves #138)
- Added typing annotations
- Added code documentation and sphinx docs (Solves #82)
- Supports Subscriptions
- Fix nested input arguments
- Allow to set the alias directly in the select method
- Allow multiple operations in a document
- Allow to set the operation name
Maintenance
- Update aiohttp to >= 3.7.1 (currently 3.7.3)
- Update yarl to >= 1.6.0
- Python
Published by leszekhanusz over 5 years ago
gql -
Breaking Changes:
- Optional dependencies for transports (#158):
- It is now necessary to request additional dependencies when installing gql
- It is no more possible to import transports directly from gql (Sorry...)
- Please check the new installation documentation
Improvements:
- aiohttp and requests transports logging (#157)
- Better transport exception messages (#155)
Documentation:
- Adding IPython section (#165)
- Adding Logging section (#157)
Maintenance:
- Stable Python 3.9 support (#160)
- Update aiohttp from 3.6.2 to 3.7.1 (#159)
- Python
Published by leszekhanusz over 5 years ago
gql -
Breaking changes: * gql-cli script * Now printing result as json * Now working with multi-lines queries, using Ctrl-D (EOF) to execute queries * Using --variables instead of --params
New features: * File upload support (#145) * improved gql-cli script (#148)
Bugs corrected: * DSL allow to use GraphQL keys named type (#151) * Yarl dependency restricted to <1.6
- Python
Published by leszekhanusz over 5 years ago
gql -
Another alpha release of the 3.0 branch.
Bugs corrected:
- Fix running execute and subscribe of client in a Thread (#135)
- Fix race condition in websocket transport close (#133)
- DSL: Fixed bug where a nested GraphQLInputObjectType is causing infinite recursive calls (#132)
- Raises "KeyError" when argument is invalid on DSL. (#121)
New features:
- Adding a new transport class to handle Phoenix channels (#100)
- add the data property in TransportQueryError (#136)
Other improvements:
- Migrated from Travis to GitHub actions
- Migrated from coveralls to codecov
- New documentation generated with sphinx, hosted on readthedocs.io
- Python
Published by leszekhanusz over 5 years ago
gql -
This is the second alpha release of the "modern" 3.0 branch.
The main improvements in this version are:
- Fix some issues with Hasura backend:
- optional variables an operation name for aiohttp and websockets transports (#94)
- ignoring keep-alive messages arriving before the connection_ack message (#110)
- Using more specific exceptions (#95)
- It is now possible to get all the returned errors in the TransportQueryError exception (#96)
- Documentation: Improved README.md and added coding guidelines to CONTRIBUTING.md (#97 #114)
- 100% tests coverage (#107)
- Graceful shutdown for synchronous subscriptions (#99)
- type_def argument in Client is now deprecated in favor of schema (#113)
- Python
Published by leszekhanusz over 5 years ago
gql -
This is the first alpha version in the "modern" branch of gql.
This branch is based on GraphQL-core 3 and supports Python 3.6+.
The main improvements in this version are:
- Set use_json default true by default in requests transport (#16)
- Support different operation names in requests transport (#21)
- New websockets and http async transports using asyncio (#70)
- Allow to pass arguments to websockets.connect (#83)
- LocalSchemaTransport is now an AsyncTransport (#84)
- New connect method in requests transports (#87)
Please give us your feedback so that we can publish beta and final releases soon.
- Python
Published by Cito almost 6 years ago
gql -
This is the first version in the "legacy" branch of gql.
This branch is based on GraphQL-core 2 and supports Python 2.7 and 3.5+.
We recommend upgrading to Python 3 and using the modern branch starting with v3.0.0.
- Python
Published by Cito almost 6 years ago