2
0

5.1.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. ============================================
  2. Django 5.1 release notes - UNDER DEVELOPMENT
  3. ============================================
  4. *Expected August 2024*
  5. Welcome to Django 5.1!
  6. These release notes cover the :ref:`new features <whats-new-5.1>`, as well as
  7. some :ref:`backwards incompatible changes <backwards-incompatible-5.1>` you'll
  8. want to be aware of when upgrading from Django 5.0 or earlier. We've
  9. :ref:`begun the deprecation process for some features
  10. <deprecated-features-5.1>`.
  11. See the :doc:`/howto/upgrade-version` guide if you're updating an existing
  12. project.
  13. Python compatibility
  14. ====================
  15. Django 5.1 supports Python 3.10, 3.11, and 3.12. We **highly recommend** and
  16. only officially support the latest release of each series.
  17. .. _whats-new-5.1:
  18. What's new in Django 5.1
  19. ========================
  20. Minor features
  21. --------------
  22. :mod:`django.contrib.admin`
  23. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24. * ...
  25. :mod:`django.contrib.admindocs`
  26. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  27. * ...
  28. :mod:`django.contrib.auth`
  29. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  30. * The default iteration count for the PBKDF2 password hasher is increased from
  31. 720,000 to 870,000.
  32. :mod:`django.contrib.contenttypes`
  33. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34. * ...
  35. :mod:`django.contrib.gis`
  36. ~~~~~~~~~~~~~~~~~~~~~~~~~
  37. * ...
  38. :mod:`django.contrib.messages`
  39. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  40. * ...
  41. :mod:`django.contrib.postgres`
  42. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  43. * ...
  44. :mod:`django.contrib.redirects`
  45. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  46. * ...
  47. :mod:`django.contrib.sessions`
  48. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  49. * ...
  50. :mod:`django.contrib.sitemaps`
  51. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  52. * ...
  53. :mod:`django.contrib.sites`
  54. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55. * ...
  56. :mod:`django.contrib.staticfiles`
  57. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58. * ...
  59. :mod:`django.contrib.syndication`
  60. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61. * ...
  62. Asynchronous views
  63. ~~~~~~~~~~~~~~~~~~
  64. * ...
  65. Cache
  66. ~~~~~
  67. * ...
  68. CSRF
  69. ~~~~
  70. * ...
  71. Decorators
  72. ~~~~~~~~~~
  73. * ...
  74. Email
  75. ~~~~~
  76. * ...
  77. Error Reporting
  78. ~~~~~~~~~~~~~~~
  79. * ...
  80. File Storage
  81. ~~~~~~~~~~~~
  82. * ...
  83. File Uploads
  84. ~~~~~~~~~~~~
  85. * ...
  86. Forms
  87. ~~~~~
  88. * ...
  89. Generic Views
  90. ~~~~~~~~~~~~~
  91. * ...
  92. Internationalization
  93. ~~~~~~~~~~~~~~~~~~~~
  94. * ...
  95. Logging
  96. ~~~~~~~
  97. * ...
  98. Management Commands
  99. ~~~~~~~~~~~~~~~~~~~
  100. * ...
  101. Migrations
  102. ~~~~~~~~~~
  103. * ...
  104. Models
  105. ~~~~~~
  106. * :meth:`.QuerySet.explain` now supports the ``generic_plan`` option on
  107. PostgreSQL 16+.
  108. Requests and Responses
  109. ~~~~~~~~~~~~~~~~~~~~~~
  110. * ...
  111. Security
  112. ~~~~~~~~
  113. * ...
  114. Serialization
  115. ~~~~~~~~~~~~~
  116. * ...
  117. Signals
  118. ~~~~~~~
  119. * ...
  120. Templates
  121. ~~~~~~~~~
  122. * ...
  123. Tests
  124. ~~~~~
  125. * ...
  126. URLs
  127. ~~~~
  128. * ...
  129. Utilities
  130. ~~~~~~~~~
  131. * ...
  132. Validators
  133. ~~~~~~~~~~
  134. * ...
  135. .. _backwards-incompatible-5.1:
  136. Backwards incompatible changes in 5.1
  137. =====================================
  138. Database backend API
  139. --------------------
  140. This section describes changes that may be needed in third-party database
  141. backends.
  142. * ...
  143. :mod:`django.contrib.gis`
  144. -------------------------
  145. * Support for PostGIS 2.5 is removed.
  146. Dropped support for MariaDB 10.4
  147. --------------------------------
  148. Upstream support for MariaDB 10.4 ends in June 2024. Django 5.1 supports
  149. MariaDB 10.5 and higher.
  150. Dropped support for PostgreSQL 12
  151. ---------------------------------
  152. Upstream support for PostgreSQL 12 ends in November 2024. Django 5.1 supports
  153. PostgreSQL 13 and higher.
  154. Miscellaneous
  155. -------------
  156. * In order to improve accessibility, the admin's changelist filter is now
  157. rendered in a ``<nav>`` tag instead of a ``<div>``.
  158. .. _deprecated-features-5.1:
  159. Features deprecated in 5.1
  160. ==========================
  161. Miscellaneous
  162. -------------
  163. * ...
  164. Features removed in 5.1
  165. =======================
  166. These features have reached the end of their deprecation cycle and are removed
  167. in Django 5.1.
  168. See :ref:`deprecated-features-4.2` for details on these changes, including how
  169. to remove usage of these features.
  170. * The ``BaseUserManager.make_random_password()`` method is removed.
  171. * The model's ``Meta.index_together`` option is removed.
  172. * The ``length_is`` template filter is removed.
  173. * The ``django.contrib.auth.hashers.SHA1PasswordHasher``,
  174. ``django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher``, and
  175. ``django.contrib.auth.hashers.UnsaltedMD5PasswordHasher`` are removed.
  176. * The model ``django.contrib.postgres.fields.CICharField``,
  177. ``django.contrib.postgres.fields.CIEmailField``, and
  178. ``django.contrib.postgres.fields.CITextField`` are removed, except for
  179. support in historical migrations.
  180. * The ``django.contrib.postgres.fields.CIText`` mixin is removed.
  181. * The ``map_width`` and ``map_height`` attributes of ``BaseGeometryWidget`` are
  182. removed.
  183. * The ``SimpleTestCase.assertFormsetError()`` method is removed.
  184. * The ``TransactionTestCase.assertQuerysetEqual()`` method is removed.
  185. * Support for passing encoded JSON string literals to ``JSONField`` and
  186. associated lookups and expressions is removed.
  187. * Support for passing positional arguments to ``Signer`` and
  188. ``TimestampSigner`` is removed.
  189. * The ``DEFAULT_FILE_STORAGE`` and ``STATICFILES_STORAGE`` settings is removed.
  190. * The ``django.core.files.storage.get_storage_class()`` function is removed.