Browse Source

Removed versionadded/changed annotations for 1.6.

Tim Graham 11 years ago
parent
commit
51c8045145
54 changed files with 70 additions and 550 deletions
  1. 0 4
      docs/howto/custom-management-commands.txt
  2. 0 5
      docs/howto/legacy-databases.txt
  3. 0 6
      docs/ref/class-based-views/base.txt
  4. 4 10
      docs/ref/class-based-views/mixins-editing.txt
  5. 0 4
      docs/ref/class-based-views/mixins-multiple-object.txt
  6. 2 4
      docs/ref/clickjacking.txt
  7. 1 38
      docs/ref/contrib/admin/index.txt
  8. 0 11
      docs/ref/contrib/auth.txt
  9. 3 7
      docs/ref/contrib/contenttypes.txt
  10. 0 8
      docs/ref/contrib/formtools/form-wizard.txt
  11. 0 2
      docs/ref/contrib/gis/forms-api.txt
  12. 0 2
      docs/ref/contrib/messages.txt
  13. 0 4
      docs/ref/contrib/sites.txt
  14. 0 2
      docs/ref/contrib/syndication.txt
  15. 0 25
      docs/ref/databases.txt
  16. 0 32
      docs/ref/django-admin.txt
  17. 0 5
      docs/ref/exceptions.txt
  18. 7 18
      docs/ref/forms/api.txt
  19. 5 10
      docs/ref/forms/fields.txt
  20. 0 4
      docs/ref/forms/formsets.txt
  21. 0 10
      docs/ref/forms/models.txt
  22. 0 2
      docs/ref/forms/validation.txt
  23. 4 14
      docs/ref/forms/widgets.txt
  24. 0 24
      docs/ref/middleware.txt
  25. 2 14
      docs/ref/models/fields.txt
  26. 10 18
      docs/ref/models/instances.txt
  27. 1 3
      docs/ref/models/options.txt
  28. 1 29
      docs/ref/models/querysets.txt
  29. 0 8
      docs/ref/request-response.txt
  30. 0 18
      docs/ref/settings.txt
  31. 2 6
      docs/ref/templates/builtins.txt
  32. 0 2
      docs/ref/urls.txt
  33. 0 9
      docs/ref/utils.txt
  34. 5 7
      docs/releases/1.3.txt
  35. 2 2
      docs/releases/1.6.txt
  36. 4 21
      docs/topics/auth/customizing.txt
  37. 0 16
      docs/topics/auth/default.txt
  38. 2 11
      docs/topics/auth/passwords.txt
  39. 0 5
      docs/topics/cache.txt
  40. 0 4
      docs/topics/db/managers.txt
  41. 0 14
      docs/topics/db/sql.txt
  42. 4 31
      docs/topics/db/transactions.txt
  43. 0 14
      docs/topics/forms/formsets.txt
  44. 4 7
      docs/topics/forms/index.txt
  45. 2 12
      docs/topics/forms/modelforms.txt
  46. 2 2
      docs/topics/http/middleware.txt
  47. 0 2
      docs/topics/http/sessions.txt
  48. 0 2
      docs/topics/http/views.txt
  49. 0 2
      docs/topics/i18n/translation.txt
  50. 0 2
      docs/topics/logging.txt
  51. 0 5
      docs/topics/serialization.txt
  52. 0 4
      docs/topics/testing/advanced.txt
  53. 0 15
      docs/topics/testing/overview.txt
  54. 3 14
      docs/topics/testing/tools.txt

+ 0 - 4
docs/howto/custom-management-commands.txt

@@ -269,10 +269,6 @@ All attributes can be set in your derived class and can be used in
   because attempting to set the locale needs access to settings. This condition
   will generate a :class:`CommandError`.
 
-.. versionadded:: 1.6
-
-    The ``leave_locale_alone`` option was added in Django 1.6.
-
 Methods
 -------
 

+ 0 - 5
docs/howto/legacy-databases.txt

@@ -74,11 +74,6 @@ with Django you'd need to change the ``managed`` option highlighted above to
 This serves as an explicit opt-in to give your nascent Django project write
 access to your precious data on a model by model basis.
 
-.. versionchanged:: 1.6
-
-    The behavior by which introspected models are created as unmanaged ones is new
-    in Django 1.6.
-
 Install the core Django tables
 ==============================
 

+ 0 - 6
docs/ref/class-based-views/base.txt

@@ -213,8 +213,6 @@ RedirectView
 
     .. attribute:: pattern_name
 
-        .. versionadded:: 1.6
-
         The name of the URL pattern to redirect to. Reversing will be done
         using the same args and kwargs as are passed in for this view.
 
@@ -238,10 +236,6 @@ RedirectView
 
         Constructs the target URL for redirection.
 
-        .. versionchanged:: 1.6
-
-            The signature of this method was changed to include ``*args``.
-
         The default implementation uses :attr:`url` as a starting
         string and performs expansion of ``%`` named parameters in that string
         using the named groups captured in the URL.

+ 4 - 10
docs/ref/class-based-views/mixins-editing.txt

@@ -37,8 +37,6 @@ FormMixin
 
     .. attribute:: prefix
 
-        .. versionadded:: 1.6
-
         The :attr:`~django.forms.Form.prefix` for the generated form.
 
     .. method:: get_initial()
@@ -66,8 +64,6 @@ FormMixin
 
     .. method:: get_prefix()
 
-        .. versionadded:: 1.6
-
         Determine the :attr:`~django.forms.Form.prefix` for the generated form.
         Returns :attr:`~django.views.generic.edit.FormMixin.prefix` by default.
 
@@ -234,12 +230,10 @@ DeletionMixin
         The url to redirect to when the nominated object has been
         successfully deleted.
 
-        .. versionadded:: 1.6
-
-            ``success_url`` may contain dictionary string formatting, which
-            will be interpolated against the object's field attributes. For
-            example, you could use ``success_url="/parent/%(parent_id)s/"`` to
-            redirect to a URL composed out of the ``parent_id`` field on a model.
+        ``success_url`` may contain dictionary string formatting, which will be
+        interpolated against the object's field attributes. For example, you
+        could use ``success_url="/parent/%(parent_id)s/"`` to redirect to a URL
+        composed out of the ``parent_id`` field on a model.
 
     .. method:: get_success_url()
 

+ 0 - 4
docs/ref/class-based-views/mixins-multiple-object.txt

@@ -81,8 +81,6 @@ MultipleObjectMixin
 
     .. attribute:: paginate_orphans
 
-        .. versionadded:: 1.6
-
         An integer specifying the number of "overflow" objects the last page
         can contain. This extends the :attr:`paginate_by` limit on the last
         page by up to ``paginate_orphans``, in order to keep the last page from
@@ -135,8 +133,6 @@ MultipleObjectMixin
 
     .. method:: get_paginate_orphans()
 
-        .. versionadded:: 1.6
-
         An integer specifying the number of "overflow" objects the last page
         can contain. By default this simply returns the value of
         :attr:`paginate_orphans`.

+ 2 - 4
docs/ref/clickjacking.txt

@@ -61,10 +61,8 @@ To set the same ``X-Frame-Options`` value for all responses in your site, put
         ...
     )
 
-.. versionchanged:: 1.6
-
-    This middleware is enabled in the settings file generated by
-    :djadmin:`startproject`.
+This middleware is enabled in the settings file generated by
+:djadmin:`startproject`.
 
 By default, the middleware will set the ``X-Frame-Options`` header to
 ``SAMEORIGIN`` for every outgoing ``HttpResponse``. If you want ``DENY``

+ 1 - 38
docs/ref/contrib/admin/index.txt

@@ -17,10 +17,6 @@ Overview
 The admin is enabled in the default project template used by
 :djadmin:`startproject`.
 
-.. versionchanged:: 1.6
-
-    In previous versions, the admin wasn't enabled by default.
-
 For reference, here are the requirements:
 
 1. Add ``'django.contrib.admin'`` to your :setting:`INSTALLED_APPS` setting.
@@ -419,8 +415,6 @@ subclass::
 
     .. admonition:: Note
 
-        .. versionchanged:: 1.6
-
         If you define the ``Meta.model`` attribute on a
         :class:`~django.forms.ModelForm`, you must also define the
         ``Meta.fields`` attribute (or the ``Meta.exclude`` attribute). However,
