概要

Djangoのスチアリングカウンシルは、リリース体制を刷新する提案「DEP 20(Django Enhancement Proposal 20)」を承認した。Carlton Gibson氏が8月10日付のブログで発表したもので、2028年1月にリリース予定の「Django 2028」から、年1回のリリースサイクルに移行する。バージョン番号にはリリース年をそのまま用いる方式となり、以降は「Django 2029」「Django 2030」のように命名される。従来のような細かいマイナーバージョン番号ではなく、リリース年が版番号を兼ねる形になる。

新リリースサイクルの詳細

新体制の核心は、すべてのフィーチャーリリースが一律3年間サポートされる点にある。内訳は、リリース後1年目は一般的なバグ修正、続く2年間はセキュリティ修正とデータ損失に関わる重大なバグの修正のみを提供するというものだ。これにより、常に3つのバージョンが同時にサポートされる状態が保たれ、ユーザーは急いでアップグレードする必要がなくなり、サポート期間内であれば自分のペースで段階的に移行できるようになる。またサードパーティパッケージの開発者にとっても、対応すべきバージョンの見通しが立てやすくなるという利点がある。各リリースはリリース時点で最新の3つのPythonバージョンをサポートし、初年度中に新しいPythonバージョンへの対応も追加される。

LTS廃止の背景

これまでDjangoは、通常のリリースと長期サポート(LTS)版を区別してきたが、新体制ではこの「LTS」という呼称自体が廃止される。全リリースが同じ3年間のサポート約束を得ることになるため、特定のバージョンだけを「長期サポート版」として特別視する必要がなくなるためだ。LWNの記事のコメント欄では、期限ベースのリリースが定期的なサイクルの維持に役立つとしてDjangoの新体制を好意的に受け止める声がある一方、Symfonyのリリース体系(半年ごとのマイナーバージョンと2年ごとのメジャーバージョン、3年間のバグ修正と4年間のセキュリティサポートを伴うLTS版)を引き合いに出し、それを好ましいと評価する意見も見られた。

移行スケジュール

新体制への移行は段階的に行われ、2028年より前のリリースについては既存のサポート約束がそのまま維持される。具体的には、2026年8月リリース予定のDjango 6.1は2027年12月までサポートされ、2027年4月リリース予定のDjango 6.2はLTSとして2030年4月までサポートされる。そして2028年1月にリリースされるDjango 2028から新方式が適用され、2030年12月までサポートされる予定だ。続くDjango 2029は2029年1月のリリースから2031年12月までサポートされる見込みで、以降は毎年1月に新バージョンがリリースされるサイクルが定着していく。