Removed versionadded/changed annotations for 3.1.

This commit is contained in:
Mariusz Felisiak 2021-01-05 11:20:50 +01:00
parent 8774b1144c
commit b7dd89ed53
45 changed files with 0 additions and 392 deletions

View File

@ -364,7 +364,3 @@ the management command to exit with, using :func:`sys.exit`.
If a management command is called from code through If a management command is called from code through
:func:`~django.core.management.call_command`, it's up to you to catch the :func:`~django.core.management.call_command`, it's up to you to catch the
exception when needed. exception when needed.
.. versionchanged:: 3.1
The ``returncode`` argument was added.

View File

@ -269,16 +269,12 @@ following attributes and methods:
.. attribute:: cleansed_substitute .. attribute:: cleansed_substitute
.. versionadded:: 3.1
The string value to replace sensitive value with. By default it The string value to replace sensitive value with. By default it
replaces the values of sensitive variables with stars replaces the values of sensitive variables with stars
(``**********``). (``**********``).
.. attribute:: hidden_settings .. attribute:: hidden_settings
.. versionadded:: 3.1
A compiled regular expression object used to match settings and A compiled regular expression object used to match settings and
``request.META`` values considered as sensitive. By default equivalent ``request.META`` values considered as sensitive. By default equivalent
to:: to::
@ -307,8 +303,6 @@ following attributes and methods:
traceback frame. Sensitive values are replaced with traceback frame. Sensitive values are replaced with
:attr:`cleansed_substitute`. :attr:`cleansed_substitute`.
.. versionadded:: 3.1
If you need to customize error reports beyond filtering you may specify a If you need to customize error reports beyond filtering you may specify a
custom error reporter class by defining the custom error reporter class by defining the
:setting:`DEFAULT_EXCEPTION_REPORTER` setting:: :setting:`DEFAULT_EXCEPTION_REPORTER` setting::

View File

@ -93,15 +93,6 @@ Django's system checks are organized using the following tags:
Some checks may be registered with multiple tags. Some checks may be registered with multiple tags.
.. versionchanged:: 3.1
The ``async_support`` tag was added.
.. versionchanged:: 3.1
The ``database`` checks are now run only for database aliases specified
using the :option:`check --database` option.
.. versionchanged:: 3.2 .. versionchanged:: 3.2
The ``sites`` tag was added. The ``sites`` tag was added.
@ -112,8 +103,6 @@ Core system checks
Asynchronous support Asynchronous support
-------------------- --------------------
.. versionadded:: 3.1
The following checks verify your setup for :doc:`/topics/async`: The following checks verify your setup for :doc:`/topics/async`:
* **async.E001**: You should not set the :envvar:`DJANGO_ALLOW_ASYNC_UNSAFE` * **async.E001**: You should not set the :envvar:`DJANGO_ALLOW_ASYNC_UNSAFE`

View File

@ -40,12 +40,6 @@ If you're not using the default project template, here are the requirements:
the ``'context_processors'`` option of :setting:`OPTIONS the ``'context_processors'`` option of :setting:`OPTIONS
<TEMPLATES-OPTIONS>`. <TEMPLATES-OPTIONS>`.
.. versionchanged:: 3.1
``django.template.context_processors.request`` was added as a
requirement in the ``'context_processors'`` option to support the new
:attr:`.AdminSite.enable_nav_sidebar`.
#. If you've customized the :setting:`MIDDLEWARE` setting, #. If you've customized the :setting:`MIDDLEWARE` setting,
:class:`django.contrib.auth.middleware.AuthenticationMiddleware` and :class:`django.contrib.auth.middleware.AuthenticationMiddleware` and
:class:`django.contrib.messages.middleware.MessageMiddleware` must be :class:`django.contrib.messages.middleware.MessageMiddleware` must be
@ -1042,10 +1036,6 @@ subclass::
The :class:`~django.contrib.contenttypes.fields.GenericForeignKey` The :class:`~django.contrib.contenttypes.fields.GenericForeignKey`
field is not supported. field is not supported.
.. versionadded:: 3.1
The ``EmptyFieldListFilter`` class was added.
List filter's typically appear only if the filter has more than one choice. List filter's typically appear only if the filter has more than one choice.
A filter's ``has_output()`` method controls whether or not it appears. A filter's ``has_output()`` method controls whether or not it appears.
@ -2230,10 +2220,6 @@ To avoid conflicts with user-supplied scripts or libraries, Django's jQuery
in your own admin JavaScript without including a second copy, you can use the in your own admin JavaScript without including a second copy, you can use the
``django.jQuery`` object on changelist and add/edit views. ``django.jQuery`` object on changelist and add/edit views.
.. versionchanged:: 3.1
jQuery was upgraded from 3.4.1 to 3.5.1.
The :class:`ModelAdmin` class requires jQuery by default, so there is no need The :class:`ModelAdmin` class requires jQuery by default, so there is no need
to add jQuery to your ``ModelAdmin``s list of media resources unless you have to add jQuery to your ``ModelAdmin``s list of media resources unless you have
a specific need. For example, if you require the jQuery library to be in the a specific need. For example, if you require the jQuery library to be in the
@ -2953,8 +2939,6 @@ Templates can override or extend base admin templates as described in
.. attribute:: AdminSite.enable_nav_sidebar .. attribute:: AdminSite.enable_nav_sidebar
.. versionadded:: 3.1
A boolean value that determines whether to show the navigation sidebar A boolean value that determines whether to show the navigation sidebar
on larger screens. By default, it is set to ``True``. on larger screens. By default, it is set to ``True``.

View File

@ -40,10 +40,6 @@ Fields
Optional (:attr:`blank=True <django.db.models.Field.blank>`). 150 Optional (:attr:`blank=True <django.db.models.Field.blank>`). 150
characters or fewer. characters or fewer.
.. versionchanged:: 3.1
The ``max_length`` increased from 30 to 150 characters.
.. attribute:: last_name .. attribute:: last_name
Optional (:attr:`blank=True <django.db.models.Field.blank>`). 150 Optional (:attr:`blank=True <django.db.models.Field.blank>`). 150

View File

