summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-12-26 21:47:29 +0100
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-12-29 21:59:08 +0100
commit7ee7599ab389129c539f62b8295fcf1128defa13 (patch)
treeb0cfe4a76fd13db4b1e27a1dd8053739014f015d /docs/ref
parentef017a5f00d9e84059e00e8fea123be51b293f75 (diff)
Removed versionadded/changed annotations dating back to 1.4.
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/class-based-views/mixins-editing.txt5
-rw-r--r--docs/ref/class-based-views/mixins-single-object.txt4
-rw-r--r--docs/ref/clickjacking.txt3
-rw-r--r--docs/ref/contrib/admin/index.txt45
-rw-r--r--docs/ref/contrib/auth.txt5
-rw-r--r--docs/ref/contrib/csrf.txt6
-rw-r--r--docs/ref/contrib/flatpages.txt14
-rw-r--r--docs/ref/contrib/humanize.txt4
-rw-r--r--docs/ref/contrib/sitemaps.txt16
-rw-r--r--docs/ref/contrib/staticfiles.txt14
-rw-r--r--docs/ref/databases.txt14
-rw-r--r--docs/ref/django-admin.txt34
-rw-r--r--docs/ref/forms/fields.txt2
-rw-r--r--docs/ref/forms/widgets.txt2
-rw-r--r--docs/ref/middleware.txt3
-rw-r--r--docs/ref/models/fields.txt2
-rw-r--r--docs/ref/models/options.txt4
-rw-r--r--docs/ref/models/querysets.txt22
-rw-r--r--docs/ref/request-response.txt9
-rw-r--r--docs/ref/settings.txt31
-rw-r--r--docs/ref/signals.txt2
-rw-r--r--docs/ref/templates/api.txt13
-rw-r--r--docs/ref/templates/builtins.txt19
-rw-r--r--docs/ref/urlresolvers.txt2
-rw-r--r--docs/ref/urls.txt3
-rw-r--r--docs/ref/utils.txt8
-rw-r--r--docs/ref/validators.txt2
27 files changed, 29 insertions, 259 deletions
diff --git a/docs/ref/class-based-views/mixins-editing.txt b/docs/ref/class-based-views/mixins-editing.txt
index 95dd24f442..b8b59b827f 100644
--- a/docs/ref/class-based-views/mixins-editing.txt
+++ b/docs/ref/class-based-views/mixins-editing.txt
@@ -40,11 +40,6 @@ FormMixin
Retrieve initial data for the form. By default, returns a copy of
:attr:`~django.views.generic.edit.FormMixin.initial`.
- .. versionchanged:: 1.4
- In Django 1.3, this method was returning the
- :attr:`~django.views.generic.edit.FormMixin.initial` class variable
- itself.
-
.. method:: get_form_class()
Retrieve the form class to instantiate. By default
diff --git a/docs/ref/class-based-views/mixins-single-object.txt b/docs/ref/class-based-views/mixins-single-object.txt
index 77f52b96c6..e84ba6b8dd 100644
--- a/docs/ref/class-based-views/mixins-single-object.txt
+++ b/docs/ref/class-based-views/mixins-single-object.txt
@@ -31,15 +31,11 @@ SingleObjectMixin
.. attribute:: slug_url_kwarg
- .. versionadded:: 1.4
-
The name of the URLConf keyword argument that contains the slug. By
default, ``slug_url_kwarg`` is ``'slug'``.
.. attribute:: pk_url_kwarg
- .. versionadded:: 1.4
-
The name of the URLConf keyword argument that contains the primary key.
By default, ``pk_url_kwarg`` is ``'pk'``.
diff --git a/docs/ref/clickjacking.txt b/docs/ref/clickjacking.txt
index b70fe9f90d..15e85b43b7 100644
--- a/docs/ref/clickjacking.txt
+++ b/docs/ref/clickjacking.txt
@@ -10,9 +10,6 @@ against `clickjacking`_. This type of attack occurs when a malicious site
tricks a user into clicking on a concealed element of another site which they
have loaded in a hidden frame or iframe.
-.. versionadded:: 1.4
- The clickjacking middleware and decorators were added.
-
.. _clickjacking: http://en.wikipedia.org/wiki/Clickjacking
An example of clickjacking
diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
index 6f79e97a3c..e72b2b79e9 100644
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -180,8 +180,6 @@ subclass::
values defined in :attr:`ModelAdmin.readonly_fields` to be displayed as
read-only.
- .. versionadded:: 1.4
-
To display multiple fields on the same line, wrap those fields in their own
tuple. In this example, the ``url`` and ``title`` fields will display on the
same line and the ``content`` field will be displayed below them in its
@@ -586,8 +584,6 @@ subclass::
class PersonAdmin(UserAdmin):
list_filter = ('company__name',)
- .. versionadded:: 1.4
-
* a class inheriting from :mod:`django.contrib.admin.SimpleListFilter`,
which you need to provide the ``title`` and ``parameter_name``
attributes to and override the ``lookups`` and ``queryset`` methods,
@@ -673,8 +669,6 @@ subclass::
birthday__lte=date(1999, 12, 31)).exists():
yield ('90s', _('in the nineties'))
- .. versionadded:: 1.4
-
* a tuple, where the first element is a field name and the second
element is a class inheriting from
:mod:`django.contrib.admin.FieldListFilter`, for example::
@@ -691,8 +685,6 @@ subclass::
The ``FieldListFilter`` API is considered internal and might be
changed.
- .. versionadded:: 1.4
-
It is possible to specify a custom template for rendering a list filter::
class FilterWithCustomTemplate(SimpleListFilter):
@@ -703,8 +695,6 @@ subclass::
.. attribute:: ModelAdmin.list_max_show_all
- .. versionadded:: 1.4
-
Set ``list_max_show_all`` to control how many items can appear on a "Show
all" admin change list page. The admin will display a "Show all" link on the
change list only if the total result count is less than or equal to this
@@ -738,15 +728,9 @@ subclass::
If this isn't provided, the Django admin will use the model's default
ordering.
- .. versionadded:: 1.4
-
If you need to specify a dynamic order (for example depending on user or
language) you can implement a :meth:`~ModelAdmin.get_ordering` method.
- .. versionchanged:: 1.4
-
- Django honors all elements in the list/tuple; before 1.4, only the first
- was respected.
.. attribute:: ModelAdmin.paginator
@@ -1017,8 +1001,6 @@ templates used by the :class:`ModelAdmin` views:
.. method:: ModelAdmin.get_ordering(self, request)
- .. versionadded:: 1.4
-
The ``get_ordering`` method takes a``request`` as parameter and
is expected to return a ``list`` or ``tuple`` for ordering similar
to the :attr:`ordering` attribute. For example::
@@ -1033,8 +1015,6 @@ templates used by the :class:`ModelAdmin` views:
.. method:: ModelAdmin.save_related(self, request, form, formsets, change)
- .. versionadded:: 1.4
-
The ``save_related`` method is given the ``HttpRequest``, the parent
``ModelForm`` instance, the list of inline formsets and a boolean value
based on whether the parent is being added or changed. Here you can do any
@@ -1050,8 +1030,6 @@ templates used by the :class:`ModelAdmin` views:
.. method:: ModelAdmin.get_prepopulated_fields(self, request, obj=None)
- .. versionadded:: 1.4
-
The ``get_prepopulated_fields`` method is given the ``HttpRequest`` and the
``obj`` being edited (or ``None`` on an add form) and is expected to return
a ``dictionary``, as described above in the :attr:`ModelAdmin.prepopulated_fields`
@@ -1059,8 +1037,6 @@ templates used by the :class:`ModelAdmin` views:
.. method:: ModelAdmin.get_list_display(self, request)
- .. versionadded:: 1.4
-
The ``get_list_display`` method is given the ``HttpRequest`` and is
expected to return a ``list`` or ``tuple`` of field names that will be
displayed on the changelist view as described above in the
@@ -1068,8 +1044,6 @@ templates used by the :class:`ModelAdmin` views:
.. method:: ModelAdmin.get_list_display_links(self, request, list_display)
- .. versionadded:: 1.4
-
The ``get_list_display_links`` method is given the ``HttpRequest`` and
the ``list`` or ``tuple`` returned by :meth:`ModelAdmin.get_list_display`.
It is expected to return a ``list`` or ``tuple`` of field names on the
@@ -1341,10 +1315,6 @@ Other methods
Django view for the model instance edition page. See note below.
- .. versionchanged:: 1.4
-
- The ``form_url`` parameter was added.
-
.. method:: ModelAdmin.changelist_view(self, request, extra_context=None)
Django view for the model instances change list/actions page. See note
@@ -1386,12 +1356,10 @@ provided some extra mapping data that would not otherwise be available::
return super(MyModelAdmin, self).change_view(request, object_id,
form_url, extra_context=extra_context)
-.. versionadded:: 1.4
-
-These views now return :class:`~django.template.response.TemplateResponse`
+These views return :class:`~django.template.response.TemplateResponse`
instances which allow you to easily customize the response data before
-rendering. For more details, see the
-:doc:`TemplateResponse documentation </ref/template-response>`.
+rendering. For more details, see the :doc:`TemplateResponse documentation
+</ref/template-response>`.
.. _modeladmin-media-definitions:
@@ -1514,9 +1482,6 @@ adds some of its own (the shared features are actually defined in the
- :attr:`~InlineModelAdmin.raw_id_fields`
- :meth:`~ModelAdmin.formfield_for_foreignkey`
- :meth:`~ModelAdmin.formfield_for_manytomany`
-
-.. versionadded:: 1.4
-
- :meth:`~ModelAdmin.has_add_permission`
- :meth:`~ModelAdmin.has_change_permission`
- :meth:`~ModelAdmin.has_delete_permission`
@@ -2043,8 +2008,6 @@ your URLconf. Specifically, add these four patterns:
the URLs starting with ``^admin/`` before the line that includes the admin app
itself).
-.. versionchanged:: 1.4
-
The presence of the ``admin_password_reset`` named URL will cause a "forgotten
your password?" link to appear on the default admin log-in page under the
password box.
@@ -2108,8 +2071,6 @@ if you specifically wanted the admin view from the admin instance named
For more details, see the documentation on :ref:`reversing namespaced URLs
<topics-http-reversing-url-namespaces>`.
-.. versionadded:: 1.4
-
To allow easier reversing of the admin urls in templates, Django provides an
``admin_urlname`` filter which takes an action as argument:
diff --git a/docs/ref/contrib/auth.txt b/docs/ref/contrib/auth.txt
index 74a69c1f7d..e35a5b3586 100644
--- a/docs/ref/contrib/auth.txt
+++ b/docs/ref/contrib/auth.txt
@@ -222,11 +222,6 @@ Manager methods
.. method:: create_user(username, email=None, password=None)
- .. versionchanged:: 1.4
- The ``email`` parameter was made optional. The username
- parameter is now checked for emptiness and raises a
- :exc:`~exceptions.ValueError` in case of a negative result.
-
Creates, saves and returns a :class:`~django.contrib.auth.models.User`.
The :attr:`~django.contrib.auth.models.User.username` and
diff --git a/docs/ref/contrib/csrf.txt b/docs/ref/contrib/csrf.txt
index 32d8a705bc..42a41c4bfc 100644
--- a/docs/ref/contrib/csrf.txt
+++ b/docs/ref/contrib/csrf.txt
@@ -410,8 +410,6 @@ Utilities
.. function:: ensure_csrf_cookie(view)
- .. versionadded:: 1.4
-
This decorator forces a view to send the CSRF cookie.
Scenarios
@@ -517,8 +515,6 @@ whatever you want.
CSRF_COOKIE_PATH
----------------
-.. versionadded:: 1.4
-
Default: ``'/'``
The path set on the CSRF cookie. This should either match the URL path of your
@@ -531,8 +527,6 @@ its own CSRF cookie.
CSRF_COOKIE_SECURE
------------------
-.. versionadded:: 1.4
-
Default: ``False``
Whether to use a secure cookie for the CSRF cookie. If this is set to ``True``,
diff --git a/docs/ref/contrib/flatpages.txt b/docs/ref/contrib/flatpages.txt
index 7ff9165642..c360809dac 100644
--- a/docs/ref/contrib/flatpages.txt
+++ b/docs/ref/contrib/flatpages.txt
@@ -117,17 +117,9 @@ can do all of the work.
:class:`~django.template.RequestContext` in rendering the
template.
- .. versionchanged:: 1.4
- The middleware will only add a trailing slash and redirect (by looking
- at the :setting:`APPEND_SLASH` setting) if the resulting URL refers to
- a valid flatpage. Previously requesting a non-existent flatpage
- would redirect to the same URL with an apppended slash first and
- subsequently raise a 404.
-
- .. versionchanged:: 1.4
- Redirects by the middleware are permanent (301 status code) instead of
- temporary (302) to match behavior of the
- :class:`~django.middleware.common.CommonMiddleware`.
+ The middleware will only add a trailing slash and redirect (by looking
+ at the :setting:`APPEND_SLASH` setting) if the resulting URL refers to
+ a valid flatpage. Redirects are permanent (301 status code).
If it doesn't find a match, the request continues to be processed as usual.
diff --git a/docs/ref/contrib/humanize.txt b/docs/ref/contrib/humanize.txt
index 57978288b1..aca6ed990d 100644
--- a/docs/ref/contrib/humanize.txt
+++ b/docs/ref/contrib/humanize.txt
@@ -100,10 +100,8 @@ Examples (when 'today' is 17 Feb 2007):
naturaltime
-----------
-.. versionadded:: 1.4
-
For datetime values, returns a string representing how many seconds,
-minutes or hours ago it was -- falling back to the :tfilter:`timesince`
+minutes or hours ago it was -- falling back to the :tfilter:`timesince`
format if the value is more than a day old. In case the datetime value is in
the future the return value will automatically use an appropriate phrase.
diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt
index ef6c64dc61..42c4b91bd4 100644
--- a/docs/ref/contrib/sitemaps.txt
+++ b/docs/ref/contrib/sitemaps.txt
@@ -213,8 +213,6 @@ Sitemap class reference
.. attribute:: Sitemap.protocol
- .. versionadded:: 1.4
-
**Optional.**
This attribute defines the protocol (``'http'`` or ``'https'``) of the
@@ -308,8 +306,6 @@ You should create an index file if one of your sitemaps has more than 50,000
URLs. In this case, Django will automatically paginate the sitemap, and the
index will reflect that.
-.. versionadded:: 1.4
-
If you're not using the vanilla sitemap view -- for example, if it's wrapped
with a caching decorator -- you must name your sitemap view and pass
``sitemap_url_name`` to the index view::
@@ -346,12 +342,10 @@ parameter to the ``sitemap`` and ``index`` views via the URLconf::
)
-.. versionchanged:: 1.4
- In addition, these views also return
- :class:`~django.template.response.TemplateResponse`
- instances which allow you to easily customize the response data before
- rendering. For more details, see the
- :doc:`TemplateResponse documentation </ref/template-response>`.
+These views return :class:`~django.template.response.TemplateResponse`
+instances which allow you to easily customize the response data before
+rendering. For more details, see the :doc:`TemplateResponse documentation
+</ref/template-response>`.
Context variables
------------------
@@ -378,8 +372,6 @@ sitemap. Each URL exposes attributes as defined in the
- ``location``
- ``priority``
-.. versionadded:: 1.4
-
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/staticfiles.txt b/docs/ref/contrib/staticfiles.txt
index 3a74797145..9c8f29a8de 100644
--- a/docs/ref/contrib/staticfiles.txt
+++ b/docs/ref/contrib/staticfiles.txt
@@ -82,8 +82,6 @@ Default: ``'django.contrib.staticfiles.storage.StaticFilesStorage'``
The file storage engine to use when collecting static files with the
:djadmin:`collectstatic` management command.
-.. versionadded:: 1.4
-
A ready-to-use instance of the storage backend defined in this setting
can be found at ``django.contrib.staticfiles.storage.staticfiles_storage``.
@@ -146,8 +144,6 @@ Files are searched by using the :setting:`enabled finders
:setting:`STATICFILES_DIRS` and in the ``'static'`` directory of apps
specified by the :setting:`INSTALLED_APPS` setting.
-.. versionadded:: 1.4
-
The :djadmin:`collectstatic` management command calls the
:meth:`~django.contrib.staticfiles.storage.StaticFilesStorage.post_process`
method of the :setting:`STATICFILES_STORAGE` after each run and passes
@@ -176,8 +172,6 @@ Some commonly used options are:
.. django-admin-option:: -c
.. django-admin-option:: --clear
- .. versionadded:: 1.4
-
Clear the existing files before trying to copy or link the original file.
.. django-admin-option:: -l
@@ -187,8 +181,6 @@ Some commonly used options are:
.. django-admin-option:: --no-post-process
- .. versionadded:: 1.4
-
Don't call the
:meth:`~django.contrib.staticfiles.storage.StaticFilesStorage.post_process`
method of the configured :setting:`STATICFILES_STORAGE` storage backend.
@@ -276,8 +268,6 @@ StaticFilesStorage
.. method:: post_process(paths, **options)
- .. versionadded:: 1.4
-
This method is called by the :djadmin:`collectstatic` management command
after each run and gets passed the local storages and paths of found
files as a dictionary, as well as the command line options.
@@ -291,8 +281,6 @@ CachedStaticFilesStorage
.. class:: storage.CachedStaticFilesStorage
- .. versionadded:: 1.4
-
A subclass of the :class:`~django.contrib.staticfiles.storage.StaticFilesStorage`
storage backend which caches the files it saves by appending the MD5 hash
of the file's content to the filename. For example, the file
@@ -370,8 +358,6 @@ static
.. templatetag:: staticfiles-static
-.. versionadded:: 1.4
-
Uses the configured :setting:`STATICFILES_STORAGE` storage to create the
full URL for the given relative path, e.g.:
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index 352c0f4584..771085766e 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -16,8 +16,6 @@ documentation or reference manuals.
PostgreSQL notes
================
-.. versionchanged:: 1.4
-
Django supports PostgreSQL 8.2 and higher.
PostgreSQL 8.2 to 8.2.4
@@ -173,18 +171,6 @@ running ``syncdb``::
1005, "Can't create table '\\db_name\\.#sql-4a8_ab' (errno: 150)"
)
-.. versionchanged:: 1.4
-
-In previous versions of Django, fixtures with forward references (i.e.
-relations to rows that have not yet been inserted into the database) would fail
-to load when using the InnoDB storage engine. This was due to the fact that InnoDB
-deviates from the SQL standard by checking foreign key constraints immediately
-instead of deferring the check until the transaction is committed. This
-problem has been resolved in Django 1.4. Fixture data is now loaded with foreign key
-checks turned off; foreign key checks are then re-enabled when the data has
-finished loading, at which point the entire table is checked for invalid foreign
-key references and an `IntegrityError` is raised if any are found.
-
.. _storage engines: http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html
.. _MyISAM: http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html
.. _InnoDB: http://dev.mysql.com/doc/refman/5.5/en/innodb.html
diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
index 205f349e8b..e67527de23 100644
--- a/docs/ref/django-admin.txt
+++ b/docs/ref/django-admin.txt
@@ -466,8 +466,6 @@ several lines in language files.
.. django-admin-option:: --no-location
-.. versionadded:: 1.4
-
Use the ``--no-location`` option to not write '``#: filename:line``'
comment lines in language files. Note that using this option makes it harder
for technically skilled translators to understand each message's context.
@@ -482,9 +480,8 @@ supports the FastCGI protocol. See the :doc:`FastCGI deployment documentation
</howto/deployment/fastcgi>` for details. Requires the Python FastCGI module from
`flup`_.
-.. versionadded:: 1.4
- Internally, this wraps the WSGI application object specified by the
- :setting:`WSGI_APPLICATION` setting.
+Internally, this wraps the WSGI application object specified by the
+:setting:`WSGI_APPLICATION` setting.
.. _flup: http://www.saddi.com/software/flup/
@@ -610,9 +607,8 @@ If you run this script as a user with normal privileges (recommended), you
might not have access to start a port on a low port number. Low port numbers
are reserved for the superuser (root).
-.. versionadded:: 1.4
- This server uses the WSGI application object specified by the
- :setting:`WSGI_APPLICATION` setting.
+This server uses the WSGI application object specified by the
+:setting:`WSGI_APPLICATION` setting.
DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through
security audits or performance tests. (And that's how it's gonna stay. We're in
@@ -658,11 +654,8 @@ Example usage::
.. django-admin-option:: --nothreading
-.. versionadded:: 1.4
-
-Since version 1.4, the development server is multithreaded by default.
-Use the ``--nothreading`` option to disable the use of threading in the
-development server.
+The development server is multithreaded by default. Use the ``--nothreading``
+option to disable the use of threading in the development server.
.. django-admin-option:: --ipv6, -6
@@ -856,8 +849,6 @@ startapp <appname> [destination]
Creates a Django app directory structure for the given app name in the current
directory or the given destination.
-.. versionchanged:: 1.4
-
By default the directory created contains a ``models.py`` file and other app
template files. (See the `source`_ for more details.) If only the app
name is given, the app directory will be created in the current working
@@ -871,7 +862,6 @@ For example::
django-admin.py startapp myapp /Users/jezdez/Code/myapp
-.. versionadded:: 1.4
.. django-admin-option:: --template
With the ``--template`` option, you can use a custom app template by providing
@@ -893,8 +883,6 @@ zip files, you can use a URL like::
django-admin.py startapp --template=https://github.com/githubuser/django-app-template/archive/master.zip myapp
-.. versionadded:: 1.4
-
When Django copies the app template files, it also renders certain files
through the template engine: the files whose extensions match the
``--extension`` option (``py`` by default) and the files whose names are passed
@@ -929,8 +917,6 @@ startproject <projectname> [destination]
Creates a Django project directory structure for the given project name in
the current directory or the given destination.
-.. versionchanged:: 1.4
-
By default, the new directory contains ``manage.py`` and a project package
(containing a ``settings.py`` and other files). See the `template source`_ for
details.
@@ -947,8 +933,6 @@ For example::
django-admin.py startproject myproject /Users/jezdez/Code/myproject_repo
-.. versionadded:: 1.4
-
As with the :djadmin:`startapp` command, the ``--template`` option lets you
specify a directory, file path or URL of a custom project template. See the
:djadmin:`startapp` documentation for details of supported project template
@@ -1044,14 +1028,12 @@ information.
The ``--failfast`` option can be used to stop running tests and report the
failure immediately after a test fails.
-.. versionadded:: 1.4
.. django-admin-option:: --testrunner
The ``--testrunner`` option can be used to control the test runner class that
is used to execute tests. If this value is provided, it overrides the value
provided by the :setting:`TEST_RUNNER` setting.
-.. versionadded:: 1.4
.. django-admin-option:: --liveserver
The ``--liveserver`` option can be used to override the default address where
@@ -1152,8 +1134,6 @@ the user given as parameter. If they both match, the new password will be
changed immediately. If you do not supply a user, the command will attempt to
change the password whose username matches the current user.
-.. versionadded:: 1.4
-
Use the ``--database`` option to specify the database to query for the user. If
it's not supplied, Django will use the ``default`` database.
@@ -1187,8 +1167,6 @@ using the ``--username`` and ``--email`` arguments on the command
line. If either of those is not supplied, ``createsuperuser`` will prompt for
it when running interactively.
-.. versionadded:: 1.4
-
Use the ``--database`` option to specify the database into which the superuser
object will be saved.
diff --git a/docs/ref/forms/fields.txt b/docs/ref/forms/fields.txt
index 5d8e902609..28b7e49d2d 100644
--- a/docs/ref/forms/fields.txt
+++ b/docs/ref/forms/fields.txt
@@ -654,8 +654,6 @@ For each field, we describe the default widget used if you don't specify
``GenericIPAddressField``
~~~~~~~~~~~~~~~~~~~~~~~~~
-.. versionadded:: 1.4
-
.. class:: GenericIPAddressField(**kwargs)
A field containing either an IPv4 or an IPv6 address.
diff --git a/docs/ref/forms/widgets.txt b/docs/ref/forms/widgets.txt
index 0660329eea..d8d9c9b770 100644
--- a/docs/ref/forms/widgets.txt
+++ b/docs/ref/forms/widgets.txt
@@ -542,8 +542,6 @@ Selector and checkbox widgets
...
</ul>
- .. versionadded:: 1.4
-
For more granular control over the generated markup, you can loop over the
radio buttons in the template. Assuming a form ``myform`` with a field
``beatles`` that uses a ``RadioSelect`` as its widget:
diff --git a/docs/ref/middleware.txt b/docs/ref/middleware.txt
index 41cff346ff..31cc6f24f6 100644
--- a/docs/ref/middleware.txt
+++ b/docs/ref/middleware.txt
@@ -222,7 +222,4 @@ X-Frame-Options middleware
.. class:: XFrameOptionsMiddleware
-.. versionadded:: 1.4
- ``XFrameOptionsMiddleware`` was added.
-
Simple :doc:`clickjacking protection via the X-Frame-Options header </ref/clickjacking/>`.
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index 68abb4f4d2..e9f85e0657 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -804,8 +804,6 @@ for this field is a :class:`~django.forms.TextInput`.
.. class:: GenericIPAddressField([protocol=both, unpack_ipv4=False, **options])
-.. versionadded:: 1.4
-
An IPv4 or IPv6 address, in string format (e.g. ``192.0.2.30`` or
``2a02:42fe::4``). The default form widget for this field is a
:class:`~django.forms.TextInput`.
diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt
index ac20422915..6fd707fdf2 100644
--- a/docs/ref/models/options.txt
+++ b/docs/ref/models/options.txt
@@ -209,10 +209,6 @@ Django quotes column and table names behind the scenes.
ordering = ['-pub_date', 'author']
- .. versionchanged:: 1.4
- The Django admin honors all elements in the list/tuple; before 1.4, only
- the first one was respected.
-
``permissions``
---------------
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index ca2e64a8c5..a8e946f8a5 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -378,16 +378,12 @@ query spans multiple tables, it's possible to get duplicate results when a
:meth:`values()` together, be careful when ordering by fields not in the
:meth:`values()` call.
-.. versionadded:: 1.4
-
-As of Django 1.4, you can pass positional arguments (``*fields``) in order to
-specify the names of fields to which the ``DISTINCT`` should apply. This
-translates to a ``SELECT DISTINCT ON`` SQL query.
-
-Here's the difference. For a normal ``distinct()`` call, the database compares
-*each* field in each row when determining which rows are distinct. For a
-``distinct()`` call with specified field names, the database will only compare
-the specified field names.
+You can pass positional arguments (``*fields``) in order to specify the names
+of fields to which the ``DISTINCT`` should apply. This translates to a
+``SELECT DISTINCT ON`` SQL query. Here's the difference. For a normal
+``distinct()`` call, the database compares *each* field in each row when
+determining which rows are distinct. For a ``distinct()`` call with specified
+field names, the database will only compare the specified field names.
.. note::
This ability to specify field names is only available in PostgreSQL.
@@ -740,8 +736,6 @@ prefetch_related
.. method:: prefetch_related(*lookups)
-.. versionadded:: 1.4
-
Returns a ``QuerySet`` that will automatically retrieve, in a single batch,
related objects for each of the specified lookups.
@@ -1191,8 +1185,6 @@ select_for_update
.. method:: select_for_update(nowait=False)
-.. versionadded:: 1.4
-
Returns a queryset that will lock rows until the end of the transaction,
generating a ``SELECT ... FOR UPDATE`` SQL statement on supported databases.
@@ -1368,8 +1360,6 @@ bulk_create
.. method:: bulk_create(objs, batch_size=None)
-.. versionadded:: 1.4
-
This method inserts the provided list of objects into the database in an
efficient manner (generally only 1 query, no matter how many objects there
are)::
diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt
index 9e8eec4433..ae1da6cb4b 100644
--- a/docs/ref/request-response.txt
+++ b/docs/ref/request-response.txt
@@ -262,8 +262,6 @@ Methods
.. method:: HttpRequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)
- .. versionadded:: 1.4
-
Returns a cookie value for a signed cookie, or raises a
:class:`~django.core.signing.BadSignature` exception if the signature is
no longer valid. If you provide the ``default`` argument the exception
@@ -473,9 +471,6 @@ In addition, ``QueryDict`` has the following methods:
It's guaranteed to return a list of some sort unless the default value
was no list.
- .. versionchanged:: 1.4
- The ``default`` parameter was added.
-
.. method:: QueryDict.setlist(key, list_)
Sets the given key to ``list_`` (unlike ``__setitem__()``).
@@ -500,8 +495,6 @@ In addition, ``QueryDict`` has the following methods:
.. method:: QueryDict.dict()
- .. versionadded:: 1.4
-
Returns ``dict`` representation of ``QueryDict``. For every (key, list)
pair in ``QueryDict``, ``dict`` will have (key, item), where item is one
element of the list, using same logic as :meth:`QueryDict.__getitem__()`::
@@ -705,8 +698,6 @@ Methods
.. method:: HttpResponse.set_signed_cookie(key, value='', salt='', max_age=None, expires=None, path='/', domain=None, secure=None, httponly=True)
- .. versionadded:: 1.4
-
Like :meth:`~HttpResponse.set_cookie()`, but
:doc:`cryptographic signing </topics/signing>` the cookie before setting
it. Use in conjunction with :meth:`HttpRequest.get_signed_cookie`.
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index df679e7c1f..bfe283cc68 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -325,8 +325,6 @@ want. See :doc:`/ref/contrib/csrf`.
CSRF_COOKIE_PATH
----------------
-.. versionadded:: 1.4
-
Default: ``'/'``
The path set on the CSRF cookie. This should either match the URL path of your
@@ -341,8 +339,6 @@ its own CSRF cookie.
CSRF_COOKIE_SECURE
------------------
-.. versionadded:: 1.4
-
Default: ``False``
Whether to use a secure cookie for the CSRF cookie. If this is set to ``True``,
@@ -756,11 +752,6 @@ name includes any of the following:
* SIGNATURE
* TOKEN
-.. versionchanged:: 1.4
-
- We changed ``'PASSWORD'`` ``'PASS'``. ``'API'``, ``'TOKEN'`` and ``'KEY'``
- were added.
-
Note that these are *partial* matches. ``'PASS'`` will also match PASSWORD,
just as ``'TOKEN'`` will also match TOKENIZED and so on.
@@ -1117,8 +1108,6 @@ Available formats are :setting:`DATE_FORMAT`, :setting:`TIME_FORMAT`,
IGNORABLE_404_URLS
------------------
-.. versionadded:: 1.4
-
Default: ``()``
List of compiled regular expression objects describing URLs that should be
@@ -1457,8 +1446,6 @@ See also :setting:`DECIMAL_SEPARATOR`, :setting:`THOUSAND_SEPARATOR` and
PASSWORD_HASHERS
----------------
-.. versionadded:: 1.4
-
See :ref:`auth_password_storage`.
Default::
@@ -1544,8 +1531,6 @@ randomly-generated ``SECRET_KEY`` to each new project.
SECURE_PROXY_SSL_HEADER
-----------------------
-.. versionadded:: 1.4
-
Default: ``None``
A tuple representing a HTTP header/value combination that signifies a request
@@ -1677,9 +1662,6 @@ protected cookie data.
.. _HTTPOnly: https://www.owasp.org/index.php/HTTPOnly
-.. versionchanged:: 1.4
- The default value of the setting was changed from ``False`` to ``True``.
-
.. setting:: SESSION_COOKIE_NAME
SESSION_COOKIE_NAME
@@ -1809,8 +1791,6 @@ See also :setting:`DATE_FORMAT` and :setting:`SHORT_DATE_FORMAT`.
SIGNING_BACKEND
---------------
-.. versionadded:: 1.4
-
Default: 'django.core.signing.TimestampSigner'
The backend used for signing cookies and other data.
@@ -1901,10 +1881,6 @@ A tuple of callables that are used to populate the context in ``RequestContext``
These callables take a request object as their argument and return a dictionary
of items to be merged into the context.
-.. versionadded:: 1.4
- The ``django.core.context_processors.tz`` context processor
- was added in this release.
-
.. setting:: TEMPLATE_DEBUG
TEMPLATE_DEBUG
@@ -2029,9 +2005,6 @@ TIME_ZONE
Default: ``'America/Chicago'``
-.. versionchanged:: 1.4
- The meaning of this setting now depends on the value of :setting:`USE_TZ`.
-
A string representing the time zone for this installation, or
``None``. `See available choices`_. (Note that list of available
choices lists more than one on the same line; you'll want to use just
@@ -2148,8 +2121,6 @@ See also :setting:`DECIMAL_SEPARATOR`, :setting:`NUMBER_GROUPING` and
USE_TZ
------
-.. versionadded:: 1.4
-
Default: ``False``
A boolean that specifies if datetimes will be timezone-aware by default or not.
@@ -2180,8 +2151,6 @@ which sets this header is in use.
WSGI_APPLICATION
----------------
-.. versionadded:: 1.4
-
Default: ``None``
The full Python path of the WSGI application object that Django's built-in
diff --git a/docs/ref/signals.txt b/docs/ref/signals.txt
index c31c90f4e8..b27a4f87cc 100644
--- a/docs/ref/signals.txt
+++ b/docs/ref/signals.txt
@@ -480,8 +480,6 @@ Signals only sent when :ref:`running tests <running-tests>`.
setting_changed
---------------
-.. versionadded:: 1.4
-
.. data:: django.test.signals.setting_changed
:module:
diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt
index db57d2de96..7c17f0a758 100644
--- a/docs/ref/templates/api.txt
+++ b/docs/ref/templates/api.txt
@@ -221,13 +221,12 @@ straight lookups. Here are some things to keep in mind:
self.database_record.delete()
sensitive_function.alters_data = True
-* .. versionadded:: 1.4
- Occasionally you may want to turn off this feature for other reasons,
- and tell the template system to leave a variable un-called no matter
- what. To do so, set a ``do_not_call_in_templates`` attribute on the
- callable with the value ``True``. The template system then will act as
- if your variable is not callable (allowing you to access attributes of
- the callable, for example).
+* Occasionally you may want to turn off this feature for other reasons,
+ and tell the template system to leave a variable un-called no matter
+ what. To do so, set a ``do_not_call_in_templates`` attribute on the
+ callable with the value ``True``. The template system then will act as
+ if your variable is not callable (allowing you to access attributes of
+ the callable, for example).
.. _invalid-template-variables:
diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt
index 867d1e5cc0..aab53aed0c 100644
--- a/docs/ref/templates/builtins.txt
+++ b/docs/ref/templates/builtins.txt
@@ -381,10 +381,6 @@ As you can see, the ``if`` tag may take one or several `` {% elif %}``
clauses, as well as an ``{% else %}`` clause that will be displayed if all
previous conditions fail. These clauses are optional.
-.. versionadded:: 1.4
-
-The ``if`` tag now supports ``{% elif %}`` clauses.
-
Boolean operators
^^^^^^^^^^^^^^^^^
@@ -743,8 +739,6 @@ escaped, because it's not a format character::
This would display as "It is the 4th of September".
-.. versionchanged:: 1.4
-
.. note::
The format passed can also be one of the predefined ones
@@ -1289,10 +1283,6 @@ Z Time zone offset in seconds. The ``-43200`` to ``4320
UTC is always positive.
================ ======================================== =====================
-.. versionadded:: 1.4
-
-The ``e`` and ``o`` format specification characters were added in Django 1.4.
-
For example::
{{ value|date:"D d M Y" }}
@@ -2069,8 +2059,6 @@ If ``value`` is ``"my first post"``, the output will be ``"My First Post"``.
truncatechars
^^^^^^^^^^^^^
-.. versionadded:: 1.4
-
Truncates a string if it is longer than the specified number of characters.
Truncated strings will end with a translatable ellipsis sequence ("...").
@@ -2200,11 +2188,6 @@ It also supports domain-only links ending in one of the original top level
domains (``.com``, ``.edu``, ``.gov``, ``.int``, ``.mil``, ``.net``, and
``.org``). For example, ``djangoproject.com`` gets converted.
-.. versionchanged:: 1.4
-
-Until Django 1.4, only the ``.com``, ``.net`` and ``.org`` suffixes were
-supported for domain-only links.
-
Links can have trailing punctuation (periods, commas, close-parens) and leading
punctuation (opening parens), and ``urlize`` will still do the right thing.
@@ -2334,8 +2317,6 @@ See :ref:`topic-l10n-templates`.
tz
^^
-.. versionadded:: 1.4
-
This library provides control over time zone conversions in templates.
Like ``l10n``, you only need to load the library using ``{% load tz %}``,
but you'll usually also set :setting:`USE_TZ` to ``True`` so that conversion
diff --git a/docs/ref/urlresolvers.txt b/docs/ref/urlresolvers.txt
index 528f172061..87c0605a11 100644
--- a/docs/ref/urlresolvers.txt
+++ b/docs/ref/urlresolvers.txt
@@ -71,8 +71,6 @@ You can use ``kwargs`` instead of ``args``. For example::
reverse_lazy()
--------------
-.. versionadded:: 1.4
-
A lazily evaluated version of `reverse()`_.
.. function:: reverse_lazy(viewname, [urlconf=None, args=None, kwargs=None, current_app=None])
diff --git a/docs/ref/urls.txt b/docs/ref/urls.txt
index 46332cb42c..5a0b04f9fa 100644
--- a/docs/ref/urls.txt
+++ b/docs/ref/urls.txt
@@ -114,9 +114,6 @@ value should suffice.
See the documentation about :ref:`the 403 (HTTP Forbidden) view
<http_forbidden_view>` for more information.
-.. versionadded:: 1.4
- ``handler403`` is new in Django 1.4.
-
handler404
----------
diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt
index 4ff31591c8..942cac2650 100644
--- a/docs/ref/utils.txt
+++ b/docs/ref/utils.txt
@@ -138,8 +138,6 @@ results. Instead do::
``django.utils.dateparse``
==========================
-.. versionadded:: 1.4
-
.. module:: django.utils.dateparse
:synopsis: Functions to parse datetime objects.
@@ -788,8 +786,6 @@ For a complete discussion on the usage of the following see the
.. function:: override(language, deactivate=False)
- .. versionadded:: 1.4
-
A Python context manager that uses
:func:`django.utils.translation.activate` to fetch the translation object
for a given language, installing it as the translation object for the
@@ -812,8 +808,6 @@ For a complete discussion on the usage of the following see the
.. function:: get_language_from_request(request, check_path=False)
- .. versionchanged:: 1.4
-
Analyzes the request to find what language the user wants the system to show.
Only languages listed in settings.LANGUAGES are taken into account. If the user
requests a sublanguage where we have a main language, we send out the main
@@ -838,8 +832,6 @@ For a complete discussion on the usage of the following see the
``django.utils.timezone``
=========================
-.. versionadded:: 1.4
-
.. module:: django.utils.timezone
:synopsis: Timezone support.
diff --git a/docs/ref/validators.txt b/docs/ref/validators.txt
index b68d6f2772..0536b03d64 100644
--- a/docs/ref/validators.txt
+++ b/docs/ref/validators.txt
@@ -115,7 +115,6 @@ to, or in lieu of custom ``field.clean()`` methods.
``validate_ipv6_address``
-------------------------
-.. versionadded:: 1.4
.. data:: validate_ipv6_address
@@ -123,7 +122,6 @@ to, or in lieu of custom ``field.clean()`` methods.
``validate_ipv46_address``
--------------------------
-.. versionadded:: 1.4
.. data:: validate_ipv46_address