Django REST framework: 3.15.0 Begin (Django 5.0 reinforce)

Versioning

Minor version numbers (0.0.x) are old for changes which can perhaps well be API acceptable. You wants so to give a steal to between minor level releases without any other code changes.

Medium version numbers (0.x.0) can also consist of API changes, in accordance with the deprecation coverage. You ought to be taught the liberate notes fastidiously earlier than upgrading between medium level releases.

Critical version numbers (x.0.0) are reserved for wide mission milestones.

Deprecation coverage

REST framework releases discover a proper deprecation coverage, which is in accordance with Django’s deprecation coverage.

The timeline for deprecation of a feature most modern in version 1.0 would work as follows:

  • Model 1.1 would remain completely backwards acceptable with 1.0, but would elevate RemovedInDRF13Warning warnings, subclassing PendingDeprecationWarning, ought to you make use of the feature which can perhaps well be due to the be deprecated. These warnings are soundless by default, but can even be explicitly enabled for folks that’re ready to start migrating any required changes. For instance ought to you start working your tests using python -Wd manage.py test, you are going to be warned of any API changes you’ve got gotten to rep.

  • Model 1.2 would escalate these warnings to subclass DeprecationWarning, which is loud by default.

  • Model 1.3 would remove the deprecated bits of API completely.

Reward that in accordance with Django’s coverage, any parts of the framework no longer mentioned in the documentation ought to usually be regarded as non-public API, and ought to be area to change.

Upgrading

To present a steal to Django REST framework to the most modern version, use pip:

pip install -U djangorestframework

You may be ready to resolve your currently installed version using pip show:

pip show djangorestframework

3.15.x sequence

3.15.0

