Changelogs >


PyUp actively tracks 429,349 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies


What's Changed
* Various spelling and grammar fixes for the documentation. by justinrmiller in
* Chore: Refactor Multi Expression Code ✨ by yezz123 in
* Add Python 3.9 and 3.10 to the test matrix by Cito in
* fix by conao3 in
* fix: default value for argument should be Undefined (Issue 1394) by tcleonard in
* fix: add default param _variables to parse_literal 1419 by fugal-dy in
* Make Graphene compatible with GraphQL-Core 3.2 by Cito in

New Contributors
* justinrmiller made their first contribution in
* yezz123 made their first contribution in
* conao3 made their first contribution in
* fugal-dy made their first contribution in

**Full Changelog**:


[Release notes](

What's Changed
* Graphene v3 following v3 graphql-core by mvanlonden in
* Fix typos by minho42 in
* Remove AbstractType by jkimbo in
* Propagate arguments of relay.NodeField to Field by tdiam in
* Fix typo in execute.rst by TheMelter in
* Increase the allowed version of aniso8601 by ymoch in
* Update quickstart.rst by ibhlool7 in
* Add file uploading docs by jkimbo in
* Fix objecttypes DefaultResolver example (1087) by tompao in
* Fix tests by jkimbo in
* Fix example code by jkimbo in
* Update readme by jkimbo in
* Use unidecode to handle unicode characters in constant names by henrythor in
* The default_value of InputField should be INVALID by ganwell in
* Add a helpful message to when a global_id fails to parse. by allen-munsch in
* fix example middleware class in docs by dsanders11 in
* fix typo in class 'Interface' by JMmmmuu in
* Fix example query in quickstart doc by ko-lem in
* Fixed import causing Graphene v3 to crash by jaydenwindle in
* Replace INVALID with Undefined by jkimbo in
* Added support for subscription by rob-blackbourn in
* Remove subclass polyfill by syrusakbary in
* Updated all str.format(…) to f-strings by syrusakbary in
* Fixed examples, make root object explicit inside resolvers and mutate by hzlmn in
* Remove unused function by jkimbo in
* Add some more tests for Interface by jkimbo in
* Use default_resolver to resolve values when using the source attribute by jkimbo in
* Add note about the use of `args` by jkimbo in
* Docs: integrations: fix FastAPI link by sduthil in
* Fix resolve method parameters bullet list by rrueth in
* Allow fast ObjectType creation based on dataclasses by syrusakbary in
* added graphene import to READMEs by kimbo in
* Update excluded packages list to properly exclude examples package by radekwlsk in
* Fix typos by kevinharvey in
* Fix issue with trailing whitespace by jkimbo in
* Fix typo in quickstart document by dbgb in
* Fix DateTime Scalar parse_literal methods (1199) by Cito in
* Remove staticmethod decorator in mutations doc by jkimbo in
* Remove to_const function by jkimbo in
* Update requirement for Query type in mutation docs by jkimbo in
* Rename variables called type to type_ by DoctorJohn in
* Set min version of graphql-core to v3.1.1 by jkimbo in
* Revert 1213 update mutation docs by jkimbo in
* ObjectType meta arguments by jkimbo in
* Add Base64 scalar by EpicEric in
* Expose Base64 type and add custom scalar examples by jkimbo in
* Improve enum compatibility by jkimbo in
* Minor grammatical fix in the schema docs by rednafi in
* Subscription revamp by syrusakbary in
* Split out the subscriptions documentation a separate file and fix it by jkimbo in
* Fix subscribe with arguments by jkimbo in
* Fix Typo in Docs by plopd in
* Fix typo in Schema docs by varundey in
* add BigInt type by pizzapanther in
* Syntax Error Fixed for Dictionary assert by lnxpy in
* Add UnforgivingExecutionContext by AlecRosenbaum in
* Remove Object Mutation dead link from Relay docs by varundey in
* fix(Decimal): parse integers as decimal. by zbyte64 in
* Fix links to Relay docs by bartenra in
* Language fixes on index.rst by shukryzablah in
* Use argument's `default_value` regardless if the input field is required by minhtule in
* fix field name in execute.rst example by kevinr-electric in
* Fix typo in docstring of ObjectType by sir-sigurd in
* Allow later aniso8601 releases by fabaff in
* Update pytz to 2021.1 by fabaff in
* add support for query validation by aryaniyaps in
* Fix actions by aryaniyaps in
* Fix GraphQL-core dependency by ekampf in
* Fix unseen examples by aryaniyaps in

New Contributors
* minho42 made their first contribution in
* tdiam made their first contribution in
* TheMelter made their first contribution in
* ymoch made their first contribution in
* ibhlool7 made their first contribution in
* tompao made their first contribution in
* henrythor made their first contribution in
* ganwell made their first contribution in
* allen-munsch made their first contribution in
* dsanders11 made their first contribution in
* JMmmmuu made their first contribution in
* ko-lem made their first contribution in
* jaydenwindle made their first contribution in
* rob-blackbourn made their first contribution in
* hzlmn made their first contribution in
* sduthil made their first contribution in
* rrueth made their first contribution in
* kimbo made their first contribution in
* radekwlsk made their first contribution in
* kevinharvey made their first contribution in
* dbgb made their first contribution in
* Cito made their first contribution in
* DoctorJohn made their first contribution in
* EpicEric made their first contribution in
* rednafi made their first contribution in
* plopd made their first contribution in
* lnxpy made their first contribution in
* AlecRosenbaum made their first contribution in
* zbyte64 made their first contribution in
* bartenra made their first contribution in
* shukryzablah made their first contribution in
* kevinr-electric made their first contribution in
* sir-sigurd made their first contribution in
* fabaff made their first contribution in
* aryaniyaps made their first contribution in

**Full Changelog**:



* fix: `graphql-core` dependency resolution. (1377)

All changes:



* fix(Decimal): parse integers as decimal. (1295)

All changes:



* Fix subscribe with arguments (1251)
* Add BigInt type (1261)
* Add UnforgivingExecutionContext (1255)

All changes:



* Subscription revamp (1235)

Full changelog:



* Improve enum compatibility (1153)
* Rename variables called type to type_ (1216)
* Fix ObjectType meta arguments (1219)
* Add Base64 scalar (1221)
* Pin graphql-core to >v3.1.2

Full changelog:



* Fix DateTime Scalar parse_literal methods (1199) (1200)
* Remove to_const function (1212)

Full changelog:


Third beta release for Graphene v3.



* Allow fast ObjectType creation based on dataclasses (1157) Contributes to an estimated 3x speedup with initialising ObjectTypes!


Second beta release for Graphene v3.



* Added subscription support! Thanks to rob-blackbourn for this fantasic contribution
* Remove subclass polyfill 1156
* The `source` attribute now uses the default resolver function 1155


First beta release of Graphene based on GraphQL-Core v3.1


Second Graphene alpha release compatible with GraphQL-Core v3.0


First Graphene alpha release compatible with GraphQL-Core v3.0 (graphql-core-next)



* Add support for Python 3.10
* Propagate arguments of relay.NodeField to Field (1036) (1307)



* Bump pinned aniso8601 version
* Allow mutations to apply the interfaces META argument to have the payload object type implement the desired interfaces


Update graphql-relay dependency to fix incompatibility.



* Fix malformed version on aniso8601 requirement (995) 431e93c


* Revise documentation (969) 5cb7d91
* Expose livehtml autobuild in Makefile + Add API autodoc (971) da1359e

Full changelog:



* Added `crunch` and `deduplicator` utitlities
* Permit subclassing arguments from Mutations
* Added precommit
* Moved `Enum` library to `graphql-core`, use `graphql-core>=2.1`

* Improved docs
* Updated interface docs
* Improved Mutation Output docs


Bugfix release to fix a couple of issues.
Thanks to the effort of contributors for this new release jlowin nxtman123 danpalmer dan98765 femesq 🎉

* Don't overwrite fields on InputObject 752
* Incorrectly formatted error message 751
* Fix warning output 748

Docs and Internal
* Update contributing docs about using tox and sync tox pytest cmd with travis 744
* Add isort precommit hook & run on all files 743
* Add flake8 pre-commit hook and manually edit files to pass flake8 validation 746
* Add pyupgrade pre-commit hook and run on all files 736
* Update README Contributing section to encourage use of virtualenv 765
* Fix parameter order for Relay's Root-field 754
* Add python3.6 classifier to 763


A small bugfix release to fix a couple of issues.
Thanks to the effort of contributors for this new release nikordaris dan98765 femesq devArtoria 🎉

* Fix `default_value` on `NonNull` fields (9408ba70d165284ff7ab5efd159a62e1d40a9a7f)
* Add pre-commit tool to repository, and run on all files (730)
* Added partial support to Dynamic type (725)

* Improve v2 migrations docs (732)
* Add Graphene-Mongo to integrations list (711)


This is a minor release, fixing a lot of small issues, with better support for `Date`, `DateTime` and `Time` scalars and tons of improvements on docs.
Thanks to the effort of contributors for this new release jkimbo danpalmer g-- dfee Prince-Leto simonwoerpel pjdelport anisjonischkeit abawchen 🎉

* Extend support for subclassing `InputObjectType` meta a16c5ba00be1d963d438c5e96962b79d1b145cc3
* Raise better error if type is missing from Schema d6968c2e92486dda40725c9ef99f450557003f2b
* Allow ObjectType to set connection name a2178dc22098a36e56d4cec021f984f4cae3649c
* Fixed `to_camel_case ` utility function be1f7d72a46f29eb491d3a6110fd955d0b72dea4
* Add py36 to tox envlist 113cf8da38dcac755599d4b26432e3eaccadc72a
* Enable extra options in mutation fields a7a4ba62af4cb8b00ffa6a9f8cf79bd87dfb5e95
* Improved support / assertion for GraphQL types in Schema 0971a05b33bf65cbc89038eebd85de5fec4e1dcf
* Fixed `required=True` in `ConnectionField` 8c7ca74c6f083007a7c83c843f494357aec69371
* Exclude examples module in package 79f7cc08e3c173e78ab33abe0d49404242f8d26d
* Made `Date`, `DateTime` and `Time` scalars to fail with `GraphQLError` is format is invalid 84fbf5dc23351c26a852271aa6529a60bce13735 9973fd314f6134a96a78617fee1caf21d592b6af
* Fixed `Meta` included in `Enum` members 2594cdb61409f8ecedf0958ee959f8f8ded3efbc
* Fixed deprecations url in deprecation message a96ed550bd0c67b7a9ec0b9f636f71c530441e5f
* Fixed `str` on abstract types, improved `repr` 562cafc14f66bbad7f76e7600fa0acd71d00194e
* Use `aniso8601` instead of `iso8601` b4255e55fd28ca5b31f86876fe3f95f38f0f0838
* Expose `Date`, `DateTime` and `Time` from main package

* Updated docs layout d6df14923dd47df69f7bec7909cb70809f31eea0
* Relay documentation reflect latest 2.0 API ec32c252e7fdb7354e42ac931a7a7ee412d4d56c
* Use pythonic terminology in middleware 834d52f9d3ca49e2a39fdf89da945f296b160c60
* Added `Date` scalar to documentation 98366c6add10fa1532301145e9768bffcbb09dc5
* Document functional middleware 92f6a496c5b0bb08ea976e5a675cc3310b85e585
* Improved `Scalar` documentation 5036d164b74038ad4ef82add05beb73def11c317
* Fixed typos in relay Node examples 7afeaa052bf90f9fabb5ded21f63cc724f1d1180
* Fixed Relay links 8123c4ad8f945ec2154ce6368e3ec78e4c76700a
* Updated middleware example to support introspection 035ff7ef885e9e158093359e93e5723298ab177e
* Fix broken Github link tags 4fa0df401af289c43ff7e3ec73492455446c275e
* Added documentation in `NonNull` lists e26c0a3717c4ff3f90ed8bd710436f8cb6ff4713
* Fixed relay `Node` example d3b708533d05ef13a6b15e7a3f29eac23f812a09


* Prevent breaking changes for future releases 71177fe9776d8cf958ac3054885f891f49c1ef4d
* Support for Enum description lambda f79eb57c063f1e2d1594fc19d1c1863feb5fc862
* Added `Date` type in datetime 045d5fffbec0d32550b19421fa01a088f5cd0d8c
* Improved ObjectType Container initialization 3ee94131ae511d2d83116730dcc4a50258ced5af (Fix for 585)
* Non provided fields in `InputObjectType` value should be `None` (rather than the Field) b5abccb1dc733522df19d56e0906890531a700d3
* Improved tests for nested `InputObjectType` f6697188ee9cbbe22df5e6971ef9686b589f4daf

* Fix minor gramatical error ef507c7932db6f4c90c34589f8d8af2167975f7b
* Fix example of file upload 98c2af3fcc563fbdad75f15a04e69c38b9e61045
* Fixed args example in docs middleware 1555c988e05049e49f119d7684fc0172e469c283
* Fix Union docs 3412dba31fdd5e57dd545eebeb6a116f40f1cf37


Please read the upgrade guide to learn how to upgrade:

* Simpler Graphene types implementation (thanks to `__init_subclass__`, and a polyfill implementation for Python 2).
* Simplified resolver API
* Type Options from class arguments (only available in Python 3)



* Added type consistency for `Argument`s 467
* Include LICENSE in manifest for source bundles d7dff53f46967601a9b289a075a8bf7190431282
* Improved test framework to support thenables returned when executing queries 645bfddfe955e5a51b13a7d2e58714cdbb7166ab
* Improved ClientIDMutation tests 6c2b940a03ee708bb8788836bb7a298d5aed9c57
* Fixed Argument output name 985252920ce2e2701388e2e20f3cc74419ff3b85 (**important**, please check 490)

* Update Relay doc link 5052536787503290fee145ada575ec8810fdf308
* Fixed typo in docs execution bad6f5a18873c5ef6488910b8f58728b8ff1ac1e
* Improved Upgrade guide to 1.0 b5d15b635eabcf6004e222e77c6eb9ad0963cb32
* Fixed typo in `DataLoader` docs 0a9dbb608a0ee71dd556c0bd206a0b39bd5a337d



* Improved `Enum`s comparison and getters afed25a18015643749439288a9536235232dd493
* First version of Graphene test `Client` (`graphene.test.Client`) dfcd7f256340301d7551e2af383e4e84454db097
* Added `possible_types` option in `ObjectType.Meta` that mimics `is_type_of` -> `isinstance(root, possible_types)` a7511d3a2c2eb59ad8342d3db85f18ea477ae379
* Allow node inner types to be lazy e92b03bed5e1a12c558d5b1c8a03b92eecff3218
* Updated `promise` package requirement to 2.0
* Updated `graphql-core` package requirement to 1.1

* Added dataloader (N+1) docs
* Update basic schema with arguments in tutorial doc 06757f10c6cbfb3885531b02a2c93e94491380a5
* Added testing docs (with snapshot testing) 60e29028a8c7e025d5bbfe1d9f730c937829c98c 038f81e8e1931e1f5fb55cad80773bf6c2d2d09c


* Fix docstring whitespace 62e58bd95325604186563f54c898736db9d39585
* Added optional default_resolver in `ObjectType` 98825fa4bc0f2fd6f88d11796b1093e0d63a51ee
* Fix `ObjectType` inheritance with custom Meta ad251e9a8dd46d212e39da67945df4fc3e02b361 48efec307ce245bfe692f75b5dc07c14d8bce15b
* Fixed circular Union/Interfaces d4d8a76a0936b8b8b90e6b316003c31c21e30500
* Improved `lazy_import` to accept also dotted attributes d594a0eca86102ce2ebf9633018437eef8997f42
* Use `Promise.resolve` instead of `promisify` (so we adapt to Promise 2.0) bd0d418986cf69b51801f8e4d361c0c9a5dbc17c
* Improved lazy types support in `Field`, `InputField`, `List` and `NonNull` accepting also now string attributes (will be treated as imports, like: `Field("graphene.String")` 4b714659225a93ea44e95ccdd9ad1b5ea9e36c05

* Added Sphinx to requirements in docs e405a20e3dad7862ae315077150f23b63293a8ea
* Fix indent in mutation docs 3a198d052acc01a8469dc03d0c0d798612830be2
* Spelling/Grammar fix in docs 313a0041414c729fba8c2270359628b1251ce960
* Fixed typo in link to d86bbd8a8647bbcf9d668968977cc35c64f67f12


- `partial` functions can be now passed as type to `Field` 774e9bf4639ca459d0a12a10e090d9ab671b6459
- Added a generic scalar type: `GenericScalar` (based on hung-phan work for `JSON`)
- Refactor mounted type logic 27cd00b9f9b9050b10f9c3c86841c5e4199be086
- Set `Union` as `UnmountedType` 2ef0e23dcf036aa41e7ee96dd2468c7177021829
- Allow class method to be used as field source f728542ce7d431359ed32f3522bea12d629eb329
- Added a `test` packages to as `extra_requires` (so it's easier to install tests dependencies) 256c84a9a535e62a04942d2e96f6972ea269bd78
- Improved `Node.get_node_from_global_id` e8fc58afd6f67d904cf40cf8a81bab4747c54fb8
- Allow `Dynamic` Field to optionally include the schema on type creation and improved `TypeMap` validator 2f87698a0b4951cdc685f22db0a28cae7090c08b
- Improved assertion messages ba29de567041d21cb4d033fb28364c085c9d3bdd
- Added `lazy_import` to graphene 74400642ed8cc0b3d84fa326cf609de35f3b42fc

Docs improvements
- Fixed typos and some improvements in the docs dda3237e0a6306ba2cb675d3cfecd00413562538
- Fixed mutations example input code a749d02663a078552dbc21ae035ff75afdf286e2
- Grammar fix on README 02eb6856ed72841f87bd532e91fe1dc123c0c9d2
- Added docs on how to accept files in a mutation 1232ff3ee1e4006a262be5e50664f44c6e635200
- Fix typos in `Node` docs 8dff91d4c689ea6a92c13a5a5520c1ce9c360e04
- Added Apollo as a supported official client of Graphene 81c1cf3d61e47527ff49a15e97cfdbabe88a8755
- Improved Mutation docs 8b0cd488d426dfec398a95f1c4b478ecee8c55cd
- Added docs for `List` and `NonNull` e2cdd80a5cc5524af0a45273fd257c08b0ff8bc2


- Added new `Time` type to `graphene.types.datetime` 692d7e76ad06b0b0eb777c14197d041913519868
- Fixed promise-like compatibility in relay Connections 3df62d26a7962f1273df972da21b25ac75bc9cf3 (Related `promise` fix:


- Added type getter in the schema when accessing its attrs. 5e0923b56073f42ce25da6628c46ebed120b0654

Now is possible to access Graphene types in a schema by typing `schema.TYPE_NAME` directly.

Breaking changes
- Removed `register` method from `graphene.Schema` df2900e215c88f78dc3fe213df78c8ea9832f3ea