mirror of
https://github.com/django/django.git
synced 2024-12-26 02:56:25 +00:00
3a9a4570ef
The ticket was originally about two failing tests, which are fixed by putting their queries in transactions. Thanks Tim Graham for the report, Aymeric Augustin for the fix, and Simon Charette, Tim Graham & Loïc Bistuer for review. Backport of b990df1d63 from master
69 lines
2.9 KiB
Plaintext
69 lines
2.9 KiB
Plaintext
==========================
|
|
Django 1.6.3 release notes
|
|
==========================
|
|
|
|
*Under development*
|
|
|
|
This is Django 1.6.3, a bugfix release for Django 1.6. Django 1.6.3 fixes
|
|
several bugs in 1.6.2 and makes one backwards-incompatible change:
|
|
|
|
``select_for_update()`` requires a transaction
|
|
==============================================
|
|
|
|
Historically, queries that use
|
|
:meth:`~django.db.models.query.QuerySet.select_for_update()` could be
|
|
executed in autocommit mode, outside of a transaction. Before Django
|
|
1.6, Django's automatic transactions mode allowed this to be used to
|
|
lock records until the next write operation. Django 1.6 introduced
|
|
database-level autocommit; since then, execution in such a context
|
|
voids the effect of ``select_for_update()``. It is, therefore, assumed
|
|
now to be an error, and raises an exception.
|
|
|
|
This change may cause test failures if you use ``select_for_update()``
|
|
in a test class which is a subclass of
|
|
:class:`~django.test.TransactionTestCase` rather than
|
|
:class:`~django.test.TestCase`.
|
|
|
|
This change was made because such errors can be caused by including an
|
|
app which expects global transactions (e.g. :setting:`ATOMIC_REQUESTS
|
|
<DATABASE-ATOMIC_REQUESTS>` set to True), or Django's old autocommit
|
|
behavior, in a project which runs without them; and further, such
|
|
errors may manifest as data-corruption bugs.
|
|
|
|
Other bugfixes and changes
|
|
==========================
|
|
|
|
* Content retrieved from the GeoIP library is now properly decoded from its
|
|
default ``iso-8859-1`` encoding
|
|
(`#21996 <http://code.djangoproject.com/ticket/21996>`_).
|
|
|
|
* Fixed ``AttributeError`` when using
|
|
:meth:`~django.db.models.query.QuerySet.bulk_create` with ``ForeignObject``
|
|
(`#21566 <http://code.djangoproject.com/ticket/21566>`_).
|
|
|
|
* Fixed crash of ``QuerySet``\s that use ``F() + timedelta()`` when their query
|
|
was compiled more once
|
|
(`#21643 <http://code.djangoproject.com/ticket/21643>`_).
|
|
|
|
* Prevented custom ``widget`` class attribute of
|
|
:class:`~django.forms.IntegerField` subclasses from being overwritten by the
|
|
code in their ``__init__`` method
|
|
(`#22245 <http://code.djangoproject.com/ticket/22245>`_).
|
|
|
|
* Improved :func:`~django.utils.html.strip_tags` accuracy (but it still cannot
|
|
guarantee an HTML-safe result, as stated in the documentation).
|
|
|
|
* Fixed a regression in the :mod:`django.contrib.gis` SQL compiler for
|
|
non-concrete fields (`#22250 <http://code.djangoproject.com/ticket/22250>`_).
|
|
|
|
* Fixed :attr:`ModelAdmin.preserve_filters
|
|
<django.contrib.admin.ModelAdmin.preserve_filters>` when running a site with
|
|
a URL prefix (`#21795 <http://code.djangoproject.com/ticket/21795>`_).
|
|
|
|
* Fixed a crash in the ``find_command`` management utility when the ``PATH``
|
|
environment variable wasn't set
|
|
(`#22256 <http://code.djangoproject.com/ticket/22256>`_).
|
|
|
|
Additionally, Django's vendored version of six, :mod:`django.utils.six` has been
|
|
upgraded to the latest release (1.6.1).
|