2.2.1.txt 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ==========================
  2. Django 2.2.1 release notes
  3. ==========================
  4. *May 1, 2019*
  5. Django 2.2.1 fixes several bugs in 2.2.
  6. Bugfixes
  7. ========
  8. * Fixed a regression in Django 2.1 that caused the incorrect quoting of
  9. database user password when using :djadmin:`dbshell` on Oracle
  10. (:ticket:`30307`).
  11. * Added compatibility for ``psycopg2`` 2.8 (:ticket:`30331`).
  12. * Fixed a regression in Django 2.2 that caused a crash when loading the
  13. template for the technical 500 debug page (:ticket:`30324`).
  14. * Fixed crash of ``ordering`` argument in
  15. :class:`~django.contrib.postgres.aggregates.ArrayAgg` and
  16. :class:`~django.contrib.postgres.aggregates.StringAgg` when it contains an
  17. expression with params (:ticket:`30332`).
  18. * Fixed a regression in Django 2.2 that caused a single instance fast-delete
  19. to not set the primary key to ``None`` (:ticket:`30330`).
  20. * Prevented :djadmin:`makemigrations` from generating infinite migrations for
  21. check constraints and partial indexes when ``condition`` contains
  22. a :class:`~python:range` object (:ticket:`30350`).
  23. * Reverted an optimization in Django 2.2 (:ticket:`29725`) that caused the
  24. inconsistent behavior of ``count()`` and ``exists()`` on a reverse
  25. many-to-many relationship with a custom manager (:ticket:`30325`).
  26. * Fixed a regression in Django 2.2 where
  27. :class:`~django.core.paginator.Paginator` crashes if ``object_list`` is
  28. a queryset ordered or aggregated over a nested ``JSONField`` key transform
  29. (:ticket:`30335`).
  30. * Fixed a regression in Django 2.2 where ``IntegerField`` validation of
  31. database limits crashes if ``limit_value`` attribute in a custom validator is
  32. callable (:ticket:`30328`).
  33. * Fixed a regression in Django 2.2 where
  34. :class:`~django.contrib.postgres.search.SearchVector` generates SQL that is
  35. not indexable (:ticket:`30385`).
  36. * Fixed a regression in Django 2.2 that caused an exception to be raised when
  37. a custom error handler could not be imported (:ticket:`30318`).
  38. * Relaxed the system check added in Django 2.2 for the admin app's dependencies
  39. to reallow use of
  40. :class:`~django.contrib.sessions.middleware.SessionMiddleware` subclasses,
  41. rather than requiring :mod:`django.contrib.sessions` to be in
  42. :setting:`INSTALLED_APPS` (:ticket:`30312`).
  43. * Increased the default timeout when using ``Watchman`` to 5 seconds to prevent
  44. falling back to ``StatReloader`` on larger projects and made it customizable
  45. via the :envvar:`DJANGO_WATCHMAN_TIMEOUT` environment variable
  46. (:ticket:`30361`).
  47. * Fixed a regression in Django 2.2 that caused a crash when migrating
  48. permissions for proxy models if the target permissions already existed. For
  49. example, when a permission had been created manually or a model had been
  50. migrated from concrete to proxy (:ticket:`30351`).
  51. * Fixed a regression in Django 2.2 that caused a crash of :djadmin:`runserver`
  52. when URLConf modules raised exceptions (:ticket:`30323`).
  53. * Fixed a regression in Django 2.2 where changes were not reliably detected by
  54. auto-reloader when using ``StatReloader`` (:ticket:`30323`).
  55. * Fixed a migration crash on Oracle and PostgreSQL when adding a check
  56. constraint with a ``contains``, ``startswith``, or ``endswith`` lookup (or
  57. their case-insensitive variant) (:ticket:`30408`).
  58. * Fixed a migration crash on Oracle and SQLite when adding a check constraint
  59. with ``condition`` contains ``|`` (``OR``) operator (:ticket:`30412`).