mirror of
https://github.com/django/django.git
synced 2024-12-27 11:35:53 +00:00
941f947bfd
Refs #22343; thanks Tim Graham for the fixes.
Backport of 59b1d30
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 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.
|
|
|
|
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`.
|
|
|
|
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).
|