From e27e4c03399f610e0db1fb9b881095d762fda2b7 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 2 Jan 2017 10:25:57 -0500 Subject: [PATCH] Removed versionadded/changed annotations for 1.10. --- docs/howto/auth-remote-user.txt | 4 -- docs/howto/custom-management-commands.txt | 2 - docs/howto/custom-model-fields.txt | 4 -- docs/howto/writing-migrations.txt | 2 - .../contributing/writing-code/unit-tests.txt | 2 - docs/ref/applications.txt | 4 -- docs/ref/class-based-views/base.txt | 4 -- docs/ref/contrib/admin/index.txt | 21 ------- docs/ref/contrib/auth.txt | 25 -------- docs/ref/contrib/gis/db-api.txt | 6 -- docs/ref/contrib/gis/functions.txt | 20 ------ docs/ref/contrib/gis/gdal.txt | 18 ------ docs/ref/contrib/gis/geoquerysets.txt | 14 ----- docs/ref/contrib/gis/geos.txt | 62 ------------------- docs/ref/contrib/gis/serializers.txt | 4 -- docs/ref/contrib/postgres/lookups.txt | 2 - docs/ref/contrib/postgres/operations.txt | 2 - docs/ref/contrib/postgres/search.txt | 6 -- docs/ref/contrib/staticfiles.txt | 9 --- docs/ref/csrf.txt | 5 -- docs/ref/django-admin.txt | 26 -------- docs/ref/exceptions.txt | 4 -- docs/ref/files/storage.txt | 8 --- docs/ref/forms/api.txt | 2 - docs/ref/forms/widgets.txt | 4 -- docs/ref/middleware.txt | 8 --- docs/ref/migration-operations.txt | 13 ---- docs/ref/models/database-functions.txt | 4 -- docs/ref/models/expressions.txt | 7 --- docs/ref/models/fields.txt | 4 -- docs/ref/models/instances.txt | 11 ---- docs/ref/models/options.txt | 4 -- docs/ref/models/querysets.txt | 11 ---- docs/ref/request-response.txt | 13 ---- docs/ref/settings.txt | 33 ---------- docs/ref/signals.txt | 8 --- docs/ref/templates/api.txt | 9 --- docs/ref/templates/builtins.txt | 22 ------- docs/ref/utils.txt | 4 -- docs/ref/validators.txt | 4 -- docs/ref/views.txt | 16 ----- docs/topics/auth/customizing.txt | 9 --- docs/topics/auth/default.txt | 12 ---- docs/topics/auth/passwords.txt | 2 - docs/topics/checks.txt | 4 -- docs/topics/db/managers.txt | 7 --- docs/topics/db/models.txt | 14 ----- docs/topics/db/multi-db.txt | 5 -- docs/topics/forms/media.txt | 4 -- docs/topics/forms/modelforms.txt | 10 --- docs/topics/http/middleware.txt | 9 --- docs/topics/i18n/translation.txt | 19 ------ docs/topics/logging.txt | 6 -- docs/topics/migrations.txt | 9 --- docs/topics/serialization.txt | 4 -- docs/topics/templates.txt | 4 -- docs/topics/testing/tools.txt | 13 ---- 57 files changed, 562 deletions(-) diff --git a/docs/howto/auth-remote-user.txt b/docs/howto/auth-remote-user.txt index b695fbd647..7bc9ef08c0 100644 --- a/docs/howto/auth-remote-user.txt +++ b/docs/howto/auth-remote-user.txt @@ -75,10 +75,6 @@ regardless of ``AUTHENTICATION_BACKENDS``. :class:`~django.contrib.auth.backends.AllowAllUsersRemoteUserBackend` if you want to allow them to. - .. versionchanged:: 1.10 - - In older versions, inactive users weren't rejected as described above. - If your authentication mechanism uses a custom HTTP header and not ``REMOTE_USER``, you can subclass ``RemoteUserMiddleware`` and set the ``header`` attribute to the desired ``request.META`` key. For example:: diff --git a/docs/howto/custom-management-commands.txt b/docs/howto/custom-management-commands.txt index e6482a0da8..620681ab35 100644 --- a/docs/howto/custom-management-commands.txt +++ b/docs/howto/custom-management-commands.txt @@ -227,8 +227,6 @@ All attributes can be set in your derived class and can be used in .. attribute:: BaseCommand.requires_migrations_checks - .. versionadded:: 1.10 - A boolean; if ``True``, the command prints a warning if the set of migrations on disk don't match the migrations in the database. A warning doesn't prevent the command from executing. Default value is ``False``. diff --git a/docs/howto/custom-model-fields.txt b/docs/howto/custom-model-fields.txt index 3c71f8f004..a5f2048272 100644 --- a/docs/howto/custom-model-fields.txt +++ b/docs/howto/custom-model-fields.txt @@ -464,10 +464,6 @@ need the foreign keys that point to that field to use the same data type:: def rel_db_type(self, connection): return 'integer UNSIGNED' -.. versionadded:: 1.10 - - The :meth:`~Field.rel_db_type` method was added. - .. _converting-values-to-python-objects: Converting values to Python objects diff --git a/docs/howto/writing-migrations.txt b/docs/howto/writing-migrations.txt index f850e927eb..35964f7ce8 100644 --- a/docs/howto/writing-migrations.txt +++ b/docs/howto/writing-migrations.txt @@ -189,8 +189,6 @@ the respective field according to your needs. Non-atomic migrations ~~~~~~~~~~~~~~~~~~~~~ -.. versionadded:: 1.10 - On databases that support DDL transactions (SQLite and PostgreSQL), migrations will run inside a transaction by default. For use cases such as performing data migrations on large tables, you may want to prevent a migration from running in diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt index 1bed503898..7c0e65bf71 100644 --- a/docs/internals/contributing/writing-code/unit-tests.txt +++ b/docs/internals/contributing/writing-code/unit-tests.txt @@ -428,8 +428,6 @@ a temporary ``Apps`` instance:: .. function:: django.test.utils.isolate_apps(*app_labels, attr_name=None, kwarg_name=None) -.. versionadded:: 1.10 - Since this pattern involves a lot of boilerplate, Django provides the :func:`~django.test.utils.isolate_apps` decorator. It's used like this:: diff --git a/docs/ref/applications.txt b/docs/ref/applications.txt index c3a06ab855..8663e65222 100644 --- a/docs/ref/applications.txt +++ b/docs/ref/applications.txt @@ -401,10 +401,6 @@ application registry. :setting:`FORCE_SCRIPT_NAME` if defined, or ``/`` otherwise. * Initializing the application registry. - .. versionchanged:: 1.10 - - The ability to set the URL resolver script prefix is new. - This function is called automatically: * When running an HTTP server via Django's WSGI support. diff --git a/docs/ref/class-based-views/base.txt b/docs/ref/class-based-views/base.txt index 80904ef76f..c6959ca9ef 100644 --- a/docs/ref/class-based-views/base.txt +++ b/docs/ref/class-based-views/base.txt @@ -22,10 +22,6 @@ MRO is an acronym for Method Resolution Order. this base class. It isn't strictly a generic view and thus can also be imported from ``django.views``. - .. versionchanged:: 1.10 - - The ability to import from ``django.views`` was added. - **Method Flowchart** 1. :meth:`dispatch()` diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt index b08d17421e..1fa3843c73 100644 --- a/docs/ref/contrib/admin/index.txt +++ b/docs/ref/contrib/admin/index.txt @@ -1151,8 +1151,6 @@ subclass:: .. attribute:: ModelAdmin.save_as_continue - .. versionadded:: 1.10 - When :attr:`save_as=True `, the default redirect after saving the new object is to the change view for that object. If you set ``save_as_continue=False``, the redirect will be to the changelist view. @@ -1950,10 +1948,6 @@ To avoid conflicts with user-supplied scripts or libraries, Django's jQuery in your own admin JavaScript without including a second copy, you can use the ``django.jQuery`` object on changelist and add/edit views. -.. versionchanged:: 1.10 - - The embedded jQuery was upgraded from 2.1.4 to 2.2.3. - The :class:`ModelAdmin` class requires jQuery by default, so there is no need to add jQuery to your ``ModelAdmin``’s list of media resources unless you have a specific need. For example, if you require the jQuery library to be in the @@ -2100,8 +2094,6 @@ The ``InlineModelAdmin`` class adds: .. attribute:: InlineModelAdmin.classes - .. versionadded:: 1.10 - A list or tuple containing extra CSS classes to apply to the fieldset that is rendered for the inlines. Defaults to ``None``. As with classes configured in :attr:`~ModelAdmin.fieldsets`, inlines with a ``collapse`` @@ -2588,11 +2580,6 @@ Templates can override or extend base admin templates as described in the current request has ``request.META['SCRIPT_NAME']`` set and uses that value if ``site_url`` isn't set to something other than ``/``. - .. versionchanged:: 1.10 - - The ``SCRIPT_NAME`` support described in the previous paragraph was - added. - .. attribute:: AdminSite.index_title The text to put at the top of the admin index page (a string). By default, @@ -2892,12 +2879,6 @@ password box. advised to use the :meth:`get_change_message` method to retrieve this value instead of accessing it directly. - .. versionchanged:: 1.10 - - Previously, this attribute was always a plain string. It is - now JSON-structured so that the message can be translated in the current - user language. Old messages are untouched. - ``LogEntry`` methods -------------------- @@ -2907,8 +2888,6 @@ password box. .. method:: LogEntry.get_change_message() - .. versionadded:: 1.10 - Formats and translates :attr:`change_message` into the current user language. Messages created before Django 1.10 will always be displayed in the language in which they were logged. diff --git a/docs/ref/contrib/auth.txt b/docs/ref/contrib/auth.txt index 87dd580051..c049deb439 100644 --- a/docs/ref/contrib/auth.txt +++ b/docs/ref/contrib/auth.txt @@ -41,10 +41,6 @@ Fields on Python 2, with the option to customize the behavior using :attr:`.User.username_validator`. - .. versionchanged:: 1.10 - - The ``max_length`` increased from 30 to 150 characters. - .. attribute:: first_name Optional. 30 characters or fewer. @@ -99,13 +95,6 @@ Fields authentication in the Django admin all return ``False`` for inactive users. - .. versionchanged:: 1.10 - - In older versions, - :class:`~django.contrib.auth.backends.ModelBackend` and - :class:`~django.contrib.auth.backends.RemoteUserBackend` allowed - inactive users to authenticate. - .. attribute:: is_superuser Boolean. Designates that this user has all permissions without @@ -147,8 +136,6 @@ Attributes .. attribute:: username_validator - .. versionadded:: 1.10 - Points to a validator instance used to validate usernames. Defaults to :class:`validators.UnicodeUsernameValidator` on Python 3 and :class:`validators.ASCIIUsernameValidator` on Python 2. @@ -402,16 +389,12 @@ Validators .. class:: validators.ASCIIUsernameValidator - .. versionadded:: 1.10 - A field validator allowing only ASCII letters, in addition to ``@``, ``.``, ``+``, ``-``, and ``_``. The default validator for ``User.username`` on Python 2. .. class:: validators.UnicodeUsernameValidator - .. versionadded:: 1.10 - A field validator allowing Unicode letters, in addition to ``@``, ``.``, ``+``, ``-``, and ``_``. The default validator for ``User.username`` on Python 3. @@ -568,8 +551,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`: .. method:: ModelBackend.user_can_authenticate() - .. versionadded:: 1.10 - Returns whether the user is allowed to authenticate. To match the behavior of :class:`~django.contrib.auth.forms.AuthenticationForm` which :meth:`prohibits inactive users from logging in @@ -581,8 +562,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`: .. class:: AllowAllUsersModelBackend - .. versionadded:: 1.10 - Same as :class:`ModelBackend` except that it doesn't reject inactive users because :meth:`~ModelBackend.user_can_authenticate` always returns ``True``. @@ -637,8 +616,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`: .. method:: RemoteUserBackend.user_can_authenticate() - .. versionadded:: 1.10 - Returns whether the user is allowed to authenticate. This method returns ``False`` for users with :attr:`is_active=False `. Custom user models that don't @@ -647,8 +624,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`: .. class:: AllowAllUsersRemoteUserBackend - .. versionadded:: 1.10 - Same as :class:`RemoteUserBackend` except that it doesn't reject inactive users because :attr:`~RemoteUserBackend.user_can_authenticate` always returns ``True``. diff --git a/docs/ref/contrib/gis/db-api.txt b/docs/ref/contrib/gis/db-api.txt index 2ed758db28..daa32d75ec 100644 --- a/docs/ref/contrib/gis/db-api.txt +++ b/docs/ref/contrib/gis/db-api.txt @@ -56,10 +56,6 @@ Raster Support lookups are available for raster fields, but spatial database functions and aggregates aren't implemented for raster fields. -.. versionchanged:: 1.10 - - ``RasterField`` now supports spatial lookups. - Creating and Saving Models with Geometry Fields =============================================== @@ -173,8 +169,6 @@ GeoJSON , WKT, or HEXEWKB), and ``rst`` is a Raster Lookups -------------- -.. versionadded:: 1.10 - The raster lookup syntax is similar to the syntax for geometries. The only difference is that a band index can be specified as additional input. If no band index is specified, the first band is used by default (index ``0``). In that diff --git a/docs/ref/contrib/gis/functions.txt b/docs/ref/contrib/gis/functions.txt index 1fbe1fa212..f60c3f3f6e 100644 --- a/docs/ref/contrib/gis/functions.txt +++ b/docs/ref/contrib/gis/functions.txt @@ -202,10 +202,6 @@ Accepts two geographic fields or expressions and returns the geometric difference, that is the part of geometry A that does not intersect with geometry B. -.. versionchanged:: 1.10 - - MySQL support was added. - ``Distance`` ============ @@ -288,10 +284,6 @@ representation of the geometry. The ``precision`` keyword argument controls the number of characters in the result. -.. versionchanged:: 1.10 - - SpatiaLite support was added. - __ https://en.wikipedia.org/wiki/Geohash ``Intersection`` @@ -304,17 +296,11 @@ __ https://en.wikipedia.org/wiki/Geohash Accepts two geographic fields or expressions and returns the geometric intersection between them. -.. versionchanged:: 1.10 - - MySQL support was added. - ``IsValid`` =========== .. class:: IsValid(expr) -.. versionadded:: 1.10 - *Availability*: PostGIS, Oracle, SpatiaLite (LWGEOM) Accepts a geographic field or expression and tests if the value is well formed. @@ -351,8 +337,6 @@ resource-intensive) with the ``spheroid`` keyword argument. .. class:: MakeValid(expr) -.. versionadded:: 1.10 - *Availability*: PostGIS, SpatiaLite (LWGEOM) Accepts a geographic field or expression and attempts to convert the value into @@ -469,10 +453,6 @@ Accepts two geographic fields or expressions and returns the geometric symmetric difference (union without the intersection) between the given parameters. -.. versionchanged:: 1.10 - - MySQL support was added. - ``Transform`` ============= diff --git a/docs/ref/contrib/gis/gdal.txt b/docs/ref/contrib/gis/gdal.txt index 3f9219dc0d..9e6568cc7a 100644 --- a/docs/ref/contrib/gis/gdal.txt +++ b/docs/ref/contrib/gis/gdal.txt @@ -1215,8 +1215,6 @@ blue. .. attribute:: srid - .. versionadded:: 1.10 - The Spatial Reference System Identifier (SRID) of the raster. This property is a shortcut to getting or setting the SRID through the :attr:`srs` attribute. @@ -1418,8 +1416,6 @@ blue. .. method:: statistics(refresh=False, approximate=False) - .. versionadded:: 1.10 - Compute statistics on the pixel values of this band. The return value is a tuple with the following structure: ``(minimum, maximum, mean, standard deviation)``. @@ -1455,15 +1451,11 @@ blue. .. attribute:: mean - .. versionadded:: 1.10 - The mean of all pixel values of the band (excluding the "no data" value). .. attribute:: std - .. versionadded:: 1.10 - The standard deviation of all pixel values of the band (excluding the "no data" value). @@ -1476,11 +1468,6 @@ blue. To delete an existing "no data" value, set this property to ``None`` (requires GDAL ≥ 2.1). - .. versionchanged:: 1.10 - - The "no data" value can now be deleted by setting the - ``nodata_value`` attribute to ``None``. - .. method:: datatype(as_string=False) The data type contained in the band, as an integer constant between 0 @@ -1550,11 +1537,6 @@ blue. [2, 2, 2, 2], [3, 3, 3, 3]], dtype=uint8) - .. versionchanged:: 1.10 - - The ``shape`` parameter and the ability to replicate data input when - setting ``GDALBand`` data was added. - Settings ======== diff --git a/docs/ref/contrib/gis/geoquerysets.txt b/docs/ref/contrib/gis/geoquerysets.txt index 8213e0292d..63258890cb 100644 --- a/docs/ref/contrib/gis/geoquerysets.txt +++ b/docs/ref/contrib/gis/geoquerysets.txt @@ -17,10 +17,6 @@ For an introduction, see the :ref:`spatial lookups introduction compatible with a particular spatial backend, refer to the :ref:`spatial lookup compatibility table `. -.. versionchanged:: 1.10 - - Spatial lookups now support raster input. - Lookups with rasters -------------------- @@ -298,8 +294,6 @@ SpatiaLite ``Intersects(poly, geom)`` ``isvalid`` ----------- -.. versionadded:: 1.10 - *Availability*: PostGIS Tests if the geometry is valid. @@ -603,10 +597,6 @@ of ``ST_Distance_Sphere``. The simpler ``ST_Distance`` function is used with projected coordinate systems. Rasters are converted to geometries for spheroid based lookups. -.. versionadded:: 1.10 - - The ability to pass an expression as the distance value was added. - .. versionadded:: 1.11 Support for the ``'spheroid'`` option on SQLite was added. @@ -797,10 +787,6 @@ Example:: Returns a ``LineString`` constructed from the point field geometries in the ``QuerySet``. Currently, ordering the queryset has no effect. -.. versionchanged:: 1.10 - - SpatiaLite support was added. - Example:: >>> qs = City.objects.filter(name__in=('Houston', 'Dallas')).aggregate(MakeLine('poly')) diff --git a/docs/ref/contrib/gis/geos.txt b/docs/ref/contrib/gis/geos.txt index b92a91491a..6df0daf514 100644 --- a/docs/ref/contrib/gis/geos.txt +++ b/docs/ref/contrib/gis/geos.txt @@ -379,10 +379,6 @@ another object. Returns the Well-Known Text of the geometry (an OGC standard). - .. versionchanged:: 1.10 - - Non-significant zeros are stripped from the output. - __ https://developers.google.com/kml/documentation/ Spatial Predicate Methods @@ -399,8 +395,6 @@ return a boolean. .. method:: GEOSGeometry.covers(other) - .. versionadded:: 1.10 - Returns ``True`` if this geometry covers the specified geometry. The ``covers`` predicate has the following equivalent definitions: @@ -569,8 +563,6 @@ Topological Properties .. attribute:: GEOSGeometry.unary_union - .. versionadded:: 1.10 - Computes the union of all the elements of this geometry. The result obeys the following contract: @@ -646,12 +638,6 @@ Other Properties & Methods doesn't impose any constraints on the geometry's SRID if called with a :class:`~django.contrib.gis.gdal.CoordTransform` object. - .. versionchanged:: 1.10 - - In previous versions, it required the geometry's SRID to be a - positive integer even if it was called with a - :class:`~django.contrib.gis.gdal.CoordTransform` object. - .. method:: GEOSGeometry.normalize() Converts this geometry to canonical form:: @@ -681,10 +667,6 @@ Other Properties & Methods >>> pnt = Point() >>> pnt = Point([]) - .. versionchanged:: 1.10 - - In previous versions, an empty ``Point`` couldn't be instantiated. - ``LineString`` -------------- @@ -709,14 +691,8 @@ Other Properties & Methods >>> ls = LineString() >>> ls = LineString([]) - .. versionchanged:: 1.10 - - In previous versions, an empty ``LineString`` couldn't be instantiated. - .. attribute:: closed - .. versionadded:: 1.10 - Returns whether or not this ``LineString`` is closed. ``LinearRing`` @@ -749,10 +725,6 @@ Other Properties & Methods >>> poly = Polygon(ext_coords, int_coords) >>> poly = Polygon(LinearRing(ext_coords), LinearRing(int_coords)) - .. versionchanged:: 1.10 - - In previous versions, an empty ``Polygon`` couldn't be instantiated. - .. classmethod:: from_bbox(bbox) Returns a polygon object from the given bounding-box, a 4-tuple @@ -787,10 +759,6 @@ Geometry Collections >>> mp = MultiPoint(Point(0, 0), Point(1, 1)) >>> mp = MultiPoint( (Point(0, 0), Point(1, 1)) ) - .. versionchanged:: 1.10 - - In previous versions, an empty ``MultiPoint`` couldn't be instantiated. - ``MultiLineString`` ------------------- @@ -805,11 +773,6 @@ Geometry Collections >>> mls = MultiLineString(ls1, ls2) >>> mls = MultiLineString([ls1, ls2]) - .. versionchanged:: 1.10 - - In previous versions, an empty ``MultiLineString`` couldn't be - instantiated. - .. attribute:: merged Returns a :class:`LineString` representing the line merge of @@ -817,8 +780,6 @@ Geometry Collections .. attribute:: closed - .. versionadded:: 1.10 - Returns ``True`` if and only if all elements are closed. Requires GEOS 3.5. ``MultiPolygon`` @@ -834,11 +795,6 @@ Geometry Collections >>> mp = MultiPolygon(p1, p2) >>> mp = MultiPolygon([p1, p2]) - .. versionchanged:: 1.10 - - In previous versions, an empty ``MultiPolygon`` couldn't be - instantiated. - ``GeometryCollection`` ---------------------- @@ -852,11 +808,6 @@ Geometry Collections >>> gc = GeometryCollection(Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly) >>> gc = GeometryCollection((Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly)) - .. versionchanged:: 1.10 - - In previous versions, an empty ``GeometryCollection`` couldn't be - instantiated. - .. _prepared-geometries: Prepared Geometries @@ -978,10 +929,6 @@ include the SRID value (in other words, EWKB). :attr:`WKBWriter.outdim` documentation for more details about the ``dim`` argument. - .. versionchanged:: 1.10 - - The ability to pass the ``dim`` argument to the constructor was added. - .. method:: WKBWriter.write(geom) Returns the WKB of the given geometry as a Python ``buffer`` object. @@ -1071,11 +1018,6 @@ include the SRID value (in other words, EWKB). :attr:`WKBWriter.outdim`, :attr:`trim`, and :attr:`precision` attributes for details about the constructor arguments. - .. versionchanged:: 1.10 - - The ability to pass the ``dim``, ``trim``, and ``precision`` arguments - to the constructor was added. - .. method:: WKTWriter.write(geom) Returns the WKT of the given geometry. Example:: @@ -1092,8 +1034,6 @@ include the SRID value (in other words, EWKB). .. attribute:: WKTWriter.trim - .. versionadded:: 1.10 - This property is used to enable or disable trimming of unnecessary decimals. @@ -1110,8 +1050,6 @@ include the SRID value (in other words, EWKB). .. attribute:: WKTWriter.precision - .. versionadded:: 1.10 - This property controls the rounding precision of coordinates; if set to ``None`` rounding is disabled. diff --git a/docs/ref/contrib/gis/serializers.txt b/docs/ref/contrib/gis/serializers.txt index ffd134936b..057462124d 100644 --- a/docs/ref/contrib/gis/serializers.txt +++ b/docs/ref/contrib/gis/serializers.txt @@ -66,7 +66,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:: 1.10 - - The ``pk`` key was added to the ``properties`` dictionary. diff --git a/docs/ref/contrib/postgres/lookups.txt b/docs/ref/contrib/postgres/lookups.txt index 0176dba547..02ba6716de 100644 --- a/docs/ref/contrib/postgres/lookups.txt +++ b/docs/ref/contrib/postgres/lookups.txt @@ -7,8 +7,6 @@ Trigram similarity .. fieldlookup:: trigram_similar -.. versionadded:: 1.10 - The ``trigram_similar`` lookup allows you to perform trigram lookups, measuring the number of trigrams (three consecutive characters) shared, using a dedicated PostgreSQL extension. A trigram lookup is given an expression and diff --git a/docs/ref/contrib/postgres/operations.txt b/docs/ref/contrib/postgres/operations.txt index eecac388a6..90cd007121 100644 --- a/docs/ref/contrib/postgres/operations.txt +++ b/docs/ref/contrib/postgres/operations.txt @@ -80,8 +80,6 @@ run the query ``CREATE EXTENSION IF NOT EXISTS hstore;``. .. class:: TrigramExtension() - .. versionadded:: 1.10 - Installs the ``pg_trgm`` extension. ``UnaccentExtension`` diff --git a/docs/ref/contrib/postgres/search.txt b/docs/ref/contrib/postgres/search.txt index 6d3022116a..e3f4f7296d 100644 --- a/docs/ref/contrib/postgres/search.txt +++ b/docs/ref/contrib/postgres/search.txt @@ -2,8 +2,6 @@ Full text search ================ -.. versionadded:: 1.10 - The database functions in the ``django.contrib.postgres.search`` module ease the use of PostgreSQL's `full text search engine `_. @@ -203,8 +201,6 @@ operation. .. class:: TrigramSimilarity(expression, string, **extra) -.. versionadded:: 1.10 - Accepts a field name or expression, and a string or expression. Returns the trigram similarity between the two arguments. @@ -224,8 +220,6 @@ Usage example:: .. class:: TrigramDistance(expression, string, **extra) -.. versionadded:: 1.10 - Accepts a field name or expression, and a string or expression. Returns the trigram distance between the two arguments. diff --git a/docs/ref/contrib/staticfiles.txt b/docs/ref/contrib/staticfiles.txt index b8d91fddb8..46f1ce54b1 100644 --- a/docs/ref/contrib/staticfiles.txt +++ b/docs/ref/contrib/staticfiles.txt @@ -129,8 +129,6 @@ For a full list of options, refer to the commands own help by running:: Customizing the ignored pattern list ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. versionadded:: 1.10 - The default ignored pattern list, ``['CVS', '.*', '*~']``, can be customized in a more persistent way than providing the ``--ignore`` command option at each ``collectstatic`` invocation. Provide a custom :class:`~django.apps.AppConfig` @@ -320,13 +318,6 @@ following requirements are met: * you've collected all your static files by using the :djadmin:`collectstatic` management command -.. versionchanged:: 1.10 - - In older versions, you also had to use - ``{% load static from staticfiles %}`` in your template. The - :ttag:`static` template tag (``{% load static %}``) now uses - :mod:`django.contrib.staticfiles` if it's installed. - Since creating the MD5 hash can be a performance burden to your website during runtime, ``staticfiles`` will automatically store the mapping with hashed names for all processed files in a file called ``staticfiles.json``. diff --git a/docs/ref/csrf.txt b/docs/ref/csrf.txt index 3d1ecc1237..488d31187f 100644 --- a/docs/ref/csrf.txt +++ b/docs/ref/csrf.txt @@ -315,11 +315,6 @@ the HOST header ` and that there aren't any (because XSS vulnerabilities already let an attacker do anything a CSRF vulnerability allows and much worse). -.. versionchanged:: 1.10 - - Added salting to the token and started changing it with each request - to protect against `BREACH`_ attacks. - .. _BREACH: http://breachattack.com/ Caching diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt index aa9ebf7139..6a36f77310 100644 --- a/docs/ref/django-admin.txt +++ b/docs/ref/django-admin.txt @@ -138,8 +138,6 @@ make it part of your integration test suite. .. django-admin-option:: --fail-level {CRITICAL,ERROR,WARNING,INFO,DEBUG} -.. versionadded:: 1.10 - Specifies the message level that will cause the command to exit with a non-zero status. Default is ``ERROR``. @@ -393,11 +391,6 @@ table's lifecycle, you'll need to change the :attr:`~django.db.models.Options.managed` option to ``True`` (or simply remove it because ``True`` is its default value). -.. versionadded:: 1.10 - - Support for the ``table`` argument(s) to choose what tables should be - inspected was added. - .. django-admin-option:: --database DATABASE Specifies the database to introspect. Defaults to ``default``. @@ -709,8 +702,6 @@ Makes ``makemigrations`` exit with error code 1 when no migrations are created .. django-admin-option:: --check -.. versionadded:: 1.10 - Makes ``makemigrations`` exit with a non-zero status when model changes without migrations are detected. @@ -835,11 +826,6 @@ history of migrations is created at first run of ``runserver``. Logging of each request and response of the server is sent to the :ref:`django-server-logger` logger. -.. versionchanged:: 1.10 - - In older versions, log messages were written to ``sys.stderr`` instead of - being handled through Python logging. - .. django-admin-option:: --noreload Disables the auto-reloader. This means any Python code changes you make while @@ -962,8 +948,6 @@ variable or the ``~/.pythonrc.py`` script is read. .. django-admin-option:: --command COMMAND, -c COMMAND -.. versionadded:: 1.10 - Lets you pass a command as a string to execute it as Django, like so:: django-admin shell --command="import django; print(django.__version__)" @@ -1334,15 +1318,11 @@ don't. .. option:: --tag TAGS -.. versionadded:: 1.10 - Runs only tests :ref:`marked with the specified tags `. May be specified multiple times and combined with :option:`test --exclude-tag`. .. option:: --exclude-tag EXCLUDE_TAGS -.. versionadded:: 1.10 - Excludes tests :ref:`marked with the specified tags `. May be specified multiple times and combined with :option:`test --tag`. @@ -1803,12 +1783,6 @@ Command options which take multiple options are passed a list:: The return value of the ``call_command()`` function is the same as the return value of the ``handle()`` method of the command. -.. versionchanged:: 1.10 - - ``call_command()`` now returns the value received from the - ``command.handle()`` method. It now also accepts a command object as the - first argument. - Output redirection ================== diff --git a/docs/ref/exceptions.txt b/docs/ref/exceptions.txt index 7245bccaf8..79afe702a1 100644 --- a/docs/ref/exceptions.txt +++ b/docs/ref/exceptions.txt @@ -223,10 +223,6 @@ to Python 3. To avoid unexpected differences with Python 3, Django will also ensure that the exception made available via ``__cause__`` has a usable ``__traceback__`` attribute.) -.. versionchanged:: 1.10 - - The ``__traceback__`` attribute described above was added. - .. exception:: models.ProtectedError Raised to prevent deletion of referenced objects when using diff --git a/docs/ref/files/storage.txt b/docs/ref/files/storage.txt index 61bf3c3951..0d0a11eb94 100644 --- a/docs/ref/files/storage.txt +++ b/docs/ref/files/storage.txt @@ -91,8 +91,6 @@ The ``Storage`` class .. method:: get_accessed_time(name) - .. versionadded:: 1.10 - Returns a :class:`~datetime.datetime` of the last accessed time of the file. For storage systems unable to return the last accessed time this will raise :exc:`NotImplementedError`. @@ -117,8 +115,6 @@ The ``Storage`` class .. method:: get_created_time(name) - .. versionadded:: 1.10 - Returns a :class:`~datetime.datetime` of the creation time of the file. For storage systems unable to return the creation time this will raise :exc:`NotImplementedError`. @@ -128,8 +124,6 @@ The ``Storage`` class .. method:: get_modified_time(name) - .. versionadded:: 1.10 - Returns a :class:`~datetime.datetime` of the last modified time of the file. For storage systems unable to return the last modified time this will raise :exc:`NotImplementedError`. @@ -144,8 +138,6 @@ The ``Storage`` class .. method:: generate_filename(filename) - .. versionadded:: 1.10 - Validates the ``filename`` by calling :attr:`get_valid_name()` and returns a filename to be passed to the :meth:`save` method. diff --git a/docs/ref/forms/api.txt b/docs/ref/forms/api.txt index c74cfaed48..1c4185156d 100644 --- a/docs/ref/forms/api.txt +++ b/docs/ref/forms/api.txt @@ -711,8 +711,6 @@ using the ``label_suffix`` parameter to .. attribute:: Form.use_required_attribute -.. versionadded:: 1.10 - When set to ``True`` (the default), required form fields will have the ``required`` HTML attribute. diff --git a/docs/ref/forms/widgets.txt b/docs/ref/forms/widgets.txt index 2b9cf489f1..210e5ce93c 100644 --- a/docs/ref/forms/widgets.txt +++ b/docs/ref/forms/widgets.txt @@ -291,8 +291,6 @@ foundation for custom widgets. .. method:: value_omitted_from_data(data, files, name) - .. versionadded:: 1.10.2 - Given ``data`` and ``files`` dictionaries and this widget's name, returns whether or not there's data or files for the widget. @@ -307,8 +305,6 @@ foundation for custom widgets. .. method:: use_required_attribute(initial) - .. versionadded:: 1.10.1 - Given a form field's ``initial`` value, returns whether or not the widget can be rendered with the ``required`` HTML attribute. Forms use this method along with :attr:`Field.required diff --git a/docs/ref/middleware.txt b/docs/ref/middleware.txt index dd0bae3bb3..22a2d1a504 100644 --- a/docs/ref/middleware.txt +++ b/docs/ref/middleware.txt @@ -97,8 +97,6 @@ Exception middleware .. class:: ExceptionMiddleware -.. versionadded:: 1.10 - Catches exceptions raised during the request/response cycle and returns the appropriate response. @@ -161,12 +159,6 @@ If the response has an ``ETag`` header, the ETag is made weak to comply with You can apply GZip compression to individual views using the :func:`~django.views.decorators.gzip.gzip_page()` decorator. -.. versionchanged:: 1.10 - - In older versions, Django's CSRF protection mechanism was vulnerable to - BREACH attacks when compression was used. This is no longer the case, but - you should still take care not to compromise your own secrets this way. - Conditional GET middleware -------------------------- diff --git a/docs/ref/migration-operations.txt b/docs/ref/migration-operations.txt index bb5d451379..7e5f4d4784 100644 --- a/docs/ref/migration-operations.txt +++ b/docs/ref/migration-operations.txt @@ -281,10 +281,6 @@ be removed (elided) when :ref:`squashing migrations `. .. _sqlparse: https://pypi.python.org/pypi/sqlparse -.. versionadded:: 1.10 - - The ``elidable`` argument was added. - ``RunPython`` ------------- @@ -400,15 +396,6 @@ if ``atomic=True`` is passed to the ``RunPython`` operation. you want the operation not to do anything in the given direction. This is especially useful in making the operation reversible. -.. versionadded:: 1.10 - - The ``elidable`` argument was added. - -.. versionchanged:: 1.10 - - The ``atomic`` argument default was changed to ``None``, indicating that - the atomicity is controlled by the ``atomic`` attribute of the migration. - ``SeparateDatabaseAndState`` ---------------------------- diff --git a/docs/ref/models/database-functions.txt b/docs/ref/models/database-functions.txt index 231d023e11..18d547d906 100644 --- a/docs/ref/models/database-functions.txt +++ b/docs/ref/models/database-functions.txt @@ -28,8 +28,6 @@ allows the field to have two "empty values", but it's important for the .. class:: Cast(expression, output_field) -.. versionadded:: 1.10 - Forces the result type of ``expression`` to be the one from ``output_field``. Usage example:: @@ -281,8 +279,6 @@ Date Functions .. module:: django.db.models.functions.datetime -.. versionadded:: 1.10 - We'll be using the following model in examples of each function:: class Experiment(models.Model): diff --git a/docs/ref/models/expressions.txt b/docs/ref/models/expressions.txt index 01db103758..4ba63ba928 100644 --- a/docs/ref/models/expressions.txt +++ b/docs/ref/models/expressions.txt @@ -278,8 +278,6 @@ The ``Func`` API is as follows: .. attribute:: arity - .. versionadded:: 1.10 - A class attribute that denotes the number of arguments the function accepts. If this attribute is set and the function is called with a different number of expressions, ``TypeError`` will be raised. Defaults @@ -308,11 +306,6 @@ The ``Func`` API is as follows: template="%(function)s('', %(expressions)s)", ) - .. versionchanged:: 1.10 - - Support for the ``arg_joiner`` and ``**extra_context`` parameters - was added. - The ``*expressions`` argument is a list of positional expressions that the function will be applied to. The expressions will be converted to strings, joined together with ``arg_joiner``, and then interpolated into the ``template`` diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index 5e6e2e1c0e..fc4290edb7 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -401,8 +401,6 @@ otherwise. See :ref:`automatic-primary-key-fields`. .. class:: BigAutoField(**options) -.. versionadded:: 1.10 - A 64-bit integer, much like an :class:`AutoField` except that it is guaranteed to fit numbers from ``1`` to ``9223372036854775807``. @@ -1777,8 +1775,6 @@ Field API reference .. method:: rel_db_type(connection) - .. versionadded:: 1.10 - Returns the database column data type for fields such as ``ForeignKey`` and ``OneToOneField`` that point to the :class:`Field`, taking into account the ``connection``. diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt index 3c1f2e051b..83f76f37ca 100644 --- a/docs/ref/models/instances.txt +++ b/docs/ref/models/instances.txt @@ -119,12 +119,6 @@ The example above shows a full ``from_db()`` implementation to clarify how that is done. In this case it would of course be possible to just use ``super()`` call in the ``from_db()`` method. -.. versionchanged:: 1.10 - - In older versions, you could check if all fields were loaded by consulting - ``cls._deferred``. This attribute is removed and - ``django.db.models.DEFERRED`` is new. - Refreshing objects from database ================================ @@ -135,11 +129,6 @@ value from the database:: >>> del obj.field >>> obj.field # Loads the field from the database -.. versionchanged:: 1.10 - - In older versions, accessing a deleted field raised ``AttributeError`` - instead of reloading it. - .. method:: Model.refresh_from_db(using=None, fields=None) If you need to reload a model's values from the database, you can use the diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt index 23ea0c673e..182c2f6c45 100644 --- a/docs/ref/models/options.txt +++ b/docs/ref/models/options.txt @@ -38,8 +38,6 @@ Available ``Meta`` options .. attribute:: Options.base_manager_name - .. versionadded:: 1.10 - The name of the manager to use for the model's :attr:`~django.db.models.Model._base_manager`. @@ -108,8 +106,6 @@ Django quotes column and table names behind the scenes. .. attribute:: Options.default_manager_name - .. versionadded:: 1.10 - The name of the manager to use for the model's :attr:`~django.db.models.Model._default_manager`. diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index ec71fe0294..ddacf25769 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1949,11 +1949,6 @@ This has a number of caveats though: unless the database backend supports it (currently PostgreSQL). * It does not work with many-to-many relationships. -.. versionchanged:: 1.10 - - Support for setting primary keys on objects created using ``bulk_create()`` - when using PostgreSQL was added. - The ``batch_size`` parameter controls how many objects are created in single query. The default is to create all objects in one batch, except for SQLite where the default is such that at most 999 variables per query are used. @@ -2011,10 +2006,6 @@ Example:: If you pass ``in_bulk()`` an empty list, you'll get an empty dictionary. -.. versionchanged:: 1.10 - - In older versions, ``id_list`` was a required argument. - ``iterator()`` ~~~~~~~~~~~~~~ @@ -3206,8 +3197,6 @@ attribute: .. function:: prefetch_related_objects(model_instances, *related_lookups) -.. versionadded:: 1.10 - Prefetches the given lookups on an iterable of model instances. This is useful in code that receives a list of model instances as opposed to a ``QuerySet``; for example, when fetching models from a cache or instantiating them manually. diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt index b3d0f76a7e..40ba20738e 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -86,15 +86,11 @@ All attributes should be considered read-only, unless stated otherwise. .. attribute:: HttpRequest.content_type - .. versionadded:: 1.10 - A string representing the MIME type of the request, parsed from the ``CONTENT_TYPE`` header. .. attribute:: HttpRequest.content_params - .. versionadded:: 1.10 - A dictionary of key/value parameters included in the ``CONTENT_TYPE`` header. @@ -639,11 +635,6 @@ generators are immediately closed. If you need the response to be streamed from the iterator to the client, you must use the :class:`StreamingHttpResponse` class instead. -.. versionchanged:: 1.10 - - Objects with a ``close()`` method used to be closed when the WSGI server - called ``close()`` on the response. - Setting header fields ~~~~~~~~~~~~~~~~~~~~~ @@ -846,15 +837,11 @@ Methods .. method:: HttpResponse.readable() - .. versionadded:: 1.10 - Always ``False``. This method makes an :class:`HttpResponse` instance a stream-like object. .. method:: HttpResponse.seekable() - .. versionadded:: 1.10 - Always ``False``. This method makes an :class:`HttpResponse` instance a stream-like object. diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt index 97a67ffc3b..e379dc19f4 100644 --- a/docs/ref/settings.txt +++ b/docs/ref/settings.txt @@ -423,11 +423,6 @@ an :class:`~django.http.HttpResponseForbidden`. parameter that defaults to ``'403_csrf.html'``. If a template with that name exists, it will be used to render the page. -.. versionchanged:: 1.10 - - The ``template_name`` parameter and the behavior of searching for a template - called ``403_csrf.html`` were added to ``csrf_failure()``. - .. setting:: CSRF_HEADER_NAME ``CSRF_HEADER_NAME`` @@ -906,8 +901,6 @@ The maximum size that the DATAFILE_TMP is allowed to grow to. DATA_UPLOAD_MAX_MEMORY_SIZE --------------------------- -.. versionadded:: 1.10 - Default: ``2621440`` (i.e. 2.5 MB). The maximum size in bytes that a request body may be before a @@ -930,8 +923,6 @@ See also :setting:`FILE_UPLOAD_MAX_MEMORY_SIZE`. DATA_UPLOAD_MAX_NUMBER_FIELDS ----------------------------- -.. versionadded:: 1.10 - Default: ``1000`` The maximum number of parameters that may be received via GET or POST before a @@ -1513,10 +1504,6 @@ of the preferred value or not supplied at all. It is also used by request/response cycle (e.g. in management commands and standalone scripts) to generate correct URLs when ``SCRIPT_NAME`` is not ``/``. -.. versionchanged:: 1.10 - - The setting's use in :func:`django.setup()` was added. - .. setting:: FORM_RENDERER ``FORM_RENDERER`` @@ -1894,8 +1881,6 @@ Example: ``"http://media.example.com/"`` ``MIDDLEWARE`` -------------- -.. versionadded:: 1.10 - Default:: ``None`` A list of middleware to use. See :doc:`/topics/http/middleware`. @@ -2775,8 +2760,6 @@ the URL in two places (``settings`` and URLconf). ``LOGOUT_REDIRECT_URL`` ----------------------- -.. versionadded:: 1.10 - Default: ``None`` The URL where requests are redirected after a user logs out using @@ -2817,22 +2800,6 @@ Default:: 'django.contrib.auth.hashers.BCryptPasswordHasher', ] -.. versionchanged:: 1.10 - - The following hashers were removed from the defaults:: - - 'django.contrib.auth.hashers.SHA1PasswordHasher' - 'django.contrib.auth.hashers.MD5PasswordHasher' - 'django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher' - 'django.contrib.auth.hashers.UnsaltedMD5PasswordHasher' - 'django.contrib.auth.hashers.CryptPasswordHasher' - - Consider using a :ref:`wrapped password hasher ` - to strengthen the hashes in your database. If that's not feasible, add this - setting to your project and add back any hashers that you need. - - Also, the ``Argon2PasswordHasher`` was added. - .. setting:: AUTH_PASSWORD_VALIDATORS ``AUTH_PASSWORD_VALIDATORS`` diff --git a/docs/ref/signals.txt b/docs/ref/signals.txt index f23bb9eb8c..58026d9425 100644 --- a/docs/ref/signals.txt +++ b/docs/ref/signals.txt @@ -407,8 +407,6 @@ Arguments sent with this signal: The alias of database on which a command will operate. ``plan`` - .. versionadded:: 1.10 - The migration plan that is going to be used for the migration run. While the plan is not public API, this allows for the rare cases when it is necessary to know the plan. A plan is a list of two-tuples with the first @@ -416,8 +414,6 @@ Arguments sent with this signal: if the migration was rolled back (``True``) or applied (``False``). ``apps`` - .. versionadded:: 1.10 - An instance of :data:`Apps ` containing the state of the project before the migration run. It should be used instead of the global :attr:`apps ` registry to retrieve the models you @@ -466,8 +462,6 @@ Arguments sent with this signal: database. ``plan`` - .. versionadded:: 1.10 - The migration plan that was used for the migration run. While the plan is not public API, this allows for the rare cases when it is necessary to know the plan. A plan is a list of two-tuples with the first item being @@ -475,8 +469,6 @@ Arguments sent with this signal: migration was rolled back (``True``) or applied (``False``). ``apps`` - .. versionadded:: 1.10 - An instance of :data:`Apps ` containing the state of the project after the migration run. It should be used instead of the global :attr:`apps ` registry to retrieve the models you diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt index c4ce1b84a5..afa43f7abd 100644 --- a/docs/ref/templates/api.txt +++ b/docs/ref/templates/api.txt @@ -71,10 +71,6 @@ what's passed by :class:`~django.template.backends.django.DjangoTemplates`. Only set it to ``False`` if you're rendering non-HTML templates! - .. versionadded:: 1.10 - - The ``autoescape`` option was added. - * ``context_processors`` is a list of dotted Python paths to callables that are used to populate the context when a template is rendered with a request. These callables take a request object as their argument and @@ -700,11 +696,6 @@ the request's IP address (``request.META['REMOTE_ADDR']``) is in the and how long it took. The list is in order by database alias and then by query. It's lazily generated on access. -.. versionchanged:: 1.10 - - In older versions, only the queries for the default database alias were - included. - ``django.template.context_processors.i18n`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt index 5925370843..b4fe7f9665 100644 --- a/docs/ref/templates/builtins.txt +++ b/docs/ref/templates/builtins.txt @@ -231,10 +231,6 @@ In ``template.html``, the following paths would be valid:: {% extends "../base1.html" %} {% extends "./my/base3.html" %} -.. versionadded:: 1.10 - - The ability to use relative paths was added. - .. templatetag:: filter ``filter`` @@ -538,8 +534,6 @@ Not contained within. This is the negation of the ``in`` operator. ``is`` operator ^^^^^^^^^^^^^^^ -.. versionadded:: 1.10 - Object identity. Tests if two values are the same object. Example:: {% if somevar is True %} @@ -553,8 +547,6 @@ Object identity. Tests if two values are the same object. Example:: ``is not`` operator ^^^^^^^^^^^^^^^^^^^ -.. versionadded:: 1.10 - Negated object identity. Tests if two values are not the same object. This is the negation of the ``is`` operator. Example:: @@ -685,10 +677,6 @@ This example includes the contents of the template ``"foo/bar.html"``:: A string argument may be a relative path starting with ``./`` or ``../`` as described in the :ttag:`extends` tag. -.. versionadded:: 1.10 - - The ability to use a relative path was added. - This example includes the contents of the template whose name is contained in the variable ``template_name``:: @@ -1597,10 +1585,6 @@ produce empty output:: {{ values|dictsort:"0" }} -.. versionchanged:: 1.10 - - The ability to order a list of lists was added. - .. templatefilter:: dictsortreversed ``dictsortreversed`` @@ -2585,12 +2569,6 @@ slightly different call:: See :class:`~django.template.backends.jinja2.Jinja2` for information on using the ``static`` tag with Jinja2. -.. versionchanged:: 1.10 - - In older versions, you had to use ``{% load static from staticfiles %}`` in - your template to serve files from the storage defined in - :setting:`STATICFILES_STORAGE`. This is no longer required. - .. templatetag:: get_static_prefix ``get_static_prefix`` diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt index 8beafb8268..79787227e2 100644 --- a/docs/ref/utils.txt +++ b/docs/ref/utils.txt @@ -520,8 +520,6 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004 .. function:: keep_lazy(func, *resultclasses) - .. versionadded:: 1.10 - Django offers many utility functions (particularly in ``django.utils``) that take a string as their first argument and do something to that string. These functions are used by template filters as well as directly in other @@ -565,8 +563,6 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004 .. function:: keep_lazy_text(func) - .. versionadded:: 1.10 - A shortcut for ``keep_lazy(six.text_type)(func)``. If you have a function that returns text and you want to be able to take diff --git a/docs/ref/validators.txt b/docs/ref/validators.txt index 417df517a4..635f76d1eb 100644 --- a/docs/ref/validators.txt +++ b/docs/ref/validators.txt @@ -230,10 +230,6 @@ to, or in lieu of custom ``field.clean()`` methods. of integers separated by ``sep``. It allows negative integers when ``allow_negative`` is ``True``. - .. versionchanged:: 1.10 - - The ``allow_negative`` parameter was added. - ``MaxValueValidator`` --------------------- diff --git a/docs/ref/views.txt b/docs/ref/views.txt index 2b3568114c..93303527bc 100644 --- a/docs/ref/views.txt +++ b/docs/ref/views.txt @@ -87,10 +87,6 @@ Three things to note about 404 views: your 404 view will never be used, and your URLconf will be displayed instead, with some debug information. -.. versionchanged:: 1.10 - - Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``. - .. _http_internal_server_error_view: The 500 (server error) view @@ -111,10 +107,6 @@ If :setting:`DEBUG` is set to ``True`` (in your settings module), then your 500 view will never be used, and the traceback will be displayed instead, with some debug information. -.. versionchanged:: 1.10 - - Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``. - .. _http_forbidden_view: The 403 (HTTP Forbidden) view @@ -143,10 +135,6 @@ view you can use code like this:: raise PermissionDenied # ... -.. versionchanged:: 1.10 - - Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``. - .. _http_bad_request_view: The 400 (bad request) view @@ -167,7 +155,3 @@ context, as the exception message might contain sensitive information like filesystem paths. ``bad_request`` views are also only used when :setting:`DEBUG` is ``False``. - -.. versionchanged:: 1.10 - - Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``. diff --git a/docs/topics/auth/customizing.txt b/docs/topics/auth/customizing.txt index 40675d2ef6..0f750adc2b 100644 --- a/docs/topics/auth/customizing.txt +++ b/docs/topics/auth/customizing.txt @@ -260,11 +260,6 @@ authenticated users do not. Do not forget to test for the ``is_active`` attribute of the user in your own backend permission methods. -.. versionchanged:: 1.10 - - In older versions, the :class:`~django.contrib.auth.backends.ModelBackend` - allowed inactive users to authenticate. - Handling object permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -661,8 +656,6 @@ The following attributes and methods are available on any subclass of .. method:: clean() - .. versionadded:: 1.10 - Normalizes the username by calling :meth:`normalize_username`. If you override this method, be sure to call ``super()`` to retain the normalization. @@ -677,8 +670,6 @@ The following attributes and methods are available on any subclass of .. classmethod:: normalize_username(username) - .. versionadded:: 1.10 - Applies NFKC Unicode normalization to usernames so that visually identical characters with different Unicode code points are considered identical. diff --git a/docs/topics/auth/default.txt b/docs/topics/auth/default.txt index b1f111c092..7aea283a10 100644 --- a/docs/topics/auth/default.txt +++ b/docs/topics/auth/default.txt @@ -358,14 +358,6 @@ If you have an authenticated user you want to attach to the current session # Return an 'invalid login' error message. ... - .. versionchanged:: 1.10 - - In older versions, when you're manually logging a user in, you *must* - successfully authenticate the user with - :func:`~django.contrib.auth.authenticate()` before you call - :func:`~django.contrib.auth.login()`. Now you can set the backend using - the new ``backend`` argument. - Selecting the authentication backend ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -956,10 +948,6 @@ implementation details see :ref:`using-the-views`. The optional arguments of this view are similar to the class-based ``LoginView`` attributes. - .. versionadded:: 1.10 - - The ``redirect_authenticated_user`` parameter was added. - .. class:: LoginView .. versionadded:: 1.11 diff --git a/docs/topics/auth/passwords.txt b/docs/topics/auth/passwords.txt index 7015e65404..128a2906cb 100644 --- a/docs/topics/auth/passwords.txt +++ b/docs/topics/auth/passwords.txt @@ -76,8 +76,6 @@ to modify this setting. Using Argon2 with Django ------------------------ -.. versionadded:: 1.10 - Argon2_ is the winner of the 2015 `Password Hashing Competition`_, a community organized open competition to select a next generation hashing algorithm. It's designed not to be easier to compute on custom hardware than it is to compute diff --git a/docs/topics/checks.txt b/docs/topics/checks.txt index 355e85714e..59ead9d5a7 100644 --- a/docs/topics/checks.txt +++ b/docs/topics/checks.txt @@ -133,10 +133,6 @@ perform any extra checks you need, and append any messages to those generated by the base class. It's recommended that you delegate each check to separate methods. -.. versionchanged:: 1.10 - - Database backend checks were added. - Consider an example where you are implementing a custom field named ``RangedIntegerField``. This field adds ``min`` and ``max`` arguments to the constructor of ``IntegerField``. You may want to add a check to ensure that users diff --git a/docs/topics/db/managers.txt b/docs/topics/db/managers.txt index 2867db02d9..a8923e2e36 100644 --- a/docs/topics/db/managers.txt +++ b/docs/topics/db/managers.txt @@ -367,13 +367,6 @@ Here's how Django handles custom managers and :ref:`model inheritance `, or the first manager declared on the model, or the default manager of the first parent model. -.. versionchanged:: 1.10 - - In older versions, manager inheritance varied depending on the type of - model inheritance (i.e. :ref:`abstract-base-classes`, - :ref:`multi-table-inheritance`, or :ref:`proxy-models`), especially - with regards to electing the default manager. - These rules provide the necessary flexibility if you want to install a collection of custom managers on a group of models, via an abstract base class, but still customize the default manager. For example, suppose you have diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt index 07caa00b02..1ce164f532 100644 --- a/docs/topics/db/models.txt +++ b/docs/topics/db/models.txt @@ -1034,11 +1034,6 @@ attribute was omitted, the reverse name for the ``m2m`` field would be ``childa_set`` in the ``ChildA`` case and ``childb_set`` for the ``ChildB`` field. -.. versionchanged:: 1.10 - - Interpolation of ``'%(app_label)s'`` and ``'%(class)s'`` for - ``related_query_name`` was added. - .. _multi-table-inheritance: Multi-table inheritance @@ -1236,11 +1231,6 @@ proxy model can inherit from any number of abstract model classes, providing they do *not* define any model fields. A proxy model may also inherit from any number of proxy models that share a common non-abstract parent class. -.. versionchanged:: 1.10 - - In earlier versions, a proxy model couldn't inherit more than one proxy - model that shared the same parent class. - Proxy model managers ~~~~~~~~~~~~~~~~~~~~ @@ -1374,10 +1364,6 @@ This restriction doesn't apply to model fields inherited from an abstract model. Such fields may be overridden with another field or value, or be removed by setting ``field_name = None``. -.. versionchanged:: 1.10 - - The ability to override abstract fields was added. - .. warning:: Model managers are inherited from abstract base classes. Overriding an diff --git a/docs/topics/db/multi-db.txt b/docs/topics/db/multi-db.txt index 83ac9b7c5e..69885453b3 100644 --- a/docs/topics/db/multi-db.txt +++ b/docs/topics/db/multi-db.txt @@ -109,11 +109,6 @@ creating new migrations. By default, it checks only the ``default`` database, but it consults the :meth:`allow_migrate` method of :ref:`routers ` if any are installed. -.. versionchanged:: 1.10 - - Migration consistency checks were added. Checks based on database routers - were added in 1.10.1. - .. _topics-db-multi-db-routing: Automatic database routing diff --git a/docs/topics/forms/media.txt b/docs/topics/forms/media.txt index adbd2c377e..0bdf237a21 100644 --- a/docs/topics/forms/media.txt +++ b/docs/topics/forms/media.txt @@ -249,10 +249,6 @@ Or if :mod:`~django.contrib.staticfiles` is configured using the -.. versionchanged:: 1.10 - - Older versions didn't serve assets using :mod:`django.contrib.staticfiles`. - ``Media`` objects ================= diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt index eb397a3d4a..b0115cef7e 100644 --- a/docs/topics/forms/modelforms.txt +++ b/docs/topics/forms/modelforms.txt @@ -342,16 +342,6 @@ there is one, for that field. This behavior doesn't apply to fields that use form submission. Use a custom form field or widget if you're designing an API and want the default fallback for a :class:`~django.db.models.BooleanField`. -.. versionchanged:: 1.10.1 - - Older versions don't have the exception for - :class:`~django.forms.CheckboxInput` which means that unchecked checkboxes - receive a value of ``True`` if that's the model field default. - -.. versionchanged:: 1.10.2 - - The :meth:`~django.forms.Widget.value_omitted_from_data` method was added. - This ``save()`` method accepts an optional ``commit`` keyword argument, which accepts either ``True`` or ``False``. If you call ``save()`` with ``commit=False``, then it will return an object that hasn't yet been saved to diff --git a/docs/topics/http/middleware.txt b/docs/topics/http/middleware.txt index d5e8927065..09cf78557d 100644 --- a/docs/topics/http/middleware.txt +++ b/docs/topics/http/middleware.txt @@ -86,15 +86,6 @@ caveats: * Unlike the ``__call__()`` method which is called once per request, ``__init__()`` is called only *once*, when the Web server starts. -.. versionchanged:: 1.10 - - In older versions, ``__init__()`` wasn't called until the Web server - responded to its first request. - - In older versions, ``__init__()`` didn't accept any arguments. To allow - your middleware to be used in Django 1.9 and earlier, make ``get_response`` - an optional argument (``get_response=None``). - Marking middleware as unused ---------------------------- diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt index 4605f998e5..bb3796a32e 100644 --- a/docs/topics/i18n/translation.txt +++ b/docs/topics/i18n/translation.txt @@ -988,8 +988,6 @@ The ``JavaScriptCatalog`` view .. module:: django.views.i18n -.. versionadded:: 1.10 - .. class:: JavaScriptCatalog A view that produces a JavaScript code library with functions that mimic @@ -1216,8 +1214,6 @@ will render a conditional expression. This will evaluate to either a ``true`` The ``JSONCatalog`` view ------------------------ -.. versionadded:: 1.10 - .. class:: JSONCatalog In order to use another client-side library to handle translations, you may @@ -1379,22 +1375,12 @@ will be:: >>> reverse('news:index') '/nl/news/' -.. versionadded:: 1.10 - - The ``prefix_default_language`` parameter was added. - .. warning:: :func:`~django.conf.urls.i18n.i18n_patterns` is only allowed in a root URLconf. Using it within an included URLconf will throw an :exc:`~django.core.exceptions.ImproperlyConfigured` exception. -.. versionchanged:: 1.10 - - In older version, using ``i18n_patterns`` in a root URLconf different from - :setting:`ROOT_URLCONF` by setting :attr:`request.urlconf - ` wasn't supported. - .. warning:: Ensure that you don't have non-prefixed URL patterns that might collide @@ -1814,11 +1800,6 @@ set, to ``/``, depending on the nature of the request: parameter was set. Otherwise a 204 status code (No Content) will be returned. * For non-AJAX requests, the fallback will always be performed. -.. versionchanged:: 1.10 - - Returning a 204 status code for AJAX requests when no redirect is specified - is new. - Here's example HTML template code: .. code-block:: html+django diff --git a/docs/topics/logging.txt b/docs/topics/logging.txt index 15a49f0d4d..859f18516d 100644 --- a/docs/topics/logging.txt +++ b/docs/topics/logging.txt @@ -481,8 +481,6 @@ Messages to this logger have the following extra context: ``django.server`` ~~~~~~~~~~~~~~~~~ -.. versionadded:: 1.10 - Log messages related to the handling of requests received by the server invoked by the :djadmin:`runserver` command. HTTP 5XX responses are logged as ``ERROR`` messages, 4XX responses are logged as ``WARNING`` messages, and everything else @@ -584,10 +582,6 @@ Messages to this logger have ``params`` and ``sql`` in their extra context (but unlike ``django.db.backends``, not duration). The values have the same meaning as explained in :ref:`django-db-logger`. -.. versionadded:: 1.10 - - The ``extra`` context was added. - Handlers -------- diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt index 2be05903ae..e8675fe545 100644 --- a/docs/topics/migrations.txt +++ b/docs/topics/migrations.txt @@ -314,11 +314,6 @@ new migrations until it's fixed. When using multiple databases, you can use the ` to control which databases :djadmin:`makemigrations` checks for consistent history. -.. versionchanged:: 1.10 - - Migration consistency checks were added. Checks based on database routers - were added in 1.10.1. - Adding migrations to apps ========================= @@ -679,10 +674,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:: 1.10 - - Serialization support for ``enum.Enum`` was added. - .. versionchanged:: 1.11 Serialization support for ``uuid.UUID`` was added. diff --git a/docs/topics/serialization.txt b/docs/topics/serialization.txt index 5db5e656ec..9f7a4f41c6 100644 --- a/docs/topics/serialization.txt +++ b/docs/topics/serialization.txt @@ -305,10 +305,6 @@ The JSON serializer uses ``DjangoJSONEncoder`` for encoding. A subclass of :class:`~decimal.Decimal`, ``Promise`` (``django.utils.functional.lazy()`` objects), :class:`~uuid.UUID` A string representation of the object. -.. versionchanged:: 1.10 - - Support for ``Promise`` was added. - .. versionchanged:: 1.11 Support for :class:`~datetime.timedelta` was added. diff --git a/docs/topics/templates.txt b/docs/topics/templates.txt index 3ee9a01efd..a819acf3f0 100644 --- a/docs/topics/templates.txt +++ b/docs/topics/templates.txt @@ -308,10 +308,6 @@ applications. This generic name was kept for backwards-compatibility. Only set it to ``False`` if you're rendering non-HTML templates! - .. versionadded:: 1.10 - - The ``autoescape`` option was added. - * ``'context_processors'``: a list of dotted Python paths to callables that are used to populate the context when a template is rendered with a request. These callables take a request object as their argument and return a diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index 5bb34be1a3..b8c799619e 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -371,12 +371,6 @@ Use the ``django.test.Client`` class to make requests. :meth:`~django.contrib.auth.models.UserManager.create_user` helper method to create a new user with a correctly hashed password. - .. versionchanged:: 1.10 - - In previous versions, inactive users (:attr:`is_active=False - `) were not permitted - to login. - .. method:: Client.force_login(user, backend=None) If your site uses Django's :doc:`authentication @@ -795,11 +789,6 @@ The class: * Checks deferrable database constraints at the end of each test. -.. versionchanged:: 1.10 - - The check for deferrable database constraints at the end of each test was - added. - It also provides an additional method: .. classmethod:: TestCase.setUpTestData() @@ -1604,8 +1593,6 @@ your test suite. Tagging tests ------------- -.. versionadded:: 1.10 - You can tag your tests so you can easily run a particular subset. For example, you might label fast or slow tests::