Changelogs » Graphene-django

PyUp Safety actively tracks 263,166 Python packages for vulnerabilities and notifies you when to upgrade.



This release brings the v3 changes up to date with the changes in v2.13.0


This release brings the v3 changes up to date with the changes in v2.


  * Move to_const function from Graphene into Graphene-Django (992) (996)


  * Fix that generated schemas could contain empty descriptions (v3) (984)
  * Start raising DeprecationWarnings for using only_fields and and exclude_fields (v3) (980)
  * Make v3 django choice field enum naming default (v3) (982)
  * Warn if `fields` or `exclude` are not defined on `DjangoObjectType` (981)


This beta release brings v3 up to date with [v2.10.1](
  Additional changes:
  * Cast potentially translated strings used as descriptions (976)
  * Default camelcase errors (968)


The first beta release of Graphene Django v3
  Breaking changes ‼️
  This release uses Graphene v3 which drops support for Python 2 and uses the v3 version of graphql-core. See for more details.
  There are also some other smaller breaking changes which will be documented in the final release notes.
  ⚠️ This is a beta release so there may be bugs and things are subject to change. Please do try it out in your projects and report back with any issues that you find.


New features
  * Extract query function from GraphQLTestCase making it possible to use in a pytest fixture (1015)
  * Add headers support to GraphiQL (1016)
  * Add converter for Django 3.1 JSONField (1017)
  * Fix Connection/Edge naming and add unit test (1012)
  Huge thanks to tcleonard, radekwlsk and nikolaik for helping!
  Full changelog:


  * Remove operation name from the regex and default to query (1004)
  Thank you jkimbo for fixing subscriptions without a name.
  Full changelog:


  No breaking changes
  * Update GraphiQL, add GraphiQL subscription support (1001)
  * GraphiQL cleanup (1002)
  Thank you eabruzzese for adding native subscription support and documentation.
  Full changelog:


  * Do not break when after is greater than list_length (999)
  Thanks for the fix bellini666 !


  * Fix error in signature of callproc() and execute() in debug sql tracking (966)
  * DjangoConnectionField slice: use max_limit first, if set (965, 986 and 993)
  * Update classifiers (987)
  * fix(converter): wrap field with NonNull for postgres ArrayFields (545)
  * Fix filtering with GlobalIDFilter (977)
  * Move to_const function from Graphene into Graphene-Django (992)
  Huge thanks to pcraciunoiu, hubertsiuzdak, ulgens, helloqiu and pauricthelodger for helping!
  Full changelog:


  * Do not access the internals of `SimpleLazyObject` (945)
  Full changelog:


New features
  * Disable system checks for graphql_schema management command (939)
  * Convert nullable BooleanField to nullable Boolean field (777)
  * Improve DjangoListField (929)
  * Allow defining fields as an empty list (871)
  * Switch `operation_name` to `operationName` in GraphQLTestCase (936)
  * GraphQlView: Do not 'instantiate_middleware' if middleware is already a MiddlewareManager (952)
  Huge thanks to millar, noelleleigh, ganwell, jckw and msimon for helping!
  Full changelog:


  * Fix error with DjangoModelFormMutation (915)
  Full changelog:


New features
  * Add options to override how Django Choice fields are converted to Enums (860)
  * Detect schema export format from output file path (to support exporting .graphql files) (868)
  * Allow string references in DjangoListField (885)
  * Use actual root/variables/context args of the execute method (878)
  * Include form data in DjangoFormMutation responses (811)
  * Exclude read_only fields from input in DRF mutation (882)
  * Fix a typo in the warning (884)
  * Use to_representation in favor of get_attribute (848)
  Huge thanks to B4rtware, fulaphex, knabben, protasovse, GeyseR and rip-the-jacker for helping!
  Full changelog:


  * Check exclude fields correctly (873)
  * Adding support for disabling enum creation on SerializerMutation (851)
  * Allow for easier template overrides in graphiql (863)
  Huge thanks to benhowes and leewardbound for helping!
  Full changelog:


  * Raise exception early if DjangoModelFormMutation doesn't find a model type (839)
  * Resolve django translation deprecation warnings (847)
  * Resolve django encoding deprecation warnings (853)
  * Fix force_str deprecation warning (858)
  * Only warn don't throw if a field doesn't exist on the Django model (862)
  Huge thanks to luto and zhelyabuzhsky for helping!
  Full changelog:


  New features
  * Add headers arg to GraphQLTestCase.query (827)
  * Read csrftoken from DOM if no cookie is set in graphiql browser (826)
  * Add support for partial updates when using Django Rest Framework serializers (731)
  * Raise exceptions if fields defined in Meta.fields and Meta.exclude on DjangoObjectType don't exist (842)
  Full changelog:


  * Keep original queryset on DjangoFilterConnectionField (816)
  Full changelog:


  New features
  * Support for Django v3 (793)
  * Fix bug with django filter lookup expressions (805)
  * Fix multiple bugs with the DjangoConnectionField not supporting annotations (796)
  Full changelog:


  Another release before v3. Fingers crossed we'll get v3 out soon!
  New features
  * Extend DjangoListField to use model queryset if none defined (732)
  * Convert DRF ChoiceField to Enum (537)
  * Adds variables arg to GraphQLTestCase.query (699)
  * Handle isnull filters differently (753)
  * Pin higher version of graphene for proper graphql-core version r… (768)
  Full changelog:


  Squeezing in another release before v3. Mostly bug fixes but also a change to the parts that are required in DjangoConnectionField and DjangoFilterConnectionField which might require a schema update.
  New features
  * Set converted Django connections to required (610)
  * Fix choices enum: if field can be blank then it isn't required (714)
  * Check for filters defined on base filterset classes (730)
  * Make DjangoDebugContext wait for nested fields (591)
  Full changelog:


  Some great new features and lots of bugfixes in this release. A massive thanks to all the contributors that helped out! This release will probably be the last one before v3 (see
  New features
  * Add support for write_only fields in SerializerMutation (555)
  * Enhanced support for proxy models (603)
  * Add support for filterset_class meta parameter (600)
  * Add watch option to graphql_schema management command (656)
  * Add `convert_choices_to_enum` option on DjangoObjectType Meta class (674)
  * Add option `CAMELCASE_ERRORS` to camel case field names in DRF errors (514 and 689)
  * Mark content of ManyTo* relationships as NonNull (690)
  * Alias `only_fields` as `fields` and `exclude_fields` as `exclude` (691)
  * Stop enforcing csrf checks in GraphQLTestCase (658)
  * Correctly propagate help_text as description for many-to-* relations (579)
  * Fix Django manager check in DjangoConnectionField (which was preventing `prefetch_related` optimisations from working) (693)
  * Remove duplicate ErrorType (701)
  * Ensure correct filter types for DjangoFilterConnectionFields (682)
  * Fix error of multiple inputs with the same type. When using same serializer. (530)
  Full changelog:


Identical to 2.3.1 except we fixed the PyPi uploading.


Fixes one to one reverse relation resolution


  * Fix import issue with `GraphQLTestCase`
  * Stores the GraphiQL query in the URL fragment, rather than the query, so that sensitive data won't be logged to web server logs. 508
  * Moves GraphiQL JS to a separate file to enable stricter Content Security Policies. 508
  * Fix parameter order 526
  * Provide a way to dump schema to stdout 512
  * Removed old Django compatibility code 619
  * Added staticfiles to MANIFESTS.IN 601
  * Update GraphiQL to use 0.13.0 646
  * Change `__debug` to `_debug` to avoid conflicts 646
  Documentation improvements
  * Django debug types 513
  * Updated cookbook examples to be compatible with Django 2.1
  * Improved testing documentation 608
  * Vastly improved documentation throughout.


  This version adds official support for Django 2.1 (and `django_filter` latest version)
  * Exclude `id` from mutations if is in `exclude_fields` 21bad6105c5f5def317fd16c908b85dc43dd7b5b
  * Added compatibility with `django_filter>=2` in Python 3 e45708b44e15db3c70d68b912823dd9efc5b8339
  * Removed official support for `Django<1.11` (only `1.11`, `2.0`, `2.1` and upwards will be supported)
  * Improved authorization docs f6dba3942c104d1b37479ffa417b88ffaf003349
  * Reword abstract to mixin for reusable fields 1ba9652f382ba99cd40a534167976ee64d0ad29b


  * Reformatted files using `black`
  * Pin `django-filter` version to < 2
  * Fixed links
  * Make examples diff more clear


  * Fixed non-deterministic (that causes dependency issues when using Python 3 and Django 2)
  Thanks sciyoshi for reporting the issue in  :)


This is the first RC after almost 8 months from the previous release, apologizes for the long delay.
  This Release Candidate should be good to start using, please let me know if you find any issues before doing the stable release `2.1.0`.
  Thanks to all the contributors for pushing the project forward: grantmcconnaughey pizzapanther jkimbo patrick9 faassen spockNinja BossGrand mongkok mbarrientos eyal0803 jm2242 danyx23 pjdelport 🎉
  * Update requirements to use `Graphene>=2.1` and `graphql-core>=2.1rc1`
  * Added support for pluggable backends 449
  * Added support for `models.FilePathField`
  * Django Rest Framework serializer fixes
  * Inheritance support for GraphQLView
  * Support ListSerializer fields in SerializerMutation
  * Fixes `rel` available in  `ForeignKey` 400
  * GraphQLView, Fix qfactor rankings for `HTTP-ACCEPT` 340
  * Update GraphiQL 356
  * Added Proxy Model support 373
  * Handle conversion to `Date`, `DateTime` and `Time` types properly 335 368
  * Improve ErrorType in DRF mutation errors 382
  * Make it compatible with Django 2.0.1 377
  * Remove Django 1.7 shims 339
  * Fix build tests 338
  * Avoid `Enum` duplication for choice fields 156
  * Fixed batch endpoint issue 278
  * Pass context object to `Filterset` queryset 232
  * Fix `select_related` with filtering 224
  * Allow `DjangoObjectType` to use an Abstract connection class 313
  * Fix `DjangoFilterConnectionField` to ignore annotations, `.reverse` 315
  * Updated docs template
  * Updated cookbook tutorial
  * Fixed bad documented `SerializerMutation`
  * Fix context-dependent filtering example in docs
  * Fixed authorization docs
  * Update example project doc link 359
  * Updated function signature fix
  * Fix drop usage of `AbstractType` in docs
  * Fixed docs typos