From 97237ad3feed80407ed1884ea84cf00fd9fea367 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Thu, 16 Sep 2021 07:43:34 +0200 Subject: [PATCH] Removed versionadded/changed annotations for 3.2. --- docs/howto/custom-management-commands.txt | 5 -- docs/howto/error-reporting.txt | 4 -- docs/howto/windows.txt | 2 - docs/ref/applications.txt | 9 --- docs/ref/checks.txt | 4 -- .../class-based-views/generic-date-based.txt | 4 -- .../class-based-views/mixins-date-based.txt | 4 -- docs/ref/contrib/admin/actions.txt | 16 ------ docs/ref/contrib/admin/index.txt | 55 ------------------- docs/ref/contrib/contenttypes.txt | 4 -- docs/ref/contrib/gis/gdal.txt | 8 --- docs/ref/contrib/gis/layermapping.txt | 4 -- docs/ref/contrib/messages.txt | 4 -- docs/ref/contrib/postgres/aggregates.txt | 4 -- docs/ref/contrib/postgres/constraints.txt | 4 -- docs/ref/contrib/postgres/indexes.txt | 37 ------------- docs/ref/contrib/postgres/operations.txt | 6 -- docs/ref/contrib/sitemaps.txt | 10 ---- docs/ref/contrib/syndication.txt | 5 -- docs/ref/databases.txt | 4 -- docs/ref/django-admin.txt | 20 ------- docs/ref/exceptions.txt | 4 -- docs/ref/files/uploads.txt | 2 - docs/ref/forms/formsets.txt | 4 -- docs/ref/forms/models.txt | 8 --- docs/ref/middleware.txt | 5 -- docs/ref/migration-operations.txt | 4 -- docs/ref/models/conditional-expressions.txt | 4 -- docs/ref/models/constraints.txt | 4 -- docs/ref/models/database-functions.txt | 14 ----- docs/ref/models/expressions.txt | 17 ------ docs/ref/models/fields.txt | 9 --- docs/ref/models/indexes.txt | 4 -- docs/ref/models/querysets.txt | 27 --------- docs/ref/paginator.txt | 4 -- docs/ref/request-response.txt | 12 ---- docs/ref/settings.txt | 6 -- docs/ref/template-response.txt | 8 --- docs/ref/templates/builtins.txt | 4 -- docs/ref/urlresolvers.txt | 2 - docs/ref/utils.txt | 5 -- docs/topics/auth/customizing.txt | 7 --- docs/topics/auth/passwords.txt | 2 - docs/topics/cache.txt | 4 -- docs/topics/db/models.txt | 5 -- docs/topics/db/queries.txt | 2 - docs/topics/db/sql.txt | 5 -- docs/topics/db/transactions.txt | 4 -- docs/topics/forms/formsets.txt | 11 ---- docs/topics/http/decorators.txt | 2 - docs/topics/i18n/timezones.txt | 4 -- docs/topics/migrations.txt | 5 -- docs/topics/serialization.txt | 2 - docs/topics/signing.txt | 16 ------ docs/topics/testing/advanced.txt | 9 --- docs/topics/testing/tools.txt | 20 +------ 56 files changed, 3 insertions(+), 455 deletions(-) diff --git a/docs/howto/custom-management-commands.txt b/docs/howto/custom-management-commands.txt index 0cb06a826d..68b4a049e0 100644 --- a/docs/howto/custom-management-commands.txt +++ b/docs/howto/custom-management-commands.txt @@ -223,11 +223,6 @@ All attributes can be set in your derived class and can be used in ``'__all__'`` can be used to specify that all system checks should be performed. Default value is ``'__all__'``. - .. versionchanged:: 3.2 - - In older versions, the ``requires_system_checks`` attribute expects a - boolean value instead of a list or tuple of tags. - .. attribute:: BaseCommand.style An instance attribute that helps create colored output when writing to diff --git a/docs/howto/error-reporting.txt b/docs/howto/error-reporting.txt index 9eed8f4def..6cd69d5857 100644 --- a/docs/howto/error-reporting.txt +++ b/docs/howto/error-reporting.txt @@ -321,16 +321,12 @@ Your custom reporter class needs to inherit from .. attribute:: html_template_path - .. versionadded:: 3.2 - Property that returns a :class:`pathlib.Path` representing the absolute filesystem path to a template for rendering the HTML representation of the exception. Defaults to the Django provided template. .. attribute:: text_template_path - .. versionadded:: 3.2 - Property that returns a :class:`pathlib.Path` representing the absolute filesystem path to a template for rendering the plain-text representation of the exception. Defaults to the Django provided diff --git a/docs/howto/windows.txt b/docs/howto/windows.txt index c0b3bc8509..5bd5b3594a 100644 --- a/docs/howto/windows.txt +++ b/docs/howto/windows.txt @@ -94,8 +94,6 @@ with Django. Colored terminal output ======================= -.. versionadded:: 3.2 - A quality-of-life feature adds colored (rather than monochrome) output to the terminal. In modern terminals this should work for both CMD and PowerShell. If for some reason this needs to be disabled, set the environmental variable diff --git a/docs/ref/applications.txt b/docs/ref/applications.txt index 5d4c0e9a85..9cd1b702f5 100644 --- a/docs/ref/applications.txt +++ b/docs/ref/applications.txt @@ -121,11 +121,6 @@ than the path to a configuration class. from django.apps import apps as django_apps -.. versionchanged:: 3.2 - - In previous versions, a ``default_app_config`` variable in the application - module was used to identify the default application configuration class. - For application users --------------------- @@ -205,8 +200,6 @@ Configurable attributes .. attribute:: AppConfig.default - .. versionadded:: 3.2 - Set this attribute to ``False`` to prevent Django from selecting a configuration class automatically. This is useful when ``apps.py`` defines only one :class:`AppConfig` subclass but you don't want Django to use it by @@ -221,8 +214,6 @@ Configurable attributes .. attribute:: AppConfig.default_auto_field - .. versionadded:: 3.2 - The implicit primary key type to add to models within this app. You can use this to keep :class:`~django.db.models.AutoField` as the primary key type for third party applications. diff --git a/docs/ref/checks.txt b/docs/ref/checks.txt index c65cb4b6ce..055504b757 100644 --- a/docs/ref/checks.txt +++ b/docs/ref/checks.txt @@ -94,10 +94,6 @@ Django's system checks are organized using the following tags: Some checks may be registered with multiple tags. -.. versionchanged:: 3.2 - - The ``sites`` tag was added. - .. versionchanged:: 4.0 The ``files`` tag was added. diff --git a/docs/ref/class-based-views/generic-date-based.txt b/docs/ref/class-based-views/generic-date-based.txt index ff68edb1cf..59d41ae3d2 100644 --- a/docs/ref/class-based-views/generic-date-based.txt +++ b/docs/ref/class-based-views/generic-date-based.txt @@ -344,10 +344,6 @@ views for displaying drilldown pages for date-based data. * ``'%V'``: ISO 8601 week number where the week begins on Monday. - .. versionadded:: 3.2 - - Support for the ``'%V'`` week format was added. - **Example myapp/views.py**:: from django.views.generic.dates import WeekArchiveView diff --git a/docs/ref/class-based-views/mixins-date-based.txt b/docs/ref/class-based-views/mixins-date-based.txt index 95e1868d1b..6a441140ce 100644 --- a/docs/ref/class-based-views/mixins-date-based.txt +++ b/docs/ref/class-based-views/mixins-date-based.txt @@ -183,10 +183,6 @@ Date-based mixins it to ``'%W'`` or ``'%V'`` (ISO 8601 week) if your week starts on Monday. - .. versionadded:: 3.2 - - Support for the ``'%V'`` week format was added. - .. attribute:: week **Optional** The value for the week, as a string. By default, set to diff --git a/docs/ref/contrib/admin/actions.txt b/docs/ref/contrib/admin/actions.txt index 650eda9b4f..da60bc3bbe 100644 --- a/docs/ref/contrib/admin/actions.txt +++ b/docs/ref/contrib/admin/actions.txt @@ -119,13 +119,6 @@ function:: provide human-readable descriptions for callback functions registered there, too. -.. versionchanged:: 3.2 - - The ``description`` argument to the :func:`~django.contrib.admin.action` - decorator is equivalent to setting the ``short_description`` attribute on - the action function directly in previous versions. Setting the attribute - directly is still supported for backward compatibility. - Adding actions to the :class:`ModelAdmin` ----------------------------------------- @@ -419,20 +412,11 @@ For example:: codename = get_permission_codename('publish', opts) return request.user.has_perm('%s.%s' % (opts.app_label, codename)) -.. versionchanged:: 3.2 - - The ``permissions`` argument to the :func:`~django.contrib.admin.action` - decorator is equivalent to setting the ``allowed_permissions`` attribute on - the action function directly in previous versions. Setting the attribute - directly is still supported for backward compatibility. - The ``action`` decorator ======================== .. function:: action(*, permissions=None, description=None) - .. versionadded:: 3.2 - This decorator can be used for setting specific attributes on custom action functions that can be used with :attr:`~django.contrib.admin.ModelAdmin.actions`:: diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt index f77273625c..91f55628fd 100644 --- a/docs/ref/contrib/admin/index.txt +++ b/docs/ref/contrib/admin/index.txt @@ -254,14 +254,6 @@ subclass:: def view_birth_date(self, obj): return obj.birth_date - .. versionchanged:: 3.2 - - The ``empty_value`` argument to the - :func:`~django.contrib.admin.display` decorator is equivalent to - setting the ``empty_value_display`` attribute on the display function - directly in previous versions. Setting the attribute directly is still - supported for backward compatibility. - .. attribute:: ModelAdmin.exclude This attribute, if given, should be a list of field names to exclude from @@ -645,14 +637,6 @@ subclass:: :func:`~django.contrib.admin.display` decorator and passing the ``description`` argument. - .. versionchanged:: 3.2 - - The ``description`` argument to the - :func:`~django.contrib.admin.display` decorator is equivalent to - setting the ``short_description`` attribute on the display function - directly in previous versions. Setting the attribute directly is - still supported for backward compatibility. - * If the value of a field is ``None``, an empty string, or an iterable without elements, Django will display ``-`` (a dash). You can override this with :attr:`AdminSite.empty_value_display`:: @@ -675,14 +659,6 @@ subclass:: def birth_date_view(self, obj): return obj.birth_date - .. versionchanged:: 3.2 - - The ``empty_value`` argument to the - :func:`~django.contrib.admin.display` decorator is equivalent to - setting the ``empty_value_display`` attribute on the display function - directly in previous versions. Setting the attribute directly is - still supported for backward compatibility. - * If the string given is a method of the model, ``ModelAdmin`` or a callable that returns ``True``, ``False``, or ``None``, Django will display a pretty "yes", "no", or "unknown" icon if you wrap the method @@ -703,14 +679,6 @@ subclass:: class PersonAdmin(admin.ModelAdmin): list_display = ('name', 'born_in_fifties') - .. versionchanged:: 3.2 - - The ``boolean`` argument to the - :func:`~django.contrib.admin.display` decorator is equivalent to - setting the ``boolean`` attribute on the display function directly in - previous versions. Setting the attribute directly is still supported - for backward compatibility. - * The ``__str__()`` method is just as valid in ``list_display`` as any other model method, so it's perfectly OK to do this:: @@ -782,14 +750,6 @@ subclass:: def full_name(self): return self.first_name + ' ' + self.last_name - .. versionchanged:: 3.2 - - The ``ordering`` argument to the - :func:`~django.contrib.admin.display` decorator is equivalent to - setting the ``admin_order_field`` attribute on the display function - directly in previous versions. Setting the attribute directly is - still supported for backward compatibility. - * Elements of ``list_display`` can also be properties:: class Person(models.Model): @@ -1145,11 +1105,6 @@ subclass:: ``prepopulated_fields`` doesn't accept ``DateTimeField``, ``ForeignKey``, ``OneToOneField``, and ``ManyToManyField`` fields. - .. versionchanged:: 3.2 - - In older versions, various English stop words are removed from - generated values. - .. attribute:: ModelAdmin.preserve_filters By default, applied filters are preserved on the list view after creating, @@ -1377,10 +1332,6 @@ subclass:: :meth:`ModelAdmin.get_search_results` to provide additional or alternate search behavior. - .. versionchanged:: 3.2 - - Support for searching against quoted phrases with spaces was added. - .. attribute:: ModelAdmin.search_help_text .. versionadded:: 4.0 @@ -2877,8 +2828,6 @@ creating your own ``AdminSite`` instance (see below), and changing the Theming support =============== -.. versionadded:: 3.2 - The admin uses CSS variables to define colors. This allows changing colors without having to override many individual CSS rules. For example, if you preferred purple instead of blue you could add a ``admin/base.html`` template @@ -2982,8 +2931,6 @@ Templates can override or extend base admin templates as described in .. attribute:: AdminSite.final_catch_all_view - .. versionadded:: 3.2 - A boolean value that determines whether to add a final catch-all view to the admin that redirects unauthenticated users to the login page. By default, it is set to ``True``. @@ -3422,8 +3369,6 @@ The ``display`` decorator .. function:: display(*, boolean=None, ordering=None, description=None, empty_value=None) - .. versionadded:: 3.2 - This decorator can be used for setting specific attributes on custom display functions that can be used with :attr:`~django.contrib.admin.ModelAdmin.list_display` or diff --git a/docs/ref/contrib/contenttypes.txt b/docs/ref/contrib/contenttypes.txt index 7550f4fc8d..c23f538b38 100644 --- a/docs/ref/contrib/contenttypes.txt +++ b/docs/ref/contrib/contenttypes.txt @@ -511,10 +511,6 @@ The :mod:`django.contrib.contenttypes.forms` module provides: :class:`~django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model` argument on ``GenericForeignKey``. - .. versionchanged:: 3.2 - - The ``absolute_max`` and ``can_delete_extra`` arguments were added. - .. module:: django.contrib.contenttypes.admin Generic relations in admin diff --git a/docs/ref/contrib/gis/gdal.txt b/docs/ref/contrib/gis/gdal.txt index 8d4cb99652..a6ddcdd4ce 100644 --- a/docs/ref/contrib/gis/gdal.txt +++ b/docs/ref/contrib/gis/gdal.txt @@ -92,10 +92,6 @@ each feature in that layer. Returns the name of the data source. - .. versionchanged:: 3.2 - - Support for :class:`pathlib.Path` ``ds_input`` was added. - __ https://gdal.org/drivers/vector/ ``Layer`` @@ -1409,10 +1405,6 @@ blue. >>> target.origin [-82.98492744885776, 27.601924753080144] - .. versionchanged:: 3.2 - - Support for :class:`SpatialReference` ``srs`` was added - .. attribute:: info Returns a string with a summary of the raster. This is equivalent to diff --git a/docs/ref/contrib/gis/layermapping.txt b/docs/ref/contrib/gis/layermapping.txt index 15a36fa89d..cbce2aff59 100644 --- a/docs/ref/contrib/gis/layermapping.txt +++ b/docs/ref/contrib/gis/layermapping.txt @@ -142,10 +142,6 @@ Keyword Arguments Default is ``'default'``. ===================== ===================================================== -.. versionchanged:: 3.2 - - Support for :class:`pathlib.Path` ``data_source`` was added. - ``save()`` Keyword Arguments ---------------------------- diff --git a/docs/ref/contrib/messages.txt b/docs/ref/contrib/messages.txt index f9c097626a..6c96c383a2 100644 --- a/docs/ref/contrib/messages.txt +++ b/docs/ref/contrib/messages.txt @@ -69,10 +69,6 @@ Django provides three built-in storage classes in to prevent manipulation) to persist notifications across requests. Old messages are dropped if the cookie data size would exceed 2048 bytes. - .. versionchanged:: 3.2 - - Messages format was changed to the :rfc:`6265` compliant format. - .. class:: storage.fallback.FallbackStorage This class first uses ``CookieStorage``, and falls back to using diff --git a/docs/ref/contrib/postgres/aggregates.txt b/docs/ref/contrib/postgres/aggregates.txt index 9223f17ab8..cc177aca87 100644 --- a/docs/ref/contrib/postgres/aggregates.txt +++ b/docs/ref/contrib/postgres/aggregates.txt @@ -130,15 +130,11 @@ General-purpose aggregation functions .. attribute:: distinct - .. versionadded:: 3.2 - An optional boolean argument that determines if array values will be distinct. Defaults to ``False``. .. attribute:: ordering - .. versionadded:: 3.2 - An optional string of a field name (with an optional ``"-"`` prefix which indicates descending order) or an expression (or a tuple or list of strings and/or expressions) that specifies the ordering of the diff --git a/docs/ref/contrib/postgres/constraints.txt b/docs/ref/contrib/postgres/constraints.txt index 7907eaefdf..cb4347dd95 100644 --- a/docs/ref/contrib/postgres/constraints.txt +++ b/docs/ref/contrib/postgres/constraints.txt @@ -109,8 +109,6 @@ enforced immediately after every command. .. attribute:: ExclusionConstraint.include -.. versionadded:: 3.2 - A list or tuple of the names of the fields to be included in the covering exclusion constraint as non-key columns. This allows index-only scans to be used for queries that select only included fields @@ -124,8 +122,6 @@ used for queries that select only included fields .. attribute:: ExclusionConstraint.opclasses -.. versionadded:: 3.2 - The names of the `PostgreSQL operator classes `_ to use for this constraint. If you require a custom operator class, you must provide one diff --git a/docs/ref/contrib/postgres/indexes.txt b/docs/ref/contrib/postgres/indexes.txt index 9a9b7fc73b..de1715c239 100644 --- a/docs/ref/contrib/postgres/indexes.txt +++ b/docs/ref/contrib/postgres/indexes.txt @@ -28,11 +28,6 @@ available from the ``django.contrib.postgres.indexes`` module. .. _bloom: https://www.postgresql.org/docs/current/bloom.html - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - ``BrinIndex`` ============= @@ -46,11 +41,6 @@ available from the ``django.contrib.postgres.indexes`` module. The ``pages_per_range`` argument takes a positive integer. - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - .. _automatic summarization: https://www.postgresql.org/docs/current/brin-intro.html#BRIN-OPERATION ``BTreeIndex`` @@ -63,11 +53,6 @@ available from the ``django.contrib.postgres.indexes`` module. Provide an integer value from 10 to 100 to the fillfactor_ parameter to tune how packed the index pages will be. PostgreSQL's default is 90. - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - .. _fillfactor: https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS ``GinIndex`` @@ -92,11 +77,6 @@ available from the ``django.contrib.postgres.indexes`` module. to tune the maximum size of the GIN pending list which is used when ``fastupdate`` is enabled. - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - .. _GIN Fast Update Technique: https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE .. _gin_pending_list_limit: https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT @@ -127,11 +107,6 @@ available from the ``django.contrib.postgres.indexes`` module. Provide an integer value from 10 to 100 to the fillfactor_ parameter to tune how packed the index pages will be. PostgreSQL's default is 90. - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - .. _buffering build: https://www.postgresql.org/docs/current/gist-implementation.html#GIST-BUFFERING-BUILD .. _fillfactor: https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS @@ -150,11 +125,6 @@ available from the ``django.contrib.postgres.indexes`` module. Hash indexes have been available in PostgreSQL for a long time, but they suffer from a number of data integrity issues in older versions. - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - .. _fillfactor: https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS ``SpGistIndex`` @@ -168,18 +138,11 @@ available from the ``django.contrib.postgres.indexes`` module. Provide an integer value from 10 to 100 to the fillfactor_ parameter to tune how packed the index pages will be. PostgreSQL's default is 90. - .. versionchanged:: 3.2 - - Positional argument ``*expressions`` was added in order to support - functional indexes. - .. _fillfactor: https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS ``OpClass()`` expressions ========================= -.. versionadded:: 3.2 - .. class:: OpClass(expression, name) An ``OpClass()`` expression represents the ``expression`` with a custom diff --git a/docs/ref/contrib/postgres/operations.txt b/docs/ref/contrib/postgres/operations.txt index 4a0ef7a6b8..b63598cb1b 100644 --- a/docs/ref/contrib/postgres/operations.txt +++ b/docs/ref/contrib/postgres/operations.txt @@ -38,10 +38,6 @@ have to create the extension outside of Django migrations with a user that has them. In that case, connect to your Django database and run the query ``CREATE EXTENSION IF NOT EXISTS hstore;``. -.. versionchanged:: 3.2 - - In older versions, the pre-existence of the extension isn't checked. - .. currentmodule:: django.contrib.postgres.operations ``CreateExtension`` @@ -118,8 +114,6 @@ them. In that case, connect to your Django database and run the query Managing collations using migrations ==================================== -.. versionadded:: 3.2 - If you need to filter or order a column using a particular collation that your operating system provides but PostgreSQL does not, you can manage collations in your database using a migration file. These collations can then be used with diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt index 709a3679a4..ec0358391c 100644 --- a/docs/ref/contrib/sitemaps.txt +++ b/docs/ref/contrib/sitemaps.txt @@ -268,8 +268,6 @@ Note: .. attribute:: Sitemap.languages - .. versionadded:: 3.2 - **Optional.** A :term:`sequence` of :term:`language codes` to use for @@ -278,8 +276,6 @@ Note: .. attribute:: Sitemap.alternates - .. versionadded:: 3.2 - **Optional.** A boolean attribute. When used in conjunction with @@ -291,8 +287,6 @@ Note: .. attribute:: Sitemap.x_default - .. versionadded:: 3.2 - **Optional.** A boolean attribute. When ``True`` the alternate links generated by @@ -498,10 +492,6 @@ The ``alternates`` attribute is available when :attr:`~Sitemap.i18n` and versions, including the optional :attr:`~Sitemap.x_default` fallback, for each URL. Each alternate is a dictionary with ``location`` and ``lang_code`` keys. -.. versionchanged:: 3.2 - - The ``alternates`` attribute was added. - The ``item`` attribute has been added for each URL to allow more flexible customization of the templates, such as `Google news sitemaps`_. Assuming Sitemap's :attr:`~Sitemap.items()` would return a list of items with diff --git a/docs/ref/contrib/syndication.txt b/docs/ref/contrib/syndication.txt index c71cd53a99..71be654f53 100644 --- a/docs/ref/contrib/syndication.txt +++ b/docs/ref/contrib/syndication.txt @@ -906,11 +906,6 @@ This example illustrates all possible attributes and methods for a item_comments = 'https://www.example.com/comments' # Hard-coded comments URL -.. versionchanged:: 3.2 - - Support for a comments URL per feed item was added through the - ``item_comments`` hook. - The low-level framework ======================= diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt index 7e55b98af9..d78d2c97d3 100644 --- a/docs/ref/databases.txt +++ b/docs/ref/databases.txt @@ -477,10 +477,6 @@ because it is more accurate. differ only by case will pass validation, but upon calling ``save()``, an ``IntegrityError`` will be raised. -.. versionchanged:: 3.2 - - Support for setting a database collation for the field was added. - Connecting to the database -------------------------- diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt index 4d66a3b3aa..6188324d52 100644 --- a/docs/ref/django-admin.txt +++ b/docs/ref/django-admin.txt @@ -363,8 +363,6 @@ progress bar is shown in the terminal. Fixtures compression ~~~~~~~~~~~~~~~~~~~~ -.. versionadded:: 3.2 - The output file can be compressed with one of the ``bz2``, ``gz``, ``lzma``, or ``xz`` formats by ending the filename with the corresponding extension. For example, to output the data as a compressed JSON file:: @@ -627,10 +625,6 @@ installation will be aborted, and any data installed in the call to constraints, so if you use MyISAM, you won't get validation of fixture data, or a rollback if multiple transaction files are found. -.. versionchanged:: 3.2 - - Support for XZ archives (``.xz``) and LZMA archives (``.lzma``) was added. - Database-specific fixtures ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -831,12 +825,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:: 3.2 - - Support for calling ``makemigrations`` without an active database - connection was added. In that case, check for a consistent migration - history is skipped. - ``migrate`` ----------- @@ -1565,16 +1553,12 @@ as :option:`unittest's --buffer option`. .. django-admin-option:: --no-faulthandler -.. versionadded:: 3.2 - Django automatically calls :func:`faulthandler.enable()` when starting the tests, which allows it to print a traceback if the interpreter crashes. Pass ``--no-faulthandler`` to disable this behavior. .. django-admin-option:: --timing -.. versionadded:: 3.2 - Outputs timings, including database setup and total run time. ``testserver`` @@ -1940,10 +1924,6 @@ but which are not automatically detected as supported by Django, may "fake" the installation of ``ANSICON`` by setting the appropriate environmental variable, ``ANSICON="on"``. -.. versionchanged:: 3.2 - - Updated support for syntax coloring on Windows. - .. _`Windows Terminal`: https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701 .. _`VS Code`: https://code.visualstudio.com .. _ANSICON: http://adoxa.altervista.org/ansicon/ diff --git a/docs/ref/exceptions.txt b/docs/ref/exceptions.txt index 2f5aa64b9d..0355dd5280 100644 --- a/docs/ref/exceptions.txt +++ b/docs/ref/exceptions.txt @@ -167,8 +167,6 @@ list of errors. .. exception:: BadRequest - .. versionadded:: 3.2 - The :exc:`BadRequest` exception is raised when the request cannot be processed due to a client error. If a ``BadRequest`` exception reaches the ASGI/WSGI handler level it results in a @@ -295,8 +293,6 @@ Sessions exceptions are defined in ``django.contrib.sessions.exceptions``. .. exception:: SessionInterrupted - .. versionadded:: 3.2 - :exc:`SessionInterrupted` is raised when a session is destroyed in a concurrent request. It's a subclass of :exc:`~django.core.exceptions.BadRequest`. diff --git a/docs/ref/files/uploads.txt b/docs/ref/files/uploads.txt index eba7392ddc..39456c16f0 100644 --- a/docs/ref/files/uploads.txt +++ b/docs/ref/files/uploads.txt @@ -214,8 +214,6 @@ attributes: .. method:: FileUploadHandler.upload_interrupted() - .. versionadded:: 3.2 - Callback signaling that the upload was interrupted, e.g. when the user closed their browser during file upload. diff --git a/docs/ref/forms/formsets.txt b/docs/ref/forms/formsets.txt index 677184df05..97be3fd03e 100644 --- a/docs/ref/forms/formsets.txt +++ b/docs/ref/forms/formsets.txt @@ -17,10 +17,6 @@ Formset API reference. For introductory material about formsets, see the See :doc:`formsets ` for example usage. - .. versionchanged:: 3.2 - - The ``absolute_max`` and ``can_delete_extra`` arguments were added. - .. versionchanged:: 4.0 The ``renderer`` argument was added. diff --git a/docs/ref/forms/models.txt b/docs/ref/forms/models.txt index 59eac83e7d..c0f0757b3e 100644 --- a/docs/ref/forms/models.txt +++ b/docs/ref/forms/models.txt @@ -69,10 +69,6 @@ Model Form API reference. For introductory material about model forms, see the See :ref:`model-formsets` for example usage. - .. versionchanged:: 3.2 - - The ``absolute_max`` and ``can_delete_extra`` arguments were added. - .. versionchanged:: 4.0 The ``renderer`` argument was added. @@ -91,10 +87,6 @@ Model Form API reference. For introductory material about model forms, see the See :ref:`inline-formsets` for example usage. - .. versionchanged:: 3.2 - - The ``absolute_max`` and ``can_delete_extra`` arguments were added. - .. versionchanged:: 4.0 The ``renderer`` argument was added. diff --git a/docs/ref/middleware.txt b/docs/ref/middleware.txt index 412f8a99a4..fe04f0b3ef 100644 --- a/docs/ref/middleware.txt +++ b/docs/ref/middleware.txt @@ -72,11 +72,6 @@ Adds a few conveniences for perfectionists: """View to be excluded from APPEND_SLASH.""" return HttpResponse() - .. versionchanged:: 3.2 - - Support for the :func:`~django.views.decorators.common.no_append_slash` - decorator was added. - * Sets the ``Content-Length`` header for non-streaming responses. .. attribute:: CommonMiddleware.response_redirect_class diff --git a/docs/ref/migration-operations.txt b/docs/ref/migration-operations.txt index d1620cce8e..0f50c1eb8e 100644 --- a/docs/ref/migration-operations.txt +++ b/docs/ref/migration-operations.txt @@ -490,10 +490,6 @@ structure of an ``Operation`` looks like this:: # migration containing this operation, or None if not applicable. return "custom_operation_%s_%s" % (self.arg1, self.arg2) -.. versionadded:: 3.2 - - The ``migration_name_fragment`` property was added. - You can take this template and work from it, though we suggest looking at the built-in Django operations in ``django.db.migrations.operations`` - they cover a lot of the example usage of semi-internal aspects of the migration framework diff --git a/docs/ref/models/conditional-expressions.txt b/docs/ref/models/conditional-expressions.txt index b7ab3ec3dc..53654b50e5 100644 --- a/docs/ref/models/conditional-expressions.txt +++ b/docs/ref/models/conditional-expressions.txt @@ -92,10 +92,6 @@ Keep in mind that each of these values can be an expression. >>> When(then__exact=0, then=1) >>> When(Q(then=0), then=1) -.. versionchanged:: 3.2 - - Support for using the ``condition`` argument with ``lookups`` was added. - ``Case`` -------- diff --git a/docs/ref/models/constraints.txt b/docs/ref/models/constraints.txt index c675903db6..d604ec30d3 100644 --- a/docs/ref/models/constraints.txt +++ b/docs/ref/models/constraints.txt @@ -165,8 +165,6 @@ enforced immediately after every command. .. attribute:: UniqueConstraint.include -.. versionadded:: 3.2 - A list or tuple of the names of the fields to be included in the covering unique index as non-key columns. This allows index-only scans to be used for queries that select only included fields (:attr:`~UniqueConstraint.include`) @@ -189,8 +187,6 @@ Non-key columns have the same database restrictions as :attr:`Index.include`. .. attribute:: UniqueConstraint.opclasses -.. versionadded:: 3.2 - The names of the `PostgreSQL operator classes `_ to use for this unique index. If you require a custom operator class, you must provide one diff --git a/docs/ref/models/database-functions.txt b/docs/ref/models/database-functions.txt index 3d2e436b67..28d489d256 100644 --- a/docs/ref/models/database-functions.txt +++ b/docs/ref/models/database-functions.txt @@ -97,8 +97,6 @@ Usage examples:: .. class:: Collate(expression, collation) -.. versionadded:: 3.2 - Takes an expression and a collation name to query against. For example, to filter case-insensitively in SQLite:: @@ -158,8 +156,6 @@ and ``comment.modified``. .. class:: JSONObject(**fields) -.. versionadded:: 3.2 - Takes a list of key-value pairs and returns a JSON object containing those pairs. @@ -663,10 +659,6 @@ that deal with date-parts can be used with ``DateField``:: .. attribute:: lookup_name = 'date' .. attribute:: output_field = DateField() - .. versionchanged:: 3.2 - - The ``tzinfo`` parameter was added. - ``TruncDate`` casts ``expression`` to a date rather than using the built-in SQL truncate function. It's also registered as a transform on ``DateTimeField`` as ``__date``. @@ -676,10 +668,6 @@ truncate function. It's also registered as a transform on ``DateTimeField`` as .. attribute:: lookup_name = 'time' .. attribute:: output_field = TimeField() - .. versionchanged:: 3.2 - - The ``tzinfo`` parameter was added. - ``TruncTime`` casts ``expression`` to a time rather than using the built-in SQL truncate function. It's also registered as a transform on ``DateTimeField`` as ``__time``. @@ -1162,8 +1150,6 @@ It can also be registered as a transform. For example:: .. class:: Random(**extra) -.. versionadded:: 3.2 - Returns a random value in the range ``0.0 ≤ x < 1.0``. ``Round`` diff --git a/docs/ref/models/expressions.txt b/docs/ref/models/expressions.txt index 64a7136e6e..ee4093e98a 100644 --- a/docs/ref/models/expressions.txt +++ b/docs/ref/models/expressions.txt @@ -163,10 +163,6 @@ the field value of each one, and saving each one back to the database:: * getting the database, rather than Python, to do work * reducing the number of queries some operations require -.. versionchanged:: 3.2 - - Support for transforms of the field was added. - .. _avoiding-race-conditions-using-f: Avoiding race conditions using ``F()`` @@ -460,10 +456,6 @@ grouping) contains no entries. The ``**extra`` kwargs are ``key=value`` pairs that can be interpolated into the ``template`` attribute. -.. versionchanged:: 3.2 - - Support for transforms of the field was added. - .. versionchanged:: 4.0 The ``default`` argument was added. @@ -522,11 +514,6 @@ inferred from the :py:class:`type` of the provided ``value``, if possible. For example, passing an instance of :py:class:`datetime.datetime` as ``value`` would default ``output_field`` to :class:`~django.db.models.DateTimeField`. -.. versionchanged:: 3.2 - - Support for inferring a default ``output_field`` from the type of ``value`` - was added. - ``ExpressionWrapper()`` expressions ----------------------------------- @@ -595,10 +582,6 @@ parent. For example, this queryset would need to be within a nested pair of >>> Book.objects.filter(author=OuterRef(OuterRef('pk'))) -.. versionchanged:: 3.2 - - Support for transforms of the field was added. - Limiting a subquery to a single column ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index e03b8fa82a..3b20e9a595 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -436,11 +436,6 @@ The primary key field is read-only. If you change the value of the primary key on an existing object and then save it, a new object will be created alongside the old one. -.. versionchanged:: 3.2 - - In older versions, auto-created primary key fields were always - :class:`AutoField`\s. - ``unique`` ---------- @@ -623,8 +618,6 @@ The default form widget for this field is a :class:`~django.forms.TextInput`. .. attribute:: CharField.db_collation - .. versionadded:: 3.2 - Optional. The database collation name of the field. .. note:: @@ -1347,8 +1340,6 @@ However it is not enforced at the model or database level. Use a .. attribute:: TextField.db_collation - .. versionadded:: 3.2 - The database collation name of the field. .. note:: diff --git a/docs/ref/models/indexes.txt b/docs/ref/models/indexes.txt index d2cf98e9e1..77739aab65 100644 --- a/docs/ref/models/indexes.txt +++ b/docs/ref/models/indexes.txt @@ -30,8 +30,6 @@ options`_. .. attribute:: Index.expressions -.. versionadded:: 3.2 - Positional argument ``*expressions`` allows creating functional indexes on expressions and database functions. @@ -188,8 +186,6 @@ indexes records with more than 400 pages. .. attribute:: Index.include -.. versionadded:: 3.2 - A list or tuple of the names of the fields to be included in the covering index as non-key columns. This allows index-only scans to be used for queries that select only included fields (:attr:`~Index.include`) and filter only by indexed diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 6a4ec0fb05..3a90eee179 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -286,8 +286,6 @@ Aggregation `. .. method:: alias(*args, **kwargs) -.. versionadded:: 3.2 - Same as :meth:`annotate`, but instead of annotating objects in the ``QuerySet``, saves the expression for later reuse with other ``QuerySet`` methods. This is useful when the result of the expression itself is not needed @@ -1832,12 +1830,6 @@ raised if ``select_for_update()`` is used in autocommit mode. PostgreSQL doesn't support ``select_for_update()`` with :class:`~django.db.models.expressions.Window` expressions. -.. versionchanged:: 3.2 - - The ``no_key`` argument was added. - - The ``of`` argument was allowed on MySQL 8.0.1+. - .. versionchanged:: 4.0 The ``skip_locked`` argument was allowed on MariaDB 10.6+. @@ -1860,11 +1852,6 @@ See the :doc:`/topics/db/sql` for more information. filtering. As such, it should generally be called from the ``Manager`` or from a fresh ``QuerySet`` instance. -.. versionchanged:: 3.2 - - The default value of the ``params`` argument was changed from ``None`` to - an empty tuple. - Operators that return new ``QuerySet``\s ---------------------------------------- @@ -2328,10 +2315,6 @@ Example:: If you pass ``in_bulk()`` an empty list, you'll get an empty dictionary. -.. versionchanged:: 3.2 - - Using a distinct field was allowed. - ``iterator()`` ~~~~~~~~~~~~~~ @@ -2658,8 +2641,6 @@ update a bunch of records for a model that has a custom Ordered queryset ^^^^^^^^^^^^^^^^ -.. versionadded:: 3.2 - Chaining ``order_by()`` with ``update()`` is supported only on MariaDB and MySQL, and is ignored for different databases. This is useful for updating a unique field in the order that is specified without conflicts. For example:: @@ -3558,10 +3539,6 @@ All aggregates have the following parameters in common: Strings that reference fields on the model, transforms of the field, or :doc:`query expressions `. -.. versionchanged:: 3.2 - - Support for transforms of the field was added. - ``output_field`` ~~~~~~~~~~~~~~~~ @@ -3847,7 +3824,3 @@ operate on vegetarian pizzas. * :meth:`.QuerySet.only` and :meth:`~.QuerySet.prefetch_related`. * A :class:`~django.contrib.contenttypes.fields.GenericForeignKey` inherited from a parent model. - -.. versionchanged:: 3.2 - - Support for nested relations was added. diff --git a/docs/ref/paginator.txt b/docs/ref/paginator.txt index 001fd0217d..545f341656 100644 --- a/docs/ref/paginator.txt +++ b/docs/ref/paginator.txt @@ -80,8 +80,6 @@ Methods .. method:: Paginator.get_elided_page_range(number, *, on_each_side=3, on_ends=2) - .. versionadded:: 3.2 - Returns a 1-based list of page numbers similar to :attr:`Paginator.page_range`, but may add an ellipsis to either or both sides of the current page number when :attr:`Paginator.num_pages` is large. @@ -106,8 +104,6 @@ Attributes .. attribute:: Paginator.ELLIPSIS - .. versionadded:: 3.2 - A translatable string used as a substitute for elided page numbers in the page range returned by :meth:`~Paginator.get_elided_page_range`. Default is ``'…'``. diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt index 5da858720b..f651a77c4b 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -723,12 +723,6 @@ middleware, are not removed. HTTP header fields cannot contain newlines. An attempt to set a header field containing a newline character (CR or LF) will raise ``BadHeaderError`` -.. versionchanged:: 3.2 - - The :attr:`HttpResponse.headers` interface was added. - - The ability to set headers on instantiation was added. - Telling the browser to treat the response as a file attachment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -753,8 +747,6 @@ Attributes .. attribute:: HttpResponse.headers - .. versionadded:: 3.2 - A case insensitive, dict-like object that provides an interface to all HTTP headers on the response. See :ref:`setting-header-fields`. @@ -824,10 +816,6 @@ Methods ``headers`` is a :class:`dict` of HTTP headers for the response. - .. versionchanged:: 3.2 - - The ``headers`` parameter was added. - .. method:: HttpResponse.__setitem__(header, value) Sets the given header name to the given value. Both ``header`` and diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt index a272bdbcb3..8acd42afe6 100644 --- a/docs/ref/settings.txt +++ b/docs/ref/settings.txt @@ -159,10 +159,6 @@ You can use a cache backend that doesn't ship with Django by setting :setting:`BACKEND ` to a fully-qualified path of a cache backend class (i.e. ``mypackage.backends.whatever.WhateverCache``). -.. versionchanged:: 3.2 - - The ``PyMemcacheCache`` backend was added. - .. versionchanged:: 4.0 The ``RedisCache`` backend was added. @@ -1259,8 +1255,6 @@ See also :setting:`NUMBER_GROUPING`, :setting:`THOUSAND_SEPARATOR` and ``DEFAULT_AUTO_FIELD`` ---------------------- -.. versionadded:: 3.2 - Default: ``'``:class:`django.db.models.AutoField`\ ``'`` Default primary key field type to use for models that don't have a field with diff --git a/docs/ref/template-response.txt b/docs/ref/template-response.txt index 52802f5bd1..1babb220f7 100644 --- a/docs/ref/template-response.txt +++ b/docs/ref/template-response.txt @@ -93,10 +93,6 @@ Methods ``headers`` A :class:`dict` of HTTP headers to add to the response. - .. versionchanged:: 3.2 - - The ``headers`` parameter was added. - .. method:: SimpleTemplateResponse.resolve_context(context) Preprocesses context data that will be used for rendering a template. @@ -195,10 +191,6 @@ Methods ``headers`` A :class:`dict` of HTTP headers to add to the response. - .. versionchanged:: 3.2 - - The ``headers`` parameter was added. - The rendering process ===================== diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt index baf0608a40..2edfd65c7b 100644 --- a/docs/ref/templates/builtins.txt +++ b/docs/ref/templates/builtins.txt @@ -1751,10 +1751,6 @@ locale is ``pl`` (Polish): Using ``floatformat`` with no argument is equivalent to using ``floatformat`` with an argument of ``-1``. -.. versionchanged:: 3.2 - - The ``g`` suffix to force grouping by thousand separators was added. - .. versionchanged:: 4.0 ``floatformat`` template filter no longer depends on the diff --git a/docs/ref/urlresolvers.txt b/docs/ref/urlresolvers.txt index 891142df7f..d39345b478 100644 --- a/docs/ref/urlresolvers.txt +++ b/docs/ref/urlresolvers.txt @@ -139,8 +139,6 @@ If the URL does not resolve, the function raises a .. attribute:: ResolverMatch.tried - .. versionadded:: 3.2 - The list of URL patterns tried before the URL either matched one or exhausted available patterns. diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt index d316c8a8bf..38be571a9e 100644 --- a/docs/ref/utils.txt +++ b/docs/ref/utils.txt @@ -821,11 +821,6 @@ appropriate entities. >>> slugify('你好 World', allow_unicode=True) '你好-world' - .. versionchanged:: 3.2 - - In older versions, leading and trailing dashes and underscores are not - removed. - .. _time-zone-selection-functions: ``django.utils.timezone`` diff --git a/docs/topics/auth/customizing.txt b/docs/topics/auth/customizing.txt index 3c73783b24..006b955274 100644 --- a/docs/topics/auth/customizing.txt +++ b/docs/topics/auth/customizing.txt @@ -1172,10 +1172,3 @@ Finally, specify the custom model as the default user model for your project using the :setting:`AUTH_USER_MODEL` setting in your ``settings.py``:: AUTH_USER_MODEL = 'customauth.MyUser' - -.. versionchanged:: 3.2 - - In older versions, ``ReadOnlyPasswordHashField`` is not - :attr:`~django.forms.Field.disabled` by default and - ``UserChangeForm.clean_password()`` is required to return the initial - value, whatever the user provides. diff --git a/docs/topics/auth/passwords.txt b/docs/topics/auth/passwords.txt index c6383ed9a3..3124e5c745 100644 --- a/docs/topics/auth/passwords.txt +++ b/docs/topics/auth/passwords.txt @@ -178,8 +178,6 @@ To use scrypt_ as your default storage algorithm, do the following: Increasing the salt entropy --------------------------- -.. versionadded:: 3.2 - Most password hashes include a salt along with their password hash in order to protect against rainbow table attacks. The salt itself is a random value which increases the size and thus the cost of the rainbow table and is currently set diff --git a/docs/topics/cache.txt b/docs/topics/cache.txt index 3bc35fd51d..f56bc00ce8 100644 --- a/docs/topics/cache.txt +++ b/docs/topics/cache.txt @@ -158,10 +158,6 @@ permanent storage -- they're all intended to be solutions for caching, not storage -- but we point this out here because memory-based caching is particularly temporary. -.. versionchanged:: 3.2 - - The ``PyMemcacheCache`` backend was added. - .. deprecated:: 3.2 The ``MemcachedCache`` backend is deprecated as ``python-memcached`` has diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt index 1c4e99817f..b8d6c30a27 100644 --- a/docs/topics/db/models.txt +++ b/docs/topics/db/models.txt @@ -274,11 +274,6 @@ sees you've explicitly set :attr:`Field.primary_key`, it won't add the automatic Each model requires exactly one field to have :attr:`primary_key=True ` (either explicitly declared or automatically added). -.. versionchanged:: 3.2 - - In older versions, auto-created primary key fields were always - :class:`AutoField`\s. - .. _verbose-field-names: Verbose field names diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index ac425e99f4..c24c06da68 100644 --- a/docs/topics/db/queries.txt +++ b/docs/topics/db/queries.txt @@ -670,8 +670,6 @@ The ``F()`` objects support bitwise operations by ``.bitand()``, ``.bitor()``, Expressions can reference transforms ------------------------------------ -.. versionadded:: 3.2 - Django supports using transforms in expressions. For example, to find all ``Entry`` objects published in the same year as they diff --git a/docs/topics/db/sql.txt b/docs/topics/db/sql.txt index 8d3216c60d..4713fb6d50 100644 --- a/docs/topics/db/sql.txt +++ b/docs/topics/db/sql.txt @@ -98,11 +98,6 @@ make it very powerful. both rows will match. To prevent this, perform the correct typecasting before using the value in a query. -.. versionchanged:: 3.2 - - The default value of the ``params`` argument was changed from ``None`` to - an empty tuple. - Mapping query fields to model fields ------------------------------------ diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt index bffbf94ee6..313aa7d188 100644 --- a/docs/topics/db/transactions.txt +++ b/docs/topics/db/transactions.txt @@ -244,10 +244,6 @@ Django provides a single API to control database transactions. testing durable atomic blocks in a transaction for performance reasons. Use :class:`django.test.TransactionTestCase` for testing durability. -.. versionchanged:: 3.2 - - The ``durable`` argument was added. - Autocommit ========== diff --git a/docs/topics/forms/formsets.txt b/docs/topics/forms/formsets.txt index e15f11dea0..92810091ec 100644 --- a/docs/topics/forms/formsets.txt +++ b/docs/topics/forms/formsets.txt @@ -131,8 +131,6 @@ validation. See :ref:`validate_max`. Limiting the maximum number of instantiated forms ================================================= -.. versionadded:: 3.2 - The ``absolute_max`` parameter to :func:`.formset_factory` allows limiting the number of forms that can be instantiated when supplying ``POST`` data. This protects against memory exhaustion attacks using forged ``POST`` requests:: @@ -268,11 +266,6 @@ the management data by rendering ``{{ my_formset.management_form }}`` client-side code. These fields are not required and so are not shown in the example ``POST`` data. -.. versionchanged:: 3.2 - - ``formset.is_valid()`` now returns ``False`` rather than raising an - exception when the management form is missing or has been tampered with. - ``total_form_count`` and ``initial_form_count`` ----------------------------------------------- @@ -297,8 +290,6 @@ forms with JavaScript. ``error_messages`` ------------------ -.. versionadded:: 3.2 - The ``error_messages`` argument lets you override the default messages that the formset will raise. Pass in a dictionary with keys matching the error messages you want to override. For example, here is the default error message when the @@ -682,8 +673,6 @@ use with ``can_delete``:: ``can_delete_extra`` -------------------- -.. versionadded:: 3.2 - .. attribute:: BaseFormSet.can_delete_extra Default: ``True`` diff --git a/docs/topics/http/decorators.txt b/docs/topics/http/decorators.txt index cabdd4f01a..cb6fa9cdac 100644 --- a/docs/topics/http/decorators.txt +++ b/docs/topics/http/decorators.txt @@ -127,8 +127,6 @@ client-side caching. Common ====== -.. versionadded:: 3.2 - The decorators in :mod:`django.views.decorators.common` allow per-view customization of :class:`~django.middleware.common.CommonMiddleware` behavior. diff --git a/docs/topics/i18n/timezones.txt b/docs/topics/i18n/timezones.txt index 6eda217f56..4c6aa58ba2 100644 --- a/docs/topics/i18n/timezones.txt +++ b/docs/topics/i18n/timezones.txt @@ -35,10 +35,6 @@ Time zone support uses :mod:`zoneinfo`, which is part of the Python standard library from Python 3.9. The ``backports.zoneinfo`` package is automatically installed alongside Django if you are using Python 3.8. -.. versionchanged:: 3.2 - - Support for non-``pytz`` timezone implementations was added. - .. versionchanged:: 4.0 :mod:`zoneinfo` was made the default timezone implementation. You may diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt index fe19f8abdb..d7daa69281 100644 --- a/docs/topics/migrations.txt +++ b/docs/topics/migrations.txt @@ -754,11 +754,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 `) -.. versionchanged:: 3.2 - - Serialization support for pure and concrete path objects from - :mod:`pathlib`, and :class:`os.PathLike` instances was added. - Django cannot serialize: - Nested classes diff --git a/docs/topics/serialization.txt b/docs/topics/serialization.txt index 586d7ff13a..f3473e0dff 100644 --- a/docs/topics/serialization.txt +++ b/docs/topics/serialization.txt @@ -310,8 +310,6 @@ The JSON serializer uses ``DjangoJSONEncoder`` for encoding. A subclass of JSONL ----- -.. versionadded:: 3.2 - *JSONL* stands for *JSON Lines*. With this format, objects are separated by new lines, and each line contains a valid JSON object. JSONL serialized data looks like this:: diff --git a/docs/topics/signing.txt b/docs/topics/signing.txt index c862995633..8791697b85 100644 --- a/docs/topics/signing.txt +++ b/docs/topics/signing.txt @@ -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 :py:mod:`hashlib`, it defaults to ``'sha256'``. -.. versionchanged:: 3.2 - - The ``sign_object()`` and ``unsign_object()`` methods were added. - Using the ``salt`` argument --------------------------- @@ -139,10 +135,6 @@ different salt. Unlike your :setting:`SECRET_KEY`, your salt argument does not need to stay secret. -.. versionchanged:: 3.2 - - The ``sign_object()`` and ``unsign_object()`` methods were added. - Verifying timestamped values ---------------------------- @@ -180,15 +172,11 @@ created within a specified period of time:: .. method:: sign_object(obj, serializer=JSONSerializer, compress=False) - .. versionadded:: 3.2 - Encode, optionally compress, append current timestamp, and sign complex data structure (e.g. list, tuple, or dictionary). .. method:: unsign_object(signed_obj, serializer=JSONSerializer, max_age=None) - .. versionadded:: 3.2 - Checks if ``signed_obj`` was signed less than ``max_age`` seconds ago, otherwise raises ``SignatureExpired``. The ``max_age`` parameter can accept an integer or a :py:class:`datetime.timedelta` object. @@ -237,7 +225,3 @@ and tuples) if you pass in a tuple, you will get a list from Reverse of ``dumps()``, raises ``BadSignature`` if signature fails. Checks ``max_age`` (in seconds) if given. - -.. versionchanged:: 3.2 - - The ``sign_object()`` and ``unsign_object()`` methods were added. diff --git a/docs/topics/testing/advanced.txt b/docs/topics/testing/advanced.txt index c0251d8368..a78f1b93fc 100644 --- a/docs/topics/testing/advanced.txt +++ b/docs/topics/testing/advanced.txt @@ -600,10 +600,6 @@ and tear down the test suite. custom arguments by calling ``parser.add_argument()`` inside the method, so that the :djadmin:`test` command will be able to use those arguments. - .. versionadded:: 3.2 - - The ``enable_faulthandler`` and ``timing`` arguments were added. - .. versionadded:: 4.0 The ``logger`` and ``shuffle`` arguments were added. @@ -783,11 +779,6 @@ utility methods in the ``django.test.utils`` module. :ref:`serialized_rollback ` feature. If it's not provided, it defaults to ``aliases``. - .. versionchanged:: 3.2 - - The ``time_keeper`` kwarg was added, and all kwargs were made - keyword-only. - .. versionchanged:: 4.0 The ``serialized_aliases`` kwarg was added. diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index 846d428980..a99ee77cb0 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -868,18 +868,12 @@ It also provides an additional method: (for instance, MySQL with the MyISAM engine), ``setUpTestData()`` will be called before each test, negating the speed benefits. - .. versionchanged:: 3.2 - - Objects assigned to class attributes in ``setUpTestData()`` must - support creating deep copies with :py:func:`copy.deepcopy` in order to - isolate them from alterations performed by each test methods. In - previous versions of Django these objects were reused and changes made - to them were persisted between test methods. + Objects assigned to class attributes in ``setUpTestData()`` must support + creating deep copies with :py:func:`copy.deepcopy` in order to isolate them + from alterations performed by each test methods. .. classmethod:: TestCase.captureOnCommitCallbacks(using=DEFAULT_DB_ALIAS, execute=False) - .. versionadded:: 3.2 - Returns a context manager that captures :func:`transaction.on_commit() ` callbacks for the given database connection. It returns a list that contains, on exit of the context, the @@ -1706,14 +1700,6 @@ your test suite. Output in case of error can be customized with the ``msg`` argument. - .. versionchanged:: 3.2 - - The default value of ``transform`` argument was changed to ``None``. - - .. versionadded:: 3.2 - - Support for direct comparison between querysets was added. - .. deprecated:: 3.2 If ``transform`` is not provided and ``values`` is a list of strings,