5.2.txt 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. ============================================
  2. Django 5.2 release notes - UNDER DEVELOPMENT
  3. ============================================
  4. *Expected April 2025*
  5. Welcome to Django 5.2!
  6. These release notes cover the :ref:`new features <whats-new-5.2>`, as well as
  7. some :ref:`backwards incompatible changes <backwards-incompatible-5.2>` you
  8. should be aware of when upgrading from Django 5.1 or earlier. We've
  9. :ref:`begun the deprecation process for some features
  10. <deprecated-features-5.2>`.
  11. See the :doc:`/howto/upgrade-version` guide if you're updating an existing
  12. project.
  13. Django 5.2 is designated as a :term:`long-term support release
  14. <Long-term support release>`. It will receive security updates for at least
  15. three years after its release. Support for the previous LTS, Django 4.2, will
  16. end in April 2026.
  17. Python compatibility
  18. ====================
  19. Django 5.2 supports Python 3.10, 3.11, 3.12, and 3.13. We **highly recommend**
  20. and only officially support the latest release of each series.
  21. .. _whats-new-5.2:
  22. What's new in Django 5.2
  23. ========================
  24. Minor features
  25. --------------
  26. :mod:`django.contrib.admin`
  27. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28. * The ``admin/base.html`` template now has a new block
  29. :ref:`extrabody <extrabody>` for adding custom code before the closing
  30. ``</body>`` tag.
  31. :mod:`django.contrib.admindocs`
  32. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  33. * ...
  34. :mod:`django.contrib.auth`
  35. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  36. * The default iteration count for the PBKDF2 password hasher is increased from
  37. 870,000 to 1,000,000.
  38. :mod:`django.contrib.contenttypes`
  39. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  40. * ...
  41. :mod:`django.contrib.gis`
  42. ~~~~~~~~~~~~~~~~~~~~~~~~~
  43. * ...
  44. :mod:`django.contrib.messages`
  45. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  46. * ...
  47. :mod:`django.contrib.postgres`
  48. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  49. * ...
  50. :mod:`django.contrib.redirects`
  51. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  52. * ...
  53. :mod:`django.contrib.sessions`
  54. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  55. * ...
  56. :mod:`django.contrib.sitemaps`
  57. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58. * ...
  59. :mod:`django.contrib.sites`
  60. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61. * ...
  62. :mod:`django.contrib.staticfiles`
  63. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64. * ...
  65. :mod:`django.contrib.syndication`
  66. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67. * All :class:`~django.utils.feedgenerator.SyndicationFeed` classes now support
  68. a ``stylesheets`` attribute. If specified, an ``<? xml-stylesheet ?>``
  69. processing instruction will be added to the top of the document for each
  70. stylesheet in the given list. See :ref:`feed-stylesheets` for more details.
  71. Asynchronous views
  72. ~~~~~~~~~~~~~~~~~~
  73. * ...
  74. Cache
  75. ~~~~~
  76. * ...
  77. CSRF
  78. ~~~~
  79. * ...
  80. Database backends
  81. ~~~~~~~~~~~~~~~~~
  82. * ...
  83. Decorators
  84. ~~~~~~~~~~
  85. * ...
  86. Email
  87. ~~~~~
  88. * Tuple items of :class:`EmailMessage.attachments
  89. <django.core.mail.EmailMessage>` and
  90. :class:`EmailMultiAlternatives.attachments
  91. <django.core.mail.EmailMultiAlternatives>` are now named tuples, as opposed
  92. to regular tuples.
  93. * :attr:`EmailMultiAlternatives.alternatives
  94. <django.core.mail.EmailMultiAlternatives.alternatives>` is now a list of
  95. named tuples, as opposed to regular tuples.
  96. Error Reporting
  97. ~~~~~~~~~~~~~~~
  98. * ...
  99. File Storage
  100. ~~~~~~~~~~~~
  101. * ...
  102. File Uploads
  103. ~~~~~~~~~~~~
  104. * ...
  105. Forms
  106. ~~~~~
  107. * ...
  108. Generic Views
  109. ~~~~~~~~~~~~~
  110. * ...
  111. Internationalization
  112. ~~~~~~~~~~~~~~~~~~~~
  113. * ...
  114. Logging
  115. ~~~~~~~
  116. * ...
  117. Management Commands
  118. ~~~~~~~~~~~~~~~~~~~
  119. * ...
  120. Migrations
  121. ~~~~~~~~~~
  122. * ...
  123. Models
  124. ~~~~~~
  125. * ...
  126. Requests and Responses
  127. ~~~~~~~~~~~~~~~~~~~~~~
  128. * ...
  129. Security
  130. ~~~~~~~~
  131. * ...
  132. Serialization
  133. ~~~~~~~~~~~~~
  134. * ...
  135. Signals
  136. ~~~~~~~
  137. * ...
  138. Templates
  139. ~~~~~~~~~
  140. * ...
  141. Tests
  142. ~~~~~
  143. * ...
  144. URLs
  145. ~~~~
  146. * ...
  147. Utilities
  148. ~~~~~~~~~
  149. * ...
  150. Validators
  151. ~~~~~~~~~~
  152. * ...
  153. .. _backwards-incompatible-5.2:
  154. Backwards incompatible changes in 5.2
  155. =====================================
  156. Database backend API
  157. --------------------
  158. This section describes changes that may be needed in third-party database
  159. backends.
  160. * ...
  161. :mod:`django.contrib.gis`
  162. -------------------------
  163. * Support for PostGIS 3.0 is removed.
  164. Dropped support for PostgreSQL 13
  165. ---------------------------------
  166. Upstream support for PostgreSQL 13 ends in November 2025. Django 5.2 supports
  167. PostgreSQL 14 and higher.
  168. Miscellaneous
  169. -------------
  170. * ...
  171. .. _deprecated-features-5.2:
  172. Features deprecated in 5.2
  173. ==========================
  174. Miscellaneous
  175. -------------
  176. * ...