From 96a349740048ecd4746ac2f15751865219d445cf Mon Sep 17 00:00:00 2001 From: Lorenzo Peña Date: Tue, 23 Jul 2024 12:06:29 +0200 Subject: [4.2.x] Fixed #35627 -- Raised a LookupError rather than an unhandled ValueError in get_supported_language_variant(). LocaleMiddleware didn't handle the ValueError raised by get_supported_language_variant() when language codes were over 500 characters. Regression in 9e9792228a6bb5d6402a5d645bc3be4cf364aefb. Backport of 0e94f292cda632153f2b3d9a9037eb0141ae9c2e from main. --- docs/ref/utils.txt | 6 +++--- docs/releases/4.2.15.txt | 14 ++++++++++++++ docs/releases/index.txt | 1 + 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 docs/releases/4.2.15.txt (limited to 'docs') diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt index 471a4b31eb..acf7afd4a7 100644 --- a/docs/ref/utils.txt +++ b/docs/ref/utils.txt @@ -1156,7 +1156,7 @@ For a complete discussion on the usage of the following see the ``'es-ar'`` isn't. ``lang_code`` has a maximum accepted length of 500 characters. A - :exc:`ValueError` is raised if ``lang_code`` exceeds this limit and + :exc:`LookupError` is raised if ``lang_code`` exceeds this limit and ``strict`` is ``True``, or if there is no generic variant and ``strict`` is ``False``. @@ -1168,10 +1168,10 @@ For a complete discussion on the usage of the following see the Raises :exc:`LookupError` if nothing is found. - .. versionchanged:: 4.2.14 + .. versionchanged:: 4.2.15 In older versions, ``lang_code`` values over 500 characters were - processed without raising a :exc:`ValueError`. + processed without raising a :exc:`LookupError`. .. function:: to_locale(language) diff --git a/docs/releases/4.2.15.txt b/docs/releases/4.2.15.txt new file mode 100644 index 0000000000..a15eced1a3 --- /dev/null +++ b/docs/releases/4.2.15.txt @@ -0,0 +1,14 @@ +=========================== +Django 4.2.15 release notes +=========================== + +*Expected August 6, 2024* + +Django 4.2.15 fixes a regression in 4.2.14. + +Bugfixes +======== + +* Fixed a regression in Django 4.2.14 that caused a crash in + ``LocaleMiddleware`` when processing a language code over 500 characters + (:ticket:`35627`). diff --git a/docs/releases/index.txt b/docs/releases/index.txt index ff1c2e6532..62695714b7 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -26,6 +26,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 4.2.15 4.2.14 4.2.13 4.2.12 -- cgit v1.3