pypi / djangorestframework
djangorestframework
What changed in djangorestframework 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
2 breaking3 security1 new APIs and options8 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initdjangorestframework 314 changes
Breaking changes 2
Non-text encoding charsets are refused.
Rejects non-finite values such as nan and inf.
Security 3
Content negotiation is hardened against large Accept headers.
Django REST framework: AdminRenderer may disclose GET-protected data when rendering invalid write requests
Django REST framework: Potential bypass of Django
DATA_UPLOAD_MAX_MEMORY_SIZEwhen parsing oversized JSON and urlencoded request bodies via DRFrequest.data
New APIs and options 1
Adds a compatibility setting for ListSerializer error formats.
Fixes and other changes 8
Restored from 3.18.1 to fix a broken return value.
Python 3.15 is supported.
Deleting a TokenProxy now actually deletes the token.
Validation now works correctly for unique constraints with conditional fields.
Fields with blank=True in unique constraints are no longer treated as required.
Fixes duplicate validation errors for GenericIPAddressField when a protocol is specified.
Fixes int64 format detection for negative IntegerField minimums in OpenAPI schema definitions.
Fixes the list serializer when used with a unique constraint validator.