Date: 15th March 2024

  • Django 5.0 and Python 3.12 reinforce [[#9157] (https://github.com/encode/django-relaxation-framework/pull/9157)]
  • Exercise POST plot in location of GET to label logout in browsable API [[9208] (https://github.com/encode/django-relaxation-framework/pull/9208)]
  • Added jQuery 3.7.1 reinforce & dropped outdated version [#9094]
  • Exercise str as default path converter [#9066]
  • Doc reinforce for http.HTTPMethod in the @action decorator added in Python 3.11 [#9067]
  • Update exceptions.md [#9071]
  • Partial serializer wouldn’t receive required fields [#7563]
  • Propagate ‘default’ from model area to serializer area. [#9030]
  • Enable to override puny one.run_validation call in ListSerializer [#8035]
  • Align SearchFilter behaviour to django.contrib.admin search [#9017]
  • Class name added to unknown area error [#9019]
  • Fix: Pagination response schemas. [#9049]
  • Fix picks in ChoiceField to reinforce IntEnum [#8955]
  • Fix SearchFilter rendering search area with invalid price [#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]
  • Eradicated utilization of field.choices that prompted paunchy table load [#8950]
  • Enable mixed casing of string values for BooleanField validation [#8970]
  • Fixes BrowsableAPIRenderer for utilization with ListSerializer. [#7530]
  • Swap semantic of OR of two permission classes [#7522]
  • Put off dependency on pytz [#8984]
  • Make set_value a mode within Serializer [#8001]
  • Fix URLPathVersioning reverse fallback [#7247]
  • Warn about Decimal kind in min_value and max_value arguments of DecimalField [#8972]
  • Fix mapping for need values [#8968]
  • Refactor be taught characteristic to use context supervisor for file coping with [#8967]
  • Fix: fallback on CursorPagination ordering if unset on the glimpse [#8954]
  • Changed OrderedDict with dict [#8964]
  • Refactor get_field_info technique to incorporate max_digits and decimal_places attributes in SimpleMetadata class [#8943]
  • Implement __eq__ for validators [#8925]
  • Make certain that CursorPagination respects nulls in the ordering area [#8912]
  • Exercise ZoneInfo as fundamental source of timezone files [#8924]
  • Add username search area for TokenAdmin (#8927) [#8934]
  • Address Nested Relation in SlugRelatedField when many=Misleading [#8922]
  • Bump version of jQuery to 3.6.4 & up to this level ref hyperlinks [#8909]
  • Enhance UniqueConstraint [#7438]
  • Enable Inquire, Response, Self-discipline, and GenericAPIView to be subscriptable. This permits the classes to be made generic for kind checking. [#8825]
  • Feat: Add some changes to ValidationError to reinforce django vogue validation errors [#8863]
  • Fix Admire can_read_model permission in DjangoModelPermissions [#8009]
  • Add SimplePathRouter [#6789]
  • Re-prefetch connected objects after updating [#8043]
  • Fix FilePathField required argument [#8805]
  • Elevate ImproperlyConfigured exception if basename is no longer distinctive [#8438]
  • Exercise PrimaryKeyRelatedField pkfield in openapi [#8315]
  • replace partition with split in BasicAuthentication [#8790]
  • Fix BooleanField’s allow_null behavior [#8614]
  • Address Django’s ValidationErrors in ListField [#6423]
  • Put off a puny bit inline CSS. Add CSP nonce the assign it goes to be required and is readily accessible [#8783]
  • Exercise autocomplete widget for user option in Token admin [#8534]
  • Make browsable API acceptable with solid CSP [#8784]
  • Steer clear of inline script execution for injecting CSRF token [#7016]
  • Mitigate global dependency on inflection #8017 [#8017] [#8781]
  • Register Django urls [#8778]
  • Implemented Verbose Title Translation for TokenProxy [#8713]
  • Neatly address OverflowError in DurationField deserialization [#8042]
  • Fix OpenAPI operation name plural precisely [#8017]
  • Symbolize SafeString as unpleasant string on schema rendering [#8429]
  • Fix #8771 – Checking for authentication although _ignore_model_permissions=True [#8772]
  • Fix 404 when online page quiz parameter is empty string [#8578]
  • Fixes instance register ListSerializer.to_representation [#8726] [#8727]
  • FloatField will rupture if the enter is a quantity that is simply too colossal [#8725]
  • Add missing DurationField to SimpleMetada label_lookup [#8702]
  • Add reinforce for Python 3.11 [#8752]
  • Make request consistently readily accessible in pagination classes [#8764]
  • Possibility to remove trailing zeros on DecimalFields illustration [#6514]
  • Add a mode for getting serializer area name (OpenAPI) [#7493]
  • Add __eq__ plot for OperandHolder class [#8710]
  • Steer clear of importing django.test equipment when no longer checking out [#8699]
  • Preserve exception messages for wrapped Django exceptions [#8051]
  • Embody examples and format to OpenAPI schema of CursorPagination [[#8687] (https://github.com/encode/django-relaxation-framework/pull/8687)] [#8686]
  • Fix limitless recursion with deepcopy on Inquire [#8684]
  • Refactor: Substitute are attempting/aside from with contextlib.suppress() [#8676]
  • Minor repair to SerializeMethodField docstring [#8629]
  • Minor refactor: Pointless use of list() characteristic [#8672]
  • Pointless list comprehension [#8670]
  • Exercise staunch class to illustrate most modern deprecation [#8665]

3.14.x sequence

3.14.0

Date: twenty 2nd September 2022

  • Django 2.2 is no longer any longer supported. [#8662]
  • Django 4.1 compatibility. [#8591]
  • Add --api-version CLI plot to generateschema administration uncover. [#8663]
  • Implement is_valid(raise_exception=False) as a keyword-only argument. [#7952]
  • Cessation calling set_context on Validators. [#8589]
  • Return NotImplemented from ErrorDetails.__ne__. [#8538]
  • Accomplish no longer rob into legend DateTimeField.default_timezone when a personalized timezone is plot. [#8531]
  • Make relative URLs clickable in Browsable API. [#8464]
  • Enhance ManyRelatedField falling encourage to the default price 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 reinforce dict union operators on Python 3.9 and later. [#8302]
  • Update throttling to envision if request.user is plot earlier than checking if the user is authenticated. [#8370]

3.13.x sequence

3.13.1

Date: 15th December 2021

  • Revert schema naming changes with characteristic basically basically based @api_view. [#8297]

3.13.0

Date: Thirteenth December 2021

  • Django 4.0 compatibility. [#8178]
  • Add max_length and min_length alternatives to ListSerializer. [#8165]
  • Add get_request_serializer and get_response_serializer hooks to AutoSchema. [#7424]
  • Fix OpenAPI illustration of null-ready be taught only fields. [#8116]
  • Admire UNICODE_JSON setting in API schema outputs. [#7991]
  • Fix for RemoteUserAuthentication. [#7158]
  • Make Self-discipline constructors keyword-only. [#7632]

3.12.x sequence

3.12.4

Date: twenty sixth March 2021

  • Revert use of deque in location of list for monitoring throttling .history. (Because of the incompatibility with DjangoRedis cache backend. Peep #7870) [#7872]

3.12.3

Date: twenty fifth March 2021

  • Neatly address ATOMIC_REQUESTS when just a few database configurations are old. [#7739]
  • Bypass COUNT quiz when LimitOffsetPagination is configured but pagination params are no longer included on the request. [#6098]
  • Admire allow_null=True on DecimalField. [#7718]
  • Enable title cased "Yes"/"No" values with BooleanField. [#7739]
  • Add PageNumberPagination.get_page_number() plot for overriding behavior. [#7652]
  • Fixed rendering of timedelta values in OpenAPI schemas, when most modern as default, min, or max fields. [#7641]
  • Render JSONFields with indentation in browsable API kinds. [#6243]
  • Put off pointless database quiz in admin Token views. [#7852]
  • Elevate validation errors when bools are passed to PrimaryKeyRelatedField fields, in location of casting to ints. [#7597]
  • Accomplish no longer consist of model properties as automatically generated ordering fields with OrderingFilter. [#7609]
  • Exercise deque in location of list for monitoring throttling .history. [#7849]

3.12.2

Date: Thirteenth October 2020

  • Fix distress if rest_framework.authtoken.models is imported, but rest_framework.authtoken is no longer in INSTALLED_APPS. [#7571]
  • Ignore subclasses of BrowsableAPIRenderer in OpenAPI schema. [#7497]
  • Narrower exception catching in serilizer fields, to be certain that any errors in broken get_queryset() methods are no longer masked. [#7480]

3.12.1

Date: twenty eighth September 2020

  • Add TokenProxy migration. [#7557]

3.12.0

Date: twenty eighth September 2020

  • Add --file plot to generateschema uncover. [#7130]
  • Enhance tags for OpenAPI schema generation. Peep the schema docs. [#7184]
  • Enhance customising the operation ID for schema generation. Peep the schema docs. [#7190]
  • Enhance OpenAPI formulation for schema generation. Peep the schema docs. [#7124]
  • The following methods on AutoSchema turn out to be public API: get_path_parameters, get_pagination_parameters, get_filter_parameters, get_request_body, get_responses, get_serializer, get_paginator, map_serializer, map_field, map_choice_field, map_field_validators, allows_filters. Peep the schema docs
  • Add reinforce for Django 3.1’s database-agnositic JSONField. [#7467]
  • SearchFilter now helps nested search on JSONField and HStoreField model fields. [#7121]
  • SearchFilter now helps looking out on annotate() fields. [#6240]
  • The authtoken model now no longer exposes the pk in the admin URL. [#7341]
  • Add __repr__ for Inquire cases. [#7239]
  • UTF-8 decoding with Latin-1 fallback for frequent auth credentials. [#7193]
  • CharField treats surrogate characters as a validation failure. [#7026]
  • Accomplish no longer consist of callables as default values in schemas. [#7105]
  • Make stronger ListField schema output to incorporate all readily accessible puny one files. [#7137]
  • Enable default=False to be included for BooleanField schema outputs. [#7165]
  • Embody "type" files in ChoiceField schema outputs. [#7161]
  • Embody "type": "object" on schema objects. [#7169]
  • Accomplish no longer consist of enlighten in schema output for DELETE requests. [#7229]
  • Fix schema kinds for DecimalField. [#7254]
  • Fix schema generation for ObtainAuthToken glimpse. [#7211]
  • Enhance passing context=... to glimpse .get_serializer() methods. [#7298]
  • Stream personalized code to PermissionDenied if permission class has one plot. [#7306]
  • Embody “instance” in schema pagination output. [#7275]
  • Default assign of residing code of 201 on schema output for POST requests. [#7206]
  • Exercise camelCase for operation IDs in schema output. [#7208]
  • Warn if reproduction operation IDs exist in schema output. [#7207]
  • Make stronger coping with of decimal kind when mapping ChoiceField to a schema output. [#7264]
  • Disable YAML aliases for OpenAPI schema outputs. [#7131]
  • Fix action URL names for APIs included below a namespaced URL. [#7287]
  • Update jQuery version from 3.4 to 3.5. [#7313]
  • Fix UniqueTogether coping with when serializer fields use source=.... [#7143]
  • HTTP HEAD requests now plot self.action precisely on a ViewSet instance. [#7223]
  • Return a right OpenAPI schema for the case the assign no API schema paths exist. [#7125]
  • Embody tests in equipment distribution. [#7145]
  • Enable kind checkers to reinforce annotations like ModelSerializer[Author]. [#7385]
  • Accomplish no longer consist of invalid charset=None fragment in the request Content-Type header when using APIClient. [#7400]
  • Fix Z/z tokens in OpenAPI regexs. [#7389]
  • Fix PrimaryKeyRelatedField and HyperlinkedRelatedField when source area is de facto a property. [#7142]
  • Token.generate_key is now a class plot. [#7502]
  • @action warns if plot is wrapped in a decorator that doesn’t defend files using @functools.wraps. [#7098]
  • Deprecate serializers.NullBooleanField in favour of serializers.BooleanField with allow_null=True [#7122]

3.11.x sequence

3.11.2

Date: thirtieth September 2020

  • Safety: Fall urlize_quoted_links template mark in favour of Django’s constructed-in urlize. Eliminates a XSS vulnerability for some forms of declare material in the browsable API.

3.11.1

Date: 5th August 2020

  • Fix compat with Django 3.1

3.11.0

Date: 12th December 2019

  • Fall .set_context API in favour of a requires_context marker.
  • Changed default widget for TextField with picks to come to a decision out box. #6892
  • Supported nested writes on non-relational fields, such as JSONField. #6916
  • Embody request/response media kinds in OpenAPI schemas, in line with configured parsers/renderers. #6865
  • Embody operation descriptions in OpenAPI schemas, in line with the docstring on the glimpse. #6898
  • Fix illustration of serializers with all non-compulsory fields in OpenAPI schemas. #6941, #6944
  • Fix illustration of serializers.HStoreField in OpenAPI schemas. #6914
  • Fix OpenAPI generation when title or version is no longer supplied. #6912
  • Exercise int64 illustration for wide integers in OpenAPI schemas. #7018
  • Improved error messages if no .to_representation implementation is supplied on a area subclass. #6996
  • Fix for serializer classes that use just a few inheritance. #6980
  • Fix for reversing Hyperlinked URL fields with percent encoded formulation in the lumber. #7059
  • Update bootstrap to 3.4.1. #6923

3.10.x sequence

3.10.3

Date: 4th September 2019

  • Embody API version in OpenAPI schema generation, defaulting to empty string.
  • Add pagination properties to OpenAPI response schemas.
  • Add missing “description” property to OpenAPI response schemas.
  • Finest consist of “required” for non-empty cases in OpenAPI schemas.
  • Fix response schemas for “DELETE” case in OpenAPI schemas.
  • Exercise an array kind for list glimpse response schemas.
  • Exercise consistent lowerInitialCamelCase vogue in OpenAPI operation IDs.
  • Fix minLength/maxLength/minItems/maxItems properties in OpenAPI schemas.
  • Finest call FileField.url as soon as in serialization, for improved performance.
  • Fix an edge case the assign throttling calculations would possibly well error after a configuration change.

3.10.2

Date: Twenty ninth July 2019

  • Rather heaps of OpenAPI schema fixes.
  • Skill to specify urlconf in include_docs_urls.

3.10.1

Date: 17th July 2019

  • Accomplish no longer consist of autocomplete fields on TokenAuth admin, since it forces constraints on personalized user devices & admin.
  • Require uritemplate for OpenAPI schema generation, but no longer coreapi.

3.10.0

Date: 15th July 2019

  • Switch to OpenAPI schema generation.
  • Fall Python 2 reinforce.
  • Add generateschema --generator_class CLI option
  • As a lot as this level PyYaml dependency for OpenAPI schema generation to pyyaml>=5.1 #6680
  • Resolve DeprecationWarning with markdown. #6317
  • Exercise user.get_username in templates, as adverse to user.username.
  • Fix for cursor pagination distress that can perhaps well happen after object deletions.
  • Fix for nullable fields with source="*"
  • Repeatedly practice all throttle classes for the length of throttling checks.
  • Updates to jQuery and Markdown dependencies.
  • Accomplish no longer strict disallow redundant SerializerMethodField area name arguments.
  • Accomplish no longer render additional actions in browable API if no longer authenticated.
  • Strip null characters from search parameters.
  • Deprecate the detail_route decorator in resolve on of action, which accepts a detail bool. Exercise @action(detail=True) as a exchange. gh6687
  • Deprecate the list_route decorator in resolve on of action, which accepts a detail bool. Exercise @action(detail=False) as a exchange. gh6687

3.9.x sequence

3.9.4

Date: 10th Can also 2019

Here’s a maintenance liberate that fixes an error coping with bug below Python 2.

3.9.3

Date: Twenty ninth April 2019

Here is the closing Django REST Framework liberate that can reinforce Python 2.
Guarantee to give a steal to to Python 3 earlier than upgrading to Django REST Framework 3.10.

  • Adjusted the compat check for django-guardian to enable the closing guardian
    version (v1.4.9) acceptable with Python 2. #6613

3.9.2

Date: third March 2019

  • Routers: invalidate _urls cache on register() #6407
  • Deferred schema renderer introduction to raise away from requiring pyyaml. #6416
  • Added ‘request_forms’ block to unsafe.html #6340
  • Fixed SchemaView to reset renderer on exception. #6429
  • Update Django Guardian dependency. #6430
  • Ensured reinforce for Django 2.2 #6422 & #6455
  • Made templates acceptable with session-basically basically based CSRF. #6207
  • Adjusted area validators to honest receive non-list iterables. #6282
  • Added SearchFilter.get_search_fields() hook. #6279
  • Fix DeprecationWarning when gaining access to collections.abc classes via collections #6268
  • Allowed Q objects in limit_choices_to introspection. #6472
  • Added lazy evaluate to serene permissions. #6463
  • Add negation ~ operator to permissions composition #6361
  • Shunned calling clear on annotated fields in SearchFilter. #6240
  • Launched RemovedInDRF…Warning classes to simplify deprecations. #6480

3.9.1

Date: 16th January 2019

  • Resolve XSS distress in browsable API. #6330
  • Make stronger Bootstrap to 3.4.0 to rep to the backside of XSS distress.
  • Resolve issues with composable permissions. #6299
  • Admire limit_choices_to on international keys. #6371

3.9.0

Date: 18th October 2018

  • Improvements to ViewSet additional actions #5605
  • Fix action reinforce for ViewSet suffixes #6081
  • Enable action docs sections #6060
  • Deprecate the Router.register base_name argument in resolve on of basename. #5990
  • Deprecate the Router.get_default_base_name plot in resolve on of Router.get_default_basename. #5990
  • Swap CharField to disallow null bytes. #6073
    To revert to the old behavior, subclass CharField and take away ProhibitNullCharactersValidator from the validators.
    python
    class NullableCharField(serializers.CharField):
    def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.validators=[
    v
    for v in self.validators
    if not isinstance(v, ProhibitNullCharactersValidator)
    ]
  • Add OpenAPIRenderer and generate_schema administration uncover. #6229
  • Add OpenAPIRenderer by default, and add schema docs. #6233
  • Enable permissions to be serene #5753
  • Enable nullable BooleanField in Django 2.1 #6183
  • Add checking out of Python 3.7 reinforce #6141
  • Take a look at using Django 2.1 closing liberate. #6109
  • Added djangorestframework-datatables to third-birthday celebration capabilities #5931
  • Swap ISO 8601 date layout to exclude year/month-only alternatives #5936
  • Update all pypi.python.org URLs to pypi.org #5942
  • Make certain that that html kinds (multipart manufacture files) appreciate non-compulsory fields #5927
  • Enable hashing of ErrorDetail. #5932
  • Appropriate schema parsing for JSONField #5878
  • Render descriptions (from help_text) using safe #5869
  • Eradicated enter price from deault_error_message #5881
  • Added min_value/max_value reinforce in DurationField #5643
  • Fixed instance being overwritten in pk-only optimization are attempting/aside from block #5747
  • Fixed AttributeError from objects filter when price is None #5981
  • Fixed Javascript e.indexOf is no longer a characteristic error #5982
  • Fix schemas for additional actions #5992
  • Improved get_error_detail to use error_dict/error_list #5785
  • Improved URLs in Admin renderer #5988
  • Add “Neighborhood” section to docs, minor cleanup #5993
  • Moved guardian imports out of compat #6054
  • Deprecate the DjangoObjectPermissionsFilter class, moved to the djangorestframework-guardian equipment. #6075
  • Fall Django 1.10 reinforce #5657
  • Finest score TypeError/ValueError for object lookups #6028
  • Address devices without .objects supervisor in ModelSerializer. #6111
  • Make stronger ModelSerializer.originate() error message. #6112
  • Fix CSRF cookie check failure when using session auth with django 1.11.6+ #6113
  • As a lot as this level JWT docs. #6138
  • Fix autoescape no longer getting passed to urlize_quoted_links filter #6191

3.8.x sequence

3.8.2

Date: sixth April 2018

  • Fix read_only + default unique_together validation. #5922
  • authtoken.views import coreapi from rest_framework.compat, no longer straight away. #5921
  • Docs: Add missing argument ‘ingredient’ to Route #5920

3.8.1

Date: 4th April 2018

  • Exercise old url_name behavior in route decorators #5915

    For list_route and detail_route aid the old behavior of url_name,
    basing it on the url_path in location of the characteristic name.

3.8.0

Date: third April 2018

  • Breaking Swap: Alter read_only plus default behaviour. #5886

    read_only fields will now consistently be excluded from writable fields.

    Beforehand read_only fields with a default price would use the default for originate and replace operations.

    In protest to aid the old behaviour you may well ought to whisk the price of read_only fields when calling save() in
    the glimpse:

    def perform_create(self, serializer):
        serializer.save(owner=self.request.user)
    

    Alternatively you can even override save() or create() or update() on the serializer as acceptable.

  • Appropriate allow_null behaviour when required=Misleading #5888

    With out an train default, allow_null implies a default of null for outgoing serialization. Beforehand such
    fields had been being skipped when be taught-only or otherwise no longer required.

    That you are going to bear in mind of backwards compatibility destroy ought to you had been relying on such fields being excluded from the outgoing
    illustration. In protest to revive the old behaviour you are going to override data to exclude the world when None.

    For instance:

    @property
    def data(self):
        """
        Drop `maybe_none` field if None.
        """
        data=super().data
        if 'maybe_none' in data and data['maybe_none'] is None:
            del data['maybe_none']
        return data
    
  • Refactor dynamic route generation and provides a steal to viewset action introspectibility. #5705

    ViewSets had been supplied with recent attributes and strategies that enable
    it to introspect its plot of actions and the principle points of the most modern action.

    • Merged list_route and detail_route into a single action decorator.
    • Safe all additional actions on a ViewSet with .get_extra_actions().
    • Additional actions now plot the url_name and url_path on the decorated plot.
    • url_name is now in line with the characteristic name, in location of the url_path,
      as the lumber is no longer consistently excellent (e.g., capturing arguments in the lumber).
    • Enable action url reversing via .reverse_action() plot (added in 3.7.4)
    • Instance reverse call: self.reverse_action(self.custom_action.url_name)
    • Add detail initkwarg to illustrate if the most modern action is engaged on a
      series or a single instance.

    Additional changes:

    • Deprecated list_route & detail_route in resolve on of action decorator with detail boolean.
    • Deprecated dynamic list/ingredient route variants in resolve on of DynamicRoute with detail boolean.
    • Refactored the router’s dynamic route generation.
    • list_route and detail_route aid the old behavior of url_name,
      basing it on the url_path in location of the characteristic name.
  • Fix formatting of the three.7.4 liberate demonstrate #5704

  • Docs: Update DRF Writable Nested Serializers references #5711
  • Docs: Fixed typo in auth URLs instance. #5713
  • Make stronger composite area puny one errors #5655
  • Disable HTML inputs for dict/list fields #5702
  • Fix typo in HostNameVersioning doc #5709
  • Exercise rsplit to rep module and classname for imports #5712
  • Formalize URLPatternsTestCase #5703
  • Add exception translation check #5700
  • Take a look at staticfiles #5701
  • Add drf-yasg to documentation and schema third birthday celebration capabilities #5720
  • Put off unused compat._resolve_model() #5733
  • Fall compat workaround for unsupported Python 3.2 #5734
  • Desire iter(dict) over iter(dict.keys()) #5736
  • Stream python_requires argument to setuptools #5739
  • Put off unused hyperlinks from docs #5735
  • Desire https protocol for hyperlinks in docs when readily accessible #5729
  • Add HStoreField, postgres fields tests #5654
  • Repeatedly completely qualify ValidationError in docs #5751
  • Put off unreachable code from ManualSchema #5766
  • Allowed customising API documentation code samples #5752
  • As a lot as this level docs to use pip show #5757
  • Load ‘static’ in location of ‘staticfiles’ in templates #5773
  • Fixed a typo in fields docs #5783
  • Consult with “NamespaceVersioning” in location of “NamespacedVersioning” in the documentation #5754
  • ErrorDetail: add __eq__/__ne__ and __repr__ #5787
  • Substitute background-attachment: fixed in docs #5777
  • Make 404 & 403 responses in line with exceptions.APIException output #5763
  • Petite repair to API documentation: schemas #5796
  • Fix schema generation for PrimaryKeyRelatedField #5764
  • Symbolize serializer DictField as an Object in schema #5765
  • Added docs instance reimplementing ObtainAuthToken #5802
  • Add schema to the ObtainAuthToken glimpse #5676
  • Fix request formdata coping with #5800
  • Fix authtoken views imports #5818
  • Update pytest, isort #5815 #5817 #5894
  • Fixed full of life timezone coping with for non ISO8601 datetimes. #5833
  • Made TemplateHTMLRenderer render IntegerField inputs when price is 0. #5834
  • Corrected endpoint in tutorial directions #5835
  • Add Django Leisure Framework Position Filters to Third birthday celebration capabilities #5809
  • Exercise single copy of static property. Update jQuery #5823
  • Changes ternary conditionals to be PEP308 compliant #5827
  • Added hyperlinks to ‘A Todo Checklist API with React’ and ‘Blog API’ tutorials #5837
  • Fix comment typo in ModelSerializer #5844
  • Add admin to installed apps to raise away from check mess ups. #5870
  • Fixed schema for UUIDField in SimpleMetadata. #5872
  • Corrected docs on router consist of with namespaces. #5843
  • Take a look at using model objects for dotted source default #5880
  • Enable traversing nullable connected fields #5849
  • Added: Tutorial: Django REST with React (Django 2.0) #5891
  • Add LimitOffsetPagination.get_count to enable plot override #5846
  • Accomplish no longer demonstrate hidden fields in metadata #5854
  • Enable OrderingFilter to address an empty tuple (or list) for the ‘ordering’ area. #5899
  • Added generic 500 and 400 JSON error handlers. #5904

3.7.x sequence

3.7.7

Date: 21st December 2017

  • Fix typo to incorporate *.mo locale files to packaging. #5697, #5695

3.7.6

Date: 21st December 2017

  • Add missing *.ico icon files to packaging.

3.7.5

Date: 21st December 2017

  • Add missing *.woff2 font files to packaging. #5692
  • Add missing *.mo locale files to packaging. #5695, #5696

3.7.4

Date: 20th December 2017

  • Schema: Extract plot for manual_fields processing #5633

    Permits for more straightforward customisation of manual_fields processing, shall we embrace
    to kind per-plot manual fields. AutoSchema adds get_manual_fields,
    as the supposed override level, and a utility plot update_fields, to
    address by-name area replacement from a list, which, in frequent, you need to no longer
    anticipated to override.

    Reward: AutoSchema.__init__ now ensures manual_fields is a list.
    Beforehand can also had been saved internally as None.

  • Put off ulrparse compatibility shim; use six as a exchange #5579

  • Fall compat wrapper for TimeDelta.total_seconds() #5577
  • Orderly up all whitespace for the length of mission #5578
  • Compat cleanup #5581
  • Add pygments CSS block in browsable API views #5584 #5587
  • Put off set_rollback() from compat #5591
  • Fix request body/POST rep entry to #5590
  • Rename check to reference staunch distress #5610
  • Documentation Fixes #5611 #5612
  • Put off references to unsupported Django variations in docs and code #5602
  • Take a look at Serializer exclude for declared fields #5599
  • Fixed schema generation for filter backends #5613
  • Minor cleanup for ModelSerializer tests #5598
  • Reimplement request attribute rep entry to w/ __getattr__ #5617
  • Fixed SchemaJSRenderer renders invalid Javascript #5607
  • Make Django 2.0 reinforce official/train #5619
  • Develop kind check on passed request argument #5618
  • Fix AttributeError hiding on request authenticators #5600
  • Update check requirements #5626
  • Docs: Serializer._declared_fields enable modifying fields on a serializer #5629
  • Fix packaging #5624
  • Fix readme rendering for PyPI, add readme manufacture to CI #5625
  • Update tutorial #5622
  • Non-required fields with allow_null=True ought to never suggest a default price #5639
  • Docs: Add allow_null serialization output demonstrate #5641
  • Update to use the Django 2.0 liberate in tox.ini #5645
  • Fix Serializer.data for Browsable API rendering when supplied invalid data #5646
  • Docs: Reward AutoSchema obstacles on bare APIView #5649
  • Add .basename and .reverse_action() to ViewSet #5648
  • Docs: Fix typos in serializers documentation #5652
  • Fix override_settings compat #5668
  • Add DEFAULT_SCHEMA_CLASS setting #5658
  • Add docs demonstrate re generated BooleanField being required=False #5665
  • Add ‘dist’ manufacture #5656
  • Fix typo in docstring #5678
  • Docs: Add UNAUTHENTICATED_USER=None demonstrate #5679
  • Update OPTIONS instance from “Documenting Your API” #5680
  • Docs: Add demonstrate on object permissions for FBVs #5681
  • Docs: Add instance to to_representation docs #5682
  • Add hyperlink to Classy DRF in docs #5683
  • Doc ViewSet.action #5685
  • Fix schema docs typo #5687
  • Fix URL pattern parsing in schema generation #5689
  • Add instance using source=‘*’ to personalized area docs. #5688
  • Fix format_suffix_patterns behavior with Django 2 path() routes #5691

3.7.3

Date: sixth November 2017

  • Fix AppRegistryNotReady error from contrib.auth glimpse imports #5567

3.7.2

Date: sixth November 2017

  • Fixed Django 2.1 compatibility due to the elimination of django.contrib.auth.login()/logout() views. #5510
  • Add missing import for TextLexer. #5512
  • Alongside side examples and documentation for caching #5514
  • Embody date and date-time layout for schema generation #5511
  • Exercise triple backticks for markdown code blocks #5513
  • Interactive docs – rep backside sidebar objects sticky #5516
  • Make clear pagination system check #5524
  • Cessation JSONBoundField mangling invalid JSON #5527
  • Ranking JSONField render as textarea in Browsable API #5530
  • Schema: Exclude OPTIONS/HEAD for ViewSet actions #5532
  • Fix ordering for dotted sources #5533
  • Fix: Fields with allow_null=True ought to signify a default serialization price #5518
  • Make certain that Space header is strictly a ‘str’, no longer subclass. #5544
  • Add import to instance in api-manual/parsers #5547
  • Bag OverflowError for “out of range” datetimes #5546
  • Add djangorestframework-rapidjson to third birthday celebration capabilities #5549
  • Elevate check coverage for drf_create_token uncover #5550
  • Add trove classifier for Python 3.6 reinforce. #5555
  • Add pip cache reinforce to the Travis CI configuration #5556
  • Rename [wheel]section to [bdist_wheel]as the broken-down is legacy #5557
  • Fix invalid flee sequence deprecation warnings #5560
  • Add interactive docs error template #5548
  • Add rounding parameter to DecimalField #5562
  • Fix all BytesWarning caught for the length of tests #5561
  • Exercise dict and plot literals in location of calls to dict() and plot() #5559
  • Swap ImageField validation pattern, use validators from DjangoImageField #5539
  • Fix processing unicode symbols in query_string by Python 2 #5552

3.7.1

Date: 16th October 2017

  • Fix Interactive documentation consistently makes use of inaccurate for boolean fields in requests #5492
  • Make stronger compatibility with Django 2.0 alpha. #5500 #5503
  • Improved coping with of schema naming collisions #5486
  • Added additional docs and tests round providing a default price for dotted source fields #5489

3.7.0

Date: sixth October 2017

  • Fix DjangoModelPermissions to make certain user authentication earlier than calling the glimpse’s get_queryset() plot. As a facet attain, this changes the protest of the HTTP plot permissions and authentication checks, and 405 responses will only be returned when authenticated. In protest so that you simply can copy the old behavior, stare the PR for tiny print. #5376
  • Deprecated exclude_from_schema on APIView and api_view decorator. Set aside of abode schema=None or @schema(None) as acceptable. #5422
  • Timezone-mindful DateTimeFields now appreciate full of life or default timezone for the length of serialization, in location of consistently using UTC. #5435

    Resolves inconsistency whereby cases had been serialized with supplied datetime for create but UTC for retrieve. #3732

    That you are going to bear in mind of backwards compatibility destroy ought to you had been relying on datetime strings being UTC. Ranking consumer clarify datetimes or plot default or full of life timezone (docs) to UTC if wished.

  • Eradicated DjangoFilterBackend inline with deprecation coverage. Exercise django_filters.rest_framework.FilterSet and/or django_filters.rest_framework.DjangoFilterBackend as a exchange. #5273

  • Accomplish no longer strip microseconds from time when encoding. Makes in line with datetime.
    BC Swap: Beforehand only milliseconds had been encoded. #5440
  • Added STRICT_JSON setting (default True) to steal exception for the prolonged float values (nan, inf, -inf) approved by Python’s json module.
    BC Swap: Beforehand these values would reworked to corresponding strings. Set aside of abode STRICT_JSON to False to revive the outdated behaviour. #5265
  • Add reinforce for page_size parameter in CursorPaginator class #5250
  • Make DEFAULT_PAGINATION_CLASS None by default.
    BC Swap: In case your had been staunch setting PAGE_SIZE to enable pagination you are going to ought to add DEFAULT_PAGINATION_CLASS.
    The outdated default changed into as soon as rest_framework.pagination.PageNumberPagination. There may perchance be a system check warning to score this case. You’d also silence that ought to you are setting pagination class on a per-glimpse foundation. #5170
  • Bag APIException from get_serializer_fields in schema generation. #5443
  • Enable personalized authentication and permission classes when using include_docs_urls #5448
  • Defer translated string evaluate on validators. #5452
  • Added default price for ‘ingredient’ param into ‘ValidationError’ exception #5342
  • Adjust schema get_filter_fields ideas to envision framework #5454
  • As a lot as this level check matrix so to add Django 2.0 and descend Django 1.8 & 1.9
    BC Swap: This eliminates Django 1.8 and Django 1.9 from Django REST Framework supported variations. #5457
  • Fixed a deprecation warning in serializers.ModelField #5058
  • Added a more train error message when get_queryset returned None #5348
  • Fix docs for Response data description #5361
  • Fix pycache/.pyc excludes when packaging #5373
  • Fix default price coping with for dotted sources #5375
  • Make certain that content_type is plot when passing empty body to RequestFactory #5351
  • Fix ErrorDetail Documentation #5380
  • Enable non-compulsory declare material in the generic declare material manufacture #5372
  • As a lot as this level supported values for the NullBooleanField #5387
  • Fix ModelSerializer personalized named fields with source on model #5388
  • Fixed the MultipleFieldLookupMixin documentation instance to effectively check for object stage permission #5398
  • Update get_object() instance in permissions.md #5401
  • Fix authtoken administration uncover #5415
  • Fix schema generation markdown #5421
  • Enable ChoiceField.choices to be plot dynamically #5426
  • Add the mission layout to the quickstart #5434
  • Reuse ‘apply_markdown’ characteristic in ‘render_markdown’ templatetag #5469
  • Added hyperlinks to drf-openapi equipment in docs #5470
  • Added docstrings code highlighting with pygments #5462
  • Fixed documentation rendering for views named data #5472
  • Docs: Clarified ‘to_internal_value()’ validation behavior #5466
  • Fix missing six.text_type() call on APIException.str #5476
  • Doc documentation.py #5478
  • Fix naming collisions in Schema Generation #5464
  • Name Django’s authenticate characteristic with the request object #5295
  • Update coreapi JS to 0.1.1 #5479
  • Ranking is_list_view recognise RetrieveModel… views #5480
  • Put off Django 1.8 & 1.9 compatibility code #5481
  • Put off deprecated schema code from DefaultRouter #5482
  • Refactor schema generation to enable per-glimpse customisation.
    BC Swap: SchemaGenerator.get_serializer_fields has been refactored as AutoSchema.get_serializer_fields and drops the view argument [#5354][gh5354]

3.6.x sequence

3.6.4

Date: 21st August 2017

  • Ignore any invalidly fashioned quiz parameters for OrderingFilter. #5131
  • Make stronger reminiscence footprint when reading wide JSON requests. #5147
  • Fix schema generation for pagination. #5161
  • Fix exception when HTML_CUTOFF is plot to None. #5174
  • Fix browsable API no longer supporting multipart/form-data precisely. #5176
  • Fixed test_hyperlinked_related_lookup_url_encoded_exists. #5179
  • Guarantee max_length is in FileField kwargs. #5186
  • Fix list_route & detail_route with kwargs incorporates curly bracket in url_path #5187
  • Add Django plot up uncover to originate a DRF user Token. #5188
  • Make certain that API documentation templates enact no longer check for user authentication #5162
  • Fix special case the assign OneToOneField is also fundamental key. #5192
  • Added aria-heed and a recent assign for accessibility capabilities in unsafe.html #5196
  • Quote nested API parameters in api.js. #5214
  • Set aside of abode ViewSet args/kwargs/request earlier than dispatch. #5229
  • Added unicode reinforce to SlugField. #5231
  • Fix HiddenField appears to be like in Raw Knowledge manufacture initial declare material. #5259
  • Elevate validation error on invalid timezone parsing. #5261
  • Fix SearchFilter to-many behavior/performance. #5264
  • Simplified chained comparisons and minor code fixes. #5276
  • RemoteUserAuthentication, docs, and tests. #5306
  • Revert “Cached the world’s root and context property” #5313
  • Fix introspection of list area in schema. #5326
  • Fix interactive docs for just a few nested and additional methods. #5334
  • Fix/remove undefined template var “schema” #5346

3.6.3

Date: 12th Can also 2017

  • Elevate 404 if a URL lookup ends up in ValidationError. (#5126)
  • Honor http_method_names on class basically basically based glimpse, when producing API schemas. (#5085)
  • Enable overridden get_limit in LimitOffsetPagination to method encourage all records. (#4437)
  • Fix partial replace for the ListSerializer. (#4222)
  • Render JSONField receive watch over precisely in browsable API. (#4999, #5042)
  • Elevate validation errors for invalid datetime in given timezone. (#4987)
  • Enhance proscribing doc & schema shortcuts to a subset of urls. (#4979)
  • Resolve SchemaGenerator error with paginators that haven’t got any page_size attribute. (#5086, #3692)
  • Resolve HyperlinkedRelatedField exception on string with %20 in location of assign. (#4748, #5078)
  • Customizable schema generator classes. (#5082)
  • Update existing differ headers in response in location of overwriting them. (#5047)
  • Enhance passing .as_view() to glimpse instance. (#5053)
  • Exercise staunch exception handler when settings overridden on a glimpse. (#5055, #5054)
  • Update Boolean area to reinforce ‘yes’ and ‘no’ values. (#5038)
  • Fix distinctive validator for ChoiceField. (#5004, #5026, #5028)
  • JavaScript cleanups in API Docs. (#5001)
  • Embody URL path regexs in API schemas the assign right. (#5014)
  • Because it shall be plot plot in coreapi TokenAuthentication. (#5000, #4994)
  • HEAD requests on ViewSets ought to never return 405. (#4705, #4973, #4864)
  • Enhance utilization of ‘source’ in extra_kwargs. (#4688)
  • Fix invalid declare material kind for schema.js (#4968)
  • Fix DjangoFilterBackend inheritance issues. (#5089, #5117)

3.6.2

Date: 10th March 2017

  • Enhance for Safari & IE in API docs. (#4959, #4961)
  • Add missing mark_safe in API docs template tags. (#4952, #4953)
  • Add missing glyphicon fonts. (#4950, #4951)
  • Fix One-to-one fields in API docs. (#4955, #4956)
  • Take a look at dapper ups. (#4949)

3.6.1

Date: ninth March 2017

  • Make certain that markdown dependency is non-compulsory. (#4947)

3.6.0

Date: ninth March 2017

Peep the liberate announcement.


3.5.x sequence

3.5.4

Date: 10th February 2017

  • Add max_length and min_length arguments for ListField. (#4877)
  • Add per-glimpse personalized exception handler reinforce. (#4753)
  • Enhance disabling of declared fields on serializer subclasses. (#4764)
  • Enhance personalized glimpse names on @list_route and @detail_route endpoints. (#4821)
  • Appropriate labels for fields in login template when personalized user model is old. (#4841)
  • Whitespace fixes for descriptions generated from docstrings. (#4759, #4869, #4870)
  • Higher error reporting when schemas are returned by views with out a schema renderer. (#4790)
  • Fix for returned response of PUT requests when prefetch_related is old. (#4661, #4668)
  • Fix for breadcrumb glimpse names. (#4750)
  • Fix for RequestsClient guaranteeing completely qualified URLs. (#4678)
  • Fix for unsuitable behavior of writable-nested fields register some cases. (#4634, #4669)
  • Resolve Django deprecation warnings. (#4712)
  • Rather heaps of cleanup of check cases.

3.5.3

Date: Seventh November 2016

  • Accomplish no longer elevate unsuitable FilterSet deprecation warnings. (#4660, #4643, #4644)
  • Schema generation ought to never elevate 404 when a glimpse permission class does. (#4645, #4646)
  • Add autofocus reinforce for enter controls. (#4650)

3.5.2

Date: 1st November 2016

  • Restore exception tracebacks in Python 2.7. (#4631, #4638)
  • Neatly cloak dicts in the admin console. (#4532, #4636)
  • Fix is_simple_callable with variable args, kwargs. (#4622, #4602)
  • Enhance ‘on’/’off’ literals with BooleanField. (#4640, #4624)
  • Enable cursor pagination of price querysets. (#4569)
  • Fix reinforce of get_full_details() for Throttled exceptions. (#4627)
  • Fix FilterSet proxy. (#4620)
  • Make serializer fields import train. (#4628)
  • Fall redundant requests adapter. (#4639)

3.5.1

Date: 21st October 2016

  • Make rest_framework/compat.py imports. (#4612, #4608, #4601)
  • Fix bug in schema unsafe path generation. (#4611, #4605)
  • Fix broken case of ListSerializer with single merchandise. (#4609, #4606)
  • Put off bare raise for Python 3.5 compat. (#4600)

3.5.0

Date: 20th October 2016


3.4.x sequence

3.4.7

Date: 21st September 2016

  • Fallback behavior for request parsing when request.POST already accessed. (#3951, #4500)
  • Fix regression of RegexField. (#4489, #4490, #2617)
  • Missing comma in admin.html inflicting CSRF error. (#4472, #4473)
  • Fix response rendering with empty context. (#4495)
  • Fix indentation regression in API listing. (#4493)
  • Fixed a distress the assign the unsuitable price is plot to ResolverMatch.func_name of api_view decorated glimpse. (#4465, #4462)
  • Fix APIClient.get() when path incorporates unicode arguments (#4458)

3.4.6

Date: 23rd August 2016

  • Fix malformed Javascript in browsable API. (#4435)
  • Skip HiddenField from Schema fields. (#4425, #4429)
  • Make stronger Accomplish to illustrate the distinctive exception traceback. (#3508)
  • Fix AdminRenderer cloak of PK only connected fields. (#4419, #4423)

3.4.5

Date: 19th August 2016

  • Make stronger debug error coping with. (#4416, #4409)
  • Enable personalized CSRF_HEADER_NAME setting. (#4415, #4410)
  • Embody .action attribute on viewsets when producing schemas. (#4408, #4398)
  • Invent no longer consist of request.FILES objects in request.POST. (#4407)
  • Fix rendering of checkbox just a few. (#4403)
  • Fix docstring of Self-discipline.get_default. (#4404)
  • Substitute utf8 character with its ascii counterpart in README. (#4412)

3.4.4

Date: 12th August 2016

  • Make certain that views are completely initialized when producing schemas. (#4373, #4382, #4383, #4279, #4278)
  • Add manufacture area descriptions to schemas. (#4387)
  • Fix class generation for schema endpoints. (#4391, #4394, #4390, #4386, #4376, #4329)
  • Accomplish no longer strip empty quiz params when paginating. (#4392, #4393, #4260)
  • Invent no longer re-speed quiz for empty results with LimitOffsetPagination. (#4201, #4388)
  • Stricter kind validation for CharField. (#4380, #3394)
  • RelatedField.picks ought to defend non-string values. (#4111, #4379, #3365)
  • Take a look at case for rendering checkboxes in vertical manufacture vogue. (#4378, #3868, #3868)
  • Show error traceback HTML in browsable API (#4042, #4172)
  • Fix coping with of ALLOWED_VERSIONS and no DEFAULT_VERSION. #4370
  • Enable max_digits=None on DecimalField. (#4377, #4372)
  • Limit queryset when rendering relational picks. (#4375, #4122, #3329, #3330, #3877)
  • Resolve manufacture cloak with ChoiceField, MultipleChoiceField and non-string picks. (#4374, #4119, #4121, #4137, #4120)
  • Fix call to TemplateHTMLRenderer.resolve_context() fallback plot. (#4371)

3.4.3

Date: 5th August 2016

  • Embody fallback for customers of older TemplateHTMLRenderer internal API. (#4361)

3.4.2

Date: 5th August 2016

  • Embody kwargs passed to ‘as_view’ when producing schemas. (#4359, #4330, #4331)
  • Access request.user.is_authenticated as property no longer plot, below Django 1.10+ (#4358, #4354)
  • Filter HEAD out from schemas. (#4357)
  • extra_kwargs takes precedence over uniqueness kwargs. (#4198, #4199, #4349)
  • Appropriate descriptions when tabs are old in code indentation. (#4345, #4347)*
  • Swap template context generation in TemplateHTMLRenderer. (#4236)
  • Serializer defaults ought to no longer be included in partial updates. (#4346, #3565)
  • Constant behavior & descriptive error from FileUploadParser when filename no longer included. (#4340, #3610, #4292, #4296)
  • DecimalField quantizes incoming digitals. (#4339, #4318)
  • Address non-string enter for IP fields. (#4335, #4336, #4338)
  • Fix main prick coping with when Schema generation positive aspects a root URL. (#4332)
  • Take a look at cases for DictField with allow_null alternatives. (#4348)
  • Update tests from Django 1.10 beta to Django 1.10. (#4344)

3.4.1

Date: twenty eighth July 2016

  • Added root_renderers argument to DefaultRouter. (#4323, #4268)
  • Added url and schema_url arguments. (#4321, #4308, #4305)
  • Queer together checks ought to practice to be taught-only fields which receive a default. (#4316, #4294)
  • Set aside of abode glimpse.format_kwarg in schema generator. (#4293, #4315)
  • Fix schema generator for views with pagination_class=None. (#4314, #4289)
  • Fix schema generator for views with no get_serializer_class. (#4265, #4285)
  • Fixes for media kind parameters in Accept and Content-Type headers. (#4287, #4313, #4281)
  • Exercise verbose_name in location of object_name in error messages. (#4299)
  • Minor version replace to Twitter Bootstrap. (#4307)
  • SearchFilter raises error when using with connected area. (#4302, #4303, #4298)
  • Alongside side reinforce for RFC 4918 assign of residing codes. (#4291)
  • Add LICENSE.md to the constructed wheel. (#4270)
  • Serializing “complicated” area returns None in location of the price since 3.4 (#4272, #4273, #4288)

3.4.0

Date: 14th July 2016

  • Accomplish no longer strip microseconds in JSON output. (#4256)
  • Two a puny bit varied iso 8601 datetime serialization. (#4255)
  • Resolve unsuitable inclusion of media kind parameters. (#4254)
  • Response Command-Form doubtlessly malformed. (#4253)
  • Fix setup.py error on some platforms. (#4246)
  • Stream alternate codecs in coreapi into separate capabilities. (#4244)
  • Add localize keyword argument to DecimalField. (#4233)
  • Fix issues with routers for personalized list-route and ingredient-routes. (#4229)
  • Namespace versioning with nested namespaces. (#4219)
  • Sturdy uniqueness checks. (#4217)
  • Minor refactoring of must_call_distinct. (#4215)
  • Overridable offset cutoff in CursorPagination. (#4212)
  • Stream via strings as-in with date/time fields. (#4196)
  • Add check confirming that required=Misleading is right on a relational area. (#4195)
  • In LimitOffsetPagination limit=0 ought to revert to default restrict. (#4194)
  • Exclude read_only=Honest fields from unique_together validation & add docs. (#4192)
  • Address bytestrings in JSON. (#4191)
  • JSONField(binary=Honest) represents using binary strings, which JSONRenderer doesn’t reinforce. (#4187)
  • JSONField(binary=Honest) represents using binary strings, which JSONRenderer doesn’t reinforce. (#4185)
  • More sturdy manufacture rendering in the browsable API. (#4181)
  • Empty cases of .validated_data and .errors as lists no longer dicts for ListSerializer. (#4180)
  • Schemas & consumer libraries. (#4179)
  • Eradicated AUTH_USER_MODEL compat property. (#4176)
  • Orderly up existing deprecation warnings. (#4166)
  • Django 1.10 reinforce. (#4158)
  • As a lot as this level jQuery version to 1.12.4. (#4157)
  • More sturdy default behavior on OrderingFilter. (#4156)
  • description.py codes and tests elimination. (#4153)
  • Wrap guardian.VERSION in tuple. (#4149)
  • Refine validator for fields withkwargs. (#4146)
  • Fix None values illustration in youngsters of ListField, DictField. (#4118)
  • Resolve TimeField illustration for middle of the night price. (#4107)
  • Set aside of abode precise assign of residing code in AdminRenderer for the redirection after POST/DELETE requests. (#4106)
  • TimeField render returns None in location of 00:00:00. (#4105)
  • Fix incorrectly named zh-hans and zh-hant locale path. (#4103)
  • Forestall raising exception when restrict is 0. (#4098)
  • TokenAuthentication: Enable personalized keyword in the header. (#4097)
  • Address incorrectly padded HTTP frequent auth header. (#4090)
  • LimitOffset pagination crashes Browsable API when restrict=0. (#4079)
  • Fixed DecimalField arbitrary precision reinforce. (#4075)
  • Added reinforce for personalized CSRF cookie names. (#4049)
  • Fix regression launched by #4035. (#4041)
  • No auth glimpse failing permission ought to elevate 403. (#4040)
  • Fix string_types / text_types confusion. (#4025)
  • Invent no longer list connected area picks in OPTIONS requests. (#4021)
  • Fix typo. (#4008)
  • Reorder initializing the glimpse. (#4006)
  • Form error in DjangoObjectPermissionsFilter on Python 3.4. (#4005)
  • Fixed use of deprecated Inquire.aggregates. (#4003)
  • Fix smooth strains round docstrings. (#4002)
  • Fixed admin pagination when restrict is 0. (#3990)
  • OrderingFilter adjustments. (#3983)
  • Non-required serializer connected fields. (#3976)
  • The utilization of safer calling plot of “@api_view” in tutorial. (#3971)
  • ListSerializer doesn’t address unique_together constraints. (#3970)
  • Add missing migration file. (#3968)
  • OrderingFilter ought to call get_serializer_class() to resolve default fields. (#3964)
  • Put off old Django checks from tests and compat. (#3953)
  • Enhance callable as the price of initial for any serializer.Field. (#3943)
  • Shunned pointless clear() call in SearchFilter. (#3938)
  • Fix None UUID ForeignKey serialization. (#3936)
  • Fall EOL Django 1.7. (#3933)
  • Add missing assign in serializer error message. (#3926)
  • Fixed _force_text_recursive typo. (#3908)
  • Try to handle Django 2.0 deprecate warnings connected to field.rel. (#3906)
  • Fix parsing multipart files using a nested serializer with list. (#3820)
  • Resolving APIs URL to varied namespaces. (#3816)
  • Invent no longer HTML-flee help_text in Browsable API kinds. (#3812)
  • OPTIONS fetches and reveals all that you simply are going to bear in mind of international keys in picks area. (#3751)
  • Django 1.9 deprecation warnings (#3729)
  • Take a look at case for #3598 (#3710)
  • Alongside side reinforce for just a few values for search filter. (#3541)
  • Exercise get_serializer_class in ordering filter. (#3487)
  • Serializers with many=Honest ought to return empty list in favor to empty dict. (#3476)
  • LimitOffsetPagination restrict=0 repair. (#3444)
  • Enable Validators to defer string evaluate and address recent string layout. (#3438)
  • Queer validator is done and breaks if area is invalid. (#3381)
  • Invent no longer ignore overridden Behold.get_view_name() in breadcrumbs. (#3273)
  • Retry manufacture rendering when rendering with serializer fails. (#3164)
  • Queer constraint prevents nested serializers from updating. (#2996)
  • Specialty validators ought to no longer be speed for excluded (read_only) fields. (#2848)
  • UniqueValidator raises exception for nested objects. (#2403)
  • lookup_type is deprecated in resolve on of lookup_expr. (#4259)

3.3.x sequence

3.3.3

Date: 14th March 2016.

  • Put off version string from templates. Because of the of @blag for the parable and fixes. (#3878, #3913, #3912)
  • Fixes vertical html layout for BooleanField. Because of the of Mikalai Radchuk for the repair. (#3910)
  • Silenced deprecation warnings on Django 1.8. Because of the of Simon Charette for the repair. (#3903)
  • Internationalization for authtoken. Because of the of Michael Nacharov for the repair. (#3887, #3968)
  • Fix Token model as abstract when the authtoken utility is no longer declared. Because of the of Adam Thomas for the parable. (#3860, #3858)
  • Make stronger Markdown version compatibility. Because of the of Michael J. Schultz for the repair. (#3604, #3842)
  • QueryParameterVersioning doesn’t use DEFAULT_VERSION setting. Because of the of Brad Sir Bernard Law for the repair. (#3833)
  • Add an train on_delete on the devices. Because of the of Mads Jensen for the repair. (#3832)
  • Fix DateField.to_representation to work with Python 2 unicode. Because of the of Mikalai Radchuk for the repair. (#3819)
  • Fixed TimeField no longer coping with string times. Because of the of Areski Belaid for the repair. (#3809)
  • Steer clear of updates of Meta.extra_kwargs. Because of the of Kevin Massey for the parable and repair. (#3805, #3804)
  • Fix nested validation error being rendered incorrectly. Because of the of Craig de Stigter for the repair. (#3801)
  • Doc be taught the technique to raise away from CSRF and missing button issues with django-crispy-forms. Because of the of Emmanuelle Delescolle, José Padilla and Luis San Pablo for the parable, prognosis and repair. (#3787, #3636, #3637)
  • Make stronger Leisure Framework Settings file setup time. Because of the of Miles Hutson for the parable and Mads Jensen for the repair. (#3786, #3815)
  • Make stronger authtoken compatibility with Django 1.9. Because of the of S. Andrew Sheppard for the repair. (#3785)
  • Fix Min/MaxValueValidator transfer from a model’s DecimalField. Because of the of Kevin Brown for the repair. (#3774)
  • Make stronger HTML title in the Browsable API. Because of the of Mike Lissner for the parable and repair. (#3769)
  • Fix AutoFilterSet to inherit from default_filter_set. Because of the of Tom Linford for the repair. (#3753)
  • Fix transifex config to address the recent Chinese language codes. Because of the of @nypisces for the parable and repair. (#3739)
  • DateTimeField doesn’t address empty values precisely. Because of the of Mick Parker for the parable and repair. (#3731, #3726)
  • Elevate error when setting a removed rest_framework setting. Because of the of Luis San Pablo for the repair. (#3715)
  • Add missing csrf_token in AdminRenderer put up manufacture. Because of the of Piotr Śniegowski for the repair. (#3703)
  • Refactored _get_reverse_relationships() to use staunch to_field. Because of the of Benjamin Phillips for the repair. (#3696)
  • Doc using get_queryset for RelatedField. Because of the of Ryan Hiebert for the repair. (#3605)
  • Fix empty pk detection in HyperlinkRelatedField.get_url. Because of the of @jslang for the repair (#3962)

3.3.2

Date: 14th December 2015.

  • ListField enforces enter is a list. (#3513)
  • Fix regression hiding uncooked files manufacture. (#3600, #3578)
  • Fix Python 3.5 compatibility. (#3534, #3626)
  • Enable setting a personalized Django Paginator in pagination.PageNumberPagination. (#3631, #3684)
  • Fix relational fields without to_fields attribute. (#3635, #3634)
  • Fix template.render deprecation warnings for Django 1.9. (#3654)
  • Form response headers in browsable API renderer. (#3655)
  • Exercise related_objects api for Django 1.9+. (#3656, #3252)
  • Add verify modal when deleting. (#3228, #3662)
  • Command beforehand hidden AttributeErrors and TypeErrors while calling has_[object_]permissions. (#3668)
  • Make DRF acceptable with multi template engine in Django 1.8. (#3672)
  • Update NestedBoundField to also address empty string when rendering its manufacture. (#3677)
  • Fix UUID validation to effectively score invalid enter kinds. (#3687, #3679)
  • Fix caching issues. (#3628, #3701)
  • Fix Admin and API browser for views with out a filter_class. (#3705, #3596, #3597)
  • Add app_name to rest_framework.urls. (#3714)
  • Make stronger authtoken’s views to reinforce url versioning. (#3718, #3723)

3.3.1

Date: 4th November 2015.

  • Resolve parsing bug when gaining access to request.POST (#3592)
  • Because it shall be address to_field relating to fundamental key. (#3593)
  • Enable filter HTML to render when no filter_class is outlined. (#3560)
  • Fix admin rendering issues. (#3564, #3556)
  • Fix distress with DecimalValidator. (#3568)

3.3.0

Date: twenty eighth October 2015.

  • HTML controls for filters. (#3315)
  • Kinds API. (#3475)
  • AJAX browsable API. (#3410)
  • Added JSONField. (#3454)
  • Because it shall be method to_field when organising ModelSerializer relational fields. (#3526)
  • Embody keyword arguments when mapping FilePathField to a serializer area. (#3536)
  • Plan acceptable model error_messages on ModelSerializer uniqueness constraints. (#3435)
  • Embody max_length constraint for ModelSerializer fields mapped from TextField. (#3509)
  • Added reinforce for Django 1.9. (#3450, #3525)
  • Eradicated reinforce for Django 1.5 & 1.6. (#3421, #3429)
  • Eradicated ‘south’ migrations. (#3495)

3.2.x sequence

3.2.5

Date: twenty seventh October 2015.

  • Escape username in non-compulsory logout mark. (#3550)

3.2.4

Date: 21th September 2015.

  • Accomplish no longer error on missing ViewSet.search_fields attribute. (#3324, #3323)
  • Fix allow_empty no longer engaged on serializers with many=True. (#3361, #3364)
  • Let DurationField accepts integers. (#3359)
  • Multi-stage dictionaries no longer supported in multipart requests. (#3314)
  • Fix ListField truncation on HTTP PATCH (#3415, #2761)

3.2.3

Date: twenty fourth August 2015.

  • Added html_cutoff and html_cutoff_text for limiting pick out dropdowns. (#3313)
  • Added regex vogue to SearchFilter. (#3316)
  • Resolve issues with setting smooth HTML fields. (#3318) (#3321)
  • Because it shall be cloak existing ‘pick out just a few’ values in browsable API kinds. (#3290)
  • Resolve duplicated validation message for IPAddressField. ([#3249gh3249)(#3250)
  • Fix to make certain admin renderer continues to work when pagination is disabled. (#3275)
  • Resolve error with LimitOffsetPagination when count=0, offset=0. (#3303)

3.2.2

Date: Thirteenth August 2015.

  • Add display_value() plot to be used when exhibiting relational area pick out inputs. (#3254)
  • Fix distress with BooleanField checkboxes incorrectly exhibiting as checked. (#3258)
  • Make certain that empty checkboxes effectively plot BooleanField to False in all cases. (#2776)
  • Enable WSGIRequest.FILES property without raising unsuitable deprecated error. (#3261)
  • Resolve distress with rendering nested serializers in kinds. (#3260)
  • Elevate an error if user by accident whisk a serializer instance to a response, in favor to files. (#3241)

3.2.1

Date: Seventh August 2015.

  • Fix for relational pick out widgets rendering without any picks. (#3237)
  • Fix for 1, 0 rendering as true, false in the admin interface. #3227)
  • Fix for ListFields with single price in HTML manufacture enter. (#3238)
  • Enable request.FILES for compat with Django’s HTTPRequest class. (#3239)

3.2.0

Date: sixth August 2015.

  • Add AdminRenderer. (#2926)
  • Add FilePathField. (#1854)
  • Add allow_empty to ListField. (#2250)
  • Enhance django-guardian 1.3. (#3165)
  • Enhance grouped picks. (#3225)
  • Enhance error kinds in browsable API. (#3024)
  • Enable permission classes to customize the error message. (#2539)
  • Enhance source= on hyperlinked fields. (#2690)
  • ListField(allow_null=True) now permits null as the list price, no longer null objects in the list. (#2766)
  • ManyToMany() maps to allow_empty=False, ManyToMany(blank=True) maps to allow_empty=True. (#2804)
  • Enhance personalized serialization styles for fundamental key fields. (#2789)
  • OPTIONS requests reinforce nested representations. (#2915)
  • Set aside of abode view.action=="metadata" for viewsets with OPTIONS requests. (#3115)
  • Enhance allow_blank on UUIDField. ([#3130][gh#3130])
  • Invent no longer cloak glimpse docstrings with 401 or 403 response codes. (#3216)
  • Resolve Django 1.8 deprecation warnings. (#2886)
  • Fix for DecimalField validation. (#3139)
  • Fix behavior of allow_blank=False when old with trim_whitespace=True. (#2712)
  • Fix distress with some area combinations incorrectly mapping to an invalid allow_blank argument. (#3011)
  • Fix for output representations with prefetches and modified querysets. (#2704, #2727)
  • Fix assertion error when CursorPagination is supplied with sure invalid quiz parameters. (#2920)gh2920.
  • Fix UnicodeDecodeError when invalid characters included in header with TokenAuthentication. (#2928)
  • Fix transaction rollbacks with @non_atomic_requests decorator. (#3016)
  • Fix reproduction results distress with Oracle databases using SearchFilter. (#2935)
  • Fix checkbox alignment and rendering in browsable API kinds. (#2783)
  • Fix for unsaved file objects which ought to use "url": null in the illustration. (#2759)
  • Fix area price rendering in browsable API. (#2416)
  • Fix HStoreField to incorporate allow_blank=True in DictField mapping. (#2659)
  • Rather heaps of different cleanups, improvements to error messaging, non-public API & minor fixes.

3.1.x sequence

3.1.3

Date: 4th June 2015.

  • Add DurationField. (#2481, #2989)
  • Add format argument to UUIDField. (#2788, #3000)
  • MultipleChoiceField empties incorrectly on a partial replace using multipart/manufacture-files (#2993, #2894)
  • Fix a bug in alternatives connected to be taught-only RelatedField. (#2981, #2811)
  • Fix nested serializers with unique_together family. (#2975)
  • Enable surprising values for ChoiceField/MultipleChoiceField representations. (#2839, #2940)
  • Rollback the transaction on error if ATOMIC_REQUESTS is plot. (#2887, #2034)
  • Set aside of abode the action on a glimpse when override_method no subject its None-ness. (#2933)
  • DecimalField accepts 2E+2 as 200 and validates decimal location precisely. (#2948, #2947)
  • Enhance frequent authentication with personalized UserModel that adjust username. (#2952)
  • IPAddressField improvements. (#2747, #2618, #3008)
  • Make stronger DecimalField for more straightforward subclassing. (#2695)

3.1.2

Date: 13rd Can also 2015.

  • DateField.to_representation can address str and empty values. (#2656, #2687, #2869)
  • Exercise default motive phrases from HTTP long-established. (#2764, #2763)
  • Elevate error when ModelSerializer old with summary model. (#2757, #2630)
  • Address reversal of non-API view_name in HyperLinkedRelatedField (#2724, #2711)
  • Accomplish no longer require pk strictly for connected fields. (#2745, #2754)
  • Metadata detects null boolean area kind. (#2762)
  • Honest appropriate coping with of depth in nested serializers. (#2798)
  • Show viewset without paginator. (#2807)
  • Accomplish no longer check for deprecated .model attribute in permissions (#2818)
  • Prohibit integer area to integers and strings. (#2835, #2836)
  • Make stronger IntegerField to use compiled decimal regex. (#2853)
  • Forestall empty queryset to steal AssertionError. (#2862)
  • DjangoModelPermissions depend on get_queryset. (#2863)
  • Examine AcceptHeaderVersioning with declare material negotiation in location. (#2868)
  • Enable DjangoObjectPermissions to use views that account for get_queryset. (#2905)

3.1.1

Date: 23rd March 2015.

  • Safety repair: Escape tab switching cookie name in browsable API.
  • Show enter kinds in browsable API if serializer_class is old, even when get_serializer plot doesn’t exist on the glimpse. (#2743)
  • Exercise a password enter for the AuthTokenSerializer. (#2741)
  • Fix missing anchor closing mark after next button. (#2691)
  • Fix lookup_url_kwarg coping with in viewsets. (#2685, #2591)
  • Fix area with importing rest_framework.views in apps.py (#2678)
  • LimitOffsetPagination raises TypeError if PAGE_SIZE no longer plot (#2667, #2700)
  • German translation for min_value area error message references max_value. (#2645)
  • Put off MergeDict. (#2640)
  • Enhance serializing unsaved devices with connected fields. (#2637, #2641)
  • Enable smooth/null on radio.html picks. (#2631)

3.1.0

Date: 5th March 2015.

For paunchy tiny print stare the three.1 liberate announcement.


3.0.x sequence

3.0.5

Date: 10th February 2015.

  • Fix a bug the assign _closable_objects breaks pickling. (#1850, #2492)
  • Enable non-long-established User devices with Throttling. (#2524)
  • Enhance personalized User.db_table in TokenAuthentication migration. (#2479)
  • Fix deceptive AttributeError tracebacks on Request objects. (#2530, #2108)
  • ManyRelatedField.get_value clearing area on partial replace. (#2475)
  • Eradicated ‘.model’ shortcut from code. (#2486)
  • Fix detail_route and list_route mutable argument. (#2518)
  • Prefetching the user object when getting the token in TokenAuthentication. (#2519)

3.0.4

Date: twenty eighth January 2015.

  • Django 1.8a1 reinforce. (#2425, #2446, #2441)
  • Add DictField and reinforce Django 1.8 HStoreField. (#2451, #2106)
  • Add UUIDField and reinforce Django 1.8 UUIDField. (#2448, #2433, #2432)
  • BaseRenderer.render now raises NotImplementedError. (#2434)
  • Fix timedelta JSON serialization on Python 2.6. (#2430)
  • ResultDict and ResultList now seem as long-established dict/list. (#2421)
  • Fix seen HiddenField in the HTML manufacture of the online browsable API online page. (#2410)
  • Exercise OrderedDict for RelatedField.choices. (#2408)
  • Fix ident layout when using HTTP_X_FORWARDED_FOR. (#2401)
  • Fix invalid key with memcached while using throttling. (#2400)
  • Fix FileUploadParser with version 3.x. (#2399)
  • Fix the serializer inheritance. (#2388)
  • Fix caching issues with ReturnDict. (#2360)

3.0.3

Date: Eighth January 2015.

  • Fix MinValueValidator on models.DateField. (#2369)
  • Fix serializer missing context when pagination is old. (#2355)
  • Namespaced router URLs are now supported by the DefaultRouter. (#2351)
  • required=False permits omission of price for output. (#2342)
  • Exercise textarea enter for models.TextField. (#2340)
  • Exercise personalized ListSerializer for pagination if required. (#2331, #2327)
  • Higher behavior with null and ” for smooth HTML fields. (#2330)
  • Make certain that fields in exclude are model fields. (#2319)
  • Fix IntegerField and max_length argument incompatibility. (#2317)
  • Fix the YAML encoder for 3.0 serializers. (#2315, #2283)
  • Fix the behavior of empty HTML fields. (#2311, #1101)
  • Fix Metaclass attribute depth ignoring fields attribute. (#2287)
  • Fix format_suffix_patterns to work with Django’s i18n_patterns. (#2278)
  • Skill to customize router URLs for personalized actions, using url_path. (#2010)
  • Accomplish no longer install Django REST Framework as egg. (#2386)

3.0.2

Date: 17th December 2014.

  • Make certain that request.user is made readily accessible to response middleware. (#2155)
  • Client.logout() also cancels any existing force_authenticate. (#2218, #2259)
  • Additional assertions and greater checks to combating unsuitable serializer API use. (#2228, #2234, #2262, #2263, #2266, #2267, #2289, #2291)
  • Fixed min_length message for CharField. (#2255)
  • Fix UnicodeDecodeError, which is ready to happen on serializer repr. (#2270, #2279)
  • Fix empty HTML values when a default is supplied. (#2280, #2294)
  • Fix SlugRelatedField raising UnicodeEncodeError when old as a just a few need enter. (#2290)

3.0.1

Date: 11th December 2014.

  • More priceless error message when the default Serializer create() fails. (#2013)
  • Elevate error when making an are attempting to put serializer if files is no longer right. (#2098)
  • Fix FileUploadParser breaks with empty file names and a pair of add handlers. (#2109)
  • Make stronger BindingDict to reinforce long-established dict-capabilities. (#2135, #2163)
  • Add validate() to ListSerializer. (#2168, #2225, #2232)
  • Fix JSONP renderer failing to flee some characters. (#2169, #2195)
  • Add missing default vogue for FileField. (#2172)
  • Actions are required when calling ViewSet.as_view(). (#2175)
  • Add allow_blank to ChoiceField. (#2184, #2239)
  • Beauty fixes in the HTML renderer. (#2187)
  • Elevate error if fields on serializer is no longer a list of strings. (#2193, #2213)
  • Make stronger checks for nested creates and updates. (#2194, #2196)
  • validated_attrs argument renamed to validated_data in Serializer create()/update(). (#2197)
  • Put off deprecated code to copy the dropped Django variations. (#2200)
  • Higher serializer errors for nested writes. (#2202, #2215)
  • Fix pagination and personalized permissions incompatibility. (#2205)
  • Elevate error if fields on serializer is no longer a list of strings. (#2213)
  • Add missing translation markers for relational fields. (#2231)
  • Make stronger area lookup behavior for dicts/mappings. (#2244, #2243)
  • Optimized hyperlinked PK. (#2242)

3.0.0

Date: 1st December 2014

For paunchy tiny print stare the three.0 liberate announcement.


For older liberate notes, please stare the version 2.x documentation.

Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like