Skip to content

Releases: encode/django-rest-framework

v3.16.0

28 Mar 14:28
ac50cec
Compare
Choose a tag to compare

This release is considered a significant release to improve upstream support with Django and Python. Some of these may change the behaviour of existing features and pre-existing behaviour. Specifically, some fixes were added to around the support of UniqueConstraint with nullable fields which will improve built-in serializer validation.

Features

  • Add official support for Django 5.1 and its new LoginRequiredMiddleware in #9514 and #9657
  • Add official Django 5.2a1 support in #9634
  • Add support for Python 3.13 in #9527 and #9556
  • Support Django 2.1+ test client JSON data automatically serialized in #6511 and fix a regression in #9615

Bug fixes

  • Fix unique together validator to respect condition's fields from UniqueConstraint in #9360
  • Fix raising on nullable fields part of UniqueConstraint in #9531
  • Fix unique_together validation with source in #9482
  • Added protections to AttributeError raised within properties in #9455
  • Fix get_template_context to handle also lists in #9467
  • Fix "Converter is already registered" deprecation warning. in #9512
  • Fix noisy warning and accept integers as min/max values of DecimalField in #9515
  • Fix usages of open() in setup.py in #9661

Translations

  • Add some missing Chinese translations in #9505
  • Fix spelling mistakes in Farsi language were corrected in #9521
  • Fixing and adding missing Brazilian Portuguese translations in #9535

Removals

  • Remove support for Python 3.8 in #9670
  • Remove long deprecated code from request wrapper in #9441
  • Remove deprecated AutoSchema._get_reference method in #9525

Documentation and internal changes

  • Provide tests for hashing of OperandHolder in #9437
  • Update documentation: Add adrf third party package in #9198
  • Update tutorials links in Community contributions docs in #9476
  • Fix usage of deprecated Django function in example from docs in #9509
  • Move path converter docs into a separate section in #9524
  • Add test covering update view without queryset attribute in #9528
  • Fix Transifex link in #9541
  • Fix example httpie call in docs in #9543
  • Fix example for serializer field with choices in docs in #9563
  • Remove extra <> in validators example in #9590
  • Update strftime link in the docs in #9624
  • Switch to codecov GHA in #9618
  • Add note regarding availability of the action attribute in 'Introspecting ViewSet actions' docs section in #9633
  • Improved description of allowed throttling rates in documentation in #9640
  • Add rest-framework-gm2m-relations package to the list of 3rd party libraries in #9063
  • Fix a number of typos in the test suite in the docs in #9662
  • Add django-pyoidc as a third party authentication library in #9667

New Contributors

Full Changelog: 3.15.2...3.16.0

3.15.2

28 Dec 10:24
c7a7eae
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.15.1...3.15.2

Version 3.15.1

06 May 08:38
3285916
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.15.0...3.15.1

Version 3.14.0

08 Nov 10:37
Compare
Choose a tag to compare
  • Django 2.2 is no longer supported. #8662
  • Django 4.1 compatibility. #8591
  • Add --api-version CLI option to generateschema management command. #8663
  • Enforce is_valid(raise_exception=False) as a keyword-only argument. #7952
  • Stop calling set_context on Validators. #8589
  • Return NotImplemented from ErrorDetails.__ne__. #8538
  • Don't evaluate DateTimeField.default_timezone when a custom timezone is set. #8531
  • Make relative URLs clickable in Browseable API. #8464
  • Support ManyRelatedField falling back to the default value when the attribute specified by dot notation doesn't exist. Matches ManyRelatedField.get_attribute to Field.get_attribute. #7574
  • Make schemas.openapi.get_reference public. #7515
  • Make ReturnDict support dict union operators on Python 3.9 and later. #8302
  • Update throttling to check if request.user is set before checking if the user is authenticated. #8370

Version 3.13.1

08 Nov 10:37
Compare
Choose a tag to compare
  • Revert schema naming changes with function based @api_view. #8297

Version 3.13.0

08 Nov 10:37
7a84dc7
Compare
Choose a tag to compare
  • Django 4.0 compatability. #8178
  • Add max_length and min_length options to ListSerializer. #8165
  • Add get_request_serializer and get_response_serializer hooks to AutoSchema. #7424
  • Fix OpenAPI representation of null-able read only fields. #8116
  • Respect UNICODE_JSON setting in API schema outputs. #7991
  • Fix for RemoteUserAuthentication. #7158
  • Make Field constructors keyword-only. #7632

3.12.4

31 May 07:29
0323d6f
Compare
Choose a tag to compare
version 3.12.4

Version 3.9.3

29 Apr 14:36
Compare
Choose a tag to compare

This is the last Django REST Framework release that will support Python 2.
Be sure to upgrade to Python 3 before upgrading to Django REST Framework 3.10.

  • Adjusted the compat check for django-guardian to allow the last guardian
    version (v1.4.9) compatible with Python 2. #6613

Version 3.9.2

03 Mar 19:23
Compare
Choose a tag to compare

See Release Notes for details.

Version 3.9.1

28 Feb 14:14
453196e
Compare
Choose a tag to compare