Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Adapted uses of versionchanged/versionadded to the new form.

Refs #20104.
  • Loading branch information...
commit 78c842a3230f026ad678d243e5459cd6b314d99a 1 parent 1ddeeb5
@catalanojuan catalanojuan authored claudep committed
Showing with 206 additions and 148 deletions.
  1. +1 −1  docs/_ext/djangodocs.py
  2. +1 −1  docs/howto/custom-management-commands.txt
  3. +2 −2 docs/howto/legacy-databases.txt
  4. +2 −2 docs/intro/contributing.txt
  5. +1 −0  docs/ref/class-based-views/base.txt
  6. +1 −1  docs/ref/class-based-views/generic-date-based.txt
  7. +1 −0  docs/ref/class-based-views/mixins-date-based.txt
  8. +4 −4 docs/ref/class-based-views/mixins-editing.txt
  9. +0 −1  docs/ref/class-based-views/mixins-simple.txt
  10. +1 −0  docs/ref/clickjacking.txt
  11. +6 −1 docs/ref/contrib/admin/index.txt
  12. +12 −12 docs/ref/contrib/contenttypes.txt
  13. +1 −0  docs/ref/contrib/gis/geoquerysets.txt
  14. +1 −0  docs/ref/contrib/sites.txt
  15. +1 −0  docs/ref/databases.txt
  16. +12 −7 docs/ref/django-admin.txt
  17. +1 −0  docs/ref/exceptions.txt
  18. +3 −0  docs/ref/forms/fields.txt
  19. +2 −2 docs/ref/forms/models.txt
  20. +4 −4 docs/ref/forms/validation.txt
  21. +1 −0  docs/ref/forms/widgets.txt
  22. +1 −0  docs/ref/middleware.txt
  23. +3 −2 docs/ref/models/fields.txt
  24. +3 −2 docs/ref/models/instances.txt
  25. +18 −14 docs/ref/models/querysets.txt
  26. +10 −9 docs/ref/request-response.txt
  27. +12 −11 docs/ref/settings.txt
  28. +7 −7 docs/ref/template-response.txt
  29. +1 −0  docs/ref/templates/api.txt
  30. +21 −20 docs/ref/templates/builtins.txt
  31. +14 −14 docs/ref/unicode.txt
  32. +1 −0  docs/releases/1.0.txt
  33. +3 −3 docs/topics/auth/customizing.txt
  34. +6 −4 docs/topics/auth/default.txt
  35. +1 −0  docs/topics/db/managers.txt
  36. +1 −0  docs/topics/db/multi-db.txt
  37. +2 −0  docs/topics/db/queries.txt
  38. +1 −0  docs/topics/db/sql.txt
  39. +19 −15 docs/topics/db/transactions.txt
  40. +2 −0  docs/topics/forms/formsets.txt
  41. +1 −0  docs/topics/http/middleware.txt
  42. +2 −0  docs/topics/http/sessions.txt
  43. +2 −0  docs/topics/http/shortcuts.txt
  44. +1 −0  docs/topics/i18n/translation.txt
  45. +2 −2 docs/topics/pagination.txt
  46. +6 −6 docs/topics/serialization.txt
  47. +1 −1  docs/topics/signals.txt
  48. +7 −0 docs/topics/testing/overview.txt