@@ -693,9 +687,7 @@ subclass::
               list_display = ('full_name',)
 
 
-    * .. versionadded:: 1.6
-
-      The field names in ``list_display`` will also appear as CSS classes in
+    * The field names in ``list_display`` will also appear as CSS classes in
       the HTML output, in the form of ``column-<field_name>`` on each ``<th>``
       element. This can be used to set column widths in a CSS file for example.
 
@@ -918,8 +910,6 @@ subclass::
     the list of objects on the admin change list page. This can save you a
     bunch of database queries.
 
-    .. versionchanged:: 1.6
-
     The value should be either a boolean, a list or a tuple. Default is
     ``False``.
 
@@ -978,8 +968,6 @@ subclass::
 
 .. attribute:: ModelAdmin.preserve_filters
 
-    .. versionadded:: 1.6
-
     The admin now preserves filters on the list view after creating, editing
     or deleting an object. You can restore the previous behavior of clearing
     filters by setting this attribute to ``False``.
@@ -1286,8 +1274,6 @@ templates used by the :class:`ModelAdmin` views:
 
 .. method:: ModelAdmin.get_search_results(request, queryset, search_term)
 
-    .. versionadded:: 1.6
-
     The ``get_search_results`` method modifies the list of objects displayed in
     to those that match the provided search term. It accepts the request, a
     queryset that applies the current filters, and the user-provided search term.
@@ -1598,8 +1584,6 @@ templates used by the :class:`ModelAdmin` views:
 
     .. admonition:: Note
 
-        .. versionchanged:: 1.6
-
         If you define the ``Meta.model`` attribute on a
         :class:`~django.forms.ModelForm`, you must also define the
         ``Meta.fields`` attribute (or the ``Meta.exclude`` attribute). However,
@@ -1659,10 +1643,6 @@ templates used by the :class:`ModelAdmin` views:
                     return qs
                 return qs.filter(author=request.user)
 
-    .. versionchanged:: 1.6
-
-        The ``get_queryset`` method was previously named ``queryset``.
-
 .. method:: ModelAdmin.message_user(request, message, level=messages.INFO, extra_tags='', fail_silently=False)
 
     Sends a message to the user using the :mod:`django.contrib.messages`
@@ -1817,10 +1797,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.6
-
-    The embedded jQuery has been upgraded from 1.4.2 to 1.9.1.
-
 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
@@ -1975,8 +1951,6 @@ The ``InlineModelAdmin`` class adds:
     The dynamic link will not appear if the number of currently displayed forms
     exceeds ``max_num``, or if the user does not have JavaScript enabled.
 
-    .. versionadded:: 1.6
-
     :meth:`InlineModelAdmin.get_extra` also allows you to customize the number
     of extra forms.
 
@@ -1988,8 +1962,6 @@ The ``InlineModelAdmin`` class adds:
     doesn't directly correlate to the number of objects, but can if the value
     is small enough. See :ref:`model-formsets-max-num` for more information.
 
-    .. versionadded:: 1.6
-
     :meth:`InlineModelAdmin.get_max_num` also allows you to customize the
     maximum number of extra forms.
 
@@ -2035,8 +2007,6 @@ The ``InlineModelAdmin`` class adds:
 
 .. method:: InlineModelAdmin.get_extra(request, obj=None, **kwargs)
 
-    .. versionadded:: 1.6
-
     Returns the number of extra inline forms to use. By default, returns the
     :attr:`InlineModelAdmin.extra` attribute.
 
@@ -2055,8 +2025,6 @@ The ``InlineModelAdmin`` class adds:
 
 .. method:: InlineModelAdmin.get_max_num(request, obj=None, **kwargs)
 
-    .. versionadded:: 1.6
-
     Returns the maximum number of extra inline forms to use. By default,
     returns the :attr:`InlineModelAdmin.max_num` attribute.
 
@@ -2551,11 +2519,6 @@ your URLconf. Specifically, add these four patterns:
     url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', name='password_reset_confirm'),
     url(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete', name='password_reset_complete'),
 
-.. versionchanged:: 1.6
-
-    The pattern for :func:`~django.contrib.auth.views.password_reset_confirm`
-    changed as the ``uid`` is now base 64 encoded.
-
 (This assumes you've added the admin at ``admin/`` and requires that you put
 the URLs starting with ``^admin/`` before the line that includes the admin app
 itself).

+ 0 - 11
docs/ref/contrib/auth.txt

@@ -143,23 +143,12 @@ Methods
         :meth:`~django.contrib.auth.models.User.set_unusable_password()`
         were used.
 
-        .. versionchanged:: 1.6
-
-            In Django 1.4 and 1.5, a blank string was unintentionally stored
-            as an unusable password.
-
     .. method:: check_password(raw_password)
 
         Returns ``True`` if the given raw string is the correct password for
         the user. (This takes care of the password hashing in making the
         comparison.)
 
-        .. versionchanged:: 1.6
-
-            In Django 1.4 and 1.5, a blank string was unintentionally
-            considered to be an unusable password, resulting in this method
-            returning ``False`` for such a password.
-
     .. method:: set_unusable_password()
 
         Marks the user as having no password set.  This isn't the same as

+ 3 - 7
docs/ref/contrib/contenttypes.txt

@@ -291,8 +291,6 @@ model:
 
     .. attribute:: GenericForeignKey.for_concrete_model
 
-       .. versionadded:: 1.6
-
        If ``False``, the field will be able to reference proxy models. Default
        is ``True``. This mirrors the ``for_concrete_model`` argument to
        :meth:`~django.contrib.contenttypes.models.ContentTypeManager.get_for_model`.
@@ -508,11 +506,9 @@ The :mod:`django.contrib.contenttypes.forms` module provides:
     :func:`~django.forms.models.modelformset_factory` and
     :func:`~django.forms.models.inlineformset_factory`.
 
-    .. versionadded:: 1.6
-
-        The ``for_concrete_model`` argument corresponds to the
-        :class:`~django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model`
-        argument on ``GenericForeignKey``.
+    The ``for_concrete_model`` argument corresponds to the
+    :class:`~django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model`
+    argument on ``GenericForeignKey``.
 
     .. versionchanged:: 1.7
 

+ 0 - 8
docs/ref/contrib/formtools/form-wizard.txt

@@ -260,8 +260,6 @@ wizard's ``as_view()`` method takes a list of your
         (r'^contact/$', ContactWizard.as_view([ContactForm1, ContactForm2])),
     )
 
-.. versionchanged:: 1.6
-
 You can also pass the form list as a class attribute named ``form_list``::
 
     class ContactWizard(WizardView):
@@ -317,8 +315,6 @@ The ``urls.py`` file would contain something like::
         (r'^checkout/$', OrderWizard.as_view(FORMS, condition_dict={'cc': pay_by_credit_card})),
     )
 