@ -83,10 +83,6 @@ Keyword Argument Description
Oracle. Oracle.
===================== ===================================================== ===================== =====================================================
.. versionchanged:: 3.1
Oracle support was added.
``AsGML`` ``AsGML``
========= =========
@ -144,10 +140,6 @@ Keyword Argument Description
__ https://developers.google.com/kml/documentation/ __ https://developers.google.com/kml/documentation/
.. versionchanged:: 3.1
The undocumented ``version`` parameter was removed.
``AsSVG`` ``AsSVG``
========= =========
@ -177,8 +169,6 @@ __ https://www.w3.org/Graphics/SVG/
.. class:: AsWKB(expression, **extra) .. class:: AsWKB(expression, **extra)
.. versionadded:: 3.1
*Availability*: MariaDB, `MySQL *Availability*: MariaDB, `MySQL
<https://dev.mysql.com/doc/refman/en/gis-format-conversion-functions.html#function_st-asbinary>`__, <https://dev.mysql.com/doc/refman/en/gis-format-conversion-functions.html#function_st-asbinary>`__,
Oracle, `PostGIS <https://postgis.net/docs/ST_AsBinary.html>`__, SpatiaLite Oracle, `PostGIS <https://postgis.net/docs/ST_AsBinary.html>`__, SpatiaLite
@ -198,8 +188,6 @@ __ https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well
.. class:: AsWKT(expression, **extra) .. class:: AsWKT(expression, **extra)
.. versionadded:: 3.1
*Availability*: MariaDB, `MySQL *Availability*: MariaDB, `MySQL
<https://dev.mysql.com/doc/refman/en/gis-format-conversion-functions.html#function_st-astext>`__, <https://dev.mysql.com/doc/refman/en/gis-format-conversion-functions.html#function_st-astext>`__,
Oracle, `PostGIS <https://postgis.net/docs/ST_AsText.html>`__, SpatiaLite Oracle, `PostGIS <https://postgis.net/docs/ST_AsText.html>`__, SpatiaLite

View File

@ -439,10 +439,6 @@ PostGIS SQL equivalent:
SELECT ... WHERE ST_Relate(poly, ST_Polygon(rast, 1), 'T*T***FF*') SELECT ... WHERE ST_Relate(poly, ST_Polygon(rast, 1), 'T*T***FF*')
SELECT ... WHERE ST_Relate(ST_Polygon(rast, 2), ST_Polygon(rast, 1), 'T*T***FF*') SELECT ... WHERE ST_Relate(ST_Polygon(rast, 2), ST_Polygon(rast, 1), 'T*T***FF*')
.. versionchanged:: 3.1
MariaDB support was added.
Oracle Oracle
~~~~~~ ~~~~~~

View File

@ -729,8 +729,6 @@ Other Properties & Methods
.. attribute:: is_counterclockwise .. attribute:: is_counterclockwise
.. versionadded:: 3.1
Returns whether this ``LinearRing`` is counterclockwise. Returns whether this ``LinearRing`` is counterclockwise.
``Polygon`` ``Polygon``

View File

@ -78,10 +78,6 @@ e.g. with the ``'de'`` language:
* ``1200000000`` becomes ``'1,2 Milliarden'``. * ``1200000000`` becomes ``'1,2 Milliarden'``.
* ``-1200000000`` becomes ``'-1,2 Milliarden'``. * ``-1200000000`` becomes ``'-1,2 Milliarden'``.
.. versionchanged:: 3.1
Support for negative integers was added.
.. templatefilter:: naturalday .. templatefilter:: naturalday
``naturalday`` ``naturalday``

View File

@ -79,8 +79,6 @@ These conditions have the same database restrictions as
.. attribute:: ExclusionConstraint.deferrable .. attribute:: ExclusionConstraint.deferrable
.. versionadded:: 3.1
Set this parameter to create a deferrable exclusion constraint. Accepted values Set this parameter to create a deferrable exclusion constraint. Accepted values
are ``Deferrable.DEFERRED`` or ``Deferrable.IMMEDIATE``. For example:: are ``Deferrable.DEFERRED`` or ``Deferrable.IMMEDIATE``. For example::

View File

@ -686,14 +686,6 @@ The ``contained_by`` lookup is also available on the non-range field types:
... ) ... )
<QuerySet [<Event: Soft play>]> <QuerySet [<Event: Soft play>]>
.. versionchanged:: 3.1
Support for :class:`~django.db.models.SmallAutoField`,
:class:`~django.db.models.AutoField`,
:class:`~django.db.models.BigAutoField`,
:class:`~django.db.models.SmallIntegerField`, and
:class:`~django.db.models.DecimalField` was added.
.. fieldlookup:: rangefield.overlap .. fieldlookup:: rangefield.overlap
``overlap`` ``overlap``
@ -813,8 +805,6 @@ Returned objects are empty ranges. Can be chained to valid lookups for a
``lower_inc`` ``lower_inc``
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
.. versionadded:: 3.1
Returns objects that have inclusive or exclusive lower bounds, depending on the Returns objects that have inclusive or exclusive lower bounds, depending on the
boolean value passed. Can be chained to valid lookups for a boolean value passed. Can be chained to valid lookups for a
:class:`~django.db.models.BooleanField`. :class:`~django.db.models.BooleanField`.
@ -827,8 +817,6 @@ boolean value passed. Can be chained to valid lookups for a
``lower_inf`` ``lower_inf``
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
.. versionadded:: 3.1
Returns objects that have unbounded (infinite) or bounded lower bound, Returns objects that have unbounded (infinite) or bounded lower bound,
depending on the boolean value passed. Can be chained to valid lookups for a depending on the boolean value passed. Can be chained to valid lookups for a
:class:`~django.db.models.BooleanField`. :class:`~django.db.models.BooleanField`.
@ -841,8 +829,6 @@ depending on the boolean value passed. Can be chained to valid lookups for a
``upper_inc`` ``upper_inc``
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
.. versionadded:: 3.1
Returns objects that have inclusive or exclusive upper bounds, depending on the Returns objects that have inclusive or exclusive upper bounds, depending on the
boolean value passed. Can be chained to valid lookups for a boolean value passed. Can be chained to valid lookups for a
:class:`~django.db.models.BooleanField`. :class:`~django.db.models.BooleanField`.
@ -855,8 +841,6 @@ boolean value passed. Can be chained to valid lookups for a
``upper_inf`` ``upper_inf``
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
.. versionadded:: 3.1
Returns objects that have unbounded (infinite) or bounded upper bound, Returns objects that have unbounded (infinite) or bounded upper bound,
depending on the boolean value passed. Can be chained to valid lookups for a depending on the boolean value passed. Can be chained to valid lookups for a
:class:`~django.db.models.BooleanField`. :class:`~django.db.models.BooleanField`.

View File

@ -12,8 +12,6 @@ available from the ``django.contrib.postgres.indexes`` module.
.. class:: BloomIndex(*expressions, length=None, columns=(), **options) .. class:: BloomIndex(*expressions, length=None, columns=(), **options)
.. versionadded:: 3.1
Creates a bloom_ index. Creates a bloom_ index.
To use this index access you need to activate the bloom_ extension on To use this index access you need to activate the bloom_ extension on

View File

@ -61,8 +61,6 @@ them. In that case, connect to your Django database and run the query
.. class:: BloomExtension() .. class:: BloomExtension()
.. versionadded:: 3.1
Installs the ``bloom`` extension. Installs the ``bloom`` extension.
``BtreeGinExtension`` ``BtreeGinExtension``

View File

