• 3.1
  • 5.0
  • 6.1
  • Версия документации: 3.2

Примечания к выпуску Django 4.2.1

3 мая 2023 г.

В Django 4.2.1 исправлена ​​проблема безопасности с низким уровнем серьезности и несколько ошибок в версии 4.2.

CVE-2023-31047: потенциальный обход проверки при загрузке нескольких файлов с использованием одного поля формы.

Загрузка нескольких файлов с использованием одного поля формы никогда не поддерживалась forms.FileField или forms.ImageField, поскольку проверялся только последний загруженный файл. К сожалению, тема Загрузка нескольких файлов предполагает иное.

Чтобы избежать уязвимости, виджеты форм ClearableFileInput и FileInput теперь вызывают ValueError, когда для них установлен HTML-атрибут multiple. Чтобы предотвратить исключение и сохранить старое поведение, установите для allow_multiple_selected значение True.

Более подробную информацию об использовании нового атрибута и обработке нескольких файлов с помощью одного поля см. в разделе Загрузка нескольких файлов.

Исправления

  • Исправлена ​​регрессия в Django 4.2, приводившая к сбою QuerySet.defer() при отсрочке полей по именам атрибутов (#34458).

  • Исправлена ​​регрессия в Django 4.2, приводившая к сбою функции SearchVector с символами % (#34459).

  • Исправлена ​​регрессия в Django 4.2, приводившая к агрегации по запросу, использующему явную группировку для группировки по неправильным столбцам (#34464).

  • Перезапущено после регресса в Django 4.2, установка опции "cursor_factory" в OPTIONS в PostgreSQL (#34466).

  • Принудительная клиентская кодировка UTF-8 в PostgreSQL после регресса в Django 4.2 (#34470).

  • Исправлена ​​регрессия в Django 4.2, где i18n_patterns() не учитывал аргумент prefix_default_language, когда использовался запасной язык языка по умолчанию (#34455).

  • Исправлена ​​регрессия в Django 4.2, когда переведенные URL-адреса языка по умолчанию из i18n_patterns() с prefix_default_language, установленным в False, вызывали ошибку 404 для запроса с другим языком (#34515).

  • Исправлена ​​регрессия в Django 4.2, из-за которой создание копий и глубоких копий HttpRequest, HttpResponse и их подклассов не всегда работало правильно (#34482, #34484).

  • Исправлена ​​регрессия в Django 4.2, где фильтры шаблонов timessince и timeuntil возвращали неправильные результаты для даты и времени с часовым поясом, отличным от UTC, когда разница во времени меньше 1 дня (#34483).

  • Исправлена ​​регрессия в Django 4.2, приводившая к сбою функции SearchHeadline с psycopg 3 (#34486).

  • Исправлена ​​регрессия в Django 4.2, приводившая к неправильным полям ClearableFileInput в панели администратора (#34506).

  • Исправлена ​​регрессия в Django 4.2, из-за которой хлебные крошки не отображались в индексных представлениях приложений на сайте администратора (#34512).

  • Сделанные сжимающие миграции уменьшают количество операций AddIndex, RemoveIndex, RenameIndex и CreateModel, что позволяет удалить устаревшую опцию Meta.index_together из исторических миграций и вместо этого использовать Meta.indexes (#34525).

Back to Top