summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-09-11 09:57:44 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-09-18 22:12:40 +0200
commit295467c04ab4c26a1a9d3798b1e941003fa116cf (patch)
treeeac57d86bd2c1664b63d17a4325cfffbf720ae44 /docs
parent590a31eb105292510ce94adebc85d691b30f49ca (diff)
Removed versionadded/changed annotations for 4.2.
This also removes remaining versionadded/changed annotations for older versions.
Diffstat (limited to 'docs')
-rw-r--r--docs/howto/custom-file-storage.txt2
-rw-r--r--docs/howto/error-reporting.txt4
-rw-r--r--docs/howto/static-files/deployment.txt4
-rw-r--r--docs/internals/contributing/writing-documentation.txt5
-rw-r--r--docs/ref/contrib/admin/index.txt4
-rw-r--r--docs/ref/contrib/auth.txt4
-rw-r--r--docs/ref/contrib/gis/functions.txt6
-rw-r--r--docs/ref/contrib/gis/gdal.txt4
-rw-r--r--docs/ref/contrib/gis/geoip2.txt4
-rw-r--r--docs/ref/contrib/gis/geoquerysets.txt2
-rw-r--r--docs/ref/contrib/gis/install/postgis.txt4
-rw-r--r--docs/ref/contrib/gis/serializers.txt5
-rw-r--r--docs/ref/contrib/postgres/fields.txt5
-rw-r--r--docs/ref/contrib/postgres/lookups.txt2
-rw-r--r--docs/ref/contrib/postgres/search.txt4
-rw-r--r--docs/ref/contrib/sitemaps.txt2
-rw-r--r--docs/ref/contrib/staticfiles.txt7
-rw-r--r--docs/ref/databases.txt12
-rw-r--r--docs/ref/django-admin.txt7
-rw-r--r--docs/ref/exceptions.txt6
-rw-r--r--docs/ref/files/storage.txt4
-rw-r--r--docs/ref/forms/fields.txt4
-rw-r--r--docs/ref/logging.txt5
-rw-r--r--docs/ref/middleware.txt4
-rw-r--r--docs/ref/migration-operations.txt2
-rw-r--r--docs/ref/models/database-functions.txt5
-rw-r--r--docs/ref/models/expressions.txt10
-rw-r--r--docs/ref/models/fields.txt11
-rw-r--r--docs/ref/models/instances.txt12
-rw-r--r--docs/ref/models/lookups.txt5
-rw-r--r--docs/ref/models/options.txt2
-rw-r--r--docs/ref/models/querysets.txt5
-rw-r--r--docs/ref/models/relations.txt16
-rw-r--r--docs/ref/request-response.txt6
-rw-r--r--docs/ref/schema-editor.txt2
-rw-r--r--docs/ref/settings.txt4
-rw-r--r--docs/ref/templates/builtins.txt10
-rw-r--r--docs/ref/urls.txt5
-rw-r--r--docs/ref/utils.txt6
-rw-r--r--docs/ref/validators.txt12
-rw-r--r--docs/topics/async.txt4
-rw-r--r--docs/topics/auth/customizing.txt7
-rw-r--r--docs/topics/auth/default.txt9
-rw-r--r--docs/topics/auth/passwords.txt9
-rw-r--r--docs/topics/db/queries.txt7
-rw-r--r--docs/topics/db/transactions.txt8
-rw-r--r--docs/topics/files.txt4
-rw-r--r--docs/topics/forms/modelforms.txt4
-rw-r--r--docs/topics/http/file-uploads.txt8
-rw-r--r--docs/topics/http/middleware.txt4
-rw-r--r--docs/topics/i18n/translation.txt5
-rw-r--r--docs/topics/migrations.txt4
-rw-r--r--docs/topics/testing/advanced.txt8
-rw-r--r--docs/topics/testing/overview.txt2
-rw-r--r--docs/topics/testing/tools.txt40
55 files changed, 0 insertions, 346 deletions
diff --git a/docs/howto/custom-file-storage.txt b/docs/howto/custom-file-storage.txt
index 4e51548bc7..b7bd22d9c1 100644
--- a/docs/howto/custom-file-storage.txt
+++ b/docs/howto/custom-file-storage.txt
@@ -125,8 +125,6 @@ obtain an alternative name.
Use your custom storage engine
==============================
-.. versionadded:: 4.2
-
The first step to using your custom storage with Django is to tell Django about
the file storage backend you'll be using. This is done using the
:setting:`STORAGES` setting. This setting maps storage aliases, which are a way
diff --git a/docs/howto/error-reporting.txt b/docs/howto/error-reporting.txt
index 875e56a51d..74e11a6951 100644
--- a/docs/howto/error-reporting.txt
+++ b/docs/howto/error-reporting.txt
@@ -306,10 +306,6 @@ following attributes and methods:
re.compile(r"API|TOKEN|KEY|SECRET|PASS|SIGNATURE|HTTP_COOKIE", flags=re.IGNORECASE)
- .. versionchanged:: 4.2
-
- ``HTTP_COOKIE`` was added.
-
.. method:: is_active(request)
Returns ``True`` to activate the filtering in
diff --git a/docs/howto/static-files/deployment.txt b/docs/howto/static-files/deployment.txt
index 67ecf59a71..d6d1158249 100644
--- a/docs/howto/static-files/deployment.txt
+++ b/docs/howto/static-files/deployment.txt
@@ -106,10 +106,6 @@ provide storage backends for many common file storage APIs. A good starting
point is the `overview at djangopackages.org
<https://djangopackages.org/grids/g/storage-backends/>`_.
-.. versionchanged:: 4.2
-
- The :setting:`STORAGES` setting was added.
-
Learn more
==========
diff --git a/docs/internals/contributing/writing-documentation.txt b/docs/internals/contributing/writing-documentation.txt
index fa3cd749f9..7943dc173d 100644
--- a/docs/internals/contributing/writing-documentation.txt
+++ b/docs/internals/contributing/writing-documentation.txt
@@ -262,11 +262,6 @@ documentation:
also need to define a reference to the documentation for that environment
variable using :rst:dir:`.. envvar:: <envvar>`.
-.. versionchanged:: 4.2
-
- All Python code blocks in the Django documentation were reformatted with
- :pypi:`blacken-docs`.
-
Django-specific markup
======================
diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
index 318a6c6ad5..6d5465dac9 100644
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -2142,10 +2142,6 @@ forms or widgets depending on ``django.jQuery`` must specify
``js=['admin/js/jquery.init.js', …]`` when :ref:`declaring form media assets
<assets-as-a-static-definition>`.
-.. versionchanged:: 4.2
-
- jQuery was upgraded from 3.6.0 to 3.6.4.
-
.. versionchanged:: 5.0
jQuery was upgraded from 3.6.4 to 3.7.1.
diff --git a/docs/ref/contrib/auth.txt b/docs/ref/contrib/auth.txt
index be4960f1bf..9d56631923 100644
--- a/docs/ref/contrib/auth.txt
+++ b/docs/ref/contrib/auth.txt
@@ -716,10 +716,6 @@ Utility functions
backend's ``get_user()`` method, or if the session auth hash doesn't
validate.
- .. versionchanged:: 4.1.8
-
- Fallback verification with :setting:`SECRET_KEY_FALLBACKS` was added.
-
.. versionchanged:: 5.0
``aget_user()`` function was added.
diff --git a/docs/ref/contrib/gis/functions.txt b/docs/ref/contrib/gis/functions.txt
index 31af52bb4e..36ef651cfe 100644
--- a/docs/ref/contrib/gis/functions.txt
+++ b/docs/ref/contrib/gis/functions.txt
@@ -354,8 +354,6 @@ are returned unchanged.
``FromWKB``
===========
-.. versionadded:: 4.2
-
.. class:: FromWKB(expression, **extra)
*Availability*: MariaDB, `MySQL
@@ -367,8 +365,6 @@ Creates geometry from `Well-known binary (WKB)`_ representation.
``FromWKT``
===========
-.. versionadded:: 4.2
-
.. class:: FromWKT(expression, **extra)
*Availability*: MariaDB, `MySQL
@@ -421,8 +417,6 @@ intersection between them.
``IsEmpty``
===========
-.. versionadded:: 4.2
-
.. class:: IsEmpty(expr)
*Availability*: `PostGIS <https://postgis.net/docs/ST_IsEmpty.html>`__
diff --git a/docs/ref/contrib/gis/gdal.txt b/docs/ref/contrib/gis/gdal.txt
index 2eeb3818c6..3692c51c34 100644
--- a/docs/ref/contrib/gis/gdal.txt
+++ b/docs/ref/contrib/gis/gdal.txt
@@ -1282,10 +1282,6 @@ blue.
>>> rst.name # Stored in a random path in the vsimem filesystem.
'/vsimem/da300bdb-129d-49a8-b336-e410a9428dad'
- .. versionchanged:: 4.2
-
- Support for :class:`pathlib.Path` ``ds_input`` was added.
-
.. attribute:: name
The name of the source which is equivalent to the input file path or the name
diff --git a/docs/ref/contrib/gis/geoip2.txt b/docs/ref/contrib/gis/geoip2.txt
index 6390c3de3a..5468cff29d 100644
--- a/docs/ref/contrib/gis/geoip2.txt
+++ b/docs/ref/contrib/gis/geoip2.txt
@@ -23,10 +23,6 @@ __ https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
__ https://db-ip.com/db/lite.php
__ https://github.com/maxmind/libmaxminddb/
-.. versionchanged:: 4.2
-
- Support for ``.mmdb`` files downloaded from DB-IP was added.
-
Example
=======
diff --git a/docs/ref/contrib/gis/geoquerysets.txt b/docs/ref/contrib/gis/geoquerysets.txt
index 2c95e32b4d..99b8638a65 100644
--- a/docs/ref/contrib/gis/geoquerysets.txt
+++ b/docs/ref/contrib/gis/geoquerysets.txt
@@ -351,8 +351,6 @@ SpatiaLite ``Intersects(poly, geom)``
``isempty``
-----------
-.. versionadded:: 4.2
-
*Availability*: `PostGIS <https://postgis.net/docs/ST_IsEmpty.html>`__
Tests if the geometry is empty.
diff --git a/docs/ref/contrib/gis/install/postgis.txt b/docs/ref/contrib/gis/install/postgis.txt
index 6af1f7e3fa..4a828817d1 100644
--- a/docs/ref/contrib/gis/install/postgis.txt
+++ b/docs/ref/contrib/gis/install/postgis.txt
@@ -22,10 +22,6 @@ platform-specific instructions if you are on :ref:`macos` or :ref:`windows`.
.. _PostGIS requirements: https://postgis.net/docs/postgis_installation.html#install_requirements
.. _build from source: https://postgis.net/docs/postgis_installation.html#install_short_version
-.. versionchanged:: 4.2
-
- Support for ``psycopg`` 3.1.8+ was added.
-
Post-installation
=================
diff --git a/docs/ref/contrib/gis/serializers.txt b/docs/ref/contrib/gis/serializers.txt
index 9f7ccd260d..e62b6ef306 100644
--- a/docs/ref/contrib/gis/serializers.txt
+++ b/docs/ref/contrib/gis/serializers.txt
@@ -60,8 +60,3 @@ Would output::
When the ``fields`` parameter is not specified, the ``geojson`` serializer adds
a ``pk`` key to the ``properties`` dictionary with the primary key of the
object as the value.
-
-.. versionchanged:: 4.2
-
- The ``id`` key for serialized features was added. Also, the ``id_field``
- option was added to the ``geojson`` serializer.
diff --git a/docs/ref/contrib/postgres/fields.txt b/docs/ref/contrib/postgres/fields.txt
index b53ce86696..0348bb235f 100644
--- a/docs/ref/contrib/postgres/fields.txt
+++ b/docs/ref/contrib/postgres/fields.txt
@@ -196,11 +196,6 @@ the SQL operator ``&&``. For example:
>>> Post.objects.filter(tags__overlap=Post.objects.values_list("tags"))
<QuerySet [<Post: First post>, <Post: Second post>, <Post: Third post>]>
-.. versionchanged:: 4.2
-
- Support for ``QuerySet.values()`` and ``values_list()`` as a right-hand
- side was added.
-
.. fieldlookup:: arrayfield.len
``len``
diff --git a/docs/ref/contrib/postgres/lookups.txt b/docs/ref/contrib/postgres/lookups.txt
index b9b92fc7fa..e7ccf1c21b 100644
--- a/docs/ref/contrib/postgres/lookups.txt
+++ b/docs/ref/contrib/postgres/lookups.txt
@@ -61,8 +61,6 @@ The ``trigram_word_similar`` lookup can be used on
``trigram_strict_word_similar``
-------------------------------
-.. versionadded:: 4.2
-
Similar to :lookup:`trigram_word_similar`, except that it forces extent
boundaries to match word boundaries.
diff --git a/docs/ref/contrib/postgres/search.txt b/docs/ref/contrib/postgres/search.txt
index 699f81bd11..8b1313709e 100644
--- a/docs/ref/contrib/postgres/search.txt
+++ b/docs/ref/contrib/postgres/search.txt
@@ -378,8 +378,6 @@ Usage example:
.. class:: TrigramStrictWordSimilarity(string, expression, **extra)
-.. versionadded:: 4.2
-
Accepts a string or expression, and a field name or expression. Returns the
trigram strict word similarity between the two arguments. Similar to
:class:`TrigramWordSimilarity() <TrigramWordSimilarity>`, except that it forces
@@ -436,7 +434,5 @@ Usage example:
.. class:: TrigramStrictWordDistance(string, expression, **extra)
-.. versionadded:: 4.2
-
Accepts a string or expression, and a field name or expression. Returns the
trigram strict word distance between the two arguments.
diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt
index 020eaf03ff..de8d532180 100644
--- a/docs/ref/contrib/sitemaps.txt
+++ b/docs/ref/contrib/sitemaps.txt
@@ -316,8 +316,6 @@ Note:
.. method:: Sitemap.get_languages_for_item(item)
- .. versionadded:: 4.2
-
**Optional.** A method that returns the sequence of language codes for
which the item is displayed. By default
:meth:`~Sitemap.get_languages_for_item` returns
diff --git a/docs/ref/contrib/staticfiles.txt b/docs/ref/contrib/staticfiles.txt
index d446f833ea..18f5bb4020 100644
--- a/docs/ref/contrib/staticfiles.txt
+++ b/docs/ref/contrib/staticfiles.txt
@@ -345,15 +345,8 @@ argument. For example::
commented out. This :ticket:`may crash on the nonexistent paths <21080>`.
You should check and eventually strip comments.
-.. versionchanged:: 4.2
-
- Experimental optional support for finding paths to JavaScript modules in
- ``import`` and ``export`` statements was added.
-
.. attribute:: storage.ManifestStaticFilesStorage.manifest_hash
-.. versionadded:: 4.2
-
This attribute provides a single hash that changes whenever a file in the
manifest changes. This can be useful to communicate to SPAs that the assets on
the server have changed (due to a new deployment).
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index f859f51377..a4c93be076 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -122,10 +122,6 @@ Django supports PostgreSQL 12 and higher. `psycopg`_ 3.1.8+ or `psycopg2`_
Support for ``psycopg2`` is likely to be deprecated and removed at some
point in the future.
-.. versionchanged:: 4.2
-
- Support for ``psycopg`` 3.1.8+ was added.
-
.. _postgresql-connection-settings:
PostgreSQL connection settings
@@ -223,17 +219,11 @@ configuration in :setting:`DATABASES`::
.. _isolation level: https://www.postgresql.org/docs/current/transaction-iso.html
-.. versionchanged:: 4.2
-
- ``IsolationLevel`` was added.
-
.. _database-role:
Role
----
-.. versionadded:: 4.2
-
If you need to use a different role for database connections than the role use
to establish the connection, set it in the :setting:`OPTIONS` part of your
database configuration in :setting:`DATABASES`::
@@ -253,8 +243,6 @@ database configuration in :setting:`DATABASES`::
Server-side parameters binding
------------------------------
-.. versionadded:: 4.2
-
With `psycopg`_ 3.1.8+, Django defaults to the :ref:`client-side binding
cursors <psycopg:client-side-binding-cursors>`. If you want to use the
:ref:`server-side binding <psycopg:server-side-binding>` set it in the
diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
index d63c049b0b..eb77e2a17d 100644
--- a/docs/ref/django-admin.txt
+++ b/docs/ref/django-admin.txt
@@ -744,11 +744,6 @@ Generate migration files without Django version and timestamp header.
Makes ``makemigrations`` exit with a non-zero status when model changes without
migrations are detected.
-.. versionchanged:: 4.2
-
- In older versions, the missing migrations were also created when using the
- ``--check`` option.
-
.. django-admin-option:: --scriptable
Diverts log output and input prompts to ``stderr``, writing only paths of
@@ -756,8 +751,6 @@ generated migration files to ``stdout``.
.. django-admin-option:: --update
-.. versionadded:: 4.2
-
Merges model changes into the latest migration and optimize the resulting
operations.
diff --git a/docs/ref/exceptions.txt b/docs/ref/exceptions.txt
index 54a31115f0..f9f7c3c498 100644
--- a/docs/ref/exceptions.txt
+++ b/docs/ref/exceptions.txt
@@ -47,8 +47,6 @@ Django core exception classes are defined in ``django.core.exceptions``.
.. exception:: FullResultSet
-.. versionadded:: 4.2
-
``FullResultSet`` may be raised during query generation if a query will
match everything. Most Django projects won't encounter this exception, but
it might be useful for implementing custom lookups and expressions.
@@ -102,10 +100,6 @@ Django core exception classes are defined in ``django.core.exceptions``.
a :class:`~django.http.HttpResponseBadRequest`. See the :doc:`logging
documentation </topics/logging/>` for more information.
-.. versionchanged:: 3.2.18
-
- ``SuspiciousOperation`` is raised when too many files are submitted.
-
``PermissionDenied``
--------------------
diff --git a/docs/ref/files/storage.txt b/docs/ref/files/storage.txt
index 47a5788574..afc2476e85 100644
--- a/docs/ref/files/storage.txt
+++ b/docs/ref/files/storage.txt
@@ -11,8 +11,6 @@ Django provides convenient ways to access the default storage class:
.. data:: storages
- .. versionadded:: 4.2
-
Storage instances as defined by :setting:`STORAGES`.
.. class:: DefaultStorage
@@ -88,8 +86,6 @@ The ``FileSystemStorage`` class
The ``InMemoryStorage`` class
=============================
-.. versionadded:: 4.2
-
.. class:: InMemoryStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None)
The :class:`~django.core.files.storage.InMemoryStorage` class implements
diff --git a/docs/ref/forms/fields.txt b/docs/ref/forms/fields.txt
index 5e42404f94..35fc4b4b27 100644
--- a/docs/ref/forms/fields.txt
+++ b/docs/ref/forms/fields.txt
@@ -656,10 +656,6 @@ For each field, we describe the default widget used if you don't specify
``empty_value`` which work just as they do for :class:`CharField`. The
``max_length`` argument defaults to 320 (see :rfc:`3696#section-3`).
- .. versionchanged:: 3.2.20
-
- The default value for ``max_length`` was changed to 320 characters.
-
``FileField``
-------------
diff --git a/docs/ref/logging.txt b/docs/ref/logging.txt
index b11fb752f7..a15e2ac91f 100644
--- a/docs/ref/logging.txt
+++ b/docs/ref/logging.txt
@@ -199,11 +199,6 @@ This logging does not include framework-level initialization (e.g.
``SET TIMEZONE``). Turn on query logging in your database if you wish to view
all database queries.
-.. versionchanged:: 4.2
-
- Support for logging transaction management queries (``BEGIN``, ``COMMIT``,
- and ``ROLLBACK``) was added.
-
.. _django-security-logger:
``django.security.*``
diff --git a/docs/ref/middleware.txt b/docs/ref/middleware.txt
index 73f315e7fc..63b38da0a0 100644
--- a/docs/ref/middleware.txt
+++ b/docs/ref/middleware.txt
@@ -118,10 +118,6 @@ GZip middleware
.. _breachattack.com: https://www.breachattack.com/
.. _Heal The Breach (HTB) paper: https://ieeexplore.ieee.org/document/9754554
-.. versionchanged:: 4.2
-
- Mitigation for the BREACH attack was added.
-
The ``django.middleware.gzip.GZipMiddleware`` compresses content for browsers
that understand GZip compression (all modern browsers).
diff --git a/docs/ref/migration-operations.txt b/docs/ref/migration-operations.txt
index 96a8e4bc8c..7cc3a3926f 100644
--- a/docs/ref/migration-operations.txt
+++ b/docs/ref/migration-operations.txt
@@ -91,8 +91,6 @@ option on the ``Meta`` subclass).
``AlterModelTableComment``
--------------------------
-.. versionadded:: 4.2
-
.. class:: AlterModelTableComment(name, table_comment)
Changes the model's table comment (the
diff --git a/docs/ref/models/database-functions.txt b/docs/ref/models/database-functions.txt
index 489c969b56..42ae8c34e7 100644
--- a/docs/ref/models/database-functions.txt
+++ b/docs/ref/models/database-functions.txt
@@ -567,11 +567,6 @@ Usage example:
On Oracle, the SQL ``LOCALTIMESTAMP`` is used to avoid issues with casting
``CURRENT_TIMESTAMP`` to ``DateTimeField``.
-.. versionchanged:: 4.2
-
- Support for microsecond precision on MySQL and millisecond precision on
- SQLite were added.
-
.. versionchanged:: 5.0
In older versions, the SQL ``CURRENT_TIMESTAMP`` was used on Oracle instead
diff --git a/docs/ref/models/expressions.txt b/docs/ref/models/expressions.txt
index abae25f09c..fe26e7a35f 100644
--- a/docs/ref/models/expressions.txt
+++ b/docs/ref/models/expressions.txt
@@ -282,8 +282,6 @@ is null) after companies that have been contacted::
Using ``F()`` with logical operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. versionadded:: 4.2
-
``F()`` expressions that output ``BooleanField`` can be logically negated with
the inversion operator ``~F()``. For example, to swap the activation status of
companies::
@@ -876,10 +874,6 @@ from groups to be included:
NotImplementedError: Heterogeneous disjunctive predicates against window functions
are not implemented when performing conditional aggregation.
-.. versionchanged:: 4.2
-
- Support for filtering against window functions was added.
-
Among Django's built-in database backends, MySQL, PostgreSQL, and Oracle
support window expressions. Support for different window expression features
varies among the different databases. For example, the options in
@@ -1100,10 +1094,6 @@ calling the appropriate methods on the wrapped expression.
nested expressions. ``F()`` objects, in particular, hold a reference
to a column.
- .. versionchanged:: 4.2
-
- The ``alias=None`` keyword argument was removed.
-
.. method:: asc(nulls_first=None, nulls_last=None)
Returns the expression ready to be sorted in ascending order.
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index 7ad9f77741..1c166443be 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -392,8 +392,6 @@ scenes.
``db_comment``
--------------
-.. versionadded:: 4.2
-
.. attribute:: Field.db_comment
The comment on the database column to use for this field. It is useful for
@@ -740,10 +738,6 @@ The default form widget for this field is a :class:`~django.forms.TextInput`.
``max_length`` for some backends. Refer to the :doc:`database backend
notes </ref/databases>` for details.
- .. versionchanged:: 4.2
-
- Support for unlimited ``VARCHAR`` columns was added on PostgreSQL.
-
.. attribute:: CharField.db_collation
Optional. The database collation name of the field.
@@ -2469,11 +2463,6 @@ Registering and fetching lookups
The API can be used to customize which lookups are available for a field class
and its instances, and how lookups are fetched from a field.
-.. versionchanged:: 4.2
-
- Support for registering lookups on :class:`~django.db.models.Field`
- instances was added.
-
.. _model-field-attributes:
=========================
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
index 6ceb0703ab..ae5dec2e65 100644
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -200,10 +200,6 @@ all of the instance's fields when a deferred field is reloaded::
A helper method that returns a set containing the attribute names of all those
fields that are currently deferred for this model.
-.. versionchanged:: 4.2
-
- ``arefresh_from_db()`` method was added.
-
.. _validating-objects:
Validating objects
@@ -426,10 +422,6 @@ method. See :ref:`overriding-model-methods` for more details.
The model save process also has some subtleties; see the sections below.
-.. versionchanged:: 4.2
-
- ``asave()`` method was added.
-
Auto-incrementing primary keys
------------------------------
@@ -709,10 +701,6 @@ Sometimes with :ref:`multi-table inheritance <multi-table-inheritance>` you may
want to delete only a child model's data. Specifying ``keep_parents=True`` will
keep the parent model's data.
-.. versionchanged:: 4.2
-
- ``adelete()`` method was added.
-
Pickling objects
================
diff --git a/docs/ref/models/lookups.txt b/docs/ref/models/lookups.txt
index 3998eb3705..07d6e03783 100644
--- a/docs/ref/models/lookups.txt
+++ b/docs/ref/models/lookups.txt
@@ -82,11 +82,6 @@ For a class to be a lookup, it must follow the :ref:`Query Expression API
<query-expression>`. :class:`~Lookup` and :class:`~Transform` naturally
follow this API.
-.. versionchanged:: 4.2
-
- Support for registering lookups on :class:`~django.db.models.Field`
- instances was added.
-
.. _query-expression:
The Query Expression API
diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt
index 6f318b2df8..2a383b2b88 100644
--- a/docs/ref/models/options.txt
+++ b/docs/ref/models/options.txt
@@ -94,8 +94,6 @@ Django quotes column and table names behind the scenes.
``db_table_comment``
--------------------
-.. versionadded:: 4.2
-
.. attribute:: Options.db_table_comment
The comment on the database table to use for this model. It is useful for
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index cd6c13fc05..547bd4b4ff 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -2353,11 +2353,6 @@ Like :meth:`get_or_create` and :meth:`create`, if you're using manually
specified primary keys and an object needs to be created but the key already
exists in the database, an :exc:`~django.db.IntegrityError` is raised.
-.. versionchanged:: 4.2
-
- In older versions, ``update_or_create()`` didn't specify ``update_fields``
- when calling :meth:`Model.save() <django.db.models.Model.save>`.
-
.. versionchanged:: 5.0
The ``create_defaults`` argument was added.
diff --git a/docs/ref/models/relations.txt b/docs/ref/models/relations.txt
index 98177010b8..f941b435cc 100644
--- a/docs/ref/models/relations.txt
+++ b/docs/ref/models/relations.txt
@@ -84,10 +84,6 @@ Related objects reference
dictionary and they will be evaluated once before creating any
intermediate instance(s).
- .. versionchanged:: 4.2
-
- ``aadd()`` method was added.
-
.. method:: create(through_defaults=None, **kwargs)
.. method:: acreate(through_defaults=None, **kwargs)
@@ -168,10 +164,6 @@ Related objects reference
For many-to-many relationships, the ``bulk`` keyword argument doesn't
exist.
- .. versionchanged:: 4.2
-
- ``aremove()`` method was added.
-
.. method:: clear(bulk=True)
.. method:: aclear(bulk=True)
@@ -194,10 +186,6 @@ Related objects reference
For many-to-many relationships, the ``bulk`` keyword argument doesn't
exist.
- .. versionchanged:: 4.2
-
- ``aclear()`` method was added.
-
.. method:: set(objs, bulk=True, clear=False, through_defaults=None)
.. method:: aset(objs, bulk=True, clear=False, through_defaults=None)
@@ -236,10 +224,6 @@ Related objects reference
dictionary and they will be evaluated once before creating any
intermediate instance(s).
- .. versionchanged:: 4.2
-
- ``aset()`` method was added.
-
.. note::
Note that ``add()``, ``aadd()``, ``create()``, ``acreate()``,
diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt
index 036f7004d2..1837b4be27 100644
--- a/docs/ref/request-response.txt
+++ b/docs/ref/request-response.txt
@@ -1246,10 +1246,6 @@ with the following notable differences:
The :class:`HttpResponseBase` base class is common between
:class:`HttpResponse` and :class:`StreamingHttpResponse`.
-.. versionchanged:: 4.2
-
- Support for asynchronous iteration was added.
-
Attributes
----------
@@ -1280,8 +1276,6 @@ Attributes
.. attribute:: StreamingHttpResponse.is_async
- .. versionadded:: 4.2
-
Boolean indicating whether :attr:`StreamingHttpResponse.streaming_content`
is an asynchronous iterator or not.
diff --git a/docs/ref/schema-editor.txt b/docs/ref/schema-editor.txt
index 3526e1ffff..635272c982 100644
--- a/docs/ref/schema-editor.txt
+++ b/docs/ref/schema-editor.txt
@@ -128,8 +128,6 @@ Renames the model's table from ``old_db_table`` to ``new_db_table``.
``alter_db_table_comment()``
----------------------------
-.. versionadded:: 4.2
-
.. method:: BaseDatabaseSchemaEditor.alter_db_table_comment(model, old_db_table_comment, new_db_table_comment)
Change the ``model``’s table comment to ``new_db_table_comment``.
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index 3dc6edf333..5f8395563d 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -1067,8 +1067,6 @@ perform a similar check at that level.
``DATA_UPLOAD_MAX_NUMBER_FILES``
--------------------------------
-.. versionadded:: 3.2.18
-
Default: ``100``
The maximum number of files that may be received via POST in a
@@ -2597,8 +2595,6 @@ See also the :doc:`/ref/checks` documentation.
``STORAGES``
------------
-.. versionadded:: 4.2
-
Default::
{
diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt
index 65579677ca..4798663bf0 100644
--- a/docs/ref/templates/builtins.txt
+++ b/docs/ref/templates/builtins.txt
@@ -244,11 +244,6 @@ Outputs a whole load of debugging information, including the current context
and imported modules. ``{% debug %}`` outputs nothing when the :setting:`DEBUG`
setting is ``False``.
-.. versionchanged:: 2.2.27
-
- In older versions, debugging information was displayed when the
- :setting:`DEBUG` setting was ``False``.
-
.. templatetag:: extends
``extends``
@@ -1803,11 +1798,6 @@ produce empty output:
Ordering by elements at specified index is not supported on dictionaries.
-.. versionchanged:: 2.2.26
-
- In older versions, ordering elements at specified index was supported on
- dictionaries.
-
.. templatefilter:: dictsortreversed
``dictsortreversed``
diff --git a/docs/ref/urls.txt b/docs/ref/urls.txt
index be8380ed5a..e8d51eeda2 100644
--- a/docs/ref/urls.txt
+++ b/docs/ref/urls.txt
@@ -79,11 +79,6 @@ pattern (:py:func:`re.fullmatch` is used).
The ``view``, ``kwargs`` and ``name`` arguments are the same as for
:func:`~django.urls.path()`.
-.. versionchanged:: 2.2.25
-
- In older versions, a full-match wasn't required for a ``route`` which ends
- with ``$``.
-
``include()``
=============
diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt
index acbe5d51a6..4e28690f44 100644
--- a/docs/ref/utils.txt
+++ b/docs/ref/utils.txt
@@ -685,10 +685,6 @@ escaping HTML.
serialize the data. See :ref:`JSON serialization
<serialization-formats-json>` for more details about this serializer.
- .. versionchanged:: 4.2
-
- The ``encoder`` argument was added.
-
.. function:: strip_tags(value)
Tries to remove anything that looks like an HTML tag from the string, that
@@ -742,8 +738,6 @@ escaping HTML.
.. function:: content_disposition_header(as_attachment, filename)
- .. versionadded:: 4.2
-
Constructs a ``Content-Disposition`` HTTP header value from the given
``filename`` as specified by :rfc:`6266`. Returns ``None`` if
``as_attachment`` is ``False`` and ``filename`` is ``None``, otherwise
diff --git a/docs/ref/validators.txt b/docs/ref/validators.txt
index 8323b55909..789d47d935 100644
--- a/docs/ref/validators.txt
+++ b/docs/ref/validators.txt
@@ -159,11 +159,6 @@ to, or in lieu of custom ``field.clean()`` methods.
validation, so you'd need to add them to the ``allowlist`` as
necessary.
- .. versionchanged:: 3.2.20
-
- In older versions, values longer than 320 characters could be
- considered valid.
-
``URLValidator``
----------------
@@ -190,16 +185,9 @@ to, or in lieu of custom ``field.clean()`` methods.
.. attribute:: max_length
- .. versionadded:: 3.2.20
-
The maximum length of values that could be considered valid. Defaults
to 2048 characters.
- .. versionchanged:: 3.2.20
-
- In older versions, values longer than 2048 characters could be
- considered valid.
-
``validate_email``
------------------
diff --git a/docs/topics/async.txt b/docs/topics/async.txt
index 0e33753e68..8a9857a0df 100644
--- a/docs/topics/async.txt
+++ b/docs/topics/async.txt
@@ -150,10 +150,6 @@ Transactions do not yet work in async mode. If you have a piece of code that
needs transactions behavior, we recommend you write that piece as a single
synchronous function and call it using :func:`sync_to_async`.
-.. versionchanged:: 4.2
-
- Asynchronous model and related manager interfaces were added.
-
.. _async_performance:
Performance
diff --git a/docs/topics/auth/customizing.txt b/docs/topics/auth/customizing.txt
index 78bee37a0f..bd0c074273 100644
--- a/docs/topics/auth/customizing.txt
+++ b/docs/topics/auth/customizing.txt
@@ -731,8 +731,6 @@ The following attributes and methods are available on any subclass of
.. method:: models.AbstractBaseUser.get_session_auth_fallback_hash()
- .. versionadded:: 4.1.8
-
Yields the HMAC of the password field using
:setting:`SECRET_KEY_FALLBACKS`. Used by ``get_user()``.
@@ -871,11 +869,6 @@ extend these forms in this manner::
model = CustomUser
fields = UserCreationForm.Meta.fields + ("custom_field",)
-.. versionchanged:: 4.2
-
- In older versions, :class:`~django.contrib.auth.forms.UserCreationForm`
- didn't save many-to-many form fields for a custom user model.
-
Custom users and :mod:`django.contrib.admin`
--------------------------------------------
diff --git a/docs/topics/auth/default.txt b/docs/topics/auth/default.txt
index 4aee26d9ca..c8140e4d22 100644
--- a/docs/topics/auth/default.txt
+++ b/docs/topics/auth/default.txt
@@ -1723,8 +1723,6 @@ provides several built-in forms located in :mod:`django.contrib.auth.forms`:
.. class:: BaseUserCreationForm
- .. versionadded:: 4.2
-
A :class:`~django.forms.ModelForm` for creating a new user. This is the
recommended base class if you need to customize the user creation form.
@@ -1741,13 +1739,6 @@ provides several built-in forms located in :mod:`django.contrib.auth.forms`:
similar usernames, the form doesn't allow usernames that differ only in
case.
- .. versionchanged:: 4.2
-
- In older versions, :class:`UserCreationForm` didn't save many-to-many
- form fields for a custom user model.
-
- In older versions, usernames that differ only in case are allowed.
-
.. currentmodule:: django.contrib.auth
Authentication data in templates
diff --git a/docs/topics/auth/passwords.txt b/docs/topics/auth/passwords.txt
index 0876ac4f6e..d0a812f398 100644
--- a/docs/topics/auth/passwords.txt
+++ b/docs/topics/auth/passwords.txt
@@ -620,10 +620,6 @@ Django includes four validators:
``user_attributes``, whereas a value of 1.0 rejects only passwords that are
identical to an attribute's value.
- .. versionchanged:: 2.2.26
-
- The ``max_similarity`` parameter was limited to a minimum value of 0.1.
-
.. class:: CommonPasswordValidator(password_list_path=DEFAULT_PASSWORD_LIST_PATH)
Validates that the password is not a common password. This converts the
@@ -635,11 +631,6 @@ Django includes four validators:
common passwords. This file should contain one lowercase password per line
and may be plain text or gzipped.
- .. versionchanged:: 4.2
-
- The list of 20,000 common passwords was updated to the most recent
- version.
-
.. class:: NumericPasswordValidator()
Validate that the password is not entirely numeric.
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index 6dfe97f317..b975f6cdfe 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -1085,11 +1085,6 @@ Unless you are sure you wish to work with SQL ``NULL`` values, consider setting
Storing JSON scalar ``null`` does not violate :attr:`null=False
<django.db.models.Field.null>`.
-.. versionchanged:: 4.2
-
- Support for expressing JSON ``null`` using ``Value(None, JSONField())`` was
- added.
-
.. deprecated:: 4.2
Passing ``Value("null")`` to express JSON ``null`` is deprecated.
@@ -1162,8 +1157,6 @@ To query for missing keys, use the ``isnull`` lookup:
``KT()`` expressions
~~~~~~~~~~~~~~~~~~~~
-.. versionadded:: 4.2
-
.. module:: django.db.models.fields.json
.. class:: KT(lookup)
diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt
index c43312ec0f..951ce54a68 100644
--- a/docs/topics/db/transactions.txt
+++ b/docs/topics/db/transactions.txt
@@ -332,10 +332,6 @@ are caught and logged to the ``django.db.backends.base`` logger.
You can use :meth:`.TestCase.captureOnCommitCallbacks` to test callbacks
registered with :func:`on_commit`.
-.. versionchanged:: 4.2
-
- The ``robust`` argument was added.
-
Savepoints
----------
@@ -382,10 +378,6 @@ transaction raises an uncaught exception, no later registered functions in that
same transaction will run. This is the same behavior as if you'd executed the
functions sequentially yourself without :func:`on_commit`.
-.. versionchanged:: 4.2
-
- The ``robust`` argument was added.
-
Timing of execution
-------------------
diff --git a/docs/topics/files.txt b/docs/topics/files.txt
index 9ec4b0dc66..6ae1603f07 100644
--- a/docs/topics/files.txt
+++ b/docs/topics/files.txt
@@ -272,7 +272,3 @@ use :data:`~django.core.files.storage.storages`::
class MyModel(models.Model):
upload = models.FileField(storage=select_storage)
-
-.. versionchanged:: 4.2
-
- Support for ``storages`` was added.
diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt
index fbd5695c17..53ce716a4d 100644
--- a/docs/topics/forms/modelforms.txt
+++ b/docs/topics/forms/modelforms.txt
@@ -676,10 +676,6 @@ the field declaratively and setting its ``validators`` parameter::
See the :doc:`form field documentation </ref/forms/fields>` for more information
on fields and their arguments.
-.. versionchanged:: 4.2
-
- The ``Meta.formfield_callback`` attribute was added.
-
Enabling localization of fields
-------------------------------
diff --git a/docs/topics/http/file-uploads.txt b/docs/topics/http/file-uploads.txt
index cb0fb5b7fb..0e696badc0 100644
--- a/docs/topics/http/file-uploads.txt
+++ b/docs/topics/http/file-uploads.txt
@@ -230,14 +230,6 @@ uploads:
instance (in a single field), for example, even if the custom widget is used
with a form field related to a model ``FileField``.
-.. versionchanged:: 3.2.19
-
- In previous versions, there was no support for the ``allow_multiple_selected``
- class attribute, and users were advised to create the widget with the HTML
- attribute ``multiple`` set through the ``attrs`` argument. However, this
- caused validation of the form field to be applied only to the last file
- submitted, which could have adverse security implications.
-
Upload Handlers
===============
diff --git a/docs/topics/http/middleware.txt b/docs/topics/http/middleware.txt
index 9b4bd12a7b..1c3b3c2a26 100644
--- a/docs/topics/http/middleware.txt
+++ b/docs/topics/http/middleware.txt
@@ -273,10 +273,6 @@ asynchronous iterators. The wrapping function must match. Check
<django.http.StreamingHttpResponse.is_async>` if your middleware needs to
support both types of iterator.
-.. versionchanged:: 4.2
-
- Support for streaming responses with asynchronous iterators was added.
-
Exception handling
==================
diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt
index 6fe126f59d..41bee79204 100644
--- a/docs/topics/i18n/translation.txt
+++ b/docs/topics/i18n/translation.txt
@@ -741,11 +741,6 @@ In practice you'll use this to get a string you can use in multiple places in a
template or so you can use the output as an argument for other template tags or
filters.
-.. versionchanged:: 4.2
-
- In older versions, ``asvar`` instances weren't marked as safe for (HTML)
- output purposes.
-
``{% blocktranslate %}`` also supports :ref:`contextual
markers<contextual-markers>` using the ``context`` keyword:
diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt
index b7cd7043c2..248a7addbe 100644
--- a/docs/topics/migrations.txt
+++ b/docs/topics/migrations.txt
@@ -795,10 +795,6 @@ Django can serialize the following:
- Any class reference (must be in module's top-level scope)
- Anything with a custom ``deconstruct()`` method (:ref:`see below <custom-deconstruct-method>`)
-.. versionchanged:: 4.2
-
- Serialization support for ``enum.Flag`` was added.
-
.. versionchanged:: 5.0
Serialization support for functions decorated with :func:`functools.cache`
diff --git a/docs/topics/testing/advanced.txt b/docs/topics/testing/advanced.txt
index 54b9d7d133..fda77e7661 100644
--- a/docs/topics/testing/advanced.txt
+++ b/docs/topics/testing/advanced.txt
@@ -32,10 +32,6 @@ restricted subset of the test client API:
attributes must be supplied by the test itself if required
for the view to function properly.
-.. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
Example
-------
@@ -89,10 +85,6 @@ difference being that it returns ``ASGIRequest`` instances rather than
Arbitrary keyword arguments in ``defaults`` are added directly into the ASGI
scope.
-.. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
Testing class-based views
=========================
diff --git a/docs/topics/testing/overview.txt b/docs/topics/testing/overview.txt
index 5dbe46ceb2..30f4a75edc 100644
--- a/docs/topics/testing/overview.txt
+++ b/docs/topics/testing/overview.txt
@@ -381,8 +381,6 @@ time to run tests.
Avoiding disk access for media files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. versionadded:: 4.2
-
The :class:`~django.core.files.storage.InMemoryStorage` is a convenient way to
prevent disk access for media files. All data is kept in memory, then it gets
discarded after tests run.
diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt
index a9373ff108..e9b12d94f0 100644
--- a/docs/topics/testing/tools.txt
+++ b/docs/topics/testing/tools.txt
@@ -158,10 +158,6 @@ Use the ``django.test.Client`` class to make requests.
Once you have a ``Client`` instance, you can call any of the following
methods:
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.get(path, data=None, follow=False, secure=False, *, headers=None, **extra)
Makes a GET request on the provided ``path`` and returns a ``Response``
@@ -234,10 +230,6 @@ Use the ``django.test.Client`` class to make requests.
If you set ``secure`` to ``True`` the client will emulate an HTTPS
request.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.post(path, data=None, content_type=MULTIPART_CONTENT, follow=False, secure=False, *, headers=None, **extra)
Makes a POST request on the provided ``path`` and returns a
@@ -351,10 +343,6 @@ Use the ``django.test.Client`` class to make requests.
If you set ``secure`` to ``True`` the client will emulate an HTTPS
request.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.head(path, data=None, follow=False, secure=False, *, headers=None, **extra)
Makes a HEAD request on the provided ``path`` and returns a
@@ -362,10 +350,6 @@ Use the ``django.test.Client`` class to make requests.
including the ``follow``, ``secure``, ``headers``, and ``extra``
parameters, except it does not return a message body.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.options(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
Makes an OPTIONS request on the provided ``path`` and returns a
@@ -377,10 +361,6 @@ Use the ``django.test.Client`` class to make requests.
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
the same as for :meth:`Client.get`.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.put(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
Makes a PUT request on the provided ``path`` and returns a
@@ -392,10 +372,6 @@ Use the ``django.test.Client`` class to make requests.
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
the same as for :meth:`Client.get`.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.patch(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
Makes a PATCH request on the provided ``path`` and returns a
@@ -404,10 +380,6 @@ Use the ``django.test.Client`` class to make requests.
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
the same as for :meth:`Client.get`.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.delete(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
Makes a DELETE request on the provided ``path`` and returns a
@@ -419,10 +391,6 @@ Use the ``django.test.Client`` class to make requests.
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
the same as for :meth:`Client.get`.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.trace(path, follow=False, secure=False, *, headers=None, **extra)
Makes a TRACE request on the provided ``path`` and returns a
@@ -435,10 +403,6 @@ Use the ``django.test.Client`` class to make requests.
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
the same as for :meth:`Client.get`.
- .. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. method:: Client.login(**credentials)
.. method:: Client.alogin(**credentials)
@@ -2041,10 +2005,6 @@ test client, with the following exceptions:
>>> c = AsyncClient()
>>> c.get("/customers/details/", {"name": "fred", "age": 7}, ACCEPT="application/json")
-.. versionchanged:: 4.2
-
- The ``headers`` parameter was added.
-
.. versionchanged:: 5.0
Support for the ``follow`` parameter was added to the ``AsyncClient``.