@ -35,10 +35,6 @@ query and the vector.
To use the ``search`` lookup, ``'django.contrib.postgres'`` must be in your To use the ``search`` lookup, ``'django.contrib.postgres'`` must be in your
:setting:`INSTALLED_APPS`. :setting:`INSTALLED_APPS`.
.. versionchanged:: 3.1
Support for query expressions was added.
``SearchVector`` ``SearchVector``
================ ================
@ -110,11 +106,6 @@ Examples:
See :ref:`postgresql-fts-search-configuration` for an explanation of the See :ref:`postgresql-fts-search-configuration` for an explanation of the
``config`` parameter. ``config`` parameter.
.. versionchanged:: 3.1
Support for ``'websearch'`` search type and query expressions in
``SearchQuery.value`` were added.
``SearchRank`` ``SearchRank``
============== ==============
@ -159,15 +150,9 @@ normalization options`_.
.. _different rank normalization options: https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-RANKING .. _different rank normalization options: https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-RANKING
.. versionadded:: 3.1
The ``normalization`` and ``cover_density`` parameters were added.
``SearchHeadline`` ``SearchHeadline``
================== ==================
.. versionadded:: 3.1
.. class:: SearchHeadline(expression, query, config=None, start_sel=None, stop_sel=None, max_words=None, min_words=None, short_word=None, highlight_all=None, max_fragments=None, fragment_delimiter=None) .. class:: SearchHeadline(expression, query, config=None, start_sel=None, stop_sel=None, max_words=None, min_words=None, short_word=None, highlight_all=None, max_fragments=None, fragment_delimiter=None)
Accepts a single text field or an expression, a query, a config, and a set of Accepts a single text field or an expression, a query, a config, and a set of

View File

@ -106,8 +106,6 @@ For example, to perform only models and compatibility checks, run::
.. django-admin-option:: --database DATABASE .. django-admin-option:: --database DATABASE
.. versionadded:: 3.1
Specifies the database to run checks requiring database access:: Specifies the database to run checks requiring database access::
django-admin check --database default --database other django-admin check --database default --database other
@ -226,8 +224,6 @@ Specifies the database onto which to open a shell. Defaults to ``default``.
.. django-admin-option:: -- ARGUMENTS .. django-admin-option:: -- ARGUMENTS
.. versionadded:: 3.1
Any arguments following a ``--`` divider will be passed on to the underlying Any arguments following a ``--`` divider will be passed on to the underlying
command-line client. For example, with PostgreSQL you can use the ``psql`` command-line client. For example, with PostgreSQL you can use the ``psql``
command's ``-c`` flag to execute a raw SQL query directly: command's ``-c`` flag to execute a raw SQL query directly:
@ -914,8 +910,6 @@ content types.
.. django-admin-option:: --check .. django-admin-option:: --check
.. versionadded:: 3.1
Makes ``migrate`` exit with a non-zero status when unapplied migrations are Makes ``migrate`` exit with a non-zero status when unapplied migrations are
detected. detected.
@ -1519,8 +1513,6 @@ installed, ``ipdb`` is used instead.
.. django-admin-option:: --buffer, -b .. django-admin-option:: --buffer, -b
.. versionadded:: 3.1
Discards output (``stdout`` and ``stderr``) for passing tests, in the same way Discards output (``stdout`` and ``stderr``) for passing tests, in the same way
as :option:`unittest's --buffer option<unittest.-b>`. as :option:`unittest's --buffer option<unittest.-b>`.
@ -1709,8 +1701,6 @@ Specifies the database to use. Defaults to ``default``.
.. django-admin-option:: --include-stale-apps .. django-admin-option:: --include-stale-apps
.. versionadded:: 3.1
Deletes stale content types including ones from previously installed apps that Deletes stale content types including ones from previously installed apps that
have been removed from :setting:`INSTALLED_APPS`. Defaults to ``False``. have been removed from :setting:`INSTALLED_APPS`. Defaults to ``False``.

View File

@ -69,11 +69,6 @@ The ``FileSystemStorage`` class
time of the last metadata change, and on others (like Windows), it's time of the last metadata change, and on others (like Windows), it's
the creation time of the file. the creation time of the file.
.. versionchanged:: 3.1
Support for :class:`pathlib.Path` was added to the
``FileSystemStorage.save()`` method.
The ``Storage`` class The ``Storage`` class
===================== =====================

View File

@ -974,8 +974,6 @@ Attributes of ``BoundField``
.. attribute:: BoundField.widget_type .. attribute:: BoundField.widget_type
.. versionadded:: 3.1
Returns the lowercased class name of the wrapped field's widget, with any Returns the lowercased class name of the wrapped field's widget, with any
trailing ``input`` or ``widget`` removed. This may be used when building trailing ``input`` or ``widget`` removed. This may be used when building
forms where the layout is dependent upon the widget type. For example:: forms where the layout is dependent upon the widget type. For example::

View File

@ -514,14 +514,6 @@ For each field, we describe the default widget used if you don't specify
``DATE_INPUT_FORMATS`` keys if localization is enabled. See also ``DATE_INPUT_FORMATS`` keys if localization is enabled. See also
:doc:`format localization </topics/i18n/formatting>`. :doc:`format localization </topics/i18n/formatting>`.
.. versionchanged:: 3.1
Support for ISO 8601 date string parsing (including optional timezone)
was added.
The fallback on ``DATE_INPUT_FORMATS`` in the default ``input_formats``
was added.
``DecimalField`` ``DecimalField``
---------------- ----------------
@ -782,8 +774,6 @@ For each field, we describe the default widget used if you don't specify
.. class:: JSONField(encoder=None, decoder=None, **kwargs) .. class:: JSONField(encoder=None, decoder=None, **kwargs)
.. versionadded:: 3.1
A field which accepts JSON encoded data for a A field which accepts JSON encoded data for a
:class:`~django.db.models.JSONField`. :class:`~django.db.models.JSONField`.
@ -1450,21 +1440,11 @@ customize the yielded 2-tuple choices.
:attr:`ChoiceField.choices`. The first ``value`` element is a :attr:`ChoiceField.choices`. The first ``value`` element is a
:class:`ModelChoiceIteratorValue` instance. :class:`ModelChoiceIteratorValue` instance.
.. versionchanged:: 3.1
In older versions, the first ``value`` element in the choice tuple
is the ``field`` value itself, rather than a
``ModelChoiceIteratorValue`` instance. In most cases this proxies
transparently but, if you need the ``field`` value itself, use the
:attr:`ModelChoiceIteratorValue.value` attribute instead.
``ModelChoiceIteratorValue`` ``ModelChoiceIteratorValue``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. class:: ModelChoiceIteratorValue(value, instance) .. class:: ModelChoiceIteratorValue(value, instance)
.. versionadded:: 3.1
Two arguments are required: Two arguments are required:
.. attribute:: value .. attribute:: value

View File

@ -336,11 +336,6 @@ foundation for custom widgets.
a hidden ``textarea`` element may want to always return ``False`` to a hidden ``textarea`` element may want to always return ``False`` to
avoid browser validation on the hidden field. avoid browser validation on the hidden field.
.. versionchanged:: 3.1
In older versions, ``True`` was returned for
:class:`~django.forms.FileInput` when ``initial`` was set.
``MultiWidget`` ``MultiWidget``
--------------- ---------------
@ -372,10 +367,6 @@ foundation for custom widgets.
>>> widget.render('name', ['john', 'paul']) >>> widget.render('name', ['john', 'paul'])
'<input type="text" name="name" value="john"><input type="text" name="name_last" value="paul">' '<input type="text" name="name" value="john"><input type="text" name="name_last" value="paul">'
.. versionchanged::3.1
Support for using a dictionary was added.
And one required method: And one required method:
.. method:: decompress(value) .. method:: decompress(value)

View File

@ -58,10 +58,6 @@ specifies the check you want the constraint to enforce.
For example, ``CheckConstraint(check=Q(age__gte=18), name='age_gte_18')`` For example, ``CheckConstraint(check=Q(age__gte=18), name='age_gte_18')``
ensures the age field is never less than 18. ensures the age field is never less than 18.
.. versionchanged:: 3.1
Support for boolean :class:`~django.db.models.Expression` was added.
``name`` ``name``
-------- --------
@ -119,8 +115,6 @@ These conditions have the same database restrictions as
.. attribute:: UniqueConstraint.deferrable .. attribute:: UniqueConstraint.deferrable
.. versionadded:: 3.1
Set this parameter to create a deferrable unique constraint. Accepted values Set this parameter to create a deferrable unique constraint. Accepted values
are ``Deferrable.DEFERRED`` or ``Deferrable.IMMEDIATE``. For example:: are ``Deferrable.DEFERRED`` or ``Deferrable.IMMEDIATE``. For example::

View File

@ -336,8 +336,6 @@ Usage example::
.. class:: ExtractIsoWeekDay(expression, tzinfo=None, **extra) .. class:: ExtractIsoWeekDay(expression, tzinfo=None, **extra)
.. versionadded:: 3.1
Returns the ISO-8601 week day with day 1 being Monday and day 7 being Returns the ISO-8601 week day with day 1 being Monday and day 7 being
Sunday. Sunday.

View File

@ -842,10 +842,6 @@ Has two optional arguments:
handles the storage and retrieval of your files. See :doc:`/topics/files` handles the storage and retrieval of your files. See :doc:`/topics/files`
for details on how to provide this object. for details on how to provide this object.
.. versionchanged:: 3.1
The ability to provide a callable was added.
The default form widget for this field is a The default form widget for this field is a
:class:`~django.forms.ClearableFileInput`. :class:`~django.forms.ClearableFileInput`.
@ -1198,8 +1194,6 @@ values are stored as null.
.. class:: JSONField(encoder=None, decoder=None, **options) .. class:: JSONField(encoder=None, decoder=None, **options)
.. versionadded:: 3.1
A field for storing JSON encoded data. In Python the data is represented in its A field for storing JSON encoded data. In Python the data is represented in its
Python native format: dictionaries, lists, strings, numbers, booleans and Python native format: dictionaries, lists, strings, numbers, booleans and
``None``. ``None``.
@ -1276,8 +1270,6 @@ Like :class:`BooleanField` with ``null=True``.
.. class:: PositiveBigIntegerField(**options) .. class:: PositiveBigIntegerField(**options)
.. versionadded:: 3.1
Like a :class:`PositiveIntegerField`, but only allows values under a certain Like a :class:`PositiveIntegerField`, but only allows values under a certain
(database-dependent) point. Values from ``0`` to ``9223372036854775807`` are (database-dependent) point. Values from ``0`` to ``9223372036854775807`` are
safe in all databases supported by Django. safe in all databases supported by Django.
@ -1579,8 +1571,6 @@ The possible values for :attr:`~ForeignKey.on_delete` are found in
* .. attribute:: RESTRICT * .. attribute:: RESTRICT
.. versionadded:: 3.1
Prevent deletion of the referenced object by raising Prevent deletion of the referenced object by raising
:exc:`~django.db.models.RestrictedError` (a subclass of :exc:`~django.db.models.RestrictedError` (a subclass of
:exc:`django.db.IntegrityError`). Unlike :attr:`PROTECT`, deletion of the :exc:`django.db.IntegrityError`). Unlike :attr:`PROTECT`, deletion of the

View File

@ -803,11 +803,6 @@ For example::
>>> p.get_shirt_size_display() >>> p.get_shirt_size_display()
'Large' 'Large'
.. versionchanged:: 3.1
Support for :class:`~django.contrib.postgres.fields.ArrayField` and
:class:`~django.contrib.postgres.fields.RangeField` was added.
.. method:: Model.get_next_by_FOO(**kwargs) .. method:: Model.get_next_by_FOO(**kwargs)
.. method:: Model.get_previous_by_FOO(**kwargs) .. method:: Model.get_previous_by_FOO(**kwargs)

View File

@ -834,10 +834,6 @@ object. If it's ``None``, Django uses the :ref:`current time zone
ambiguous datetimes in daylight saving time. By default (when ``is_dst=None``), ambiguous datetimes in daylight saving time. By default (when ``is_dst=None``),
``pytz`` raises an exception for such datetimes. ``pytz`` raises an exception for such datetimes.
.. versionadded:: 3.1
The ``is_dst`` parameter was added.
.. _database-time-zone-definitions: .. _database-time-zone-definitions:
.. note:: .. note::
@ -2216,10 +2212,6 @@ normally supports it).
Returns ``objs`` as cast to a list, in the same order as provided. Returns ``objs`` as cast to a list, in the same order as provided.
.. versionchanged:: 3.1
Support for the fetching primary key attributes on MariaDB 10.5+ was added.
``bulk_update()`` ``bulk_update()``
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
@ -2742,11 +2734,6 @@ adverse effects on your database. For example, the ``ANALYZE`` flag supported
by MariaDB, MySQL 8.0.18+, and PostgreSQL could result in changes to data if by MariaDB, MySQL 8.0.18+, and PostgreSQL could result in changes to data if
there are triggers or if a function is called, even for a ``SELECT`` query. there are triggers or if a function is called, even for a ``SELECT`` query.
.. versionchanged:: 3.1
Support for the ``'TREE'`` format on MySQL 8.0.16+ and ``analyze`` option
on MariaDB and MySQL 8.0.18+ were added.
.. _field-lookups: .. _field-lookups:
``Field`` lookups ``Field`` lookups
@ -3273,8 +3260,6 @@ in the database <database-time-zone-definitions>`.
``iso_week_day`` ``iso_week_day``
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
.. versionadded:: 3.1
For date and datetime fields, an exact ISO 8601 day of the week match. Allows For date and datetime fields, an exact ISO 8601 day of the week match. Allows
chaining additional field lookups. chaining additional field lookups.

View File

@ -75,10 +75,6 @@ Related objects reference
dictionary and they will be evaluated once before creating any dictionary and they will be evaluated once before creating any
intermediate instance(s). intermediate instance(s).
.. versionchanged:: 3.1
``through_defaults`` values can now be callables.
.. method:: create(through_defaults=None, **kwargs) .. method:: create(through_defaults=None, **kwargs)
Creates a new object, saves it and puts it in the related object set. Creates a new object, saves it and puts it in the related object set.
@ -114,10 +110,6 @@ Related objects reference
needed. You can use callables as values in the ``through_defaults`` needed. You can use callables as values in the ``through_defaults``
dictionary. dictionary.
.. versionchanged:: 3.1
``through_defaults`` values can now be callables.
.. method:: remove(*objs, bulk=True) .. method:: remove(*objs, bulk=True)
Removes the specified model objects from the related object set:: Removes the specified model objects from the related object set::
@ -208,10 +200,6 @@ Related objects reference
dictionary and they will be evaluated once before creating any dictionary and they will be evaluated once before creating any
intermediate instance(s). intermediate instance(s).
.. versionchanged:: 3.1
``through_defaults`` values can now be callables.
.. note:: .. note::
Note that ``add()``, ``create()``, ``remove()``, ``clear()``, and Note that ``add()``, ``create()``, ``remove()``, ``clear()``, and

View File

@ -17,10 +17,6 @@ classes live in :source:`django/core/paginator.py`.
A paginator acts like a sequence of :class:`Page` when using ``len()`` or A paginator acts like a sequence of :class:`Page` when using ``len()`` or
iterating it directly. iterating it directly.
.. versionchanged:: 3.1
Support for iterating over ``Paginator`` was added.
.. attribute:: Paginator.object_list .. attribute:: Paginator.object_list
Required. A list, tuple, ``QuerySet``, or other sliceable object with a Required. A list, tuple, ``QuerySet``, or other sliceable object with a

View File

@ -406,8 +406,6 @@ Methods
.. method:: HttpRequest.accepts(mime_type) .. method:: HttpRequest.accepts(mime_type)
.. versionadded:: 3.1
Returns ``True`` if the request ``Accept`` header matches the ``mime_type`` Returns ``True`` if the request ``Accept`` header matches the ``mime_type``
argument:: argument::
@ -911,10 +909,6 @@ Methods
.. _HttpOnly: https://owasp.org/www-community/HttpOnly .. _HttpOnly: https://owasp.org/www-community/HttpOnly
.. _SameSite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite .. _SameSite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
.. versionchanged:: 3.1
Using ``samesite='None'`` (string) was allowed.
.. warning:: .. warning::
:rfc:`RFC 6265 <6265#section-6.1>` states that user agents should :rfc:`RFC 6265 <6265#section-6.1>` states that user agents should
@ -932,10 +926,6 @@ Methods
you will need to remember to pass it to the corresponding you will need to remember to pass it to the corresponding
:meth:`HttpRequest.get_signed_cookie` call. :meth:`HttpRequest.get_signed_cookie` call.
.. versionchanged:: 3.1
Using ``samesite='None'`` (string) was allowed.
.. method:: HttpResponse.delete_cookie(key, path='/', domain=None, samesite=None) .. method:: HttpResponse.delete_cookie(key, path='/', domain=None, samesite=None)
Deletes the cookie with the given key. Fails silently if the key doesn't Deletes the cookie with the given key. Fails silently if the key doesn't
@ -945,10 +935,6 @@ Methods
values you used in ``set_cookie()`` -- otherwise the cookie may not be values you used in ``set_cookie()`` -- otherwise the cookie may not be
deleted. deleted.
.. versionchanged:: 2.2.15
The ``samesite`` argument was added.
.. method:: HttpResponse.close() .. method:: HttpResponse.close()
This method is called at the end of the request directly by the WSGI This method is called at the end of the request directly by the WSGI

