unstale

pypi / djangorestframework-jsonapi

djangorestframework-jsonapi

What changed in djangorestframework-jsonapi 8 to 9, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-29.

12 breaking2 deprecations1 new APIs and options1 behavior and defaults12 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.9 on npm

djangorestframework-jsonapi 915 changes

Breaking changes 6

  • Add IncludedResourcesFilter to DEFAULT_FILTER_BACKENDS to retain included-resource validation and prefetching behavior.

    9.0.0release notes

  • The minimum required django-filter version is now 25.1; the newest version is recommended.

    9.0.0release notes

  • Exposing Polymorphic resources through django-polymorphic as JSON:API endpoints is no longer supported.

    9.0.0release notes

  • Support for Django REST framework 3.15 and 3.16 was removed.

    9.0.0release notes

  • Support for Django 4.2 and 5.1 was removed.

    9.0.0release notes

  • Support for Python 3.9 and 3.10 was removed.

    9.0.0release notes

Deprecations 1

  • This mixin is deprecated; use IncludedResourcesFilter as a filter backend instead.

    9.0.0release notes

New APIs and options 1

  • Included-resource validation and prefetching moved to this filter class; add it to DEFAULT_FILTER_BACKENDS so validation runs before prefetching and avoids unnecessary database queries.

    9.0.0release notes

Behavior and default changes 1

  • The HTTP status code is now always added to the error object.

    9.0.0release notes

Fixes and other changes 6

  • The exception code is always added to the error object when set.

    9.0.0release notes

  • Support was added for Django 6.0 and 6.1.

    9.0.0release notes

  • Support was added for Django REST framework 3.17 and 3.18.

    9.0.0release notes

  • Empty responses carrying error codes are now allowed, such as returning Response(status=400) in a view.

    9.0.0release notes

  • None validation errors, such as AuthenticationFailed, are now rendered correctly.

    9.0.0release notes

  • Support was added for Python 3.15.

    9.0.0release notes

djangorestframework-jsonapi 813 changes

Breaking changes 6

  • This is the final release supporting Python 3.9 and 3.10, Django 4.2 and 5.1, and Django REST framework 3.15 and 3.16.

    8.1.0release notes

  • Support for Django 5.0 was removed.

    8.0.0upgrade guide

  • Support for Django REST framework 3.14 was removed.

    8.0.0upgrade guide

  • Built-in support for generating OpenAPI schemas was removed; the notes recommend drf-spectacular-json-api instead.

    8.0.0upgrade guide

  • The minimum required version of the optional package is now 4.0.0.

    8.0.0upgrade guide

  • Support for Python 3.8 was removed.

    8.0.0upgrade guide

Deprecations 1

  • Support for exposing Polymorphic resources as JSON:API endpoints through django-polymorphic is deprecated, with no replacement currently available.

    8.1.0release notes

Fixes and other changes 6

  • Responses now include an empty included array when the include query parameter is present but no related resources exist.

    8.1.0release notes

  • Added support for Python 3.14.

    8.1.0release notes

  • Added support for Django REST framework 3.16.

    8.0.0upgrade guide

  • Added support for Django 5.2.

    8.0.0upgrade guide

  • The sparse fieldset's fields query parameter fully supports JSON_API_FORMAT_FIELD_NAMES.

    8.0.0upgrade guide

  • The compound documents' include query parameter fully supports JSON_API_FORMAT_FIELD_NAMES.

    8.0.0upgrade guide