mirror of
https://github.com/django/django.git
synced 2025-10-09 23:09:12 +00:00
HttpRequest.get_preferred_type() did not account for parameters in Accept header media types (e.g., "text/vcard; version=3.0"). This caused incorrect content negotiation when multiple types differed only by parameters, reducing specificity as per RFC 7231 section 5.3.2 (https://datatracker.ietf.org/doc/html/rfc7231.html#section-5.3.2). This fix updates get_preferred_type() to treat media types with parameters as distinct, allowing more precise and standards-compliant matching. Thanks to magicfelix for the report, and to David Sanders and Sarah Boyce for the reviews. Backport of c075508b4de8edf9db553b409f8a8ed2f26ecead from main.
46 lines
1.8 KiB
Plaintext
46 lines
1.8 KiB
Plaintext
==========================
|
|
Django 5.2.2 release notes
|
|
==========================
|
|
|
|
*June 4, 2025*
|
|
|
|
Django 5.2.2 fixes a security issue with severity "low" and several bugs in
|
|
5.2.1.
|
|
|
|
Bugfixes
|
|
========
|
|
|
|
* Fixed a crash when using ``select_related`` against a ``ForeignObject``
|
|
originating from a model with a ``CompositePrimaryKey`` (:ticket:`36373`).
|
|
|
|
* Fixed a bug in Django 5.2 where subqueries using ``"pk"`` to reference models
|
|
with a ``CompositePrimaryKey`` failed to raise ``ValueError`` when too many
|
|
or too few columns were selected (:ticket:`36392`).
|
|
|
|
* Fixed a regression in Django 5.2 that caused a crash when no arguments were
|
|
passed into ``QuerySet.union()`` (:ticket:`36388`).
|
|
|
|
* Fixed a regression in Django 5.2 where subclasses of ``RemoteUserMiddleware``
|
|
that had overridden ``process_request()`` were no longer supported
|
|
(:ticket:`36390`).
|
|
|
|
* Fixed a regression in Django 5.2 that caused a crash when using ``OuterRef``
|
|
in the ``filter`` argument of an ``Aggregate`` expression (:ticket:`36404`).
|
|
|
|
* Fixed a regression in Django 5.2 that caused a crash when using ``OuterRef``
|
|
in PostgreSQL aggregate functions ``ArrayAgg``, ``StringAgg``, and
|
|
``JSONBAgg`` (:ticket:`36405`).
|
|
|
|
* Fixed a regression in Django 5.2 where admin's ``filter_horizontal`` buttons
|
|
lacked ``type="button"``, causing them to intercept form submission when
|
|
pressing the Enter key (:ticket:`36423`).
|
|
|
|
* Fixed a bug in Django 5.2 where calling ``QuerySet.in_bulk()`` with an
|
|
``id_list`` argument on models with a ``CompositePrimaryKey`` failed to
|
|
observe database parameter limits (:ticket:`36416`).
|
|
|
|
* Fixed a bug in Django 5.2 where :meth:`HttpRequest.get_preferred_type()
|
|
<django.http.HttpRequest.get_preferred_type>` did not account for media type
|
|
parameters in ``Accept`` headers, reducing specificity in content negotiation
|
|
(:ticket:`36411`).
|