2024-08-07 13:38:36 +00:00
|
|
|
==========================
|
|
|
|
Django 5.1.1 release notes
|
|
|
|
==========================
|
|
|
|
|
2024-08-27 12:20:59 +00:00
|
|
|
*September 3, 2024*
|
2024-08-07 13:38:36 +00:00
|
|
|
|
2024-08-27 12:20:59 +00:00
|
|
|
Django 5.1.1 fixes one security issue with severity "moderate", one security
|
2024-08-27 12:46:12 +00:00
|
|
|
issue with severity "low", and several bugs in 5.1.
|
2024-08-07 13:38:36 +00:00
|
|
|
|
2024-08-12 13:17:57 +00:00
|
|
|
CVE-2024-45230: Potential denial-of-service vulnerability in ``django.utils.html.urlize()``
|
|
|
|
===========================================================================================
|
|
|
|
|
|
|
|
:tfilter:`urlize` and :tfilter:`urlizetrunc` were subject to a potential
|
|
|
|
denial-of-service attack via very large inputs with a specific sequence of
|
|
|
|
characters.
|
|
|
|
|
2024-08-19 17:47:38 +00:00
|
|
|
CVE-2024-45231: Potential user email enumeration via response status on password reset
|
|
|
|
======================================================================================
|
|
|
|
|
|
|
|
Due to unhandled email sending failures, the
|
|
|
|
:class:`~django.contrib.auth.forms.PasswordResetForm` class allowed remote
|
|
|
|
attackers to enumerate user emails by issuing password reset requests and
|
|
|
|
observing the outcomes.
|
|
|
|
|
|
|
|
To mitigate this risk, exceptions occurring during password reset email sending
|
|
|
|
are now handled and logged using the :ref:`django-contrib-auth-logger` logger.
|
|
|
|
|
2024-08-07 13:38:36 +00:00
|
|
|
Bugfixes
|
|
|
|
========
|
|
|
|
|
2024-08-09 12:43:20 +00:00
|
|
|
* Fixed a regression in Django 5.1 that caused a crash of ``Window()`` when
|
|
|
|
passing an empty sequence to the ``order_by`` parameter, and a crash of
|
|
|
|
``Prefetch()`` for a sliced queryset without ordering (:ticket:`35665`).
|
2024-08-15 13:27:24 +00:00
|
|
|
|
|
|
|
* Fixed a regression in Django 5.1 where a new ``usable_password`` field was
|
|
|
|
included in :class:`~django.contrib.auth.forms.BaseUserCreationForm` (and
|
|
|
|
children). A new :class:`~django.contrib.auth.forms.AdminUserCreationForm`
|
|
|
|
including this field was added, isolating the feature to the admin where it
|
|
|
|
was intended (:ticket:`35678`).
|
2024-08-09 17:41:18 +00:00
|
|
|
|
|
|
|
* Adjusted the deprecation warning ``stacklevel`` in :meth:`.Model.save` and
|
|
|
|
:meth:`.Model.asave` to correctly point to the offending call site
|
|
|
|
(:ticket:`35060`).
|
2024-08-09 16:45:44 +00:00
|
|
|
|
|
|
|
* Adjusted the deprecation warning ``stacklevel`` when using ``OS_OPEN_FLAGS``
|
|
|
|
in :class:`~django.core.files.storage.FileSystemStorage` to correctly point
|
|
|
|
to the offending call site (:ticket:`35326`).
|
2024-08-09 16:55:40 +00:00
|
|
|
|
|
|
|
* Adjusted the deprecation warning ``stacklevel`` in
|
|
|
|
``FieldCacheMixin.get_cache_name()`` to correctly point to the offending call
|
|
|
|
site (:ticket:`35405`).
|
2024-08-19 14:51:31 +00:00
|
|
|
|
|
|
|
* Restored, following a regression in Django 5.1, the ability to override the
|
|
|
|
timezone and role setting behavior used within the ``init_connection_state``
|
|
|
|
method of the PostgreSQL backend (:ticket:`35688`).
|
2024-08-29 17:01:10 +00:00
|
|
|
|
|
|
|
* Fixed a bug in Django 5.1 where variable lookup errors were logged when
|
|
|
|
rendering admin fieldsets (:ticket:`35716`).
|