View
2  docs/_ext/djangodocs.py
@@ -66,7 +66,7 @@ def run(self):
msg = """Only one argument accepted for directive '{directive_name}::'.
Comments should be provided as content,
not as an extra argument.""".format(directive_name=self.name)
- raise ValueError(msg)
+ raise self.error(msg)
env = self.state.document.settings.env
ret = []
View
2  docs/howto/custom-management-commands.txt
@@ -256,7 +256,7 @@ All attributes can be set in your derived class and can be used in
.. versionadded:: 1.6
-The ``leave_locale_alone`` option was added in Django 1.6.
+ The ``leave_locale_alone`` option was added in Django 1.6.
Methods
-------
View
4 docs/howto/legacy-databases.txt
@@ -75,8 +75,8 @@ 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.
+ The behavior by which introspected models are created as unmanaged ones is new
+ in Django 1.6.
Install the core Django tables
==============================
View
4 docs/intro/contributing.txt
@@ -389,8 +389,8 @@ This is a new feature, so it should be documented. Add the following on line
.. versionadded:: 1.5
- The current value of the field will be displayed as a clickable link above the
- input widget.
+ The current value of the field will be displayed as a clickable link above the
+ input widget.
For more information on writing documentation, including an explanation of what
the ``versionadded`` bit is all about, see
View
1  docs/ref/class-based-views/base.txt
@@ -105,6 +105,7 @@ TemplateView
in the URL.
.. versionchanged:: 1.5
+
The context used to be populated with a ``{{ params }}`` dictionary of
the parameters captured in the URL. Now those parameters are first-level
context variables.
View
2  docs/ref/class-based-views/generic-date-based.txt
@@ -142,7 +142,7 @@ YearArchiveView
.. versionchanged:: 1.5
- Previously, this returned a string.
+ Previously, this returned a string.
* ``next_year``: A :class:`~datetime.date` object
representing the first day of the next year, according to
View
1  docs/ref/class-based-views/mixins-date-based.txt
@@ -330,5 +330,6 @@ BaseDateListView
:meth:`QuerySet.dates()<django.db.models.query.QuerySet.dates>`.
.. versionchanged:: 1.5
+
The ``ordering`` parameter was added, and the default order was
changed to ascending.
View
8 docs/ref/class-based-views/mixins-editing.txt
@@ -206,10 +206,10 @@ ProcessFormView
.. 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()
View
1  docs/ref/class-based-views/mixins-simple.txt
@@ -67,7 +67,6 @@ TemplateResponseMixin
.. attribute:: content_type
.. versionadded:: 1.5
- The ``content_type`` attribute was added.
The content type to use for the response. ``content_type`` is passed
as a keyword argument to ``response_class``. Default is ``None`` --
View
1  docs/ref/clickjacking.txt
@@ -62,6 +62,7 @@ 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`.
View
7 docs/ref/contrib/admin/index.txt
@@ -18,6 +18,7 @@ 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:
@@ -1341,6 +1342,7 @@ templates used by the :class:`ModelAdmin` views:
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)
@@ -1348,7 +1350,9 @@ templates used by the :class:`ModelAdmin` views:
Sends a message to the user using the :mod:`django.contrib.messages`
backend. See the :ref:`custom ModelAdmin example <custom-admin-action>`.
- .. versionadded:: 1.5
+ .. versionchanged:: 1.5
+
+ Keyword arguments were added in Django 1.5.
Keyword arguments allow you to change the message level, add extra CSS
tags, or fail silently if the ``contrib.messages`` framework is not
@@ -1451,6 +1455,7 @@ 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
View
24 docs/ref/contrib/contenttypes.txt
@@ -234,18 +234,18 @@ lookup::
.. versionadded:: 1.5
-Prior to Django 1.5,
-:meth:`~django.contrib.contenttypes.models.ContentTypeManager.get_for_model` and
-:meth:`~django.contrib.contenttypes.models.ContentTypeManager.get_for_models`
-always returned the :class:`~django.contrib.contenttypes.models.ContentType`
-associated with the concrete model of the specified one(s). That means there
-was no way to retrieve the
-:class:`~django.contrib.contenttypes.models.ContentType` of a proxy model
-using those methods. As of Django 1.5 you can now pass a boolean flag –
-``for_concrete_model`` and ``for_concrete_models`` respectively – to specify
-wether or not you want to retrieve the
-:class:`~django.contrib.contenttypes.models.ContentType` for the concrete or
-direct model.
+ Prior to Django 1.5,
+ :meth:`~django.contrib.contenttypes.models.ContentTypeManager.get_for_model` and
+ :meth:`~django.contrib.contenttypes.models.ContentTypeManager.get_for_models`
+ always returned the :class:`~django.contrib.contenttypes.models.ContentType`
+ associated with the concrete model of the specified one(s). That means there
+ was no way to retrieve the
+ :class:`~django.contrib.contenttypes.models.ContentType` of a proxy model
+ using those methods. As of Django 1.5 you can now pass a boolean flag –
+ ``for_concrete_model`` and ``for_concrete_models`` respectively – to specify
+ wether or not you want to retrieve the
+ :class:`~django.contrib.contenttypes.models.ContentType` for the concrete or
+ direct model.
Generic relations
=================
View
1  docs/ref/contrib/gis/geoquerysets.txt
@@ -950,6 +950,7 @@ __ http://geohash.org/
*Availability*: PostGIS, SpatiaLite
.. versionchanged:: 1.5
+
``geojson`` support for Spatialite > 3.0 has been added.
Attaches a ``geojson`` attribute to every model in the queryset that contains the
View
1  docs/ref/contrib/sites.txt
@@ -252,6 +252,7 @@ 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:
View
1  docs/ref/databases.txt
@@ -182,6 +182,7 @@ Django supports MySQL 5.0.3 and higher.
data on all database schema. Django's ``inspectdb`` feature uses it.
.. versionchanged:: 1.5
+
The minimum version requirement of MySQL 5.0.3 was set in Django 1.5.
Django expects the database to support Unicode (UTF-8 encoding) and delegates to
View
19 docs/ref/django-admin.txt
@@ -98,6 +98,7 @@ Can be run as a cronjob or directly to clean out old data from the database
(only expired sessions at the moment).
.. versionchanged:: 1.5
+
:djadmin:`cleanup` is deprecated. Use :djadmin:`clearsessions` instead.
compilemessages
@@ -122,7 +123,7 @@ Example usage::
.. versionchanged:: 1.6
-Added the ability to specify multiple locales.
+ Added the ability to specify multiple locales.
createcachetable
----------------
@@ -173,6 +174,7 @@ 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 <appname appname appname.Model ...>
@@ -307,8 +309,8 @@ database to introspect.
.. versionchanged:: 1.6
-The behavior by which introspected models are created as unmanaged ones is new
-in Django 1.6.
+ The behavior by which introspected models are created as unmanaged ones is new
+ in Django 1.6.
loaddata <fixture fixture ...>
------------------------------
@@ -467,7 +469,7 @@ You can also use commas to separate multiple locales::
.. versionchanged:: 1.6
-Added the ability to specify multiple locales.
+ Added the ability to specify multiple locales.
.. django-admin-option:: --domain
@@ -778,8 +780,6 @@ use the ``--plain`` option, like so::
django-admin.py shell --plain
-.. versionchanged:: 1.5
-
If you would like to specify either IPython or bpython as your interpreter if
you have both installed you can specify an alternative interpreter interface
with the ``-i`` or ``--interface`` options like so:
@@ -807,9 +807,13 @@ behavior you can use the ``--no-startup`` option. e.g.::
django-admin.py shell --plain --no-startup
+.. versionadded:: 1.5
+
+ The ``--interface`` option was added in Django 1.5.
+
.. versionadded:: 1.6
-The ``--no-startup`` option was added in Django 1.6.
+ The ``--no-startup`` option was added in Django 1.6.
sql <appname appname ...>
-------------------------
@@ -1353,6 +1357,7 @@ 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``.
View
1  docs/ref/exceptions.txt
@@ -138,6 +138,7 @@ the underlying database exceptions. See :pep:`249`, the Python Database API
Specification v2.0, for further information.
.. versionchanged:: 1.6
+
Previous version of Django only wrapped ``DatabaseError`` and
``IntegrityError``.
View
3  docs/ref/forms/fields.txt
@@ -468,6 +468,7 @@ For each field, we describe the default widget used if you don't specify
``%(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``.
@@ -1014,10 +1015,12 @@ objects (in the case of ``ModelMultipleChoiceField``) into the
``invalid_pk_value``
.. versionchanged:: 1.5
+
The empty and normalized values were changed to be consistently
``QuerySets`` instead of ``[]`` and ``QuerySet`` respectively.
.. 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.
View
4 docs/ref/forms/models.txt
@@ -42,7 +42,7 @@ Model Form Functions
.. versionchanged:: 1.6
- The ``widgets`` and the ``validate_max`` parameters were added.
+ The ``widgets`` and the ``validate_max`` 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)
@@ -57,4 +57,4 @@ Model Form Functions
.. versionchanged:: 1.6
- The ``widgets`` and the ``validate_max`` parameters were added.
+ The ``widgets`` and the ``validate_max`` parameters were added.
View
8 docs/ref/forms/validation.txt
@@ -359,7 +359,7 @@ considering aren't valid, we must remember to remove them from the
.. versionchanged:: 1.5
-Django used to remove the ``cleaned_data`` attribute entirely if there were
-any errors in the form. Since version 1.5, ``cleaned_data`` is present even if
-the form doesn't validate, but it contains only field values that did
-validate.
+ Django used to remove the ``cleaned_data`` attribute entirely if there were
+ any errors in the form. Since version 1.5, ``cleaned_data`` is present even if
+ the form doesn't validate, but it contains only field values that did
+ validate.
View
1  docs/ref/forms/widgets.txt
@@ -522,6 +522,7 @@ Selector and checkbox widgets
``True`` if the checkbox should be checked for that value.
.. versionchanged:: 1.5
+
Exceptions from ``check_test`` used to be silenced by its caller,
this is no longer the case, they will propagate upwards.
View
1  docs/ref/middleware.txt
@@ -206,6 +206,7 @@ Transaction middleware
.. class:: TransactionMiddleware
.. versionchanged:: 1.6
+
``TransactionMiddleware`` is deprecated. The documentation of transactions
contains :ref:`upgrade instructions <transactions-upgrading-from-1.5>`.
View
5 docs/ref/models/fields.txt
@@ -378,6 +378,7 @@ 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.
@@ -956,8 +957,8 @@ Like all :class:`CharField` subclasses, :class:`URLField` takes the optional
.. versionadded:: 1.5
-The current value of the field will be displayed as a clickable link above the
-input widget.
+ The current value of the field will be displayed as a clickable link above the
+ input widget.
Relationship fields
View
5 docs/ref/models/instances.txt
@@ -297,8 +297,9 @@ follows this algorithm:
didn't update anything, Django executes an ``INSERT``.
.. versionchanged:: 1.6
- Previously Django used ``SELECT`` - if not found ``INSERT`` else ``UPDATE``
- algorithm. The old algorithm resulted in one more query in ``UPDATE`` case.
+
+ Previously Django used ``SELECT`` - if not found ``INSERT`` else ``UPDATE``
+ algorithm. The old algorithm resulted in one more query in ``UPDATE`` case.
The one gotcha here is that you should be careful not to specify a primary-key
value explicitly when saving new objects, if you cannot guarantee the
View
32 docs/ref/models/querysets.txt
@@ -554,11 +554,13 @@ Returns a ``DateQuerySet`` — a ``QuerySet`` that evaluates to a list of
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
@@ -1121,11 +1123,11 @@ to ``defer()``::
.. versionchanged:: 1.5
-Some fields in a model won't be deferred, even if you ask for them. You can
-never defer the loading of the primary key. If you are using
-:meth:`select_related()` to retrieve related models, you shouldn't defer the
-loading of the field that connects from the primary model to the related
-one, doing so will result in an error.
+ Some fields in a model won't be deferred, even if you ask for them. You can
+ never defer the loading of the primary key. If you are using
+ :meth:`select_related()` to retrieve related models, you shouldn't defer the
+ loading of the field that connects from the primary model to the related
+ one, doing so will result in an error.
.. note::
@@ -1193,20 +1195,20 @@ logically::
# existing set of fields).
Entry.objects.defer("body").only("headline", "body")
-.. versionchanged:: 1.5
-
All of the cautions in the note for the :meth:`defer` documentation apply to
``only()`` as well. Use it cautiously and only after exhausting your other
-options. Also note that using :meth:`only` and omitting a field requested
-using :meth:`select_related` is an error as well.
+options.
.. versionchanged:: 1.5
-.. note::
+ Using :meth:`only` and omitting a field requested using
+ :meth:`select_related` is an error as well.
- When calling :meth:`~django.db.models.Model.save()` for instances with
- deferred fields, only the loaded fields will be saved. See
- :meth:`~django.db.models.Model.save()` for more details.
+ .. note::
+
+ When calling :meth:`~django.db.models.Model.save()` for instances with
+ deferred fields, only the loaded fields will be saved. See
+ :meth:`~django.db.models.Model.save()` for more details.
using
~~~~~
@@ -1424,6 +1426,7 @@ query. The default is to create all objects in one batch, except for SQLite
where the default is such that at maximum 999 variables per query is used.
.. versionadded:: 1.5
+
The ``batch_size`` parameter was added in version 1.5.
count
@@ -1725,7 +1728,8 @@ methods on your models. It does, however, emit the
(including cascaded deletions).
.. versionadded:: 1.5
- Allow fast-path deletion of objects
+
+ Allow fast-path deletion of objects.
Django needs to fetch objects into memory to send signals and handle cascades.
However, if there are no cascades and no signals, then Django may take a
View
19 docs/ref/request-response.txt
@@ -94,6 +94,7 @@ All attributes should be considered read-only, unless stated otherwise below.
:attr:`HttpRequest.body` attribute instead.
.. versionchanged:: 1.5
+
Before Django 1.5, HttpRequest.POST contained non-form data.
It's possible that a request can come in via POST with an empty ``POST``
@@ -563,19 +564,19 @@ streaming response if (and only if) no middleware accesses the
.. versionchanged:: 1.5
-This technique is fragile and was deprecated in Django 1.5. If you need the
-response to be streamed from the iterator to the client, you should use the
-:class:`StreamingHttpResponse` class instead.
+ This technique is fragile and was deprecated in Django 1.5. If you need the
+ response to be streamed from the iterator to the client, you should use the
+ :class:`StreamingHttpResponse` class instead.
-As of Django 1.7, when :class:`HttpResponse` is instantiated with an
-iterator, it will consume it immediately, store the response content as a
-string, and discard the iterator.
+ As of Django 1.7, when :class:`HttpResponse` is instantiated with an
+ iterator, it will consume it immediately, store the response content as a
+ string, and discard the iterator.
.. versionchanged:: 1.5
-You can now use :class:`HttpResponse` as a file-like object even if it was
-instantiated with an iterator. Django will consume and save the content of
-the iterator on first access.
+ You can now use :class:`HttpResponse` as a file-like object even if it was
+ instantiated with an iterator. Django will consume and save the content of
+ the iterator on first access.
Setting headers
~~~~~~~~~~~~~~~
View
23 docs/ref/settings.txt
@@ -1486,6 +1486,7 @@ randomly-generated ``SECRET_KEY`` to each new project.
execution vulnerabilities.
.. versionchanged:: 1.5
+
Django will now refuse to start if :setting:`SECRET_KEY` is not set.
.. setting:: SECURE_PROXY_SSL_HEADER
@@ -1771,7 +1772,7 @@ See also :setting:`DATE_INPUT_FORMATS` and :setting:`DATETIME_INPUT_FORMATS`.
.. versionchanged:: 1.6
-Input format with microseconds has been added.
+ Input format with microseconds has been added.
.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
@@ -2055,11 +2056,11 @@ decorator, for example.
.. versionchanged:: 1.5
-This setting now also accepts view function names and
-:ref:`named URL patterns <naming-url-patterns>` which can be used to reduce
-configuration duplication since you no longer have to define the URL in two
-places (``settings`` and URLconf).
-For backward compatibility reasons the default remains unchanged.
+ This setting now also accepts view function names and
+ :ref:`named URL patterns <naming-url-patterns>` which can be used to reduce
+ configuration duplication since you no longer have to define the URL in two
+ places (``settings`` and URLconf).
+ For backward compatibility reasons the default remains unchanged.
.. setting:: LOGIN_URL
@@ -2073,11 +2074,11 @@ The URL where requests are redirected for login, especially when using the
.. versionchanged:: 1.5
-This setting now also accepts view function names and
-:ref:`named URL patterns <naming-url-patterns>` which can be used to reduce
-configuration duplication since you no longer have to define the URL in two
-places (``settings`` and URLconf).
-For backward compatibility reasons the default remains unchanged.
+ This setting now also accepts view function names and
+ :ref:`named URL patterns <naming-url-patterns>` which can be used to reduce
+ configuration duplication since you no longer have to define the URL in two
+ places (``settings`` and URLconf).
+ For backward compatibility reasons the default remains unchanged.
.. setting:: LOGOUT_URL
View
14 docs/ref/template-response.txt
@@ -78,13 +78,13 @@ Methods
.. versionchanged:: 1.5
- Historically, this parameter was only called ``mimetype`` (now
- deprecated), but since this is actually the value included in the HTTP
- ``Content-Type`` header, it can also include the character set
- encoding, which makes it more than just a MIME type specification. If
- ``mimetype`` is specified (not ``None``), that value is used.
- Otherwise, ``content_type`` is used. If neither is given,
- :setting:`DEFAULT_CONTENT_TYPE` is used.
+ Historically, this parameter was only called ``mimetype`` (now
+ deprecated), but since this is actually the value included in the HTTP
+ ``Content-Type`` header, it can also include the character set
+ encoding, which makes it more than just a MIME type specification. If
+ ``mimetype`` is specified (not ``None``), that value is used.
+ Otherwise, ``content_type`` is used. If neither is given,
+ :setting:`DEFAULT_CONTENT_TYPE` is used.
.. method:: SimpleTemplateResponse.resolve_context(context)
View
1  docs/ref/templates/api.txt
@@ -272,6 +272,7 @@ Every context contains ``True``, ``False`` and ``None``. As you would expect,
these variables resolve to the corresponding Python objects.
.. versionadded:: 1.5
+
Before Django 1.5, these variables weren't a special case, and they
resolved to ``None`` unless you defined them in the context.
View
41 docs/ref/templates/builtins.txt
@@ -191,19 +191,19 @@ call to ``{% cycle %}`` doesn't specify silent::
.. versionchanged:: 1.6
-To improve safety, future versions of ``cycle`` will automatically escape
-their output. You're encouraged to activate this behavior by loading
-``cycle`` from the ``future`` template library::
+ To improve safety, future versions of ``cycle`` will automatically escape
+ their output. You're encouraged to activate this behavior by loading
+ ``cycle`` from the ``future`` template library::
- {% load cycle from future %}
+ {% load cycle from future %}
-When using the ``future`` version, you can disable auto-escaping with::
+ When using the ``future`` version, you can disable auto-escaping with::
- {% for o in some_list %}
- <tr class="{% autoescape off %}{% cycle rowvalue1 rowvalue2 %}{% endautoescape %}">
- ...
- </tr>
- {% endfor %}
+ {% for o in some_list %}
+ <tr class="{% autoescape off %}{% cycle rowvalue1 rowvalue2 %}{% endautoescape %}">
+ ...
+ </tr>
+ {% endfor %}
.. templatetag:: debug
@@ -294,21 +294,21 @@ to escape the variables in the firstof tag, you must do so explicitly::
.. versionchanged:: 1.6
-To improve safety, future versions of ``firstof`` will automatically escape
-their output. You're encouraged to activate this behavior by loading
-``firstof`` from the ``future`` template library::
+ To improve safety, future versions of ``firstof`` will automatically escape
+ their output. You're encouraged to activate this behavior by loading
+ ``firstof`` from the ``future`` template library::
- {% load firstof from future %}
+ {% load firstof from future %}
-When using the ``future`` version, you can disable auto-escaping with::
+ When using the ``future`` version, you can disable auto-escaping with::
- {% autoescape off %}
- {% firstof var1 var2 var3 "<strong>fallback value</strong>" %}
- {% endautoescape %}
+ {% autoescape off %}
+ {% firstof var1 var2 var3 "<strong>fallback value</strong>" %}
+ {% endautoescape %}
-Or if only some variables should be escaped, you can use::
+ Or if only some variables should be escaped, you can use::
- {% firstof var1 var2|safe var3 "<strong>fallback value</strong>"|safe %}
+ {% firstof var1 var2|safe var3 "<strong>fallback value</strong>"|safe %}
.. templatetag:: for
@@ -1065,6 +1065,7 @@ by the context as to the current application.
Don't forget to put quotes around the function path or pattern name!
.. versionchanged:: 1.5
+
The first parameter used not to be quoted, which was inconsistent with
other template tags. Since Django 1.5, it is evaluated according to
the usual rules: it can be a quoted string or a variable that will be
View
28 docs/ref/unicode.txt
@@ -47,26 +47,26 @@ You can use Unicode strings, or you can use normal strings (sometimes called
.. versionchanged:: 1.5
-In Python 3, the logic is reversed, that is normal strings are Unicode, and
-when you want to specifically create a bytestring, you have to prefix the
-string with a 'b'. As we are doing in Django code from version 1.5,
-we recommend that you import ``unicode_literals`` from the __future__ library
-in your code. Then, when you specifically want to create a bytestring literal,
-prefix the string with 'b'.
+ In Python 3, the logic is reversed, that is normal strings are Unicode, and
+ when you want to specifically create a bytestring, you have to prefix the
+ string with a 'b'. As we are doing in Django code from version 1.5,
+ we recommend that you import ``unicode_literals`` from the __future__ library
+ in your code. Then, when you specifically want to create a bytestring literal,
+ prefix the string with 'b'.
-Python 2 legacy::
+ Python 2 legacy::
- my_string = "This is a bytestring"
- my_unicode = u"This is an Unicode string"
+ my_string = "This is a bytestring"
+ my_unicode = u"This is an Unicode string"
-Python 2 with unicode literals or Python 3::
+ Python 2 with unicode literals or Python 3::
- from __future__ import unicode_literals
+ from __future__ import unicode_literals
- my_string = b"This is a bytestring"
- my_unicode = "This is an Unicode string"
+ my_string = b"This is a bytestring"
+ my_unicode = "This is an Unicode string"
-See also :doc:`Python 3 compatibility </topics/python3>`.
+ See also :doc:`Python 3 compatibility </topics/python3>`.
.. warning::
View
1  docs/releases/1.0.txt
@@ -66,6 +66,7 @@ We can't possibly document everything that's new in 1.0, but the documentation
will be your definitive guide. Anywhere you see something like:
.. versionadded:: 1.0
+
This feature is new in Django 1.0
You'll know that you're looking at something new or changed.
View
6 docs/topics/auth/customizing.txt
@@ -83,9 +83,9 @@ processing at the first positive match.
.. 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.
+ 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
---------------------------------
View
10 docs/topics/auth/default.txt
@@ -435,10 +435,10 @@ The login_required decorator
.. versionchanged:: 1.5
- The :setting:`settings.LOGIN_URL <LOGIN_URL>` also accepts
- view function names and :ref:`named URL patterns <naming-url-patterns>`.
- This allows you to freely remap your login view within your URLconf
- without having to update the setting.
+ The :setting:`settings.LOGIN_URL <LOGIN_URL>` also accepts
+ view function names and :ref:`named URL patterns <naming-url-patterns>`.
+ This allows you to freely remap your login view within your URLconf
+ without having to update the setting.
.. note::
@@ -759,6 +759,7 @@ patterns.
mail will be sent either.
.. versionchanged:: 1.6
+
Previously, error messages indicated whether a given email was
registered.
@@ -1041,6 +1042,7 @@ Thus, you can check permissions in template ``{% if %}`` statements:
{% endif %}
.. versionadded:: 1.5
+
Permission lookup by "if in".
It is possible to also look permissions up by ``{% if in %}`` statements.
View
1  docs/topics/db/managers.txt
@@ -176,6 +176,7 @@ your choice of default manager in order to avoid a situation where overriding
work with.
.. versionchanged:: 1.6
+
The ``get_queryset`` method was previously named ``get_query_set``.
.. _managers-for-related-objects:
View
1  docs/topics/db/multi-db.txt
@@ -681,6 +681,7 @@ In addition, some objects are automatically created just after
database).
.. versionchanged:: 1.5
+
Previously, ``ContentType`` and ``Permission`` instances were created only
in the default database.
View
2  docs/topics/db/queries.txt
@@ -638,6 +638,7 @@ that were modified more than 3 days after they were published::
>>> Entry.objects.filter(mod_date__gt=F('pub_date') + timedelta(days=3))
.. versionadded:: 1.5
+
``.bitand()`` and ``.bitor()``
The ``F()`` objects now support bitwise operations by ``.bitand()`` and
@@ -646,6 +647,7 @@ The ``F()`` objects now support bitwise operations by ``.bitand()`` and
>>> F('somefield').bitand(16)
.. versionchanged:: 1.5
+
The previously undocumented operators ``&`` and ``|`` no longer produce
bitwise operations, use ``.bitand()`` and ``.bitor()`` instead.
View
1  docs/topics/db/sql.txt
@@ -222,6 +222,7 @@ 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
View
34 docs/topics/db/transactions.txt
@@ -22,6 +22,7 @@ integrity of ORM operations that require multiple queries, especially
<topics-db-queries-update>` queries.
.. versionchanged:: 1.6
+
Previous version of Django featured :ref:`a more complicated default
behavior <transactions-upgrading-from-1.5>`.
@@ -78,6 +79,7 @@ Middleware run outside of the transaction, and so does the rendering of
template responses.
.. versionchanged:: 1.6
+
Django used to provide this feature via ``TransactionMiddleware``, which is
now deprecated.
@@ -204,6 +206,7 @@ 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.
@@ -224,6 +227,7 @@ 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
@@ -312,10 +316,10 @@ 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
@@ -354,20 +358,20 @@ The following example demonstrates the use of savepoints::
@transaction.atomic
def viewfunc(request):
- a.save()
- # transaction now contains a.save()
+ a.save()
+ # transaction now contains a.save()
- sid = transaction.savepoint()
+ sid = transaction.savepoint()
- b.save()
- # transaction now contains a.save() and b.save()
+ b.save()
+ # transaction now contains a.save() and b.save()
- if want_to_keep_b:
- transaction.savepoint_commit(sid)
- # open transaction still contains a.save() and b.save()
- else:
- transaction.savepoint_rollback(sid)
- # open transaction now contains only a.save()
+ if want_to_keep_b:
+ transaction.savepoint_commit(sid)
+ # open transaction still contains a.save() and b.save()
+ else:
+ transaction.savepoint_rollback(sid)
+ # open transaction now contains only a.save()
Database-specific notes
=======================
View
2  docs/topics/forms/formsets.txt
@@ -111,6 +111,7 @@ affect validation. If ``validate_max=True`` is passed to the
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
@@ -310,6 +311,7 @@ should use custom formset validation.
using forged POST requests.
.. versionchanged:: 1.6
+
The ``validate_max`` parameter was added to
:func:`~django.forms.formsets.formset_factory`.
View
1  docs/topics/http/middleware.txt
@@ -204,6 +204,7 @@ Dealing with streaming responses
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. versionchanged:: 1.5
+
``response`` may also be an :class:`~django.http.StreamingHttpResponse`
object.
View
2  docs/topics/http/sessions.txt
@@ -71,6 +71,7 @@ default cache. To use another cache, set :setting:`SESSION_CACHE_ALIAS` to the
name of that cache.
.. versionchanged:: 1.5
+
The :setting:`SESSION_CACHE_ALIAS` setting was added.
Once your cache is configured, you've got two choices for how to store data in
@@ -451,6 +452,7 @@ Similarly, the ``expires`` part of a session cookie is updated each time the
session cookie is sent.
.. versionchanged:: 1.5
+
The session is not saved if the response's status code is 500.
.. _browser-length-vs-persistent-sessions:
View
2  docs/topics/http/shortcuts.txt
@@ -51,6 +51,7 @@ Optional arguments
the :setting:`DEFAULT_CONTENT_TYPE` setting.
.. versionchanged:: 1.5
+
This parameter used to be called ``mimetype``.
``status``
@@ -129,6 +130,7 @@ Optional arguments
the :setting:`DEFAULT_CONTENT_TYPE` setting.
.. versionchanged:: 1.5
+
This parameter used to be called ``mimetype``.
View
1  docs/topics/i18n/translation.txt
@@ -1529,6 +1529,7 @@ selection based on data from the request. It customizes content for each user.
``'django.middleware.locale.LocaleMiddleware'``.
.. versionchanged:: 1.6
+
In previous versions, ``LocaleMiddleware`` wasn't enabled by default.
Because middleware order matters, you should follow these guidelines:
View
4 docs/topics/pagination.txt
@@ -252,7 +252,7 @@ Methods
.. versionchanged:: 1.5
- Raises :exc:`InvalidPage` if next page doesn't exist.
+ Raises :exc:`InvalidPage` if next page doesn't exist.
.. method:: Page.previous_page_number()
@@ -260,7 +260,7 @@ Methods
.. versionchanged:: 1.5
- Raises :exc:`InvalidPage` if previous page doesn't exist.
+ Raises :exc:`InvalidPage` if previous page doesn't exist.
.. method:: Page.start_index()
View
12 docs/topics/serialization.txt
@@ -124,8 +124,8 @@ Calling ``DeserializedObject.save()`` saves the object 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.
+ 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
@@ -144,11 +144,11 @@ The Django object itself can be inspected as ``deserialized_object.object``.
.. versionadded:: 1.5
-If fields in the serialized data do not exist on a model,
-a ``DeserializationError`` will be raised unless the ``ignorenonexistent``
-argument is passed in as True::
+ If fields in the serialized data do not exist on a model,
+ a ``DeserializationError`` will be raised unless the ``ignorenonexistent``
+ argument is passed in as True::
- serializers.deserialize("xml", data, ignorenonexistent=True)
+ serializers.deserialize("xml", data, ignorenonexistent=True)
.. _serialization-formats:
View
2  docs/topics/signals.txt
@@ -134,7 +134,7 @@ to.
.. versionchanged:: 1.5
-The ability to pass a list of signals was added.
+ The ability to pass a list of signals was added.
.. admonition:: Where should this code live?
View
7 docs/topics/testing/overview.txt
@@ -235,6 +235,7 @@ the Django test runner reorders tests in the following way:
restoring it to its original state are run.
.. versionchanged:: 1.5
+
Before Django 1.5, the only guarantee was that
:class:`~django.test.TestCase` tests were always ran first, before any other
tests.
@@ -612,6 +613,7 @@ Use the ``django.test.client.Client`` class to make requests.
a ``Content-Type`` header is set to ``content_type``.
.. versionchanged:: 1.5
+
:meth:`Client.options` used to process ``data`` like
:meth:`Client.get`.
@@ -627,6 +629,7 @@ Use the ``django.test.client.Client`` class to make requests.
a ``Content-Type`` header is set to ``content_type``.
.. versionchanged:: 1.5
+
:meth:`Client.put` used to process ``data`` like
:meth:`Client.post`.
@@ -650,6 +653,7 @@ Use the ``django.test.client.Client`` class to make requests.
a ``Content-Type`` header is set to ``content_type``.
.. versionchanged:: 1.5
+
:meth:`Client.delete` used to process ``data`` like
:meth:`Client.get`.
@@ -940,6 +944,7 @@ to test the effects of commit and rollback:
the test has been properly updated.
.. versionchanged:: 1.5
+
The order in which tests are run has changed. See `Order in which tests are
executed`_.
@@ -990,6 +995,7 @@ additions, including:
errors.
.. versionchanged:: 1.5
+
The order in which tests are run has changed. See `Order in which tests are
executed`_.
@@ -1581,6 +1587,7 @@ your test suite.
``False``, which turns the comparison into a Python set comparison.
.. 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
Please sign in to comment.
Something went wrong with that request. Please try again.