# Django 5.2.9 ドキュメント

# Django 5.2.1 リリースノート

2025年5月7日

Django 5.2.1 では、 5.2 における深刻度 "moderate" のセキュリティの問題1件と、いくつかのバグを修正しました。

このリリースは、アップグレードされた setuptools を使用してビルドされており、 PEP 491 および PEP 625 に準拠したファイル名を生成するようになりました。これにより、非準拠な配布ファイル名に関する PyPI の警告が解消されます。この変更は Django のパッケージングプロセスのみに影響し、Django の動作自体には影響しません。

## CVE-2025-32873: `strip_tags()` における DoS 攻撃の可能性

`strip_tags()` は、不完全な HTML タグが大量に連続する特定の入力を処理する際に評価が遅くなる問題がありました。この関数はテンプレートフィルター `striptags` の実装にも使用されているため、同様の影響を受ける脆弱性が存在していました。

`strip_tags()` は、異常に多くの未閉鎖の開始タグを検出した場合に、`SuspiciousOperation` 例外を送出するようになりました。

## バグ修正

- Fixed a regression in Django 5.2 that caused a crash when annotating aggregate expressions over query that uses explicit grouping by transforms followed by field references (#36292).

- Fixed a regression in Django 5.2 that caused unnecessary queries when prefetching nullable foreign key relationships (#36290).

- Fixed a regression in Django 5.2 that caused a crash of `QuerySet.bulk_create()` with nullable geometry fields on PostGIS (#36289).

- Fixed a regression in Django 5.2 that caused fields to be incorrectly selected when using `QuerySet.alias()` after `values()` (#36299).

- `allow_overwrite=True` の場合に、 `file_move_safe()` でデータ破損が発生する可能性があった問題を修正しました。以前より大きいファイルを小さいファイルで上書きした際、ファイルの切り詰め処理が行われなかったため、古い内容の一部が残ることがありました（#36298）。

- Fixed a regression in Django 5.2 that caused a crash when using `QuerySet.select_for_update(of=(…))` with `values()/values_list()` including expressions (#36301).

- Fixed a regression in Django 5.2 that caused improper values to be returned from `QuerySet.values_list()` when duplicate field names were specified (#36288).

- Django 5.2 において、非英語ロケールを使用している場合に `MinimumLengthValidator` のパスワード検証エラーメッセージが翻訳されなかったリグレッションを修正しました（#36314）。

- Django 5.2 において、管理サイトのベースページのブロック構造が変更されたことにより、カスタム管理テンプレートでブロックをオーバーライドしている場合に `object-tools` ブロックが二重にレンダリングされるリグレッションを修正しました（#36331）。

- Django 5.2 において、 CVE 2025-26699 の修正時に導入されたリグレッションを修正しました。このリグレッションにより、`wordwrap` テンプレートフィルターがテキストを折り返した後に、段落間の空行を保持しない問題が発生していました（#36341）。

- Django 5.2 において、名前付きタプルの不一致によりメールの代替コンテンツまたは添付ファイルをシリアライズする際にクラッシュが発生していたリグレッションを修正しました（#36309）。

- Django 5.2 において、関連モデルに対してフィルタされた `QuerySet` 上で `update()` を使用し、さらに `values()` を通じてアノテーションを参照している場合にクラッシュが発生するリグレッションを修正しました（#36360）。

- Django 5.2 において、 SQLite 上で複合主キーのイントロスペクションが `IntegerField` を誤って `AutoField` と認識していたバグを修正しました（#36358）。

- Django 5.2 において、 `inspectdb` を使用した際に、複合主キーに対して不要な `unique_together` 制約が生成されてしまうバグを修正しました（#36357）。