-.. versionchanged:: 1.6
-
 The ``condition_dict`` can be passed as attribute for the ``as_view()`
 method or as a class attribute named ``condition_dict``::
 
@@ -493,8 +489,6 @@ Advanced ``WizardView`` methods
 
 .. method:: WizardView.render_goto_step(step, goto_step, **kwargs)
 
-    .. versionadded:: 1.6
-
     This method is called when the step should be changed to something else
     than the next step. By default, this method just stores the requested
     step ``goto_step`` in the storage and then renders the new step.
@@ -598,8 +592,6 @@ Providing initial data for the forms
     The ``initial_dict`` can also take a list of dictionaries for a specific
     step if the step is a ``FormSet``.
 
-    .. versionchanged:: 1.6
-
     The ``initial_dict`` can also be added as a class attribute named
     ``initial_dict`` to avoid having the initial data in the ``urls.py``.
 

+ 0 - 2
docs/ref/contrib/gis/forms-api.txt

@@ -7,8 +7,6 @@ GeoDjango Forms API
 .. module:: django.contrib.gis.forms
    :synopsis: GeoDjango forms API.
 
-.. versionadded:: 1.6
-
 GeoDjango provides some specialized form fields and widgets in order to visually
 display and edit geolocalized data on a map. By default, they use
 `OpenLayers`_-powered maps, with a base WMS layer provided by `Metacarta`_.

+ 0 - 2
docs/ref/contrib/messages.txt

@@ -354,8 +354,6 @@ example::
 Adding messages in Class Based Views
 ------------------------------------
 
-.. versionadded:: 1.6
-
 .. class:: views.SuccessMessageMixin
 
     Adds a success message attribute to

+ 0 - 4
docs/ref/contrib/sites.txt

@@ -249,10 +249,6 @@ To do this, you can use the sites framework. A simple example::
 Enabling the sites framework
 ============================
 
-.. versionchanged:: 1.6
-
-    In previous versions, the sites framework was enabled by default.
-
 To enable the sites framework, follow these steps:
 
 1. Add ``'django.contrib.sites'`` to your :setting:`INSTALLED_APPS`

+ 0 - 2
docs/ref/contrib/syndication.txt

@@ -139,8 +139,6 @@ into those elements.
 
   .. method:: Feed.get_context_data(**kwargs)
 
-    .. versionadded:: 1.6
-
       There is also a way to pass additional information to title and description
       templates, if you need to supply more than the two variables mentioned
       before. You can provide your implementation of ``get_context_data`` method

+ 0 - 25
docs/ref/databases.txt

@@ -19,8 +19,6 @@ General notes
 Persistent connections
 ----------------------
 
-.. versionadded:: 1.6
-
 Persistent connections avoid the overhead of re-establishing a connection to
 the database in each request. They're controlled by the
 :setting:`CONN_MAX_AGE` parameter which defines the maximum lifetime of a
@@ -114,34 +112,11 @@ will do some additional queries to set these parameters.
 
 .. _ALTER ROLE: http://www.postgresql.org/docs/current/interactive/sql-alterrole.html
 
-.. _postgresql-autocommit-mode:
-
-Autocommit mode
----------------
-
-.. versionchanged:: 1.6
-
-In previous versions of Django, database-level autocommit could be enabled by
-setting the ``autocommit`` key in the :setting:`OPTIONS` part of your database
-configuration in :setting:`DATABASES`::
-
-    DATABASES = {
-        # ...
-        'OPTIONS': {
-            'autocommit': True,
-        },
-    }
-
-Since Django 1.6, autocommit is turned on by default. This configuration is
-ignored and can be safely removed.
-
 .. _database-isolation-level:
 
 Isolation level
 ---------------
 
-.. versionadded:: 1.6
-
 Like PostgreSQL itself, Django defaults to the ``READ COMMITTED`` `isolation
 level`_. If you need a higher isolation level such as ``REPEATABLE READ`` or
 ``SERIALIZABLE``, set it in the :setting:`OPTIONS` part of your database

+ 0 - 32
docs/ref/django-admin.txt

@@ -144,10 +144,6 @@ Example usage::
     django-admin.py compilemessages -l pt_BR
     django-admin.py compilemessages -l pt_BR -l fr
 
-.. versionchanged:: 1.6
-
-    Added the ability to specify multiple locales.
-
 createcachetable
 ----------------
 
@@ -203,10 +199,6 @@ example, the default settings don't define :setting:`ROOT_URLCONF`, so
 The :djadminopt:`--all` option may be provided to display all settings, even
 if they have Django's default value. Such settings are prefixed by ``"###"``.
 
-.. versionadded:: 1.6
-
-    The :djadminopt:`--all` option was added.
-
 dumpdata <app_label app_label app_label.Model ...>
 --------------------------------------------------
 
@@ -278,8 +270,6 @@ Use :ref:`natural keys <topics-serialization-natural-keys>` to represent
 any foreign key and many-to-many relationship with a model that provides
 a natural key definition.
 
-.. versionadded:: 1.6
-
 .. django-admin-option:: --pks
 
 By default, ``dumpdata`` will output all the records of the model, but
@@ -363,11 +353,6 @@ access to your precious data on a model by model basis.
 The :djadminopt:`--database` option may be used to specify the
 database to introspect.
 
-.. versionchanged:: 1.6
-
-    The behavior by which introspected models are created as unmanaged ones is new
-    in Django 1.6.
-
 loaddata <fixture fixture ...>
 ------------------------------
 
@@ -565,10 +550,6 @@ Example usage::
     django-admin.py makemessages -l pt_BR
     django-admin.py makemessages -l pt_BR -l fr
 
-.. versionchanged:: 1.6
-
-    Added the ability to specify multiple locales.
-
 .. versionchanged:: 1.7
 
     Added the ``--previous`` option to the ``msgmerge`` command when merging
@@ -620,8 +601,6 @@ for technically skilled translators to understand each message's context.
 
 .. django-admin-option:: --keep-pot
 
-.. versionadded:: 1.6
-
 Use the ``--keep-pot`` option to prevent Django from deleting the temporary
 .pot files it generates before creating the .po file. This is useful for
 debugging errors which may prevent the final language files from being created.
@@ -977,10 +956,6 @@ behavior you can use the ``--no-startup`` option. e.g.::
 
     django-admin.py shell --plain --no-startup
 
-.. versionadded:: 1.6
-
-    The ``--no-startup`` option was added in Django 1.6.
-
 sql <app_label app_label ...>
 -----------------------------
 
@@ -1043,8 +1018,6 @@ sqldropindexes <app_label app_label ...>
 
 .. django-admin:: sqldropindexes
 
-.. versionadded:: 1.6
-
 Prints the DROP INDEX SQL statements for the given app name(s).
 
 The :djadminopt:`--database` option can be used to specify the database for
@@ -1510,11 +1483,6 @@ By default, ``django-admin.py`` will show a simple error message whenever an
 for any other exception. If you specify ``--traceback``, ``django-admin.py``
 will also output a full stack trace when a ``CommandError`` is raised.
 
-.. versionchanged:: 1.6
-
-    Previously, Django didn't show a full stack trace by default for exceptions
-    other than ``CommandError``.
-
 .. django-admin-option:: --verbosity
 
 Example usage::

+ 0 - 5
docs/ref/exceptions.txt

@@ -187,11 +187,6 @@ information provided. (Note that this attribute is available under
 both Python 2 and Python 3, although :pep:`3134` normally only applies
 to Python 3.)
 
-.. versionchanged:: 1.6
-
-    Previous versions of Django only wrapped ``DatabaseError`` and
-    ``IntegrityError``, and did not provide ``__cause__``.
-
 .. exception:: models.ProtectedError
 
 Raised to prevent deletion of referenced objects when using

+ 7 - 18
docs/ref/forms/api.txt

@@ -623,10 +623,6 @@ By default, ``auto_id`` is set to the string ``'id_%s'``.
 A translatable string (defaults to a colon (``:``) in English) that will be
 appended after any label name when a form is rendered.
 
-.. versionchanged:: 1.6
-
-    The default ``label_suffix`` is translatable.
-
 It's possible to customize that character, or omit it entirely, using the
 ``label_suffix`` parameter::
 
@@ -647,8 +643,6 @@ Note that the label suffix is added only if the last character of the
 label isn't a punctuation character (in English, those are ``.``, ``!``, ``?``
 or ``:``).
 
-.. versionadded:: 1.6
-
 You can also customize the ``label_suffix`` on a per-field basis using the
 ``label_suffix`` parameter to :meth:`~django.forms.BoundField.label_tag`.
 
@@ -795,18 +789,13 @@ Optionally, you can provide the ``contents`` parameter which will replace the
 auto-generated label tag. An optional ``attrs`` dictionary may contain
 additional attributes for the ``<label>`` tag.
 
-.. versionchanged:: 1.6
-
-    The label now includes the form's :attr:`~django.forms.Form.label_suffix`
-    (a colon, by default).
-
-.. versionadded:: 1.6
-
-    The optional ``label_suffix`` parameter allows you to override the form's
-    :attr:`~django.forms.Form.label_suffix`. For example, you can use an empty
-    string to hide the label on selected fields. If you need to do this in a
-    template, you could write a custom filter to allow passing parameters to
-    ``label_tag``.
+The HTML that's generated includes the form's
+:attr:`~django.forms.Form.label_suffix` (a colon, by default). The optional
+``label_suffix`` parameter allows you to override the form's
+:attr:`~django.forms.Form.label_suffix`. For example, you can use an empty
+string to hide the label on selected fields. If you need to do this in a
+template, you could write a custom filter to allow passing parameters to
+``label_tag``.
 
 .. versionchanged:: 1.8
 

+ 5 - 10
docs/ref/forms/fields.txt

@@ -481,11 +481,8 @@ For each field, we describe the default widget used if you don't specify
 
     The ``max_value`` and ``min_value`` error messages may contain
     ``%(limit_value)s``, which will be substituted by the appropriate limit.
-
-    .. versionchanged:: 1.6
-
-        Similarly, the ``max_digits``, ``max_decimal_places`` and
-        ``max_whole_digits`` error messages may contain ``%(max)s``.
+    Similarly, the ``max_digits``, ``max_decimal_places`` and
+    ``max_whole_digits`` error messages may contain ``%(max)s``.
 
     Takes four optional arguments:
 
@@ -1105,11 +1102,9 @@ objects (in the case of ``ModelMultipleChoiceField``) into the
     * Error message keys: ``required``, ``list``, ``invalid_choice``,
       ``invalid_pk_value``
 
-    .. versionchanged:: 1.6
-
-        The ``invalid_choice`` message may contain ``%(value)s`` and the
-        ``invalid_pk_value`` message may contain ``%(pk)s``, which will be
-        substituted by the appropriate values.
+    The ``invalid_choice`` message may contain ``%(value)s`` and the
+    ``invalid_pk_value`` message may contain ``%(pk)s``, which will be
+    substituted by the appropriate values.
 
     Allows the selection of one or more model objects, suitable for
     representing a many-to-many relation. As with :class:`ModelChoiceField`,

+ 0 - 4
docs/ref/forms/formsets.txt

@@ -11,10 +11,6 @@ Formset Functions
 
     See :ref:`formsets` for example usage.
 
-    .. versionchanged:: 1.6
-
-    The ``validate_max`` parameter was added.
-
     .. versionchanged:: 1.7
 
     The ``min_num`` and ``validate_min`` parameters were added.

+ 0 - 10
docs/ref/forms/models.txt

@@ -61,11 +61,6 @@ Model Form Functions
 
     See :ref:`model-formsets` for example usage.
 
-    .. versionchanged:: 1.6
-
-        The ``widgets``, ``validate_max``, ``localized_fields``, ``labels``,
-        ``help_texts``, and ``error_messages`` parameters were added.
-
 .. function:: inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None)
 
     Returns an ``InlineFormSet`` using :func:`modelformset_factory` with
@@ -76,8 +71,3 @@ Model Form Functions
     the ``parent_model``, you must specify a ``fk_name``.
 
     See :ref:`inline-formsets` for example usage.
-
-    .. versionchanged:: 1.6
-
-        The ``widgets``, ``validate_max`` and ``localized_fields``, ``labels``,
-        ``help_texts``, and ``error_messages`` parameters were added.

+ 0 - 2
docs/ref/forms/validation.txt

@@ -113,8 +113,6 @@ for all remaining fields are still executed.
 Raising ``ValidationError``
 ---------------------------
 
-.. versionchanged:: 1.6
-
 In order to make error messages flexible and easy to override, consider the
 following guidelines:
 

+ 4 - 14
docs/ref/forms/widgets.txt

@@ -409,8 +409,6 @@ These widgets make use of the HTML elements ``input`` and ``textarea``.
 
 .. class:: NumberInput
 
-    .. versionadded:: 1.6
-
     Text input: ``<input type="number" ...>``
 
     Beware that not all browsers support entering localized numbers in
@@ -422,8 +420,6 @@ These widgets make use of the HTML elements ``input`` and ``textarea``.
 
 .. class:: EmailInput
 
-    .. versionadded:: 1.6
-
     Text input: ``<input type="email" ...>``
 
 ``URLInput``
@@ -431,8 +427,6 @@ These widgets make use of the HTML elements ``input`` and ``textarea``.
 
 .. class:: URLInput
 
-    .. versionadded:: 1.6
-
     Text input: ``<input type="url" ...>``
 
 ``PasswordInput``
@@ -649,10 +643,8 @@ Selector and checkbox widgets
     simply includes ``{{ myform.beatles }}`` -- they'll be output in a ``<ul>``
     with ``<li>`` tags, as above.
 
-.. versionchanged:: 1.6
-
-The outer ``<ul>`` container will now receive the ``id`` attribute defined on
-the widget.
+    The outer ``<ul>`` container will receive the ``id`` attribute defined on
+    the widget.
 
 .. versionchanged:: 1.7
 
@@ -675,10 +667,8 @@ the widget.
           ...
         </ul>
 
-.. versionchanged:: 1.6
-
-The outer ``<ul>`` container will now receive the ``id`` attribute defined on
-the widget.
+    The outer ``<ul>`` container will receive the ``id`` attribute defined on
+    the widget.
 
 Like :class:`RadioSelect`, you can now loop over the individual checkboxes making
 up the lists. See the documentation of :class:`RadioSelect` for more details.

+ 0 - 24
docs/ref/middleware.txt

@@ -217,30 +217,6 @@ Adds protection against Cross Site Request Forgeries by adding hidden form
 fields to POST forms and checking requests for the correct value. See the
 :doc:`Cross Site Request Forgery protection documentation </ref/contrib/csrf>`.
 
-Transaction middleware
-----------------------
-
-.. module:: django.middleware.transaction
-   :synopsis: Middleware binding a database transaction to each Web request.
-
-.. class:: TransactionMiddleware
-
-.. versionchanged:: 1.6
-
-    ``TransactionMiddleware`` is deprecated. The documentation of transactions
-    contains :ref:`upgrade instructions <transactions-upgrading-from-1.5>`.
-
-Binds commit and rollback of the default database to the request/response
-phase. If a view function runs successfully, a commit is done. If it fails with
-an exception, a rollback is done.
-
-The order of this middleware in the stack is important: middleware modules
-running outside of it run with commit-on-save - the default Django behavior.
-Middleware modules running inside it (coming later in the stack) will be under
-the same transaction control as the view functions.
-
-See the :doc:`transaction management documentation </topics/db/transactions>`.
-
 X-Frame-Options middleware
 --------------------------
 

+ 2 - 14
docs/ref/models/fields.txt

@@ -384,8 +384,6 @@ guaranteed to fit numbers from ``-9223372036854775808`` to
 
 .. class:: BinaryField([**options])
 
-.. versionadded:: 1.6
-
 A field to store raw binary data. It only supports ``bytes`` assignment. Be
 aware that this field has limited functionality. For example, it is not possible
 to filter a queryset on a ``BinaryField`` value.
@@ -409,10 +407,8 @@ The default form widget for this field is a
 If you need to accept :attr:`~Field.null` values then use
 :class:`NullBooleanField` instead.
 
-.. versionchanged:: 1.6
-
-    The default value of ``BooleanField`` was changed from ``False`` to
-    ``None`` when :attr:`Field.default` isn't defined.
+The default value of ``BooleanField`` is ``None`` when :attr:`Field.default`
+isn't defined.
 
 ``CharField``
 -------------
@@ -1142,8 +1138,6 @@ define the details of how the relation works.
 
 .. attribute:: ForeignKey.related_query_name
 
-    .. versionadded:: 1.6
-
     The name to use for the reverse filter name from the target model.
     Defaults to the value of :attr:`related_name` if it is set, otherwise it
     defaults to the name of the model::
@@ -1163,8 +1157,6 @@ define the details of how the relation works.
 
 .. attribute:: ForeignKey.db_constraint
 
-    .. versionadded:: 1.6
-
     Controls whether or not a constraint should be created in the database for
     this foreign key. The default is ``True``, and that's almost certainly what
     you want; setting this to ``False`` can be very bad for data integrity.
@@ -1292,8 +1284,6 @@ that control how the relationship functions.
 
 .. attribute:: ManyToManyField.related_query_name
 
-    .. versionadded:: 1.6
-
     Same as :attr:`ForeignKey.related_query_name`.
 
 .. attribute:: ManyToManyField.limit_choices_to
@@ -1396,8 +1386,6 @@ that control how the relationship functions.
 
 .. attribute:: ManyToManyField.db_constraint
 
-    .. versionadded:: 1.6
-
     Controls whether or not constraints should be created in the database for
     the foreign keys in the intermediary table. The default is ``True``, and
     that's almost certainly what you want; setting this to ``False`` can be

+ 10 - 18
docs/ref/models/instances.txt

@@ -86,14 +86,8 @@ validation errors yourself, or if you have excluded fields from the
 
 .. method:: Model.full_clean(exclude=None, validate_unique=True)
 
-.. versionchanged:: 1.6
-
-  The ``validate_unique`` parameter was added to allow skipping
-  :meth:`Model.validate_unique()`. Previously, :meth:`Model.validate_unique()`
-  was always called by ``full_clean``.
-
 This method calls :meth:`Model.clean_fields()`, :meth:`Model.clean()`, and
-:meth:`Model.validate_unique()` (if ``validate_unique`` is ``True``, in that
+:meth:`Model.validate_unique()` (if ``validate_unique`` is ``True``), in that
 order and raises a :exc:`~django.core.exceptions.ValidationError` that has a
 ``message_dict`` attribute containing errors from all three stages.
 
@@ -310,17 +304,15 @@ value explicitly when saving new objects, if you cannot guarantee the
 primary-key value is unused. For more on this nuance, see `Explicitly specifying
 auto-primary-key values`_ above and `Forcing an INSERT or UPDATE`_ below.
 
-.. versionchanged:: 1.6
-
-    Previously Django did a ``SELECT`` when the primary key attribute was set.
-    If the ``SELECT`` found a row, then Django did an ``UPDATE``, otherwise it
-    did an ``INSERT``. The old algorithm results in one more query in the
-    ``UPDATE`` case. There are some rare cases where the database doesn't
-    report that a row was updated even if the database contains a row for the
-    object's primary key value. An example is the PostgreSQL ``ON UPDATE``
-    trigger which returns ``NULL``. In such cases it is possible to revert to the
-    old algorithm by setting the :attr:`~django.db.models.Options.select_on_save`
-    option to ``True``.
+In Django 1.5 and earlier, Django did a ``SELECT`` when the primary key
+attribute was set. If the ``SELECT`` found a row, then Django did an ``UPDATE``,
+otherwise it did an ``INSERT``. The old algorithm results in one more query in
+the ``UPDATE`` case. There are some rare cases where the database doesn't
+report that a row was updated even if the database contains a row for the
+object's primary key value. An example is the PostgreSQL ``ON UPDATE`` trigger
+which returns ``NULL``. In such cases it is possible to revert to the old
+algorithm by setting the :attr:`~django.db.models.Options.select_on_save`
+option to ``True``.
 
 .. _ref-models-force-insert:
 

+ 1 - 3
docs/ref/models/options.txt

@@ -279,8 +279,6 @@ Django quotes column and table names behind the scenes.
 
 .. attribute:: Options.select_on_save
 
-    .. versionadded:: 1.6
-
     Determines if Django will use the pre-1.6
     :meth:`django.db.models.Model.save()` algorithm. The old algorithm
     uses ``SELECT`` to determine if there is an existing row to be updated.
@@ -344,7 +342,7 @@ Django quotes column and table names behind the scenes.
 
     For convenience, ``index_together`` can be a single list when dealing with a single
     set of fields::
-    
+
         index_together = ["pub_date", "deadline"]
 
 ``verbose_name``

+ 1 - 29
docs/ref/models/querysets.txt

@@ -585,16 +585,7 @@ Returns a ``DateQuerySet`` — a ``QuerySet`` that evaluates to a list of
 :class:`datetime.date` objects representing all available dates of a
 particular kind within the contents of the ``QuerySet``.
 
-.. versionchanged:: 1.6
-
-    ``dates`` used to return a list of :class:`datetime.datetime` objects.
-
 ``field`` should be the name of a ``DateField`` of your model.
-
-.. versionchanged:: 1.6
-
-    ``dates`` used to accept operating on a ``DateTimeField``.
-
 ``kind`` should be either ``"year"``, ``"month"`` or ``"day"``. Each
 ``datetime.date`` object in the result list is "truncated" to the given
 ``type``.
@@ -624,8 +615,6 @@ Examples::
 datetimes
 ~~~~~~~~~
 
-.. versionadded:: 1.6
-
 .. method:: datetimes(field, kind, order='ASC', tzinfo=None)
 
 Returns a ``DateTimeQuerySet`` — a ``QuerySet`` that evaluates to a list of
@@ -769,8 +758,6 @@ follow all non-null foreign keys it can find - nullable foreign keys must be
 specified. This is not recommended in most cases as it is likely to make the
 underlying query more complex, and return more data, than is actually needed.
 
-.. versionadded:: 1.6
-
 If you need to clear the list of related fields added by past calls of
 ``select_related`` on a ``QuerySet``, you can pass ``None`` as a parameter::
 
@@ -1474,10 +1461,6 @@ get_or_create
 A convenience method for looking up an object with the given ``kwargs`` (may be
 empty if your model has defaults for all fields), creating one if necessary.
 
-.. versionchanged:: 1.6
-
-    Older versions of Django required ``kwargs``.
-
 Returns a tuple of ``(object, created)``, where ``object`` is the retrieved or
 created object and ``created`` is a boolean specifying whether a new object was
 created.
@@ -1762,16 +1745,13 @@ earliest
 
 .. method:: earliest(field_name=None)
 
-.. versionadded:: 1.6
-
 Works otherwise like :meth:`~django.db.models.query.QuerySet.latest` except
 the direction is changed.
 
 first
 ~~~~~
-.. method:: first()
 
-.. versionadded:: 1.6
+.. method:: first()
 
 Returns the first object matched by the queryset, or ``None`` if there
 is no matching object. If the ``QuerySet`` has no ordering defined, then the
@@ -1793,8 +1773,6 @@ last
 ~~~~
 .. method:: last()
 
-.. versionadded:: 1.6
-
 Works like  :meth:`first()`, but returns the last object in the queryset.
 
 aggregate
@@ -2435,8 +2413,6 @@ in the database <database-time-zone-definitions>`.
 hour
 ~~~~
 
