1.6.3.txt 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ==========================
  2. Django 1.6.3 release notes
  3. ==========================
  4. *Under development*
  5. This is Django 1.6.3, a bugfix release for Django 1.6. Django 1.6.3 fixes
  6. several bugs in 1.6.2 and makes one backwards-incompatible change:
  7. ``select_for_update()`` requires a transaction
  8. ==============================================
  9. Historically, queries that use
  10. :meth:`~django.db.models.query.QuerySet.select_for_update()` could be
  11. executed in autocommit mode, outside of a transaction. Before Django
  12. 1.6, Django's automatic transactions mode allowed this to be used to
  13. lock records until the next write operation. Django 1.6 introduced
  14. database-level autocommit; since then, execution in such a context
  15. voids the effect of ``select_for_update()``. It is, therefore, assumed
  16. now to be an error, and raises an exception.
  17. This change may cause test failures if you use ``select_for_update()``
  18. in a test class which is a subclass of
  19. :class:`~django.test.TransactionTestCase` rather than
  20. :class:`~django.test.TestCase`.
  21. This change was made because such errors can be caused by including an
  22. app which expects global transactions (e.g. :setting:`ATOMIC_REQUESTS
  23. <DATABASE-ATOMIC_REQUESTS>` set to True), or Django's old autocommit
  24. behavior, in a project which runs without them; and further, such
  25. errors may manifest as data-corruption bugs.
  26. Other bugfixes and changes
  27. ==========================
  28. * Content retrieved from the GeoIP library is now properly decoded from its
  29. default ``iso-8859-1`` encoding
  30. (`#21996 <http://code.djangoproject.com/ticket/21996>`_).
  31. * Fixed ``AttributeError`` when using
  32. :meth:`~django.db.models.query.QuerySet.bulk_create` with ``ForeignObject``
  33. (`#21566 <http://code.djangoproject.com/ticket/21566>`_).
  34. * Fixed crash of ``QuerySet``\s that use ``F() + timedelta()`` when their query
  35. was compiled more once
  36. (`#21643 <http://code.djangoproject.com/ticket/21643>`_).
  37. * Prevented custom ``widget`` class attribute of
  38. :class:`~django.forms.IntegerField` subclasses from being overwritten by the
  39. code in their ``__init__`` method
  40. (`#22245 <http://code.djangoproject.com/ticket/22245>`_).
  41. * Improved :func:`~django.utils.html.strip_tags` accuracy (but it still cannot
  42. guarantee an HTML-safe result, as stated in the documentation).
  43. * Fixed a regression in the :mod:`django.contrib.gis` SQL compiler for
  44. non-concrete fields (`#22250 <http://code.djangoproject.com/ticket/22250>`_).
  45. * Fixed :attr:`ModelAdmin.preserve_filters
  46. <django.contrib.admin.ModelAdmin.preserve_filters>` when running a site with
  47. a URL prefix (`#21795 <http://code.djangoproject.com/ticket/21795>`_).
  48. * Fixed a crash in the ``find_command`` management utility when the ``PATH``
  49. environment variable wasn't set
  50. (`#22256 <http://code.djangoproject.com/ticket/22256>`_).
  51. Additionally, Django's vendored version of six, :mod:`django.utils.six` has been
  52. upgraded to the latest release (1.6.1).