<p>— Eric S. Raymond, <ahref="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html">The Cathedral and the Bazaar</a>.</p>
<p>Minor version numbers (0.0.x) are used for changes that are API compatible. You should be able to upgrade between minor point releases without any other code changes.</p>
<p>Medium version numbers (0.x.0) may include API changes, in line with the <ahref="#deprecation-policy">deprecation policy</a>. You should read the release notes carefully before upgrading between medium point releases.</p>
<p>REST framework releases follow a formal deprecation policy, which is in line with <ahref="https://docs.djangoproject.com/en/stable/internals/release-process/#internal-release-deprecation-policy">Django's deprecation policy</a>.</p>
<p>The timeline for deprecation of a feature present in version 1.0 would work as follows:</p>
<ul>
<li>
<p>Version 1.1 would remain <strong>fully backwards compatible</strong> with 1.0, but would raise <code>PendingDeprecationWarning</code> warnings if you use the feature that are due to be deprecated. These warnings are <strong>silent by default</strong>, but can be explicitly enabled when you're ready to start migrating any required changes. For example if you start running your tests using <code>python -Wd manage.py test</code>, you'll be warned of any API changes you need to make.</p>
</li>
<li>
<p>Version 1.2 would escalate these warnings to <code>DeprecationWarning</code>, which is loud by default.</p>
</li>
<li>
<p>Version 1.3 would remove the deprecated bits of API entirely.</p>
</li>
</ul>
<p>Note that in line with Django's policy, any parts of the framework not mentioned in the documentation should generally be considered private API, and may be subject to change.</p>
<li>authtoken.views import coreapi from rest_framework.compat, not directly. <ahref="https://github.com/encode/django-rest-framework/issues/5921">#5921</a></li>
<li>Docs: Add missing argument 'detail' to Route <ahref="https://github.com/encode/django-rest-framework/issues/5920">#5920</a></li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/milestone/61?closed=1">3rd April 2018</a></p>
<ul>
<li>
<p><strong>Breaking Change</strong>: Alter <code>read_only</code> plus <code>default</code> behaviour. <ahref="https://github.com/encode/django-rest-framework/issues/5886">#5886</a></p>
<p><code>read_only</code> fields will now <strong>always</strong> be excluded from writable fields.</p>
<p>Previously <code>read_only</code> fields with a <code>default</code> value would use the <code>default</code> for create and update operations.</p>
<p>In order to maintain the old behaviour you may need to pass the value of <code>read_only</code> fields when calling <code>save()</code> in
<p>Without an explicit <code>default</code>, <code>allow_null</code> implies a default of <code>null</code> for outgoing serialisation. Previously such
fields were being skipped when read-only or otherwise not required.</p>
<p><strong>Possible backwards compatibility break</strong> if you were relying on such fields being excluded from the outgoing
representation. In order to restore the old behaviour you can override <code>data</code> to exclude the field when <code>None</code>.</p>
<li>Drop compat workaround for unsupported Python 3.2 <ahref="https://github.com/encode/django-rest-framework/issues/5734">#5734</a></li>
<li>Prefer <code>iter(dict)</code> over <code>iter(dict.keys())</code><ahref="https://github.com/encode/django-rest-framework/issues/5736">#5736</a></li>
<li>Pass <code>python_requires</code> argument to setuptools <ahref="https://github.com/encode/django-rest-framework/issues/5739">#5739</a></li>
<li>Remove unused links from docs <ahref="https://github.com/encode/django-rest-framework/issues/5735">#5735</a></li>
<li>Prefer https protocol for links in docs when available <ahref="https://github.com/encode/django-rest-framework/issues/5729">#5729</a></li>
<li>Always fully qualify ValidationError in docs <ahref="https://github.com/encode/django-rest-framework/issues/5751">#5751</a></li>
<li>Remove unreachable code from ManualSchema <ahref="https://github.com/encode/django-rest-framework/issues/5766">#5766</a></li>
<li>Allowed customising API documentation code samples <ahref="https://github.com/encode/django-rest-framework/issues/5752">#5752</a></li>
<li>Updated docs to use <code>pip show</code><ahref="https://github.com/encode/django-rest-framework/issues/5757">#5757</a></li>
<li>Load 'static' instead of 'staticfiles' in templates <ahref="https://github.com/encode/django-rest-framework/issues/5773">#5773</a></li>
<li>Fixed a typo in <code>fields</code> docs <ahref="https://github.com/encode/django-rest-framework/issues/5783">#5783</a></li>
<li>Refer to "NamespaceVersioning" instead of "NamespacedVersioning" in the documentation <ahref="https://github.com/encode/django-rest-framework/issues/5754">#5754</a></li>
<li>ErrorDetail: add <code>__eq__</code>/<code>__ne__</code> and <code>__repr__</code><ahref="https://github.com/encode/django-rest-framework/issues/5787">#5787</a></li>
<li>Replace <code>background-attachment: fixed</code> in docs <ahref="https://github.com/encode/django-rest-framework/issues/5777">#5777</a></li>
<li>Make 404 & 403 responses consistent with <code>exceptions.APIException</code> output <ahref="https://github.com/encode/django-rest-framework/issues/5763">#5763</a></li>
<li>Small fix to API documentation: schemas <ahref="https://github.com/encode/django-rest-framework/issues/5796">#5796</a></li>
<li>Fix schema generation for PrimaryKeyRelatedField <ahref="https://github.com/encode/django-rest-framework/issues/5764">#5764</a></li>
<li>Represent serializer DictField as an Object in schema <ahref="https://github.com/encode/django-rest-framework/issues/5765">#5765</a></li>
<li>Added docs example reimplementing ObtainAuthToken <ahref="https://github.com/encode/django-rest-framework/issues/5802">#5802</a></li>
<li>Add schema to the ObtainAuthToken view <ahref="https://github.com/encode/django-rest-framework/issues/5676">#5676</a></li>
<li>Fixed active timezone handling for non ISO8601 datetimes. <ahref="https://github.com/encode/django-rest-framework/issues/5833">#5833</a></li>
<li>Made TemplateHTMLRenderer render IntegerField inputs when value is <code>0</code>. <ahref="https://github.com/encode/django-rest-framework/issues/5834">#5834</a></li>
<li>Corrected endpoint in tutorial instructions <ahref="https://github.com/encode/django-rest-framework/issues/5835">#5835</a></li>
<li>Add Django Rest Framework Role Filters to Third party packages <ahref="https://github.com/encode/django-rest-framework/issues/5809">#5809</a></li>
<li>Use single copy of static assets. Update jQuery <ahref="https://github.com/encode/django-rest-framework/issues/5823">#5823</a></li>
<li>Changes ternary conditionals to be PEP308 compliant <ahref="https://github.com/encode/django-rest-framework/issues/5827">#5827</a></li>
<li>Added links to 'A Todo List API with React' and 'Blog API' tutorials <ahref="https://github.com/encode/django-rest-framework/issues/5837">#5837</a></li>
<li>Fix comment typo in ModelSerializer <ahref="https://github.com/encode/django-rest-framework/issues/5844">#5844</a></li>
<li>Add admin to installed apps to avoid test failures. <ahref="https://github.com/encode/django-rest-framework/issues/5870">#5870</a></li>
<li>Fixed schema for UUIDField in SimpleMetadata. <ahref="https://github.com/encode/django-rest-framework/issues/5872">#5872</a></li>
<li>Corrected docs on router include with namespaces. <ahref="https://github.com/encode/django-rest-framework/issues/5843">#5843</a></li>
<li>Test using model objects for dotted source default <ahref="https://github.com/encode/django-rest-framework/issues/5880">#5880</a></li>
<li>Allow traversing nullable related fields <ahref="https://github.com/encode/django-rest-framework/issues/5849">#5849</a></li>
<li>Added: Tutorial: Django REST with React (Django 2.0) <ahref="https://github.com/encode/django-rest-framework/issues/5891">#5891</a></li>
<li>Add <code>LimitOffsetPagination.get_count</code> to allow method override <ahref="https://github.com/encode/django-rest-framework/issues/5846">#5846</a></li>
<li>Don't show hidden fields in metadata <ahref="https://github.com/encode/django-rest-framework/issues/5854">#5854</a></li>
<li>Enable OrderingFilter to handle an empty tuple (or list) for the 'ordering' field. <ahref="https://github.com/encode/django-rest-framework/issues/5899">#5899</a></li>
<li>Added generic 500 and 400 JSON error handlers. <ahref="https://github.com/encode/django-rest-framework/issues/5904">#5904</a></li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/milestone/65?closed=1">21st December 2017</a></p>
<ul>
<li>Fix typo to include *.mo locale files to packaging. <ahref="https://github.com/encode/django-rest-framework/issues/5697">#5697</a>, <ahref="https://github.com/encode/django-rest-framework/issues/5695">#5695</a></li>
<li>Add pygments CSS block in browsable API views <ahref="https://github.com/encode/django-rest-framework/issues/5584">#5584</a><ahref="https://github.com/encode/django-rest-framework/issues/5587">#5587</a></li>
<li>Remove <code>set_rollback()</code> from compat <ahref="https://github.com/encode/django-rest-framework/issues/5591">#5591</a></li>
<li>Remove references to unsupported Django versions in docs and code <ahref="https://github.com/encode/django-rest-framework/issues/5602">#5602</a></li>
<li>Test Serializer exclude for declared fields <ahref="https://github.com/encode/django-rest-framework/issues/5599">#5599</a></li>
<li>Fixed schema generation for filter backends <ahref="https://github.com/encode/django-rest-framework/issues/5613">#5613</a></li>
<li>Minor cleanup for ModelSerializer tests <ahref="https://github.com/encode/django-rest-framework/issues/5598">#5598</a></li>
<li>Make Django 2.0 support official/explicit <ahref="https://github.com/encode/django-rest-framework/issues/5619">#5619</a></li>
<li>Perform type check on passed request argument <ahref="https://github.com/encode/django-rest-framework/issues/5618">#5618</a></li>
<li>Fix AttributeError hiding on request authenticators <ahref="https://github.com/encode/django-rest-framework/issues/5600">#5600</a></li>
<li>Update test requirements <ahref="https://github.com/encode/django-rest-framework/issues/5626">#5626</a></li>
<li>Docs: <code>Serializer._declared_fields</code> enable modifying fields on a serializer <ahref="https://github.com/encode/django-rest-framework/issues/5629">#5629</a></li>
<li>Non-required fields with <code>allow_null=True</code> should not imply a default value <ahref="https://github.com/encode/django-rest-framework/issues/5639">#5639</a></li>
<li>Update to use the Django 2.0 release in tox.ini <ahref="https://github.com/encode/django-rest-framework/issues/5645">#5645</a></li>
<li>Fix <code>Serializer.data</code> for Browsable API rendering when provided invalid <code>data</code><ahref="https://github.com/encode/django-rest-framework/issues/5646">#5646</a></li>
<li>Docs: Note AutoSchema limitations on bare APIView <ahref="https://github.com/encode/django-rest-framework/issues/5649">#5649</a></li>
<li>Add <code>.basename</code> and <code>.reverse_action()</code> to ViewSet <ahref="https://github.com/encode/django-rest-framework/issues/5648">#5648</a></li>
<li>Docs: Fix typos in serializers documentation <ahref="https://github.com/encode/django-rest-framework/issues/5652">#5652</a></li>
<li>Add docs note re generated BooleanField being <code>required=False</code><ahref="https://github.com/encode/django-rest-framework/issues/5665">#5665</a></li>
<li>Fix URL pattern parsing in schema generation <ahref="https://github.com/encode/django-rest-framework/issues/5689">#5689</a></li>
<li>Add example using <code>source=‘*’</code> to custom field docs. <ahref="https://github.com/encode/django-rest-framework/issues/5688">#5688</a></li>
<li>Fix format_suffix_patterns behavior with Django 2 path() routes <ahref="https://github.com/encode/django-rest-framework/issues/5691">#5691</a></li>
<li>Fixed Django 2.1 compatibility due to removal of django.contrib.auth.login()/logout() views. <ahref="https://github.com/encode/django-rest-framework/issues/5510">#5510</a></li>
<li>Add missing import for TextLexer. <ahref="https://github.com/encode/django-rest-framework/issues/5512">#5512</a></li>
<li>Adding examples and documentation for caching <ahref="https://github.com/encode/django-rest-framework/issues/5514">#5514</a></li>
<li>Include date and date-time format for schema generation <ahref="https://github.com/encode/django-rest-framework/issues/5511">#5511</a></li>
<li>Use triple backticks for markdown code blocks <ahref="https://github.com/encode/django-rest-framework/issues/5513">#5513</a></li>
<li>Interactive docs - make bottom sidebar items sticky <ahref="https://github.com/encode/django-rest-framework/issues/5516">#5516</a></li>
<li>Clarify pagination system check <ahref="https://github.com/encode/django-rest-framework/issues/5524">#5524</a></li>
<li>Have JSONField render as textarea in Browsable API <ahref="https://github.com/encode/django-rest-framework/issues/5530">#5530</a></li>
<li>Schema: Exclude OPTIONS/HEAD for ViewSet actions <ahref="https://github.com/encode/django-rest-framework/issues/5532">#5532</a></li>
<li>Fix ordering for dotted sources <ahref="https://github.com/encode/django-rest-framework/issues/5533">#5533</a></li>
<li>Fix: Fields with <code>allow_null=True</code> should imply a default serialization value <ahref="https://github.com/encode/django-rest-framework/issues/5518">#5518</a></li>
<li>Ensure Location header is strictly a 'str', not subclass. <ahref="https://github.com/encode/django-rest-framework/issues/5544">#5544</a></li>
<li>Add import to example in api-guide/parsers <ahref="https://github.com/encode/django-rest-framework/issues/5547">#5547</a></li>
<li>Catch OverflowError for "out of range" datetimes <ahref="https://github.com/encode/django-rest-framework/issues/5546">#5546</a></li>
<li>Add djangorestframework-rapidjson to third party packages <ahref="https://github.com/encode/django-rest-framework/issues/5549">#5549</a></li>
<li>Increase test coverage for <code>drf_create_token</code> command <ahref="https://github.com/encode/django-rest-framework/issues/5550">#5550</a></li>
<li>Add trove classifier for Python 3.6 support. <ahref="https://github.com/encode/django-rest-framework/issues/5555">#5555</a></li>
<li>Add pip cache support to the Travis CI configuration <ahref="https://github.com/encode/django-rest-framework/issues/5556">#5556</a></li>
<li>Rename [<code>wheel</code>] section to [<code>bdist_wheel</code>] as the former is legacy <ahref="https://github.com/encode/django-rest-framework/issues/5557">#5557</a></li>
<li>Add rounding parameter to DecimalField <ahref="https://github.com/encode/django-rest-framework/issues/5562">#5562</a></li>
<li>Fix all BytesWarning caught during tests <ahref="https://github.com/encode/django-rest-framework/issues/5561">#5561</a></li>
<li>Use dict and set literals instead of calls to dict() and set() <ahref="https://github.com/encode/django-rest-framework/issues/5559">#5559</a></li>
<li>Change ImageField validation pattern, use validators from DjangoImageField <ahref="https://github.com/encode/django-rest-framework/issues/5539">#5539</a></li>
<li>Fix processing unicode symbols in query_string by Python 2 <ahref="https://github.com/encode/django-rest-framework/issues/5552">#5552</a></li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/milestone/58?closed=1">16th October 2017</a></p>
<ul>
<li>Fix Interactive documentation always uses false for boolean fields in requests <ahref="https://github.com/encode/django-rest-framework/issues/5492">#5492</a></li>
<li>Improve compatibility with Django 2.0 alpha. <ahref="https://github.com/encode/django-rest-framework/issues/5500">#5500</a><ahref="https://github.com/encode/django-rest-framework/issues/5503">#5503</a></li>
<li>Improved handling of schema naming collisions <ahref="https://github.com/encode/django-rest-framework/issues/5486">#5486</a></li>
<li>Added additional docs and tests around providing a default value for dotted <code>source</code> fields <ahref="https://github.com/encode/django-rest-framework/issues/5489">#5489</a></li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.7.0+Release%22">6th October 2017</a></p>
<ul>
<li>Fix <code>DjangoModelPermissions</code> to ensure user authentication before calling the view's <code>get_queryset()</code> method. As a side effect, this changes the order of the HTTP method permissions and authentication checks, and 405 responses will only be returned when authenticated. If you want to replicate the old behavior, see the PR for details. <ahref="https://github.com/encode/django-rest-framework/issues/5376">#5376</a></li>
<li>Deprecated <code>exclude_from_schema</code> on <code>APIView</code> and <code>api_view</code> decorator. Set <code>schema = None</code> or <code>@schema(None)</code> as appropriate. <ahref="https://github.com/encode/django-rest-framework/issues/5422">#5422</a></li>
<li>
<p>Timezone-aware <code>DateTimeField</code>s now respect active or default <code>timezone</code> during serialization, instead of always using UTC. <ahref="https://github.com/encode/django-rest-framework/issues/5435">#5435</a></p>
<p>Resolves inconsistency whereby instances were serialised with supplied datetime for <code>create</code> but UTC for <code>retrieve</code>. <ahref="https://github.com/encode/django-rest-framework/issues/3732">#3732</a></p>
<p><strong>Possible backwards compatibility break</strong> if you were relying on datetime strings being UTC. Have client interpret datetimes or <ahref="https://docs.djangoproject.com/en/1.11/topics/i18n/timezones/#default-time-zone-and-current-time-zone">set default or active timezone (docs)</a> to UTC if needed.</p>
</li>
<li>
<p>Removed DjangoFilterBackend inline with deprecation policy. Use <code>django_filters.rest_framework.FilterSet</code> and/or <code>django_filters.rest_framework.DjangoFilterBackend</code> instead. <ahref="https://github.com/encode/django-rest-framework/issues/5273">#5273</a></p>
</li>
<li>Don't strip microseconds from <code>time</code> when encoding. Makes consistent with <code>datetime</code>.
<strong>BC Change</strong>: Previously only milliseconds were encoded. <ahref="https://github.com/encode/django-rest-framework/issues/5440">#5440</a></li>
<li>Added <code>STRICT_JSON</code> setting (default <code>True</code>) to raise exception for the extended float values (<code>nan</code>, <code>inf</code>, <code>-inf</code>) accepted by Python's <code>json</code> module.
<strong>BC Change</strong>: Previously these values would converted to corresponding strings. Set <code>STRICT_JSON</code> to <code>False</code> to restore the previous behaviour. <ahref="https://github.com/encode/django-rest-framework/issues/5265">#5265</a></li>
<li>Add support for <code>page_size</code> parameter in CursorPaginator class <ahref="https://github.com/encode/django-rest-framework/issues/5250">#5250</a></li>
<li>Make <code>DEFAULT_PAGINATION_CLASS</code><code>None</code> by default.
<strong>BC Change</strong>: If your were <strong>just</strong> setting <code>PAGE_SIZE</code> to enable pagination you will need to add <code>DEFAULT_PAGINATION_CLASS</code>.
The previous default was <code>rest_framework.pagination.PageNumberPagination</code>. There is a system check warning to catch this case. You may silence that if you are setting pagination class on a per-view basis. <ahref="https://github.com/encode/django-rest-framework/issues/5170">#5170</a></li>
<li>Catch <code>APIException</code> from <code>get_serializer_fields</code> in schema generation. <ahref="https://github.com/encode/django-rest-framework/issues/5443">#5443</a></li>
<li>Allow custom authentication and permission classes when using <code>include_docs_urls</code><ahref="https://github.com/encode/django-rest-framework/issues/5448">#5448</a></li>
<li>Defer translated string evaluation on validators. <ahref="https://github.com/encode/django-rest-framework/issues/5452">#5452</a></li>
<li>Added default value for 'detail' param into 'ValidationError' exception <ahref="https://github.com/encode/django-rest-framework/issues/5342">#5342</a></li>
<li>Adjust schema get_filter_fields rules to match framework <ahref="https://github.com/encode/django-rest-framework/issues/5454">#5454</a></li>
<li>Updated test matrix to add Django 2.0 and drop Django 1.8 & 1.9
<strong>BC Change</strong>: This removes Django 1.8 and Django 1.9 from Django REST Framework supported versions. <ahref="https://github.com/encode/django-rest-framework/issues/5457">#5457</a></li>
<li>Fixed a deprecation warning in serializers.ModelField <ahref="https://github.com/encode/django-rest-framework/issues/5058">#5058</a></li>
<li>Added a more explicit error message when <code>get_queryset</code> returned <code>None</code><ahref="https://github.com/encode/django-rest-framework/issues/5348">#5348</a></li>
<li>Fix docs for Response <code>data</code> description <ahref="https://github.com/encode/django-rest-framework/issues/5361">#5361</a></li>
<li>Fix default value handling for dotted sources <ahref="https://github.com/encode/django-rest-framework/issues/5375">#5375</a></li>
<li>Ensure content_type is set when passing empty body to RequestFactory <ahref="https://github.com/encode/django-rest-framework/issues/5351">#5351</a></li>
<li>Allow optional content in the generic content form <ahref="https://github.com/encode/django-rest-framework/issues/5372">#5372</a></li>
<li>Updated supported values for the NullBooleanField <ahref="https://github.com/encode/django-rest-framework/issues/5387">#5387</a></li>
<li>Fix ModelSerializer custom named fields with source on model <ahref="https://github.com/encode/django-rest-framework/issues/5388">#5388</a></li>
<li>Fixed the MultipleFieldLookupMixin documentation example to properly check for object level permission <ahref="https://github.com/encode/django-rest-framework/issues/5398">#5398</a></li>
<li>Update get_object() example in permissions.md <ahref="https://github.com/encode/django-rest-framework/issues/5401">#5401</a></li>
<li>Allow <code>ChoiceField.choices</code> to be set dynamically <ahref="https://github.com/encode/django-rest-framework/issues/5426">#5426</a></li>
<li>Add the project layout to the quickstart <ahref="https://github.com/encode/django-rest-framework/issues/5434">#5434</a></li>
<li>Reuse 'apply_markdown' function in 'render_markdown' templatetag <ahref="https://github.com/encode/django-rest-framework/issues/5469">#5469</a></li>
<li>Added links to <code>drf-openapi</code> package in docs <ahref="https://github.com/encode/django-rest-framework/issues/5470">#5470</a></li>
<li>Added docstrings code highlighting with pygments <ahref="https://github.com/encode/django-rest-framework/issues/5462">#5462</a></li>
<li>Fixed documentation rendering for views named <code>data</code><ahref="https://github.com/encode/django-rest-framework/issues/5472">#5472</a></li>
<li>Refactor schema generation to allow per-view customisation.
<strong>BC Change</strong>: <code>SchemaGenerator.get_serializer_fields</code> has been refactored as <code>AutoSchema.get_serializer_fields</code> and drops the <code>view</code> argument [#5354][gh5354]</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.6.4+Release%22">21st August 2017</a></p>
<ul>
<li>Ignore any invalidly formed query parameters for OrderingFilter. <ahref="https://github.com/encode/django-rest-framework/issues/5131">#5131</a></li>
<li>Improve memory footprint when reading large JSON requests. <ahref="https://github.com/encode/django-rest-framework/issues/5147">#5147</a></li>
<li>Fix schema generation for pagination. <ahref="https://github.com/encode/django-rest-framework/issues/5161">#5161</a></li>
<li>Fix exception when <code>HTML_CUTOFF</code> is set to <code>None</code>. <ahref="https://github.com/encode/django-rest-framework/issues/5174">#5174</a></li>
<li>Fix browsable API not supporting <code>multipart/form-data</code> correctly. <ahref="https://github.com/encode/django-rest-framework/issues/5176">#5176</a></li>
<li>Make sure max_length is in FileField kwargs. <ahref="https://github.com/encode/django-rest-framework/issues/5186">#5186</a></li>
<li>Fix <code>list_route</code>&<code>detail_route</code> with kwargs contains curly bracket in <code>url_path</code><ahref="https://github.com/encode/django-rest-framework/issues/5187">#5187</a></li>
<li>Add Django manage command to create a DRF user Token. <ahref="https://github.com/encode/django-rest-framework/issues/5188">#5188</a></li>
<li>Ensure API documentation templates do not check for user authentication <ahref="https://github.com/encode/django-rest-framework/issues/5162">#5162</a></li>
<li>Fix special case where OneToOneField is also primary key. <ahref="https://github.com/encode/django-rest-framework/issues/5192">#5192</a></li>
<li>Added aria-label and a new region for accessibility purposes in base.html <ahref="https://github.com/encode/django-rest-framework/issues/5196">#5196</a></li>
<li>Quote nested API parameters in api.js. <ahref="https://github.com/encode/django-rest-framework/issues/5214">#5214</a></li>
<li>Set ViewSet args/kwargs/request before dispatch. <ahref="https://github.com/encode/django-rest-framework/issues/5229">#5229</a></li>
<li>Added unicode support to SlugField. <ahref="https://github.com/encode/django-rest-framework/issues/5231">#5231</a></li>
<li>Fix HiddenField appears in Raw Data form initial content. <ahref="https://github.com/encode/django-rest-framework/issues/5259">#5259</a></li>
<li>Raise validation error on invalid timezone parsing. <ahref="https://github.com/encode/django-rest-framework/issues/5261">#5261</a></li>
<li>Raise 404 if a URL lookup results in ValidationError. (<ahref="https://github.com/encode/django-rest-framework/issues/5126">#5126</a>)</li>
<li>Honor http_method_names on class based view, when generating API schemas. (<ahref="https://github.com/encode/django-rest-framework/issues/5085">#5085</a>)</li>
<li>Allow overridden <code>get_limit</code> in LimitOffsetPagination to return all records. (<ahref="https://github.com/encode/django-rest-framework/issues/4437">#4437</a>)</li>
<li>Fix partial update for the ListSerializer. (<ahref="https://github.com/encode/django-rest-framework/issues/4222">#4222</a>)</li>
<li>Render JSONField control correctly in browsable API. (<ahref="https://github.com/encode/django-rest-framework/issues/4999">#4999</a>, <ahref="https://github.com/encode/django-rest-framework/issues/5042">#5042</a>)</li>
<li>Raise validation errors for invalid datetime in given timezone. (<ahref="https://github.com/encode/django-rest-framework/issues/4987">#4987</a>)</li>
<li>Support restricting doc & schema shortcuts to a subset of urls. (<ahref="https://github.com/encode/django-rest-framework/issues/4979">#4979</a>)</li>
<li>Resolve SchemaGenerator error with paginators that have no <code>page_size</code> attribute. (<ahref="https://github.com/encode/django-rest-framework/issues/5086">#5086</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3692">#3692</a>)</li>
<li>Resolve HyperlinkedRelatedField exception on string with %20 instead of space. (<ahref="https://github.com/encode/django-rest-framework/issues/4748">#4748</a>, <ahref="https://github.com/encode/django-rest-framework/issues/5078">#5078</a>)</li>
<li>Update existing vary headers in response instead of overwriting them. (<ahref="https://github.com/encode/django-rest-framework/issues/5047">#5047</a>)</li>
<li>Support passing <code>.as_view()</code> to view instance. (<ahref="https://github.com/encode/django-rest-framework/issues/5053">#5053</a>)</li>
<li>Use correct exception handler when settings overridden on a view. (<ahref="https://github.com/encode/django-rest-framework/issues/5055">#5055</a>, <ahref="https://github.com/encode/django-rest-framework/issues/5054">#5054</a>)</li>
<li>Update Boolean field to support 'yes' and 'no' values. (<ahref="https://github.com/encode/django-rest-framework/issues/5038">#5038</a>)</li>
<li>Fix unique validator for ChoiceField. (<ahref="https://github.com/encode/django-rest-framework/issues/5004">#5004</a>, <ahref="https://github.com/encode/django-rest-framework/issues/5026">#5026</a>, <ahref="https://github.com/encode/django-rest-framework/issues/5028">#5028</a>)</li>
<li>JavaScript cleanups in API Docs. (<ahref="https://github.com/encode/django-rest-framework/issues/5001">#5001</a>)</li>
<li>Include URL path regexs in API schemas where valid. (<ahref="https://github.com/encode/django-rest-framework/issues/5014">#5014</a>)</li>
<li>Correctly set scheme in coreapi TokenAuthentication. (<ahref="https://github.com/encode/django-rest-framework/issues/5000">#5000</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4994">#4994</a>)</li>
<li>HEAD requests on ViewSets should not return 405. (<ahref="https://github.com/encode/django-rest-framework/issues/4705">#4705</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4973">#4973</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4864">#4864</a>)</li>
<li>Support usage of 'source' in <code>extra_kwargs</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4688">#4688</a>)</li>
<li>Fix invalid content type for schema.js (<ahref="https://github.com/encode/django-rest-framework/issues/4968">#4968</a>)</li>
<li>Support for Safari & IE in API docs. (<ahref="https://github.com/encode/django-rest-framework/issues/4959">#4959</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4961">#4961</a>)</li>
<li>Add missing <code>mark_safe</code> in API docs template tags. (<ahref="https://github.com/encode/django-rest-framework/issues/4952">#4952</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4953">#4953</a>)</li>
<li>Fix One-to-one fields in API docs. (<ahref="https://github.com/encode/django-rest-framework/issues/4955">#4955</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4956">#4956</a>)</li>
<li>Support disabling of declared fields on serializer subclasses. (<ahref="https://github.com/encode/django-rest-framework/issues/4764">#4764</a>)</li>
<li>Support custom view names on <code>@list_route</code> and <code>@detail_route</code> endpoints. (<ahref="https://github.com/encode/django-rest-framework/issues/4821">#4821</a>)</li>
<li>Correct labels for fields in login template when custom user model is used. (<ahref="https://github.com/encode/django-rest-framework/issues/4841">#4841</a>)</li>
<li>Whitespace fixes for descriptions generated from docstrings. (<ahref="https://github.com/encode/django-rest-framework/issues/4759">#4759</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4869">#4869</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4870">#4870</a>)</li>
<li>Better error reporting when schemas are returned by views without a schema renderer. (<ahref="https://github.com/encode/django-rest-framework/issues/4790">#4790</a>)</li>
<li>Fix for returned response of <code>PUT</code> requests when <code>prefetch_related</code> is used. (<ahref="https://github.com/encode/django-rest-framework/issues/4661">#4661</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4668">#4668</a>)</li>
<li>Fix for breadcrumb view names. (<ahref="https://github.com/encode/django-rest-framework/issues/4750">#4750</a>)</li>
<li>Fix for RequestsClient ensuring fully qualified URLs. (<ahref="https://github.com/encode/django-rest-framework/issues/4678">#4678</a>)</li>
<li>Fix for incorrect behavior of writable-nested fields check in some cases. (<ahref="https://github.com/encode/django-rest-framework/issues/4634">#4634</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4669">#4669</a>)</li>
<li>Schema generation should not raise 404 when a view permission class does. (<ahref="https://github.com/encode/django-rest-framework/issues/4645">#4645</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4646">#4646</a>)</li>
<li>Add <code>autofocus</code> support for input controls. (<ahref="https://github.com/encode/django-rest-framework/issues/4650">#4650</a>)</li>
<li>Restore exception tracebacks in Python 2.7. (<ahref="https://github.com/encode/django-rest-framework/issues/4631">#4631</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4638">#4638</a>)</li>
<li>Properly display dicts in the admin console. (<ahref="https://github.com/encode/django-rest-framework/issues/4532">#4532</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4636">#4636</a>)</li>
<li>Fix is_simple_callable with variable args, kwargs. (<ahref="https://github.com/encode/django-rest-framework/issues/4622">#4622</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4602">#4602</a>)</li>
<li>Support 'on'/'off' literals with BooleanField. (<ahref="https://github.com/encode/django-rest-framework/issues/4640">#4640</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4624">#4624</a>)</li>
<li>Enable cursor pagination of value querysets. (<ahref="https://github.com/encode/django-rest-framework/issues/4569">#4569</a>)</li>
<li>Fix support of get_full_details() for Throttled exceptions. (<ahref="https://github.com/encode/django-rest-framework/issues/4627">#4627</a>)</li>
<li>Fix bug in schema base path generation. (<ahref="https://github.com/encode/django-rest-framework/issues/4611">#4611</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4605">#4605</a>)</li>
<li>Fix broken case of ListSerializer with single item. (<ahref="https://github.com/encode/django-rest-framework/issues/4609">#4609</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4606">#4606</a>)</li>
<li>Remove bare <code>raise</code> for Python 3.5 compat. (<ahref="https://github.com/encode/django-rest-framework/issues/4600">#4600</a>)</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.4.7+Release%22">21st September 2016</a></p>
<li>Fallback behavior for request parsing when request.POST already accessed. (<ahref="https://github.com/encode/django-rest-framework/issues/3951">#3951</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4500">#4500</a>)</li>
<li>Fix regression of <code>RegexField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4489">#4489</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4490">#4490</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2617">#2617</a>)</li>
<li>Missing comma in <code>admin.html</code> causing CSRF error. (<ahref="https://github.com/encode/django-rest-framework/issues/4472">#4472</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4473">#4473</a>)</li>
<li>Fix response rendering with empty context. (<ahref="https://github.com/encode/django-rest-framework/issues/4495">#4495</a>)</li>
<li>Fix indentation regression in API listing. (<ahref="https://github.com/encode/django-rest-framework/issues/4493">#4493</a>)</li>
<li>Fixed an issue where the incorrect value is set to <code>ResolverMatch.func_name</code> of api_view decorated view. (<ahref="https://github.com/encode/django-rest-framework/issues/4465">#4465</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4462">#4462</a>)</li>
<li>Fix <code>APIClient.get()</code> when path contains unicode arguments (<ahref="https://github.com/encode/django-rest-framework/issues/4458">#4458</a>)</li>
<li>Fix malformed Javascript in browsable API. (<ahref="https://github.com/encode/django-rest-framework/issues/4435">#4435</a>)</li>
<li>Skip HiddenField from Schema fields. (<ahref="https://github.com/encode/django-rest-framework/issues/4425">#4425</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4429">#4429</a>)</li>
<li>Improve Create to show the original exception traceback. (<ahref="https://github.com/encode/django-rest-framework/issues/3508">#3508</a>)</li>
<li>Fix <code>AdminRenderer</code> display of PK only related fields. (<ahref="https://github.com/encode/django-rest-framework/issues/4419">#4419</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4423">#4423</a>)</li>
<li>Include .action attribute on viewsets when generating schemas. (<ahref="https://github.com/encode/django-rest-framework/issues/4408">#4408</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4398">#4398</a>)</li>
<li>Do not include request.FILES items in request.POST. (<ahref="https://github.com/encode/django-rest-framework/issues/4407">#4407</a>)</li>
<li>Fix rendering of checkbox multiple. (<ahref="https://github.com/encode/django-rest-framework/issues/4403">#4403</a>)</li>
<li>Fix docstring of Field.get_default. (<ahref="https://github.com/encode/django-rest-framework/issues/4404">#4404</a>)</li>
<li>Replace utf8 character with its ascii counterpart in README. (<ahref="https://github.com/encode/django-rest-framework/issues/4412">#4412</a>)</li>
<li>Don't strip empty query params when paginating. (<ahref="https://github.com/encode/django-rest-framework/issues/4392">#4392</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4393">#4393</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4260">#4260</a>)</li>
<li>Do not re-run query for empty results with LimitOffsetPagination. (<ahref="https://github.com/encode/django-rest-framework/issues/4201">#4201</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4388">#4388</a>)</li>
<li>Stricter type validation for CharField. (<ahref="https://github.com/encode/django-rest-framework/issues/4380">#4380</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3394">#3394</a>)</li>
<li>RelatedField.choices should preserve non-string values. (<ahref="https://github.com/encode/django-rest-framework/issues/4111">#4111</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4379">#4379</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3365">#3365</a>)</li>
<li>Test case for rendering checkboxes in vertical form style. (<ahref="https://github.com/encode/django-rest-framework/issues/4378">#4378</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3868">#3868</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3868">#3868</a>)</li>
<li>Show error traceback HTML in browsable API (<ahref="https://github.com/encode/django-rest-framework/issues/4042">#4042</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4172">#4172</a>)</li>
<li>Fix handling of ALLOWED_VERSIONS and no DEFAULT_VERSION. <ahref="https://github.com/encode/django-rest-framework/issues/4370">#4370</a></li>
<li>Allow <code>max_digits=None</code> on DecimalField. (<ahref="https://github.com/encode/django-rest-framework/issues/4377">#4377</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4372">#4372</a>)</li>
<li>Resolve form display with ChoiceField, MultipleChoiceField and non-string choices. (<ahref="https://github.com/encode/django-rest-framework/issues/4374">#4374</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4119">#4119</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4121">#4121</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4137">#4137</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4120">#4120</a>)</li>
<li>Fix call to TemplateHTMLRenderer.resolve_context() fallback method. (<ahref="https://github.com/encode/django-rest-framework/issues/4371">#4371</a>)</li>
<li>Include fallback for users of older TemplateHTMLRenderer internal API. (<ahref="https://github.com/encode/django-rest-framework/issues/4361">#4361</a>)</li>
<li>Include kwargs passed to 'as_view' when generating schemas. (<ahref="https://github.com/encode/django-rest-framework/issues/4359">#4359</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4330">#4330</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4331">#4331</a>)</li>
<li>Access <code>request.user.is_authenticated</code> as property not method, under Django 1.10+ (<ahref="https://github.com/encode/django-rest-framework/issues/4358">#4358</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4354">#4354</a>)</li>
<li>Filter HEAD out from schemas. (<ahref="https://github.com/encode/django-rest-framework/issues/4357">#4357</a>)</li>
<li>extra_kwargs takes precedence over uniqueness kwargs. (<ahref="https://github.com/encode/django-rest-framework/issues/4198">#4198</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4199">#4199</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4349">#4349</a>)</li>
<li>Correct descriptions when tabs are used in code indentation. (<ahref="https://github.com/encode/django-rest-framework/issues/4345">#4345</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4347">#4347</a>)*</li>
<li>Change template context generation in TemplateHTMLRenderer. (<ahref="https://github.com/encode/django-rest-framework/issues/4236">#4236</a>)</li>
<li>Serializer defaults should not be included in partial updates. (<ahref="https://github.com/encode/django-rest-framework/issues/4346">#4346</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3565">#3565</a>)</li>
<li>Consistent behavior & descriptive error from FileUploadParser when filename not included. (<ahref="https://github.com/encode/django-rest-framework/issues/4340">#4340</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3610">#3610</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4292">#4292</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4296">#4296</a>)</li>
<li>Handle non-string input for IP fields. (<ahref="https://github.com/encode/django-rest-framework/issues/4335">#4335</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4336">#4336</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4338">#4338</a>)</li>
<li>Fix leading slash handling when Schema generation includes a root URL. (<ahref="https://github.com/encode/django-rest-framework/issues/4332">#4332</a>)</li>
<li>Test cases for DictField with allow_null options. (<ahref="https://github.com/encode/django-rest-framework/issues/4348">#4348</a>)</li>
<li>Update tests from Django 1.10 beta to Django 1.10. (<ahref="https://github.com/encode/django-rest-framework/issues/4344">#4344</a>)</li>
<li>Added <code>root_renderers</code> argument to <code>DefaultRouter</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4323">#4323</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4268">#4268</a>)</li>
<li>Added <code>url</code> and <code>schema_url</code> arguments. (<ahref="https://github.com/encode/django-rest-framework/issues/4321">#4321</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4308">#4308</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4305">#4305</a>)</li>
<li>Unique together checks should apply to read-only fields which have a default. (<ahref="https://github.com/encode/django-rest-framework/issues/4316">#4316</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4294">#4294</a>)</li>
<li>Set view.format_kwarg in schema generator. (<ahref="https://github.com/encode/django-rest-framework/issues/4293">#4293</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4315">#4315</a>)</li>
<li>Fix schema generator for views with <code>pagination_class = None</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4314">#4314</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4289">#4289</a>)</li>
<li>Fix schema generator for views with no <code>get_serializer_class</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4265">#4265</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4285">#4285</a>)</li>
<li>Fixes for media type parameters in <code>Accept</code> and <code>Content-Type</code> headers. (<ahref="https://github.com/encode/django-rest-framework/issues/4287">#4287</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4313">#4313</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4281">#4281</a>)</li>
<li>Use verbose_name instead of object_name in error messages. (<ahref="https://github.com/encode/django-rest-framework/issues/4299">#4299</a>)</li>
<li>Minor version update to Twitter Bootstrap. (<ahref="https://github.com/encode/django-rest-framework/issues/4307">#4307</a>)</li>
<li>SearchFilter raises error when using with related field. (<ahref="https://github.com/encode/django-rest-framework/issues/4302">#4302</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4303">#4303</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4298">#4298</a>)</li>
<li>Adding support for RFC 4918 status codes. (<ahref="https://github.com/encode/django-rest-framework/issues/4291">#4291</a>)</li>
<li>Add LICENSE.md to the built wheel. (<ahref="https://github.com/encode/django-rest-framework/issues/4270">#4270</a>)</li>
<li>Serializing "complex" field returns None instead of the value since 3.4 (<ahref="https://github.com/encode/django-rest-framework/issues/4272">#4272</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4273">#4273</a>, <ahref="https://github.com/encode/django-rest-framework/issues/4288">#4288</a>)</li>
<li>Fix setup.py error on some platforms. (<ahref="https://github.com/encode/django-rest-framework/issues/4246">#4246</a>)</li>
<li>Move alternate formats in coreapi into separate packages. (<ahref="https://github.com/encode/django-rest-framework/issues/4244">#4244</a>)</li>
<li>Add localize keyword argument to <code>DecimalField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4233">#4233</a>)</li>
<li>Fix issues with routers for custom list-route and detail-routes. (<ahref="https://github.com/encode/django-rest-framework/issues/4229">#4229</a>)</li>
<li>Namespace versioning with nested namespaces. (<ahref="https://github.com/encode/django-rest-framework/issues/4219">#4219</a>)</li>
<li>Minor refactoring of <code>must_call_distinct</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4215">#4215</a>)</li>
<li>Overridable offset cutoff in CursorPagination. (<ahref="https://github.com/encode/django-rest-framework/issues/4212">#4212</a>)</li>
<li>Pass through strings as-in with date/time fields. (<ahref="https://github.com/encode/django-rest-framework/issues/4196">#4196</a>)</li>
<li>Add test confirming that required=False is valid on a relational field. (<ahref="https://github.com/encode/django-rest-framework/issues/4195">#4195</a>)</li>
<li>In LimitOffsetPagination <code>limit=0</code> should revert to default limit. (<ahref="https://github.com/encode/django-rest-framework/issues/4194">#4194</a>)</li>
<li>Exclude read_only=True fields from unique_together validation & add docs. (<ahref="https://github.com/encode/django-rest-framework/issues/4192">#4192</a>)</li>
<li>Handle bytestrings in JSON. (<ahref="https://github.com/encode/django-rest-framework/issues/4191">#4191</a>)</li>
<li>JSONField(binary=True) represents using binary strings, which JSONRenderer does not support. (<ahref="https://github.com/encode/django-rest-framework/issues/4187">#4187</a>)</li>
<li>JSONField(binary=True) represents using binary strings, which JSONRenderer does not support. (<ahref="https://github.com/encode/django-rest-framework/issues/4185">#4185</a>)</li>
<li>More robust form rendering in the browsable API. (<ahref="https://github.com/encode/django-rest-framework/issues/4181">#4181</a>)</li>
<li>Empty cases of <code>.validated_data</code> and <code>.errors</code> as lists not dicts for ListSerializer. (<ahref="https://github.com/encode/django-rest-framework/issues/4180">#4180</a>)</li>
<li>Schemas & client libraries. (<ahref="https://github.com/encode/django-rest-framework/issues/4179">#4179</a>)</li>
<li>Updated jQuery version to 1.12.4. (<ahref="https://github.com/encode/django-rest-framework/issues/4157">#4157</a>)</li>
<li>More robust default behavior on OrderingFilter. (<ahref="https://github.com/encode/django-rest-framework/issues/4156">#4156</a>)</li>
<li>description.py codes and tests removal. (<ahref="https://github.com/encode/django-rest-framework/issues/4153">#4153</a>)</li>
<li>Wrap guardian.VERSION in tuple. (<ahref="https://github.com/encode/django-rest-framework/issues/4149">#4149</a>)</li>
<li>Refine validator for fields with <source=> kwargs. (<ahref="https://github.com/encode/django-rest-framework/issues/4146">#4146</a>)</li>
<li>Fix None values representation in childs of ListField, DictField. (<ahref="https://github.com/encode/django-rest-framework/issues/4118">#4118</a>)</li>
<li>Resolve TimeField representation for midnight value. (<ahref="https://github.com/encode/django-rest-framework/issues/4107">#4107</a>)</li>
<li>Set proper status code in AdminRenderer for the redirection after POST/DELETE requests. (<ahref="https://github.com/encode/django-rest-framework/issues/4106">#4106</a>)</li>
<li>TimeField render returns None instead of 00:00:00. (<ahref="https://github.com/encode/django-rest-framework/issues/4105">#4105</a>)</li>
<li>Fix incorrectly named zh-hans and zh-hant locale path. (<ahref="https://github.com/encode/django-rest-framework/issues/4103">#4103</a>)</li>
<li>Prevent raising exception when limit is 0. (<ahref="https://github.com/encode/django-rest-framework/issues/4098">#4098</a>)</li>
<li>TokenAuthentication: Allow custom keyword in the header. (<ahref="https://github.com/encode/django-rest-framework/issues/4097">#4097</a>)</li>
<li><code>OrderingFilter</code> should call <code>get_serializer_class()</code> to determine default fields. (<ahref="https://github.com/encode/django-rest-framework/issues/3964">#3964</a>)</li>
<li>Support callable as the value of <code>initial</code> for any <code>serializer.Field</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/3943">#3943</a>)</li>
<li>Prevented unnecessary distinct() call in SearchFilter. (<ahref="https://github.com/encode/django-rest-framework/issues/3938">#3938</a>)</li>
<li>Attempt to address Django 2.0 deprecate warnings related to <code>field.rel</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/3906">#3906</a>)</li>
<li>Fix parsing multipart data using a nested serializer with list. (<ahref="https://github.com/encode/django-rest-framework/issues/3820">#3820</a>)</li>
<li>Resolving APIs URL to different namespaces. (<ahref="https://github.com/encode/django-rest-framework/issues/3816">#3816</a>)</li>
<li>Do not HTML-escape <code>help_text</code> in Browsable API forms. (<ahref="https://github.com/encode/django-rest-framework/issues/3812">#3812</a>)</li>
<li>OPTIONS fetches and shows all possible foreign keys in choices field. (<ahref="https://github.com/encode/django-rest-framework/issues/3751">#3751</a>)</li>
<li>Test case for #3598 (<ahref="https://github.com/encode/django-rest-framework/issues/3710">#3710</a>)</li>
<li>Adding support for multiple values for search filter. (<ahref="https://github.com/encode/django-rest-framework/issues/3541">#3541</a>)</li>
<li>Use get_serializer_class in ordering filter. (<ahref="https://github.com/encode/django-rest-framework/issues/3487">#3487</a>)</li>
<li>Serializers with many=True should return empty list rather than empty dict. (<ahref="https://github.com/encode/django-rest-framework/issues/3476">#3476</a>)</li>
<li>Enable Validators to defer string evaluation and handle new string format. (<ahref="https://github.com/encode/django-rest-framework/issues/3438">#3438</a>)</li>
<li>Unique validator is executed and breaks if field is invalid. (<ahref="https://github.com/encode/django-rest-framework/issues/3381">#3381</a>)</li>
<li>Do not ignore overridden View.get_view_name() in breadcrumbs. (<ahref="https://github.com/encode/django-rest-framework/issues/3273">#3273</a>)</li>
<li>Retry form rendering when rendering with serializer fails. (<ahref="https://github.com/encode/django-rest-framework/issues/3164">#3164</a>)</li>
<li>Unique constraint prevents nested serializers from updating. (<ahref="https://github.com/encode/django-rest-framework/issues/2996">#2996</a>)</li>
<li>Uniqueness validators should not be run for excluded (read_only) fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2848">#2848</a>)</li>
<li>UniqueValidator raises exception for nested objects. (<ahref="https://github.com/encode/django-rest-framework/issues/2403">#2403</a>)</li>
<li><code>lookup_type</code> is deprecated in favor of <code>lookup_expr</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/4259">#4259</a>)</li>
<li>Remove version string from templates. Thanks to @blag for the report and fixes. (<ahref="https://github.com/encode/django-rest-framework/issues/3878">#3878</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3913">#3913</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3912">#3912</a>)</li>
<li>Fixes vertical html layout for <code>BooleanField</code>. Thanks to Mikalai Radchuk for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3910">#3910</a>)</li>
<li>Silenced deprecation warnings on Django 1.8. Thanks to Simon Charette for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3903">#3903</a>)</li>
<li>Internationalization for authtoken. Thanks to Michael Nacharov for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3887">#3887</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3968">#3968</a>)</li>
<li>Fix <code>Token</code> model as <code>abstract</code> when the authtoken application isn't declared. Thanks to Adam Thomas for the report. (<ahref="https://github.com/encode/django-rest-framework/issues/3860">#3860</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3858">#3858</a>)</li>
<li>Improve Markdown version compatibility. Thanks to Michael J. Schultz for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3604">#3604</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3842">#3842</a>)</li>
<li><code>QueryParameterVersioning</code> does not use <code>DEFAULT_VERSION</code> setting. Thanks to Brad Montgomery for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3833">#3833</a>)</li>
<li>Add an explicit <code>on_delete</code> on the models. Thanks to Mads Jensen for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3832">#3832</a>)</li>
<li>Fix <code>DateField.to_representation</code> to work with Python 2 unicode. Thanks to Mikalai Radchuk for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3819">#3819</a>)</li>
<li>Fixed <code>TimeField</code> not handling string times. Thanks to Areski Belaid for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3809">#3809</a>)</li>
<li>Avoid updates of <code>Meta.extra_kwargs</code>. Thanks to Kevin Massey for the report and fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3805">#3805</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3804">#3804</a>)</li>
<li>Fix nested validation error being rendered incorrectly. Thanks to Craig de Stigter for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3801">#3801</a>)</li>
<li>Document how to avoid CSRF and missing button issues with <code>django-crispy-forms</code>. Thanks to Emmanuelle Delescolle, José Padilla and Luis San Pablo for the report, analysis and fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3787">#3787</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3636">#3636</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3637">#3637</a>)</li>
<li>Improve Rest Framework Settings file setup time. Thanks to Miles Hutson for the report and Mads Jensen for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3786">#3786</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3815">#3815</a>)</li>
<li>Improve authtoken compatibility with Django 1.9. Thanks to S. Andrew Sheppard for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3785">#3785</a>)</li>
<li>Fix <code>Min/MaxValueValidator</code> transfer from a model's <code>DecimalField</code>. Thanks to Kevin Brown for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3774">#3774</a>)</li>
<li>Improve HTML title in the Browsable API. Thanks to Mike Lissner for the report and fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3769">#3769</a>)</li>
<li>Fix <code>AutoFilterSet</code> to inherit from <code>default_filter_set</code>. Thanks to Tom Linford for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3753">#3753</a>)</li>
<li>Fix transifex config to handle the new Chinese language codes. Thanks to @nypisces for the report and fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3739">#3739</a>)</li>
<li><code>DateTimeField</code> does not handle empty values correctly. Thanks to Mick Parker for the report and fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3731">#3731</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3726">#3726</a>)</li>
<li>Raise error when setting a removed rest_framework setting. Thanks to Luis San Pablo for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3715">#3715</a>)</li>
<li>Add missing csrf_token in AdminRenderer post form. Thanks to Piotr Śniegowski for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3703">#3703</a>)</li>
<li>Refactored <code>_get_reverse_relationships()</code> to use correct <code>to_field</code>. Thanks to Benjamin Phillips for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3696">#3696</a>)</li>
<li>Document the use of <code>get_queryset</code> for <code>RelatedField</code>. Thanks to Ryan Hiebert for the fix. (<ahref="https://github.com/encode/django-rest-framework/issues/3605">#3605</a>)</li>
<li>Fix empty pk detection in HyperlinkRelatedField.get_url. Thanks to @jslang for the fix (<ahref="https://github.com/encode/django-rest-framework/issues/3962">#3962</a>)</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.3.2+Release%22">14th December 2015</a>.</p>
<li><code>ListField</code> enforces input is a list. (<ahref="https://github.com/encode/django-rest-framework/issues/3513">#3513</a>)</li>
<li>Fix regression hiding raw data form. (<ahref="https://github.com/encode/django-rest-framework/issues/3600">#3600</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3578">#3578</a>)</li>
<li>Allow setting a custom Django Paginator in <code>pagination.PageNumberPagination</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/3631">#3631</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3684">#3684</a>)</li>
<li>Fix relational fields without <code>to_fields</code> attribute. (<ahref="https://github.com/encode/django-rest-framework/issues/3635">#3635</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3634">#3634</a>)</li>
<li>Fix <code>template.render</code> deprecation warnings for Django 1.9. (<ahref="https://github.com/encode/django-rest-framework/issues/3654">#3654</a>)</li>
<li>Sort response headers in browsable API renderer. (<ahref="https://github.com/encode/django-rest-framework/issues/3655">#3655</a>)</li>
<li>Use related_objects api for Django 1.9+. (<ahref="https://github.com/encode/django-rest-framework/issues/3656">#3656</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3252">#3252</a>)</li>
<li>Add confirm modal when deleting. (<ahref="https://github.com/encode/django-rest-framework/issues/3228">#3228</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3662">#3662</a>)</li>
<li>Reveal previously hidden AttributeErrors and TypeErrors while calling has_[object_]permissions. (<ahref="https://github.com/encode/django-rest-framework/issues/3668">#3668</a>)</li>
<li>Make DRF compatible with multi template engine in Django 1.8. (<ahref="https://github.com/encode/django-rest-framework/issues/3672">#3672</a>)</li>
<li>Update <code>NestedBoundField</code> to also handle empty string when rendering its form. (<ahref="https://github.com/encode/django-rest-framework/issues/3677">#3677</a>)</li>
<li>Fix Admin and API browser for views without a filter_class. (<ahref="https://github.com/encode/django-rest-framework/issues/3705">#3705</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3596">#3596</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3597">#3597</a>)</li>
<li>Add app_name to rest_framework.urls. (<ahref="https://github.com/encode/django-rest-framework/issues/3714">#3714</a>)</li>
<li>Improve authtoken's views to support url versioning. (<ahref="https://github.com/encode/django-rest-framework/issues/3718">#3718</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3723">#3723</a>)</li>
<li>Resolve parsing bug when accessing <code>request.POST</code> (<ahref="https://github.com/encode/django-rest-framework/issues/3592">#3592</a>)</li>
<li>Correctly deal with <code>to_field</code> referring to primary key. (<ahref="https://github.com/encode/django-rest-framework/issues/3593">#3593</a>)</li>
<li>Allow filter HTML to render when no <code>filter_class</code> is defined. (<ahref="https://github.com/encode/django-rest-framework/issues/3560">#3560</a>)</li>
<li>Correctly map <code>to_field</code> when creating <code>ModelSerializer</code> relational fields. (<ahref="https://github.com/encode/django-rest-framework/issues/3526">#3526</a>)</li>
<li>Include keyword arguments when mapping <code>FilePathField</code> to a serializer field. (<ahref="https://github.com/encode/django-rest-framework/issues/3536">#3536</a>)</li>
<li>Map appropriate model <code>error_messages</code> on <code>ModelSerializer</code> uniqueness constraints. (<ahref="https://github.com/encode/django-rest-framework/issues/3435">#3435</a>)</li>
<li>Include <code>max_length</code> constraint for <code>ModelSerializer</code> fields mapped from TextField. (<ahref="https://github.com/encode/django-rest-framework/issues/3509">#3509</a>)</li>
<li>Added support for Django 1.9. (<ahref="https://github.com/encode/django-rest-framework/issues/3450">#3450</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3525">#3525</a>)</li>
<li>Removed support for Django 1.5 & 1.6. (<ahref="https://github.com/encode/django-rest-framework/issues/3421">#3421</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3429">#3429</a>)</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.2.4+Release%22">21th September 2015</a>.</p>
<li>Don't error on missing <code>ViewSet.search_fields</code> attribute. (<ahref="https://github.com/encode/django-rest-framework/issues/3324">#3324</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3323">#3323</a>)</li>
<li>Fix <code>allow_empty</code> not working on serializers with <code>many=True</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/3361">#3361</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3364">#3364</a>)</li>
<li>Multi-level dictionaries not supported in multipart requests. (<ahref="https://github.com/encode/django-rest-framework/issues/3314">#3314</a>)</li>
<li>Fix <code>ListField</code> truncation on HTTP PATCH (<ahref="https://github.com/encode/django-rest-framework/issues/3415">#3415</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2761">#2761</a>)</li>
<li>Added <code>html_cutoff</code> and <code>html_cutoff_text</code> for limiting select dropdowns. (<ahref="https://github.com/encode/django-rest-framework/issues/3313">#3313</a>)</li>
<li>Added regex style to <code>SearchFilter</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/3316">#3316</a>)</li>
<li>Resolve issues with setting blank HTML fields. (<ahref="https://github.com/encode/django-rest-framework/issues/3318">#3318</a>) (<ahref="https://github.com/encode/django-rest-framework/issues/3321">#3321</a>)</li>
<li>Correctly display existing 'select multiple' values in browsable API forms. (<ahref="https://github.com/encode/django-rest-framework/issues/3290">#3290</a>)</li>
<li>Resolve duplicated validation message for <code>IPAddressField</code>. ([#3249[gh3249]) (<ahref="https://github.com/encode/django-rest-framework/issues/3250">#3250</a>)</li>
<li>Fix to ensure admin renderer continues to work when pagination is disabled. (<ahref="https://github.com/encode/django-rest-framework/issues/3275">#3275</a>)</li>
<li>Resolve error with <code>LimitOffsetPagination</code> when count=0, offset=0. (<ahref="https://github.com/encode/django-rest-framework/issues/3303">#3303</a>)</li>
<li>Add <code>display_value()</code> method for use when displaying relational field select inputs. (<ahref="https://github.com/encode/django-rest-framework/issues/3254">#3254</a>)</li>
<li>Fix issue with <code>BooleanField</code> checkboxes incorrectly displaying as checked. (<ahref="https://github.com/encode/django-rest-framework/issues/3258">#3258</a>)</li>
<li>Ensure empty checkboxes properly set <code>BooleanField</code> to <code>False</code> in all cases. (<ahref="https://github.com/encode/django-rest-framework/issues/2776">#2776</a>)</li>
<li>Allow <code>WSGIRequest.FILES</code> property without raising incorrect deprecated error. (<ahref="https://github.com/encode/django-rest-framework/issues/3261">#3261</a>)</li>
<li>Resolve issue with rendering nested serializers in forms. (<ahref="https://github.com/encode/django-rest-framework/issues/3260">#3260</a>)</li>
<li>Raise an error if user accidentally pass a serializer instance to a response, rather than data. (<ahref="https://github.com/encode/django-rest-framework/issues/3241">#3241</a>)</li>
<li>Fix for relational select widgets rendering without any choices. (<ahref="https://github.com/encode/django-rest-framework/issues/3237">#3237</a>)</li>
<li>Fix for <code>1</code>, <code>0</code> rendering as <code>true</code>, <code>false</code> in the admin interface. <ahref="https://github.com/encode/django-rest-framework/issues/3227">#3227</a>)</li>
<li>Fix for ListFields with single value in HTML form input. (<ahref="https://github.com/encode/django-rest-framework/issues/3238">#3238</a>)</li>
<li>Allow <code>request.FILES</code> for compat with Django's <code>HTTPRequest</code> class. (<ahref="https://github.com/encode/django-rest-framework/issues/3239">#3239</a>)</li>
<li>Support error forms in browsable API. (<ahref="https://github.com/encode/django-rest-framework/issues/3024">#3024</a>)</li>
<li>Allow permission classes to customize the error message. (<ahref="https://github.com/encode/django-rest-framework/issues/2539">#2539</a>)</li>
<li>Support <code>source=<method></code> on hyperlinked fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2690">#2690</a>)</li>
<li><code>ListField(allow_null=True)</code> now allows null as the list value, not null items in the list. (<ahref="https://github.com/encode/django-rest-framework/issues/2766">#2766</a>)</li>
<li><code>ManyToMany()</code> maps to <code>allow_empty=False</code>, <code>ManyToMany(blank=True)</code> maps to <code>allow_empty=True</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2804">#2804</a>)</li>
<li>Support custom serialization styles for primary key fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2789">#2789</a>)</li>
<li><code>OPTIONS</code> requests support nested representations. (<ahref="https://github.com/encode/django-rest-framework/issues/2915">#2915</a>)</li>
<li>Set <code>view.action == "metadata"</code> for viewsets with <code>OPTIONS</code> requests. (<ahref="https://github.com/encode/django-rest-framework/issues/3115">#3115</a>)</li>
<li>Do not display view docstrings with 401 or 403 response codes. (<ahref="https://github.com/encode/django-rest-framework/issues/3216">#3216</a>)</li>
<li>Fix for <code>DecimalField</code> validation. (<ahref="https://github.com/encode/django-rest-framework/issues/3139">#3139</a>)</li>
<li>Fix behavior of <code>allow_blank=False</code> when used with <code>trim_whitespace=True</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2712">#2712</a>)</li>
<li>Fix issue with some field combinations incorrectly mapping to an invalid <code>allow_blank</code> argument. (<ahref="https://github.com/encode/django-rest-framework/issues/3011">#3011</a>)</li>
<li>Fix for output representations with prefetches and modified querysets. (<ahref="https://github.com/encode/django-rest-framework/issues/2704">#2704</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2727">#2727</a>)</li>
<li>Fix assertion error when CursorPagination is provided with certain invalid query parameters. (#2920)<ahref="https://github.com/encode/django-rest-framework/issues/2920">gh2920</a>.</li>
<li>Fix <code>UnicodeDecodeError</code> when invalid characters included in header with <code>TokenAuthentication</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2928">#2928</a>)</li>
<li>Fix transaction rollbacks with <code>@non_atomic_requests</code> decorator. (<ahref="https://github.com/encode/django-rest-framework/issues/3016">#3016</a>)</li>
<li>Fix duplicate results issue with Oracle databases using <code>SearchFilter</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2935">#2935</a>)</li>
<li>Fix checkbox alignment and rendering in browsable API forms. (<ahref="https://github.com/encode/django-rest-framework/issues/2783">#2783</a>)</li>
<li>Fix for unsaved file objects which should use <code>"url": null</code> in the representation. (<ahref="https://github.com/encode/django-rest-framework/issues/2759">#2759</a>)</li>
<li>Fix field value rendering in browsable API. (<ahref="https://github.com/encode/django-rest-framework/issues/2416">#2416</a>)</li>
<li>Fix <code>HStoreField</code> to include <code>allow_blank=True</code> in <code>DictField</code> mapping. (<ahref="https://github.com/encode/django-rest-framework/issues/2659">#2659</a>)</li>
<li>Add <code>format</code> argument to <code>UUIDField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2788">#2788</a>, <ahref="https://github.com/encode/django-rest-framework/issues/3000">#3000</a>)</li>
<li><code>MultipleChoiceField</code> empties incorrectly on a partial update using multipart/form-data (<ahref="https://github.com/encode/django-rest-framework/issues/2993">#2993</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2894">#2894</a>)</li>
<li>Fix a bug in options related to read-only <code>RelatedField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2981">#2981</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2811">#2811</a>)</li>
<li>Fix nested serializers with <code>unique_together</code> relations. (<ahref="https://github.com/encode/django-rest-framework/issues/2975">#2975</a>)</li>
<li>Allow unexpected values for <code>ChoiceField</code>/<code>MultipleChoiceField</code> representations. (<ahref="https://github.com/encode/django-rest-framework/issues/2839">#2839</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2940">#2940</a>)</li>
<li>Rollback the transaction on error if <code>ATOMIC_REQUESTS</code> is set. (<ahref="https://github.com/encode/django-rest-framework/issues/2887">#2887</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2034">#2034</a>)</li>
<li>Set the action on a view when override_method regardless of its None-ness. (<ahref="https://github.com/encode/django-rest-framework/issues/2933">#2933</a>)</li>
<li><code>DecimalField</code> accepts <code>2E+2</code> as 200 and validates decimal place correctly. (<ahref="https://github.com/encode/django-rest-framework/issues/2948">#2948</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2947">#2947</a>)</li>
<li>Support basic authentication with custom <code>UserModel</code> that change <code>username</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2952">#2952</a>)</li>
<li><code>DateField.to_representation</code> can handle str and empty values. (<ahref="https://github.com/encode/django-rest-framework/issues/2656">#2656</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2687">#2687</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2869">#2869</a>)</li>
<li>Use default reason phrases from HTTP standard. (<ahref="https://github.com/encode/django-rest-framework/issues/2764">#2764</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2763">#2763</a>)</li>
<li>Raise error when <code>ModelSerializer</code> used with abstract model. (<ahref="https://github.com/encode/django-rest-framework/issues/2757">#2757</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2630">#2630</a>)</li>
<li>Handle reversal of non-API view_name in <code>HyperLinkedRelatedField</code> (<ahref="https://github.com/encode/django-rest-framework/issues/2724">#2724</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2711">#2711</a>)</li>
<li>Don't require pk strictly for related fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2745">#2745</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2754">#2754</a>)</li>
<li>Metadata detects null boolean field type. (<ahref="https://github.com/encode/django-rest-framework/issues/2762">#2762</a>)</li>
<li>Proper handling of depth in nested serializers. (<ahref="https://github.com/encode/django-rest-framework/issues/2798">#2798</a>)</li>
<li>Display viewset without paginator. (<ahref="https://github.com/encode/django-rest-framework/issues/2807">#2807</a>)</li>
<li>Don't check for deprecated <code>.model</code> attribute in permissions (<ahref="https://github.com/encode/django-rest-framework/issues/2818">#2818</a>)</li>
<li>Restrict integer field to integers and strings. (<ahref="https://github.com/encode/django-rest-framework/issues/2835">#2835</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2836">#2836</a>)</li>
<li>Improve <code>IntegerField</code> to use compiled decimal regex. (<ahref="https://github.com/encode/django-rest-framework/issues/2853">#2853</a>)</li>
<li>Prevent empty <code>queryset</code> to raise AssertionError. (<ahref="https://github.com/encode/django-rest-framework/issues/2862">#2862</a>)</li>
<li><code>DjangoModelPermissions</code> rely on <code>get_queryset</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2863">#2863</a>)</li>
<li>Check <code>AcceptHeaderVersioning</code> with content negotiation in place. (<ahref="https://github.com/encode/django-rest-framework/issues/2868">#2868</a>)</li>
<li>Allow <code>DjangoObjectPermissions</code> to use views that define <code>get_queryset</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2905">#2905</a>)</li>
<li>Display input forms in browsable API if <code>serializer_class</code> is used, even when <code>get_serializer</code> method does not exist on the view. (<ahref="https://github.com/encode/django-rest-framework/issues/2643">#2743</a>)</li>
<li>Use a password input for the AuthTokenSerializer. (<ahref="https://github.com/encode/django-rest-framework/issues/2641">#2741</a>)</li>
<li>Fix missing anchor closing tag after next button. (<ahref="https://github.com/encode/django-rest-framework/issues/2691">#2691</a>)</li>
<li>Fix <code>lookup_url_kwarg</code> handling in viewsets. (<ahref="https://github.com/encode/django-rest-framework/issues/2685">#2685</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2591">#2591</a>)</li>
<li>Fix problem with importing <code>rest_framework.views</code> in <code>apps.py</code> (<ahref="https://github.com/encode/django-rest-framework/issues/2678">#2678</a>)</li>
<li>LimitOffsetPagination raises <code>TypeError</code> if PAGE_SIZE not set (<ahref="https://github.com/encode/django-rest-framework/issues/2667">#2667</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2700">#2700</a>)</li>
<li>German translation for <code>min_value</code> field error message references <code>max_value</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2645">#2645</a>)</li>
<li>Support serializing unsaved models with related fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2637">#2637</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2641">#2641</a>)</li>
<li>Allow blank/null on radio.html choices. (<ahref="https://github.com/encode/django-rest-framework/issues/2631">#2631</a>)</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.0.5+Release%22">10th February 2015</a>.</p>
<li>Fix a bug where <code>_closable_objects</code> breaks pickling. (<ahref="https://github.com/encode/django-rest-framework/issues/1850">#1850</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2492">#2492</a>)</li>
<li>Allow non-standard <code>User</code> models with <code>Throttling</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2524">#2524</a>)</li>
<li>Support custom <code>User.db_table</code> in TokenAuthentication migration. (<ahref="https://github.com/encode/django-rest-framework/issues/2479">#2479</a>)</li>
<li>Fix misleading <code>AttributeError</code> tracebacks on <code>Request</code> objects. (<ahref="https://github.com/encode/django-rest-framework/issues/2530">#2530</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2108">#2108</a>)</li>
<li><code>ManyRelatedField.get_value</code> clearing field on partial update. (<ahref="https://github.com/encode/django-rest-framework/issues/2475">#2475</a>)</li>
<li>Removed '.model' shortcut from code. (<ahref="https://github.com/encode/django-rest-framework/issues/2486">#2486</a>)</li>
<li>Fix <code>detail_route</code> and <code>list_route</code> mutable argument. (<ahref="https://github.com/encode/django-rest-framework/issues/2518">#2518</a>)</li>
<li>Prefetching the user object when getting the token in <code>TokenAuthentication</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2519">#2519</a>)</li>
<li>Add <code>DictField</code> and support Django 1.8 <code>HStoreField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2451">#2451</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2106">#2106</a>)</li>
<li>Add <code>UUIDField</code> and support Django 1.8 <code>UUIDField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2448">#2448</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2433">#2433</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2432">#2432</a>)</li>
<li><code>BaseRenderer.render</code> now raises <code>NotImplementedError</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2434">#2434</a>)</li>
<li>Fix timedelta JSON serialization on Python 2.6. (<ahref="https://github.com/encode/django-rest-framework/issues/2430">#2430</a>)</li>
<li><code>ResultDict</code> and <code>ResultList</code> now appear as standard dict/list. (<ahref="https://github.com/encode/django-rest-framework/issues/2421">#2421</a>)</li>
<li>Fix visible <code>HiddenField</code> in the HTML form of the web browsable API page. (<ahref="https://github.com/encode/django-rest-framework/issues/2410">#2410</a>)</li>
<li>Use <code>OrderedDict</code> for <code>RelatedField.choices</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2408">#2408</a>)</li>
<li>Fix ident format when using <code>HTTP_X_FORWARDED_FOR</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2401">#2401</a>)</li>
<li>Fix invalid key with memcached while using throttling. (<ahref="https://github.com/encode/django-rest-framework/issues/2400">#2400</a>)</li>
<li>Fix <code>FileUploadParser</code> with version 3.x. (<ahref="https://github.com/encode/django-rest-framework/issues/2399">#2399</a>)</li>
<li>Fix the serializer inheritance. (<ahref="https://github.com/encode/django-rest-framework/issues/2388">#2388</a>)</li>
<li>Fix caching issues with <code>ReturnDict</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2360">#2360</a>)</li>
<li>Fix <code>MinValueValidator</code> on <code>models.DateField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2369">#2369</a>)</li>
<li>Fix serializer missing context when pagination is used. (<ahref="https://github.com/encode/django-rest-framework/issues/2355">#2355</a>)</li>
<li>Namespaced router URLs are now supported by the <code>DefaultRouter</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2351">#2351</a>)</li>
<li><code>required=False</code> allows omission of value for output. (<ahref="https://github.com/encode/django-rest-framework/issues/2342">#2342</a>)</li>
<li>Use textarea input for <code>models.TextField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2340">#2340</a>)</li>
<li>Use custom <code>ListSerializer</code> for pagination if required. (<ahref="https://github.com/encode/django-rest-framework/issues/2331">#2331</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2327">#2327</a>)</li>
<li>Better behavior with null and '' for blank HTML fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2330">#2330</a>)</li>
<li>Ensure fields in <code>exclude</code> are model fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2319">#2319</a>)</li>
<li>Fix <code>IntegerField</code> and <code>max_length</code> argument incompatibility. (<ahref="https://github.com/encode/django-rest-framework/issues/2317">#2317</a>)</li>
<li>Fix the YAML encoder for 3.0 serializers. (<ahref="https://github.com/encode/django-rest-framework/issues/2315">#2315</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2283">#2283</a>)</li>
<li>Fix the behavior of empty HTML fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2311">#2311</a>, <ahref="https://github.com/encode/django-rest-framework/issues/1101">#1101</a>)</li>
<li>Fix <code>format_suffix_patterns</code> to work with Django's <code>i18n_patterns</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2278">#2278</a>)</li>
<li>Ability to customize router URLs for custom actions, using <code>url_path</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2010">#2010</a>)</li>
<li>Don't install Django REST Framework as egg. (<ahref="https://github.com/encode/django-rest-framework/issues/2386">#2386</a>)</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.0.2+Release%22">17th December 2014</a>.</p>
<li>Ensure <code>request.user</code> is made available to response middleware. (<ahref="https://github.com/encode/django-rest-framework/issues/2155">#2155</a>)</li>
<li><code>Client.logout()</code> also cancels any existing <code>force_authenticate</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2218">#2218</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2259">#2259</a>)</li>
<li>Extra assertions and better checks to preventing incorrect serializer API use. (<ahref="https://github.com/encode/django-rest-framework/issues/2228">#2228</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2234">#2234</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2262">#2262</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2263">#2263</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2266">#2266</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2267">#2267</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2289">#2289</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2291">#2291</a>)</li>
<li>Fixed <code>min_length</code> message for <code>CharField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2255">#2255</a>)</li>
<li>Fix <code>UnicodeDecodeError</code>, which can occur on serializer <code>repr</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2270">#2270</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2279">#2279</a>)</li>
<li>Fix empty HTML values when a default is provided. (<ahref="https://github.com/encode/django-rest-framework/issues/2280">#2280</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2294">#2294</a>)</li>
<li>Fix <code>SlugRelatedField</code> raising <code>UnicodeEncodeError</code> when used as a multiple choice input. (<ahref="https://github.com/encode/django-rest-framework/issues/2290">#2290</a>)</li>
<p><strong>Date</strong>: <ahref="https://github.com/encode/django-rest-framework/issues?q=milestone%3A%223.0.1+Release%22">11th December 2014</a>.</p>
<li>More helpful error message when the default Serializer <code>create()</code> fails. (<ahref="https://github.com/encode/django-rest-framework/issues/2013">#2013</a>)</li>
<li>Raise error when attempting to save serializer if data is not valid. (<ahref="https://github.com/encode/django-rest-framework/issues/2098">#2098</a>)</li>
<li>Fix <code>FileUploadParser</code> breaks with empty file names and multiple upload handlers. (<ahref="https://github.com/encode/django-rest-framework/issues/2109">#2109</a>)</li>
<li>Improve <code>BindingDict</code> to support standard dict-functions. (<ahref="https://github.com/encode/django-rest-framework/issues/2135">#2135</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2163">#2163</a>)</li>
<li>Add <code>validate()</code> to <code>ListSerializer</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2168">#2168</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2225">#2225</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2232">#2232</a>)</li>
<li>Fix JSONP renderer failing to escape some characters. (<ahref="https://github.com/encode/django-rest-framework/issues/2169">#2169</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2195">#2195</a>)</li>
<li>Add missing default style for <code>FileField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2172">#2172</a>)</li>
<li>Actions are required when calling <code>ViewSet.as_view()</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2175">#2175</a>)</li>
<li>Add <code>allow_blank</code> to <code>ChoiceField</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2184">#2184</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2239">#2239</a>)</li>
<li>Cosmetic fixes in the HTML renderer. (<ahref="https://github.com/encode/django-rest-framework/issues/2187">#2187</a>)</li>
<li>Raise error if <code>fields</code> on serializer is not a list of strings. (<ahref="https://github.com/encode/django-rest-framework/issues/2193">#2193</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2213">#2213</a>)</li>
<li>Improve checks for nested creates and updates. (<ahref="https://github.com/encode/django-rest-framework/issues/2194">#2194</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2196">#2196</a>)</li>
<li><code>validated_attrs</code> argument renamed to <code>validated_data</code> in <code>Serializer</code><code>create()</code>/<code>update()</code>. (<ahref="https://github.com/encode/django-rest-framework/issues/2197">#2197</a>)</li>
<li>Remove deprecated code to reflect the dropped Django versions. (<ahref="https://github.com/encode/django-rest-framework/issues/2200">#2200</a>)</li>
<li>Better serializer errors for nested writes. (<ahref="https://github.com/encode/django-rest-framework/issues/2202">#2202</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2215">#2215</a>)</li>
<li>Fix pagination and custom permissions incompatibility. (<ahref="https://github.com/encode/django-rest-framework/issues/2205">#2205</a>)</li>
<li>Raise error if <code>fields</code> on serializer is not a list of strings. (<ahref="https://github.com/encode/django-rest-framework/issues/2213">#2213</a>)</li>
<li>Add missing translation markers for relational fields. (<ahref="https://github.com/encode/django-rest-framework/issues/2231">#2231</a>)</li>
<li>Improve field lookup behavior for dicts/mappings. (<ahref="https://github.com/encode/django-rest-framework/issues/2244">#2244</a>, <ahref="https://github.com/encode/django-rest-framework/issues/2243">#2243</a>)</li>
<p>For older release notes, <ahref="https://github.com/encode/django-rest-framework/blob/version-2.4.x/docs/topics/release-notes.md">please see the version 2.x documentation</a>.</p>