View File

@ -99,11 +99,6 @@ This validation only applies via :meth:`~django.http.HttpRequest.get_host()`;
if your code accesses the ``Host`` header directly from ``request.META`` you if your code accesses the ``Host`` header directly from ``request.META`` you
are bypassing this security protection. are bypassing this security protection.
.. versionchanged:: 3.1
If ``ALLOWED_HOSTS`` is empty and ``DEBUG=True``, subdomains of localhost
were allowed.
.. setting:: APPEND_SLASH .. setting:: APPEND_SLASH
``APPEND_SLASH`` ``APPEND_SLASH``
@ -387,10 +382,6 @@ cookie from being sent in cross-site requests.
See :setting:`SESSION_COOKIE_SAMESITE` for details about ``SameSite``. See :setting:`SESSION_COOKIE_SAMESITE` for details about ``SameSite``.
.. versionchanged:: 3.1
Setting ``CSRF_COOKIE_SAMESITE = 'None'`` was allowed.
.. setting:: CSRF_COOKIE_SECURE .. setting:: CSRF_COOKIE_SECURE
``CSRF_COOKIE_SECURE`` ``CSRF_COOKIE_SECURE``
@ -688,10 +679,6 @@ When :setting:`USE_TZ` is ``False``, it is an error to set this option.
Consider converting to local time explicitly with ``AT TIME ZONE`` in raw SQL Consider converting to local time explicitly with ``AT TIME ZONE`` in raw SQL
queries instead of setting the ``TIME_ZONE`` option. queries instead of setting the ``TIME_ZONE`` option.
.. versionchanged:: 3.1
Using this option when the database backend supports time zones was allowed.
.. setting:: DATABASE-DISABLE_SERVER_SIDE_CURSORS .. setting:: DATABASE-DISABLE_SERVER_SIDE_CURSORS
``DISABLE_SERVER_SIDE_CURSORS`` ``DISABLE_SERVER_SIDE_CURSORS``
@ -786,8 +773,6 @@ on :ref:`controlling the creation order of test databases
``MIGRATE`` ``MIGRATE``
^^^^^^^^^^^ ^^^^^^^^^^^
.. versionadded:: 3.1
Default: ``True`` Default: ``True``
When set to ``False``, migrations won't run when creating the test database. When set to ``False``, migrations won't run when creating the test database.
@ -1161,10 +1146,6 @@ precedence and will be applied instead.
See also :setting:`DATE_INPUT_FORMATS` and :setting:`TIME_INPUT_FORMATS`. See also :setting:`DATE_INPUT_FORMATS` and :setting:`TIME_INPUT_FORMATS`.
.. versionchanged:: 3.1
In older versions, the default is a list containing also date-only formats.
.. setting:: DEBUG .. setting:: DEBUG
``DEBUG`` ``DEBUG``
@ -1272,8 +1253,6 @@ manually specified. Used when constructing the ``Content-Type`` header.
``DEFAULT_EXCEPTION_REPORTER`` ``DEFAULT_EXCEPTION_REPORTER``
------------------------------ ------------------------------
.. versionadded:: 3.1
Default: ``'``:class:`django.views.debug.ExceptionReporter`\ ``'`` Default: ``'``:class:`django.views.debug.ExceptionReporter`\ ``'``
Default exception reporter class to be used if none has been assigned to the Default exception reporter class to be used if none has been assigned to the
@ -1317,8 +1296,6 @@ and :setting:`MANAGERS`; for that, see :setting:`SERVER_EMAIL`.
``DEFAULT_HASHING_ALGORITHM`` ``DEFAULT_HASHING_ALGORITHM``
----------------------------- -----------------------------
.. versionadded:: 3.1
Default: ``'sha256'`` Default: ``'sha256'``
Default hashing algorithm to use for encoding cookies, password reset tokens in Default hashing algorithm to use for encoding cookies, password reset tokens in
@ -1385,10 +1362,6 @@ Default: Not defined
The directory used by the :ref:`file email backend <topic-email-file-backend>` The directory used by the :ref:`file email backend <topic-email-file-backend>`
to store output files. to store output files.
.. versionchanged:: 3.1
Support for :class:`pathlib.Path` was added.
.. setting:: EMAIL_HOST .. setting:: EMAIL_HOST
``EMAIL_HOST`` ``EMAIL_HOST``
@ -1910,10 +1883,6 @@ cookie from being sent in cross-site requests.
See :setting:`SESSION_COOKIE_SAMESITE` for details about ``SameSite``. See :setting:`SESSION_COOKIE_SAMESITE` for details about ``SameSite``.
.. versionchanged:: 3.1
Setting ``LANGUAGE_COOKIE_SAMESITE = 'None'`` was allowed.
.. setting:: LANGUAGE_COOKIE_SECURE .. setting:: LANGUAGE_COOKIE_SECURE
``LANGUAGE_COOKIE_SECURE`` ``LANGUAGE_COOKIE_SECURE``
@ -2422,10 +2391,6 @@ If configured, the :class:`~django.middleware.security.SecurityMiddleware` sets
the :ref:`referrer-policy` header on all responses that do not already have it the :ref:`referrer-policy` header on all responses that do not already have it
to the value provided. to the value provided.
.. versionchanged:: 3.1
In older versions, the default value is ``None``.
.. setting:: SECURE_SSL_HOST .. setting:: SECURE_SSL_HOST
``SECURE_SSL_HOST`` ``SECURE_SSL_HOST``
@ -2986,8 +2951,6 @@ rendered.
``PASSWORD_RESET_TIMEOUT`` ``PASSWORD_RESET_TIMEOUT``
-------------------------- --------------------------
.. versionadded:: 3.1
Default: ``259200`` (3 days, in seconds) Default: ``259200`` (3 days, in seconds)
The number of seconds a password reset link is valid for. The number of seconds a password reset link is valid for.
@ -3267,10 +3230,6 @@ Possible values for the setting are:
Modern browsers provide a more secure default policy for the ``SameSite`` Modern browsers provide a more secure default policy for the ``SameSite``
flag and will assume ``Lax`` for cookies without an explicit value set. flag and will assume ``Lax`` for cookies without an explicit value set.
.. versionchanged:: 3.1
Setting ``SESSION_COOKIE_SAMESITE = 'None'`` was allowed.
.. _SameSite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite .. _SameSite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
.. setting:: SESSION_COOKIE_SECURE .. setting:: SESSION_COOKIE_SECURE

View File

@ -729,10 +729,6 @@ available to the included template::
been evaluated and rendered* - not blocks that can be overridden by, for been evaluated and rendered* - not blocks that can be overridden by, for
example, an extending template. example, an extending template.
.. versionchanged:: 3.1
Support for iterables of template names was added.
.. templatetag:: load .. templatetag:: load
``load`` ``load``
@ -1747,11 +1743,6 @@ example, when the active locale is ``en`` (English):
Using ``floatformat`` with no argument is equivalent to using ``floatformat`` Using ``floatformat`` with no argument is equivalent to using ``floatformat``
with an argument of ``-1``. with an argument of ``-1``.
.. versionchanged:: 3.1
In older versions, a negative zero ``-0`` was returned for negative numbers
which round to zero.
.. versionchanged:: 3.2 .. versionchanged:: 3.2
The ``g`` suffix to force grouping by thousand separators was added. The ``g`` suffix to force grouping by thousand separators was added.

View File

@ -43,11 +43,6 @@ need to distinguish caches by the ``Accept-language`` header.
* All other parameters are added with their value, after applying * All other parameters are added with their value, after applying
``str()`` to it. ``str()`` to it.
.. versionchanged:: 3.1
Support for multiple field names in the ``no-cache`` directive was
added.
.. function:: get_max_age(response) .. function:: get_max_age(response)
Returns the max-age from the response Cache-Control header as an integer Returns the max-age from the response Cache-Control header as an integer
@ -131,10 +126,6 @@ The functions defined in this module share the following properties:
UTC offsets aren't supported; if ``value`` describes one, the result is UTC offsets aren't supported; if ``value`` describes one, the result is
``None``. ``None``.
.. versionchanged:: 3.1
Support for comma separators for milliseconds was added.
.. function:: parse_datetime(value) .. function:: parse_datetime(value)
Parses a string and returns a :class:`datetime.datetime`. Parses a string and returns a :class:`datetime.datetime`.
@ -142,10 +133,6 @@ The functions defined in this module share the following properties:
UTC offsets are supported; if ``value`` describes one, the result's UTC offsets are supported; if ``value`` describes one, the result's
``tzinfo`` attribute is a :class:`datetime.timezone` instance. ``tzinfo`` attribute is a :class:`datetime.timezone` instance.
.. versionchanged:: 3.1
Support for comma separators for milliseconds was added.
.. function:: parse_duration(value) .. function:: parse_duration(value)
Parses a string and returns a :class:`datetime.timedelta`. Parses a string and returns a :class:`datetime.timedelta`.
@ -155,11 +142,6 @@ The functions defined in this module share the following properties:
``P4DT1H15M20S`` which is equivalent to ``4 1:15:20``) or PostgreSQL's ``P4DT1H15M20S`` which is equivalent to ``4 1:15:20``) or PostgreSQL's
day-time interval format (e.g. ``3 days 04:05:06``). day-time interval format (e.g. ``3 days 04:05:06``).
.. versionchanged:: 3.1
Support for comma separators for decimal fractions in the ISO 8601
format and for the format ``"DD HH:MM:SS,uuuuuu"`` was added.
``django.utils.decorators`` ``django.utils.decorators``
=========================== ===========================
@ -204,24 +186,18 @@ The functions defined in this module share the following properties:
.. function:: sync_only_middleware(middleware) .. function:: sync_only_middleware(middleware)
.. versionadded:: 3.1
Marks a middleware as :ref:`synchronous-only <async-middleware>`. (The Marks a middleware as :ref:`synchronous-only <async-middleware>`. (The
default in Django, but this allows you to future-proof if the default ever default in Django, but this allows you to future-proof if the default ever
changes in a future release.) changes in a future release.)
.. function:: async_only_middleware(middleware) .. function:: async_only_middleware(middleware)
.. versionadded:: 3.1
Marks a middleware as :ref:`asynchronous-only <async-middleware>`. Django Marks a middleware as :ref:`asynchronous-only <async-middleware>`. Django
will wrap it in an asynchronous event loop when it is called from the WSGI will wrap it in an asynchronous event loop when it is called from the WSGI
request path. request path.
.. function:: sync_and_async_middleware(middleware) .. function:: sync_and_async_middleware(middleware)
.. versionadded:: 3.1
Marks a middleware as :ref:`sync and async compatible <async-middleware>`, Marks a middleware as :ref:`sync and async compatible <async-middleware>`,
this allows to avoid converting requests. You must implement detection of this allows to avoid converting requests. You must implement detection of
the current request type to use this decorator. See :ref:`asynchronous the current request type to use this decorator. See :ref:`asynchronous
@ -321,10 +297,6 @@ The functions defined in this module share the following properties:
Returns an ASCII string containing the encoded result. Returns an ASCII string containing the encoded result.
.. versionchanged:: 3.1
Support for :class:`pathlib.Path` ``path`` was added.
.. function:: escape_uri_path(path) .. function:: escape_uri_path(path)
Escapes the unsafe characters from the path portion of a Uniform Resource Escapes the unsafe characters from the path portion of a Uniform Resource
@ -550,8 +522,6 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004
.. class:: classproperty(method=None) .. class:: classproperty(method=None)
.. versionadded:: 3.1
Similar to :py:func:`@classmethod <classmethod>`, the ``@classproperty`` Similar to :py:func:`@classmethod <classmethod>`, the ``@classproperty``
decorator converts the result of a method with a single ``cls`` argument decorator converts the result of a method with a single ``cls`` argument
into a property that can be accessed directly from the class. into a property that can be accessed directly from the class.

View File

@ -16,15 +16,9 @@ You can expect to see this in future releases. For now, you can use the
There is also a whole range of async-native Python libraries that you can There is also a whole range of async-native Python libraries that you can
integrate with. integrate with.
.. versionchanged:: 3.1
Support for async views was added.
Async views Async views
=========== ===========
.. versionadded:: 3.1
Any view can be declared async by making the callable part of it return a Any view can be declared async by making the callable part of it return a
coroutine - commonly, this is done using ``async def``. For a function-based coroutine - commonly, this is done using ``async def``. For a function-based
view, this means declaring the whole view using ``async def``. For a view, this means declaring the whole view using ``async def``. For a

View File

@ -705,10 +705,6 @@ The following attributes and methods are available on any subclass of
Returns an HMAC of the password field. Used for Returns an HMAC of the password field. Used for
:ref:`session-invalidation-on-password-change`. :ref:`session-invalidation-on-password-change`.
.. versionchanged:: 3.1
The hashing algorithm was changed to the SHA-256.
:class:`~models.AbstractUser` subclasses :class:`~models.AbstractBaseUser`: :class:`~models.AbstractUser` subclasses :class:`~models.AbstractBaseUser`:
.. class:: models.AbstractUser .. class:: models.AbstractUser

View File

@ -429,10 +429,6 @@ from the ``User`` model.
hasher. If the password argument is ``None``, an unusable password is hasher. If the password argument is ``None``, an unusable password is
returned (one that will never be accepted by :func:`check_password`). returned (one that will never be accepted by :func:`check_password`).
.. versionchanged:: 3.1
The ``password`` parameter must be a string or bytes if not ``None``.
.. function:: is_password_usable(encoded_password) .. function:: is_password_usable(encoded_password)
Returns ``False`` if the password is a result of Returns ``False`` if the password is a result of

View File

@ -628,11 +628,6 @@ Additionally, ``cache_page`` automatically sets ``Cache-Control`` and
``Expires`` headers in the response which affect :ref:`downstream caches ``Expires`` headers in the response which affect :ref:`downstream caches
<downstream-caches>`. <downstream-caches>`.
.. versionchanged:: 3.1
In older versions, the ``max-age`` directive from the ``Cache-Control``
header had precedence over the cache timeout set by ``cache_page``.
Specifying per-view cache in the URLconf Specifying per-view cache in the URLconf
---------------------------------------- ----------------------------------------
@ -930,10 +925,6 @@ particular object::
``delete()`` returns ``True`` if the key was successfully deleted, ``False`` ``delete()`` returns ``True`` if the key was successfully deleted, ``False``
otherwise. otherwise.
.. versionchanged:: 3.1
The boolean return value was added.
.. method:: cache.delete_many(keys, version=None) .. method:: cache.delete_many(keys, version=None)
If you want to clear a bunch of keys at once, ``delete_many()`` can take a list If you want to clear a bunch of keys at once, ``delete_many()`` can take a list

View File

@ -665,10 +665,6 @@ The ``F()`` objects support bitwise operations by ``.bitand()``, ``.bitor()``,
Oracle doesn't support bitwise XOR operation. Oracle doesn't support bitwise XOR operation.
.. versionchanged:: 3.1
Support for ``.bitxor()`` was added.
.. _using-transforms-in-expressions: .. _using-transforms-in-expressions:
Expressions can reference transforms Expressions can reference transforms

View File

@ -529,10 +529,6 @@ To specify this backend, put the following in your settings::
This backend is not intended for use in production -- it is provided as a This backend is not intended for use in production -- it is provided as a
convenience that can be used during development. convenience that can be used during development.
.. versionchanged:: 3.1
Support for :class:`pathlib.Path` was added.
.. _topic-email-memory-backend: .. _topic-email-memory-backend:
In-memory backend In-memory backend

View File

@ -206,8 +206,6 @@ you can pass them in as the ``storage`` argument to a
Using a callable Using a callable
---------------- ----------------
.. versionadded:: 3.1
You can use a callable as the :attr:`~django.db.models.FileField.storage` You can use a callable as the :attr:`~django.db.models.FileField.storage`
parameter for :class:`~django.db.models.FileField` or parameter for :class:`~django.db.models.FileField` or
:class:`~django.db.models.ImageField`. This allows you to modify the used :class:`~django.db.models.ImageField`. This allows you to modify the used

View File

@ -291,8 +291,6 @@ object with a :attr:`~django.http.HttpResponse.status_code` of 404.
Asynchronous support Asynchronous support
==================== ====================
.. versionadded:: 3.1
Middleware can support any combination of synchronous and asynchronous Middleware can support any combination of synchronous and asynchronous
requests. Django will adapt requests to fit the middleware's requirements if it requests. Django will adapt requests to fit the middleware's requirements if it
cannot support both, but at a performance penalty. cannot support both, but at a performance penalty.
@ -423,7 +421,3 @@ These are the behavioral differences between using :setting:`MIDDLEWARE` and
HTTP response, and then the next middleware in line will see that HTTP response, and then the next middleware in line will see that
response. Middleware are never skipped due to a middleware raising an response. Middleware are never skipped due to a middleware raising an
exception. exception.
.. versionchanged:: 3.1
Support for asynchronous requests was added to the ``MiddlewareMixin``.

View File

@ -157,10 +157,6 @@ A converter is a class that includes the following:
and as a consequence :func:`~django.urls.reverse` will raise and as a consequence :func:`~django.urls.reverse` will raise
:class:`~django.urls.NoReverseMatch` unless another URL pattern matches. :class:`~django.urls.NoReverseMatch` unless another URL pattern matches.
.. versionchanged:: 3.1
Support for raising ``ValueError`` to indicate no match was added.
For example:: For example::
class FourDigitYearConverter: class FourDigitYearConverter:

View File

@ -208,8 +208,6 @@ in a test view. For example::
Async views Async views
=========== ===========
.. versionadded:: 3.1
As well as being synchronous functions, views can also be asynchronous As well as being synchronous functions, views can also be asynchronous
("async") functions, normally defined using Python's ``async def`` syntax. ("async") functions, normally defined using Python's ``async def`` syntax.
Django will automatically detect these and run them in an async context. Django will automatically detect these and run them in an async context.

View File

@ -272,10 +272,6 @@ In a case like this, consider something like the following::
a format specification for argument 'name', as in 'msgstr[0]', doesn't exist in 'msgid' a format specification for argument 'name', as in 'msgstr[0]', doesn't exist in 'msgid'
.. versionchanged: 2.2.12
Added support for different plural equations in ``.po`` files.
.. _contextual-markers: .. _contextual-markers:
Contextual markers Contextual markers
@ -626,11 +622,6 @@ using the ``context`` keyword:
{% translate "May" context "month name" %} {% translate "May" context "month name" %}
.. versionchanged:: 3.1
The ``trans`` tag was renamed to ``translate``. The ``trans``
tag is still supported as an alias for backwards compatibility.
.. templatetag:: blocktrans .. templatetag:: blocktrans
.. templatetag:: blocktranslate .. templatetag:: blocktranslate
@ -749,11 +740,6 @@ will result in the entry ``"First sentence. Second paragraph."`` in the PO file,
compared to ``"\n First sentence.\n Second paragraph.\n"``, if the compared to ``"\n First sentence.\n Second paragraph.\n"``, if the
``trimmed`` option had not been specified. ``trimmed`` option had not been specified.
.. versionchanged:: 3.1
The ``blocktrans`` tag was renamed to ``blocktranslate``. The ``blocktrans``
tag is still supported as an alias for backwards compatibility.
String literals passed to tags and filters String literals passed to tags and filters
------------------------------------------ ------------------------------------------
@ -1817,12 +1803,6 @@ set, to ``/``, depending on the nature of the request:
the ``next`` parameter was set. Otherwise a 204 status code (No Content) will the ``next`` parameter was set. Otherwise a 204 status code (No Content) will
be returned. be returned.
.. versionchanged:: 3.1
In older versions, the distinction for the fallback is based on whether the
``X-Requested-With`` header is set to the value ``XMLHttpRequest``. This is
set by the jQuery ``ajax()`` method.
Here's example HTML template code: Here's example HTML template code:
.. code-block:: html+django .. code-block:: html+django

View File

@ -277,11 +277,6 @@ function::
Also note that GeoDjango provides a :doc:`customized GeoJSON serializer Also note that GeoDjango provides a :doc:`customized GeoJSON serializer
</ref/contrib/gis/serializers>`. </ref/contrib/gis/serializers>`.
.. versionchanged:: 3.1
All data is now dumped with Unicode. If you need the previous behavior,
pass ``ensure_ascii=True`` to the ``serializers.serialize()`` function.
``DjangoJSONEncoder`` ``DjangoJSONEncoder``
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
@ -341,11 +336,6 @@ again a mapping with the key being name of the field and the value the value::
Referential fields are again represented by the PK or sequence of PKs. Referential fields are again represented by the PK or sequence of PKs.
.. versionchanged:: 3.1
All data is now dumped with Unicode. If you need the previous behavior,
pass ``allow_unicode=False`` to the ``serializers.serialize()`` function.
.. _topics-serialization-natural-keys: .. _topics-serialization-natural-keys:
Natural keys Natural keys

View File

@ -101,10 +101,6 @@ generate signatures. You can use a different secret by passing it to the
and underscores. ``algorithm`` must be an algorithm supported by and underscores. ``algorithm`` must be an algorithm supported by
:py:mod:`hashlib`, it defaults to ``'sha256'``. :py:mod:`hashlib`, it defaults to ``'sha256'``.
.. versionchanged:: 3.1
The ``algorithm`` parameter was added.
.. versionchanged:: 3.2 .. versionchanged:: 3.2
The ``sign_object()`` and ``unsign_object()`` methods were added. The ``sign_object()`` and ``unsign_object()`` methods were added.
@ -197,10 +193,6 @@ created within a specified period of time::
otherwise raises ``SignatureExpired``. The ``max_age`` parameter can otherwise raises ``SignatureExpired``. The ``max_age`` parameter can
accept an integer or a :py:class:`datetime.timedelta` object. accept an integer or a :py:class:`datetime.timedelta` object.
.. versionchanged:: 3.1
The ``algorithm`` parameter was added.
.. _signing-complex-data: .. _signing-complex-data:
Protecting complex data structures Protecting complex data structures

View File

@ -573,10 +573,6 @@ execute and tear down the test suite.
custom arguments by calling ``parser.add_argument()`` inside the method, so custom arguments by calling ``parser.add_argument()`` inside the method, so
that the :djadmin:`test` command will be able to use those arguments. that the :djadmin:`test` command will be able to use those arguments.
.. versionadded:: 3.1
The ``buffer`` argument was added.
.. versionadded:: 3.2 .. versionadded:: 3.2
The ``enable_faulthandler`` and ``timing`` arguments were added. The ``enable_faulthandler`` and ``timing`` arguments were added.
@ -671,10 +667,6 @@ Methods
Runs the :doc:`system checks </topics/checks>` on the test ``databases``. Runs the :doc:`system checks </topics/checks>` on the test ``databases``.
.. versionadded:: 3.1
The ``databases`` parameter was added.
.. method:: DiscoverRunner.run_suite(suite, **kwargs) .. method:: DiscoverRunner.run_suite(suite, **kwargs)
Runs the test suite. Runs the test suite.

View File

@ -769,11 +769,6 @@ If your tests make any database queries, use subclasses
:exc:`unittest.SkipTest` in ``setUpClass()``, be sure to do it before :exc:`unittest.SkipTest` in ``setUpClass()``, be sure to do it before
calling ``super()`` to avoid this. calling ``super()`` to avoid this.
.. versionchanged:: 3.1
The ``debug()`` method was implemented to allow running a test without
collecting the result and catching exceptions.
``TransactionTestCase`` ``TransactionTestCase``
----------------------- -----------------------
@ -1806,8 +1801,6 @@ won't be run.
Testing asynchronous code Testing asynchronous code
========================= =========================
.. versionadded:: 3.1
If you merely want to test the output of your asynchronous views, the standard If you merely want to test the output of your asynchronous views, the standard
test client will run them inside their own asynchronous loop without any extra test client will run them inside their own asynchronous loop without any extra
work needed on your part. work needed on your part.