2014-02-10 23:05:01 +08:00
|
|
|
==========================
|
|
|
|
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
|
2014-03-31 01:03:35 +08:00
|
|
|
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
|
2014-04-10 08:40:33 +08:00
|
|
|
now to be an error and raises an exception.
|
2014-03-31 01:03:35 +08:00
|
|
|
|
|
|
|
This change was made because such errors can be caused by including an
|
|
|
|
app which expects global transactions (e.g. :setting:`ATOMIC_REQUESTS
|
2014-04-10 08:40:33 +08:00
|
|
|
<DATABASE-ATOMIC_REQUESTS>` set to ``True``), or Django's old autocommit
|
2014-03-31 01:03:35 +08:00
|
|
|
behavior, in a project which runs without them; and further, such
|
|
|
|
errors may manifest as data-corruption bugs.
|
|
|
|
|
2014-04-10 08:40:33 +08:00
|
|
|
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`.
|
|
|
|
|
2014-03-31 01:03:35 +08:00
|
|
|
Other bugfixes and changes
|
|
|
|
==========================
|
2014-02-10 23:05:01 +08:00
|
|
|
|
2014-02-10 22:55:57 +08:00
|
|
|
* Content retrieved from the GeoIP library is now properly decoded from its
|
|
|
|
default ``iso-8859-1`` encoding
|
|
|
|
(`#21996 <http://code.djangoproject.com/ticket/21996>`_).
|
2014-02-15 10:04:44 +08:00
|
|
|
|
|
|
|
* Fixed ``AttributeError`` when using
|
|
|
|
:meth:`~django.db.models.query.QuerySet.bulk_create` with ``ForeignObject``
|
|
|
|
(`#21566 <http://code.djangoproject.com/ticket/21566>`_).
|
2014-03-01 09:42:56 +08:00
|
|
|
|
|
|
|
* Fixed crash of ``QuerySet``\s that use ``F() + timedelta()`` when their query
|
|
|
|
was compiled more once
|
|
|
|
(`#21643 <http://code.djangoproject.com/ticket/21643>`_).
|
2014-03-13 23:55:38 +08:00
|
|
|
|
|
|
|
* 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>`_).
|
2014-03-22 19:25:26 +08:00
|
|
|
|
|
|
|
* Improved :func:`~django.utils.html.strip_tags` accuracy (but it still cannot
|
|
|
|
guarantee an HTML-safe result, as stated in the documentation).
|
2014-03-24 19:33:04 +08:00
|
|
|
|
2014-03-31 19:10:25 +08:00
|
|
|
* Fixed a regression in the :mod:`django.contrib.gis` SQL compiler for
|
|
|
|
non-concrete fields (`#22250 <http://code.djangoproject.com/ticket/22250>`_).
|
|
|
|
|
2014-03-28 22:42:58 +08:00
|
|
|
* 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>`_).
|
|
|
|
|
2014-04-02 02:48:06 +08:00
|
|
|
* Fixed a crash in the ``find_command`` management utility when the ``PATH``
|
|
|
|
environment variable wasn't set
|
|
|
|
(`#22256 <http://code.djangoproject.com/ticket/22256>`_).
|
|
|
|
|
2014-04-01 04:35:45 +08:00
|
|
|
* Fixed :djadmin:`changepassword` on Windows
|
|
|
|
(`#22364 <https://code.djangoproject.com/ticket/22364>`_).
|
|
|
|
|
2014-04-18 22:32:14 +08:00
|
|
|
* Avoided shadowing deadlock exceptions on MySQL
|
|
|
|
(`#22291 <https://code.djangoproject.com/ticket/22291>`_).
|
|
|
|
|
|
|
|
* Wrapped database exceptions in ``_set_autocommit``
|
|
|
|
(`#22321 <https://code.djangoproject.com/ticket/22321>`_).
|
|
|
|
|
|
|
|
* Fixed atomicity when closing a database connection or when the database server
|
|
|
|
disconnects (`#21239 <https://code.djangoproject.com/ticket/21239>`_ and
|
|
|
|
`#21202 <https://code.djangoproject.com/ticket/21202>`_)
|
|
|
|
|
2014-04-12 09:27:34 +08:00
|
|
|
* Fixed regression in ``prefetch_related`` that caused the related objects
|
|
|
|
query to include an unnecessary join
|
|
|
|
(`#21760 <https://code.djangoproject.com/ticket/21760>`_).
|
|
|
|
|
2014-03-24 19:33:04 +08:00
|
|
|
Additionally, Django's vendored version of six, :mod:`django.utils.six` has been
|
|
|
|
upgraded to the latest release (1.6.1).
|