-.. versionadded:: 1.6
-
 For datetime fields, an exact hour match. Takes an integer between 0 and 23.
 
 Example::
@@ -2457,8 +2433,6 @@ zone before filtering.
 minute
 ~~~~~~
 
-.. versionadded:: 1.6
-
 For datetime fields, an exact minute match. Takes an integer between 0 and 59.
 
 Example::
@@ -2479,8 +2453,6 @@ zone before filtering.
 second
 ~~~~~~
 
-.. versionadded:: 1.6
-
 For datetime fields, an exact second match. Takes an integer between 0 and 59.
 
 Example::

+ 0 - 8
docs/ref/request-response.txt

@@ -636,8 +636,6 @@ Attributes
 
 .. attribute:: HttpResponse.reason_phrase
 
-    .. versionadded:: 1.6
-
     The HTTP reason phrase for the response.
 
 .. attribute:: HttpResponse.streaming
@@ -670,8 +668,6 @@ Methods
 
     ``status`` is the `HTTP status code`_ for the response.
 
-    .. versionadded:: 1.6
-
     ``reason`` is the HTTP response phrase. If not provided, a default phrase
     will be used.
 
@@ -782,8 +778,6 @@ types of HTTP responses. Like ``HttpResponse``, these subclasses live in
 
     .. attribute:: HttpResponseRedirect.url
 
