diff --git a/v3-release-notes.md b/v3-release-notes.md new file mode 100644 index 0000000..edbcb38 --- /dev/null +++ b/v3-release-notes.md @@ -0,0 +1,68 @@ +Welcome to Graphene v3! + +This is our biggest ever release and brings Graphene up to date with the latest changes in the GraphQL spec as well as delivering some new features and bug fixes. Since this is a major version release there are some backwards incompatible changes you’ll want to be aware of when upgrading from Graphene 2.1 or earlier. + +## Python compatibility + +Graphene 3.0 drops support for Python 2.x and now supports Python 3.6, 3.7, and 3.8. + +## What's new in Graphene v3 + +### GraphQL-core v3 + +Graphene builds on top of the excellent [GraphQL-core](https://github.com/graphql-python/graphql-core) library which is a direct port of the reference [GraphQL.js](https://github.com/graphql/graphql-js) library. Graphene v3 now uses [GraphQL-core v3](https://github.com/graphql-python/graphql-core/releases/tag/v3.0.0) which is a significant update from v2 bringing lots of new language features and other improvements. + +### Better Enum support + +TODO + +### Fast ObjectType creation + +TODO + +### Base64 scalar + +TODO + +### Subscription support + +TODO + +### Other new features + +* Better error messages when relay `global_id` fails to parse (https://github.com/graphql-python/graphene/pull/1074) +* Graphene now accepts plain GraphQL types as well as Graphene types (https://github.com/graphql-python/graphene/pull/1224) + +## Backwards incompatible changes in 3.0 + +### Backends support removed + +TODO + +### Enum inputs + +TODO + +Full changelog https://github.com/graphql-python/graphene/compare/v2.1.8...v3.0.0 + +--- + +## Breaking changes + +* Upgrade to graphql-core to v3 which brings feature parity with GraphQL.js v14.6.0 +* Drop support for Python v2 +* Schema type changes +* "Backends" have been removed +* Switch arguments from `type` to `type_` since `type` is a builtin: https://github.com/graphql-python/graphene/pull/738 +* Upgrade to graphql-core v.3.1 which corresponds to GraphQL.js v15 (will be released soon). +* Change enum behaviour: https://github.com/graphql-python/graphene/pull/1153 +* Remove `to_const` function + +## TODO + +* [x] Merge https://github.com/graphql-python/graphene/pull/1111 +* [x] Switch arguments from `type` to `type_` since `type` is a builtin: https://github.com/graphql-python/graphene/pull/738 +* [ ] ~~Rename `resolve_type` to prevent collision with fields called `type`: https://github.com/graphql-python/graphene/pull/775~~ +* [x] Remove `to_const` function: #1212 +* [ ] Change enum behaviour: https://github.com/graphql-python/graphene/pull/1153 +* [x] Set minimum graphql-core version to v3.1 https://github.com/graphql-python/graphene/pull/1215