Skip to content

3.15.0

Choose a tag to compare

@browniebroke browniebroke released this 19 Apr 00:22
· 239 commits to main since this release
2d8e9ad

What's Changed

Released 15th March 2024

  • Django 5.0 and Python 3.12 support [#9157]
  • Use POST method instead of GET to perform logout in browsable API [9208]
  • Added jQuery 3.7.1 support & dropped previous version [#9094]
  • Use str as default path converter [#9066]
  • Document support for http.HTTPMethod in the @action decorator added in Python 3.11 [#9067]
  • Update exceptions.md [#9071]
  • Partial serializer should not have required fields [#7563]
  • Propagate 'default' from model field to serializer field. [#9030]
  • Allow to override child.run_validation call in ListSerializer [#8035]
  • Align SearchFilter behavior to django.contrib.admin search [#9017]
  • Class name added to unknown field error [#9019]
  • Fix: Pagination response schemas. [#9049]
  • Fix choices in ChoiceField to support IntEnum [#8955]
  • Fix SearchFilter rendering search field with invalid value [#9023]
  • Fix OpenAPI Schema yaml rendering for timedelta [#9007]
  • Fix NamespaceVersioning ignoring DEFAULT_VERSION on non-None namespaces [#7278]
  • Added Deprecation Warnings for CoreAPI [#7519]
  • Removed usage of field.choices that triggered full table load [#8950]
  • Permit mixed casing of string values for BooleanField validation [#8970]
  • Fixes BrowsableAPIRenderer for usage with ListSerializer. [#7530]
  • Change semantic of OR of two permission classes [#7522]
  • Remove dependency on pytz [#8984]
  • Make set_value a method within Serializer [#8001]
  • Fix URLPathVersioning reverse fallback [#7247]
  • Warn about Decimal type in min_value and max_value arguments of DecimalField [#8972]
  • Fix mapping for choice values [#8968]
  • Refactor read function to use context manager for file handling [#8967]
  • Fix: fallback on CursorPagination ordering if unset on the view [#8954]
  • Replaced OrderedDict with dict [#8964]
  • Refactor get_field_info method to include max_digits and decimal_places attributes in SimpleMetadata class [#8943]
  • Implement __eq__ for validators [#8925]
  • Ensure CursorPagination respects nulls in the ordering field [#8912]
  • Use ZoneInfo as primary source of timezone data [#8924]
  • Add username search field for TokenAdmin (#8927) [#8934]
  • Handle Nested Relation in SlugRelatedField when many=False [#8922]
  • Bump version of jQuery to 3.6.4 & updated ref links [#8909]
  • Support UniqueConstraint [#7438]
  • Allow Request, Response, Field, and GenericAPIView to be subscriptable. This allows the classes to be made generic for type checking. [#8825]
  • Feat: Add some changes to ValidationError to support django style validation errors [#8863]
  • Fix Respect can_read_model permission in DjangoModelPermissions [#8009]
  • Add SimplePathRouter [#6789]
  • Re-prefetch related objects after updating [#8043]
  • Fix FilePathField required argument [#8805]
  • Raise ImproperlyConfigured exception if basename is not unique [#8438]
  • Use PrimaryKeyRelatedField pkfield in openapi [#8315]
  • replace partition with split in BasicAuthentication [#8790]
  • Fix BooleanField's allow_null behavior [#8614]
  • Handle Django's ValidationErrors in ListField [#6423]
  • Remove a bit of inline CSS. Add CSP nonce where it might be required and is available [#8783]
  • Use autocomplete widget for user selection in Token admin [#8534]
  • Make browsable API compatible with strong CSP [#8784]
  • Avoid inline script execution for injecting CSRF token [#7016]
  • Mitigate global dependency on inflection [#8017] [#8781]
  • Register Django urls [#8778]
  • Implemented Verbose Name Translation for TokenProxy [#8713]
  • Properly handle OverflowError in DurationField deserialization [#8042]
  • Fix OpenAPI operation name plural appropriately [#8017]
  • Represent SafeString as plain string on schema rendering [#8429]
  • Fix #8771 - Checking for authentication even if _ignore_model_permissions = True [#8772]
  • Fix 404 when page query parameter is empty string [#8578]
  • Fixes instance check in ListSerializer.to_representation [#8726] [#8727]
  • FloatField will crash if the input is a number that is too big [#8725]
  • Add missing DurationField to SimpleMetadata label_lookup [#8702]
  • Add support for Python 3.11 [#8752]
  • Make request consistently available in pagination classes [#8764]
  • Possibility to remove trailing zeros on DecimalFields representation [#6514]
  • Add a method for getting serializer field name (OpenAPI) [#7493]
  • Add __eq__ method for OperandHolder class [#8710]
  • Avoid importing django.test package when not testing [#8699]
  • Preserve exception messages for wrapped Django exceptions [#8051]
  • Include examples and format to OpenAPI schema of CursorPagination [#8687] [#8686]
  • Fix infinite recursion with deepcopy on Request [#8684]
  • Refactor: Replace try/except with contextlib.suppress() [#8676]
  • Minor fix to SerializeMethodField docstring [#8629]
  • Minor refactor: Unnecessary use of list() function [#8672]
  • Unnecessary list comprehension [#8670]
  • Use correct class to indicate present deprecation [#8665]

Full Changelog: 3.14.0...3.15.0