-        .. versionadded:: 1.6
-
         This read-only attribute represents the URL the response will redirect
         to (equivalent to the ``Location`` response header).
 
@@ -954,8 +948,6 @@ Attributes
 
 .. attribute:: HttpResponse.reason_phrase
 
-    .. versionadded:: 1.6
-
     The HTTP reason phrase for the response.
 
 .. attribute:: HttpResponse.streaming

+ 0 - 18
docs/ref/settings.txt

@@ -348,8 +348,6 @@ protection is safe from cross-subdomain attacks by default - please see the
 CSRF_COOKIE_HTTPONLY
 --------------------
 
-.. versionadded:: 1.6
-
 Default: ``False``
 
 Whether to use ``HttpOnly`` flag on the CSRF cookie. If this is set to
@@ -455,8 +453,6 @@ configurations are available:
 ATOMIC_REQUESTS
 ~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.6
-
 Default: ``False``
 
 Set this to ``True`` to wrap each HTTP request in a transaction on this
@@ -467,8 +463,6 @@ database. See :ref:`tying-transactions-to-http-requests`.
 AUTOCOMMIT
 ~~~~~~~~~~
 
-.. versionadded:: 1.6
-
 Default: ``True``
 
 Set this to ``False`` if you want to :ref:`disable Django's transaction
@@ -535,8 +529,6 @@ file. When specifying the path, always use forward slashes, even on Windows
 CONN_MAX_AGE
 ~~~~~~~~~~~~
 
-.. versionadded:: 1.6
-
 Default: ``0``
 
 The lifetime of a database connection, in seconds. Use ``0`` to close database
@@ -2121,10 +2113,6 @@ precedence and will be applied instead.
 
 See also :setting:`DATE_INPUT_FORMATS` and :setting:`DATETIME_INPUT_FORMATS`.
 
-.. versionchanged:: 1.6
-
-    Input format with microseconds has been added.
-
 .. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
 
 .. setting:: TIME_ZONE
@@ -2654,12 +2642,6 @@ SESSION_SERIALIZER
 
 Default: ``'django.contrib.sessions.serializers.JSONSerializer'``
 
-.. versionchanged:: 1.6
-
-    The default switched from
-    :class:`~django.contrib.sessions.serializers.PickleSerializer` to
-    :class:`~django.contrib.sessions.serializers.JSONSerializer` in Django 1.6.
-
 Full import path of a serializer class to use for serializing session data.
 Included serializers are:
 

+ 2 - 6
docs/ref/templates/builtins.txt

@@ -974,12 +974,8 @@ url
 ^^^
 
 Returns an absolute path reference (a URL without the domain name) matching a
-given view function and optional parameters.
-
-.. versionchanged:: 1.6
-
-    Any special characters in the resulting path will be encoded using
-    :func:`~django.utils.encoding.iri_to_uri`.
+given view function and optional parameters. Any special characters in the
+resulting path will be encoded using :func:`~django.utils.encoding.iri_to_uri`.
 
 This is a way to output links without violating the DRY principle by having to
 hard-code URLs in your templates::

+ 0 - 2
docs/ref/urls.txt

@@ -117,8 +117,6 @@ handler400
 
 .. data:: handler400
 
-.. versionadded:: 1.6
-
 A callable, or a string representing the full Python import path to the view
 that should be called if the HTTP client has sent a request that caused an error
 condition and a response with a status code of 400.

+ 0 - 9
docs/ref/utils.txt

@@ -613,10 +613,6 @@ escaping HTML.
 
     .. _bleach: https://pypi.python.org/pypi/bleach
 
-    .. versionchanged:: 1.6
-
-        For improved safety, ``strip_tags`` is now parser-based.
-
 .. function:: remove_tags(value, tags)
 
     Removes a space-separated list of [X]HTML tag names from the output.
@@ -696,15 +692,11 @@ escaping HTML.
 
 .. function:: urlsafe_base64_encode(s)
 
-    .. versionadded:: 1.6
-
     Encodes a bytestring in base64 for use in URLs, stripping any trailing
     equal signs.
 
 .. function::  urlsafe_base64_decode(s)
 
-    .. versionadded:: 1.6
-
     Decodes a base64 encoded string, adding back any trailing equal signs that
     might have been stripped.
 
@@ -733,7 +725,6 @@ Functions for working with Python modules.
 
 .. function:: import_by_path(dotted_path, error_prefix='')
 
-    .. versionadded:: 1.6
     .. deprecated:: 1.7
        Use :meth:`~django.utils.module_loading.import_string` instead.
 

+ 5 - 7
docs/releases/1.3.txt

@@ -610,13 +610,11 @@ Transaction management
 
 When using managed transactions -- that is, anything but the default
 autocommit mode -- it is important when a transaction is marked as
-"dirty". Dirty transactions are committed by the
-:func:`~django.db.transaction.commit_on_success` decorator or the
-:class:`~django.middleware.transaction.TransactionMiddleware`, and
-:func:`~django.db.transaction.commit_manually` forces them to be
-closed explicitly; clean transactions "get a pass", which means they
-are usually rolled back at the end of a request when the connection is
-closed.
+"dirty". Dirty transactions are committed by the ``commit_on_success``
+decorator or the ``django.middleware.transaction.TransactionMiddleware``, and
+``commit_manually`` forces them to be closed explicitly; clean transactions
+"get a pass", which means they are usually rolled back at the end of a request
+when the connection is closed.
 
 Until Django 1.3, transactions were only marked dirty when Django was
 aware of a modifying operation performed in them; that is, either some

+ 2 - 2
docs/releases/1.6.txt

@@ -411,8 +411,8 @@ Autocommit option for PostgreSQL
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 In previous versions, database-level autocommit was only an option for
-PostgreSQL, and it was disabled by default. This option is now :ref:`ignored
-<postgresql-autocommit-mode>` and can be removed.
+PostgreSQL, and it was disabled by default. This option is now ignored and can
+be removed.
 
 .. _new-test-runner:
 

+ 4 - 21
docs/topics/auth/customizing.txt

@@ -70,6 +70,10 @@ The order of :setting:`AUTHENTICATION_BACKENDS` matters, so if the same
 username and password is valid in multiple backends, Django will stop
 processing at the first positive match.
 
+If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
+exception, authentication will immediately fail. Django won't check the
+backends that follow.
+
 .. note::
 
     Once a user has authenticated, Django stores which backend was used to
@@ -81,12 +85,6 @@ processing at the first positive match.
     you need to force users to re-authenticate using different methods. A simple
     way to do that is simply to execute ``Session.objects.all().delete()``.
 
-.. versionadded:: 1.6
-
-    If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
-    exception, authentication will immediately fail. Django won't check the
-    backends that follow.
-
 Writing an authentication backend
 ---------------------------------
 
@@ -570,23 +568,12 @@ The following methods are available on any subclass of
         :meth:`~django.contrib.auth.models.AbstractBaseUser.set_unusable_password()`
         were used.
 
-        .. versionchanged:: 1.6
-
-            In Django 1.4 and 1.5, a blank string was unintentionally stored
-            as an unusable password as well.
-
     .. method:: models.AbstractBaseUser.check_password(raw_password)
 
         Returns ``True`` if the given raw string is the correct password for
         the user. (This takes care of the password hashing in making the
         comparison.)
 
-        .. versionchanged:: 1.6
-
-            In Django 1.4 and 1.5, a blank string was unintentionally
-            considered to be an unusable password, resulting in this method
-            returning ``False`` for such a password.
-
     .. method:: models.AbstractBaseUser.set_unusable_password()
 
         Marks the user as having no password set.  This isn't the same as
@@ -909,10 +896,6 @@ models provided by ``auth`` app::
             "Run tests for a simple extension of the built-in User."
             self.assertSomething()
 
-.. versionchanged:: 1.6
-
-    In Django 1.5, it wasn't necessary to explicitly import the test User models.
-
 A full example
 --------------
 

+ 0 - 16
docs/topics/auth/default.txt

@@ -851,11 +851,6 @@ patterns.
     error message since this would expose their account's existence but no
     mail will be sent either.
 
-    .. versionchanged:: 1.6
-
-        Previously, error messages indicated whether a given email was
-        registered.
-
     **URL name:** ``password_reset``
 
     **Optional arguments:**
@@ -936,15 +931,9 @@ patterns.
         Someone asked for password reset for email {{ email }}. Follow the link below:
         {{ protocol}}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
 
-    .. versionchanged:: 1.6
-
-      Reversing ``password_reset_confirm`` takes a ``uidb64`` argument instead
-      of ``uidb36``.
-
     The same template context is used for subject template. Subject must be
     single line plain text string.
 
-
 .. function:: password_reset_done(request[, template_name, current_app, extra_context])
 
     The page shown after a user has been emailed a link to reset their
@@ -976,11 +965,6 @@ patterns.
 
     * ``uidb64``: The user's id encoded in base 64. Defaults to ``None``.
 
-      .. versionchanged:: 1.6
-
-          The ``uidb64`` parameter was previously base 36 encoded and named
-          ``uidb36``.
-
     * ``token``: Token to check that the password is valid. Defaults to
       ``None``.
 

+ 2 - 11
docs/topics/auth/passwords.txt

@@ -183,11 +183,8 @@ can switch to new (and better) storage algorithms as they get invented.
 However, Django can only upgrade passwords that use algorithms mentioned in
 :setting:`PASSWORD_HASHERS`, so as you upgrade to new systems you should make
 sure never to *remove* entries from this list. If you do, users using
-unmentioned algorithms won't be able to upgrade.
-
-.. versionadded:: 1.6
-
-    Passwords will be upgraded when changing the PBKDF2 iteration count.
+unmentioned algorithms won't be able to upgrade. Passwords will be upgraded
+when changing the PBKDF2 iteration count.
 
 .. _sha1: http://en.wikipedia.org/wiki/SHA1
 .. _pbkdf2: http://en.wikipedia.org/wiki/PBKDF2
@@ -214,12 +211,6 @@ from the ``User`` model.
     database to check against, and returns ``True`` if they match, ``False``
     otherwise.
 
-    .. versionchanged:: 1.6
-
-        In Django 1.4 and 1.5, a blank string was unintentionally considered
-        to be an unusable password, resulting in this method returning
-        ``False`` for such a password.
-
 .. function:: make_password(password[, salt, hashers])
 
     Creates a hashed password in the format used by this application. It takes

+ 0 - 5
docs/topics/cache.txt

@@ -771,11 +771,6 @@ of the appropriate backend in the :setting:`CACHES` setting (explained above).
 It's the number of seconds the value should be stored in the cache. Passing in
 ``None`` for ``timeout`` will cache the value forever.
 
-.. versionchanged:: 1.6
-
-    Previously, passing ``None`` explicitly would use the default timeout
-    value.
-
 If the object doesn't exist in the cache, ``cache.get()`` returns ``None``::
 
     # Wait 30 seconds for 'my_key' to expire...

+ 0 - 4
docs/topics/db/managers.txt

@@ -179,10 +179,6 @@ your choice of default manager in order to avoid a situation where overriding
 ``get_queryset()`` results in an inability to retrieve objects you'd like to
 work with.
 
-.. versionchanged:: 1.6
-
-    The ``get_queryset`` method was previously named ``get_query_set``.
-
 .. _managers-for-related-objects:
 
 Using managers for related object access

+ 0 - 14
docs/topics/db/sql.txt

@@ -197,13 +197,6 @@ argument.
 
 __ http://en.wikipedia.org/wiki/SQL_injection
 
-.. versionchanged:: 1.6
-
-    In Django 1.5 and earlier, you could pass parameters as dictionaries
-    when using PostgreSQL or MySQL, although this wasn't documented. Now
-    you can also do this when using Oracle, and it is officially supported.
-
-
 .. _executing-custom-sql:
 
 Executing custom SQL directly
@@ -236,13 +229,6 @@ For example::
 
         return row
 
-.. versionchanged:: 1.6
-
-    In Django 1.5 and earlier, after performing a data changing operation, you
-    had to call ``transaction.commit_unless_managed()`` to ensure your changes
-    were committed to the database. Since Django now defaults to database-level
-    autocommit, this isn't necessary any longer.
-
 Note that if you want to include literal percent signs in the query, you have to
 double them in the case you are passing parameters::
 

+ 4 - 31
docs/topics/db/transactions.txt

@@ -24,11 +24,6 @@ integrity of ORM operations that require multiple queries, especially
 Django's :class:`~django.test.TestCase` class also wraps each test in a
 transaction for performance reasons.
 
-.. versionchanged:: 1.6
-
-    Previous version of Django featured :ref:`a more complicated default
-    behavior <transactions-upgrading-from-1.5>`.
-
 .. _tying-transactions-to-http-requests:
 
 Tying transactions to HTTP requests
@@ -93,16 +88,9 @@ still possible to prevent views from running in a transaction.
 
     It only works if it's applied to the view itself.
 
-.. versionchanged:: 1.6
-
-    Django used to provide this feature via ``TransactionMiddleware``, which is
-    now deprecated.
-
 Controlling transactions explicitly
 -----------------------------------
 
-.. versionadded:: 1.6
-
 Django provides a single API to control database transactions.
 
 .. function:: atomic(using=None, savepoint=True)
@@ -251,11 +239,6 @@ on.
 To avoid this, you can :ref:`deactivate the transaction management
 <deactivate-transaction-management>`, but it isn't recommended.
 
-.. versionchanged:: 1.6
-
-    Before Django 1.6, autocommit was turned off, and it was emulated by
-    forcing a commit after write operations in the ORM.
-
 .. _deactivate-transaction-management:
 
 Deactivating transaction management
@@ -272,10 +255,6 @@ by Django or by third-party libraries. Thus, this is best used in situations
 where you want to run your own transaction-controlling middleware or do
 something really strange.
 
-.. versionchanged:: 1.6
-
-    This used to be controlled by the ``TRANSACTIONS_MANAGED`` setting.
-
 Low-level APIs
 ==============
 
@@ -292,8 +271,6 @@ Low-level APIs
 Autocommit
 ----------
 
-.. versionadded:: 1.6
-
 Django provides a straightforward API in the :mod:`django.db.transaction`
 module to manage the autocommit state of each database connection.
 
@@ -360,12 +337,10 @@ you issue a rollback, the entire transaction is rolled back. Savepoints
 provide the ability to perform a fine-grained rollback, rather than the full
 rollback that would be performed by ``transaction.rollback()``.
 
-.. versionchanged:: 1.6
-
-    When the :func:`atomic` decorator is nested, it creates a savepoint to allow
-    partial commit or rollback. You're strongly encouraged to use :func:`atomic`
-    rather than the functions described below, but they're still part of the
-    public API, and there's no plan to deprecate them.
+When the :func:`atomic` decorator is nested, it creates a savepoint to allow
+partial commit or rollback. You're strongly encouraged to use :func:`atomic`
+rather than the functions described below, but they're still part of the
+public API, and there's no plan to deprecate them.
 
 Each of these functions takes a ``using`` argument which should be the name of
 a database for which the behavior applies.  If no ``using`` argument is
@@ -419,8 +394,6 @@ The following example demonstrates the use of savepoints::
             transaction.savepoint_rollback(sid)
             # open transaction now contains only a.save()
 
-.. versionadded:: 1.6
-
 Savepoints may be used to recover from a database error by performing a partial
 rollback. If you're doing this inside an :func:`atomic` block, the entire block
 will still be rolled back, because it doesn't know you've handled the situation

+ 0 - 14
docs/topics/forms/formsets.txt

@@ -118,13 +118,6 @@ affect validation.  If ``validate_max=True`` is passed to the
 :func:`~django.forms.formsets.formset_factory`, then ``max_num`` will affect
 validation.  See :ref:`validate_max`.
 
-.. versionchanged:: 1.6
-
-   The ``validate_max`` parameter was added to
-   :func:`~django.forms.formsets.formset_factory`.  Also, the behavior of
-   ``FormSet`` was brought in line with that of ``ModelFormSet`` so that it
-   displays initial data regardless of ``max_num``.
-
 Formset validation
 ------------------
 
@@ -169,8 +162,6 @@ the expected error message appears for the second item.
 
 .. method:: BaseFormSet.total_error_count()
 
-.. versionadded:: 1.6
-
 To check how many errors there are in the formset, we can use the
 ``total_error_count`` method::
 
@@ -344,11 +335,6 @@ excessive.
     truncated entirely.  This is to protect against memory exhaustion attacks
     using forged POST requests.
 
-.. versionchanged:: 1.6
-
-   The ``validate_max`` parameter was added to
-   :func:`~django.forms.formsets.formset_factory`.
-
 ``validate_min``
 ~~~~~~~~~~~~~~~~
 

+ 4 - 7
docs/topics/forms/index.txt

@@ -317,14 +317,11 @@ attributes, which can be useful in your templates:
     The label of the field, e.g. ``Email address``.
 
 ``{{ field.label_tag }}``
-    The field's label wrapped in the appropriate HTML ``<label>`` tag.
+    The field's label wrapped in the appropriate HTML ``<label>`` tag. This
+    includes the form's :attr:`~django.forms.Form.label_suffix`. For example,
+    the default ``label_suffix`` is a colon::
 
-    .. versionchanged:: 1.6
-
-        This includes the form's :attr:`~django.forms.Form.label_suffix`. For
-        example, the default ``label_suffix`` is a colon::
-
-            <label for="id_email">Email address:</label>
+        <label for="id_email">Email address:</label>
 
 ``{{ field.id_for_label }}``
     The ID that will be used for this field (``id_email`` in the example

+ 2 - 12
docs/topics/forms/modelforms.txt

@@ -501,10 +501,6 @@ widget::
 The ``widgets`` dictionary accepts either widget instances (e.g.,
 ``Textarea(...)``) or classes (e.g., ``Textarea``).
 
-.. versionadded:: 1.6
-
-    The ``labels``, ``help_texts`` and ``error_messages`` options were added.
-
 Similarly, you can specify the ``labels``, ``help_texts`` and ``error_messages``
 attributes of the inner ``Meta`` class if you want to further customize a field.
 
@@ -610,8 +606,6 @@ the field declaratively and setting its ``validators`` parameter::
 Enabling localization of fields
 -------------------------------
 
-.. versionadded:: 1.6
-
 By default, the fields in a ``ModelForm`` will not localize their data. To
 enable localization for fields, you can use the ``localized_fields``
 attribute on the ``Meta`` class.
@@ -818,8 +812,6 @@ exclude::
 Specifying widgets to use in the form with ``widgets``
 ------------------------------------------------------
 
-.. versionadded:: 1.6
-
 Using the ``widgets`` parameter, you can specify a dictionary of values to
 customize the ``ModelForm``’s widget class for a particular field. This
 works the same way as the ``widgets`` dictionary on the inner ``Meta``
@@ -831,8 +823,6 @@ class of a ``ModelForm`` works::
 Enabling localization for fields with ``localized_fields``
 ----------------------------------------------------------
 
-.. versionadded:: 1.6
-
 Using the ``localized_fields`` parameter, you can enable localization for
 fields in the form.
 
@@ -1196,9 +1186,9 @@ Notice how we pass ``instance`` in both the ``POST`` and ``GET`` cases.
 Specifying widgets to use in the inline form
 --------------------------------------------
 
-.. versionadded:: 1.6
 
 ``inlineformset_factory`` uses ``modelformset_factory`` and passes most
 of its arguments to ``modelformset_factory``. This means you can use
 the ``widgets`` parameter in much the same way as passing it to
-``modelformset_factory``. See `Specifying widgets to use in the form with widgets`_ above.
+``modelformset_factory``. See `Specifying widgets to use in the form with
+widgets`_ above.

+ 2 - 2
docs/topics/http/middleware.txt

@@ -8,8 +8,8 @@ or output.
 
 Each middleware component is responsible for doing some specific function. For
 example, Django includes a middleware component,
-:class:`~django.middleware.transaction.TransactionMiddleware`, that wraps the
-processing of each HTTP request in a database transaction.
+:class:`~django.contrib.auth.middleware.AuthenticationMiddleware`, that
+associates users with requests using sessions.
 
 This document explains how middleware works, how you activate middleware, and
 how to write your own middleware. Django ships with some built-in middleware

+ 0 - 2
docs/topics/http/sessions.txt

@@ -324,8 +324,6 @@ You can edit it multiple times.
 Session serialization
 ---------------------
 
-.. versionchanged:: 1.6
-
 Before version 1.6, Django defaulted to using :mod:`pickle` to serialize
 session data before storing it in the backend. If you're using the :ref:`signed
 cookie session backend<cookie-session-backend>` and :setting:`SECRET_KEY` is

+ 0 - 2
docs/topics/http/views.txt

@@ -242,8 +242,6 @@ same way you can for the 404 and 500 views by specifying a
 The 400 (bad request) view
 --------------------------
 
-.. versionadded:: 1.6
-
 .. function:: django.views.defaults.bad_request(request, template_name='400.html')
 
 When a :exc:`~django.core.exceptions.SuspiciousOperation` is raised in Django,

+ 0 - 2
docs/topics/i18n/translation.txt

@@ -433,8 +433,6 @@ helper function described next.
 Lazy translations and plural
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.6
-
 When using lazy translation for a plural string (``[u]n[p]gettext_lazy``), you
 generally don't know the ``number`` argument at the time of the string
 definition. Therefore, you are authorized to pass a key name instead of an

+ 0 - 2
docs/topics/logging.txt

@@ -531,8 +531,6 @@ Python logging module.
     sensitive information to be filtered out of error reports -- learn more on
     :ref:`Filtering error reports<filtering-error-reports>`.
 
-    .. versionadded:: 1.6
-
     By setting the ``email_backend`` argument of ``AdminEmailHandler``, the
     :ref:`email backend <topic-email-backends>` that is being used by the
     handler can be overridden, like this::

+ 0 - 5
docs/topics/serialization.txt

@@ -122,11 +122,6 @@ Calling ``DeserializedObject.save()`` saves the object to the database.
     If the ``pk`` attribute in the serialized data doesn't exist or is
     null, a new instance will be saved to the database.
 
-.. versionchanged:: 1.6
-
-    In previous versions of Django, the ``pk`` attribute had to be present
-    on the serialized data or a ``DeserializationError`` would be raised.
-
 This ensures that deserializing is a non-destructive operation even if the
 data in your serialized representation doesn't match what's currently in the
 database. Usually, working with these ``DeserializedObject`` instances looks

+ 0 - 4
docs/topics/testing/advanced.txt

@@ -166,8 +166,6 @@ Advanced features of ``TransactionTestCase``
 
 .. attribute:: TransactionTestCase.available_apps
 
-    .. versionadded:: 1.6
-
     .. warning::
 
         This attribute is a private API. It may be changed or removed without
@@ -295,8 +293,6 @@ Defining a test runner
 
 .. currentmodule:: django.test.runner
 
-.. versionadded:: 1.6
-
 A test runner is a class defining a ``run_tests()`` method. Django ships
 with a ``DiscoverRunner`` class that defines the default Django testing
 behavior. This class defines the ``run_tests()`` entry point, plus a

+ 0 - 15
docs/topics/testing/overview.txt

@@ -58,12 +58,6 @@ test utility is to find all the test cases (that is, subclasses of
 :class:`unittest.TestCase`) in any file whose name begins with ``test``,
 automatically build a test suite out of those test cases, and run that suite.
 
-.. versionchanged:: 1.6
-
-   Previously, Django's default test runner only discovered tests in
-   ``tests.py`` and ``models.py`` files within a Python package listed in
-   :setting:`INSTALLED_APPS`.
-
 For more details about :mod:`unittest`, see the Python documentation.
 
 .. warning::
@@ -120,15 +114,6 @@ You can specify a custom filename pattern match using the ``-p`` (or
 
     $ ./manage.py test --pattern="tests_*.py"
 
-.. versionchanged:: 1.6
-
-   Previously, test labels were in the form ``applabel``,
-   ``applabel.TestCase``, or ``applabel.TestCase.test_method``, rather than
-   being true Python dotted paths, and tests could only be found within
-   ``tests.py`` or ``models.py`` files within a Python package listed in
-   :setting:`INSTALLED_APPS`. The ``--pattern`` option and file paths as test
-   labels are new in 1.6.
-
 If you press ``Ctrl-C`` while the tests are running, the test runner will
 wait for the currently running test to complete and then exit gracefully.
 During a graceful exit the test runner will output details of any test

+ 3 - 14
docs/topics/testing/tools.txt

@@ -573,11 +573,6 @@ functionality like:
 * Using the :attr:`~SimpleTestCase.client` :class:`~django.test.Client`.
 * Custom test-time :attr:`URL maps <SimpleTestCase.urls>`.
 
-.. versionchanged:: 1.6
-
-    The latter two features were moved from ``TransactionTestCase`` to
-    ``SimpleTestCase`` in Django 1.6.
-
 If you need any of the other more complex and heavyweight Django-specific
 features like:
 
@@ -1281,8 +1276,6 @@ your test suite.
 
 .. method:: SimpleTestCase.assertFormsetError(response, formset, form_index, field, errors, msg_prefix='')
 
-    .. versionadded:: 1.6
-
     Asserts that the ``formset`` raises the provided list of errors when
     rendered.
 
@@ -1459,16 +1452,12 @@ your test suite.
     By default, the comparison is also ordering dependent. If ``qs`` doesn't
     provide an implicit ordering, you can set the ``ordered`` parameter to
     ``False``, which turns the comparison into a Python set comparison.
+    If the order is undefined (if the given ``qs`` isn't ordered and the
+    comparison is against more than one ordered values), a ``ValueError`` is
+    raised.
 
     Output in case of error can be customized with the ``msg`` argument.
 
-    .. versionchanged:: 1.6
-
-        The method now checks for undefined order and raises ``ValueError``
-        if undefined order is spotted. The ordering is seen as undefined if
-        the given ``qs`` isn't ordered and the comparison is against more
-        than one ordered values.
-
     .. versionchanged:: 1.7
 
         The method now accepts a ``msg`` parameter to allow customization of