2024年以降のPythonバージョンアップ内容まとめ
2024年以降のPythonバージョンアップ内容をまとめ。Python 3.13と3.14の新機能、PEP 649(アノテーションの遅延評価)、セキュリティ改善、パフォーマンス最適化を紹介。
Pythonの公式ブログ「Python Insider」から2024年以降のバージョンアップに関する情報をまとめました。Pythonは継続的に機能の拡張、改善、最適化を行っており、現在はPython 3.13と3.14の開発が進行中です。
Python 3.14の新機能と開発状況
Python 3.14は現在開発中で、最新のアルファ7リリース(3.14.0a7)が2025年4月に公開されました。最終リリースは2025年10月を予定しています。
主な新機能
-
PEP 649: アノテーションの遅延評価
- 関数、クラス、モジュールのアノテーションが直ちに評価されなくなり、必要なときだけ評価されるようになりました
- 新たな
annotationlibモジュールで遅延アノテーションを検査できます
-
PEP 741: Python設定C API
- Python初期化の設定をAPIレベルで統一化
-
PEP 758: 括弧のない例外構文
exceptとexcept*式で、複数の例外タイプを括弧なしで記述できるようになりました
try: do_something() except ValueError, TypeError: # 以前は (ValueError, TypeError) と書く必要があった handle_error() -
PEP 761: PGP署名の廃止
- Python 3.14以降はリリース成果物のPGP署名提供が廃止され、代わりにSigstoreが推奨されます
-
PEP 765: finally ブロックを抜ける return/break/continue の禁止
finallyブロックから抜け出すreturn、break、continue文使用時に警告が出るようになりました
-
PEP 768: CPythonの安全な外部デバッガインターフェース
- 実行中のPythonプロセスに安全にデバッガを接続するためのインターフェース
sys.remote_exec()関数で実行中のプロセスにコードを送信できます
-
新しいインタープリタタイプ
- 小さなC関数間のテールコールを使用した新しいインタープリタ
- 特定の新しいコンパイラ(Clang 19以降)で大幅なパフォーマンス向上が見込めます
- 平均で3-5%の速度向上、場合によってはもっと高速化
-
UUID バージョン 6-8のサポート
- UUIDモジュールでバージョン6、7、8をサポート
- バージョン3-5と8の生成が最大40%高速化
-
エラーメッセージの改善
- より詳細で分かりやすいエラーメッセージの提供
その他の言語機能の変更
map()関数にstrictフラグを追加(zip()と同様に全てのイテラブルが同じ長さかチェック)float.from_number()とcomplex.from_number()メソッドが追加memoryview型がサブスクリプションをサポート- マルチプロセッシングのデフォルト開始メソッドが
forkからforkserverに変更(macOSとWindows以外)
Python 3.13 の主な機能(2024年10月にリリース)
Python 3.13.0は2024年10月7日に正式リリースされました。
主な新機能
-
改良されたインタラクティブインタープリタ
- PyPyベースの多機能な対話型インタープリタ
- 複数行編集とカラーサポート、色付きの例外トレースバック
-
実験的なフリースレッドビルドモード
- Global Interpreter Lock (GIL)を無効化するモード
- スレッドの同時実行性を向上
-
実験的なJIT (Just-In-Time) コンパイラ
- 大幅なパフォーマンス向上のための基盤
-
locals() 関数の明確な挙動
- 返されたマッピングを変更した場合の挙動が明確に定義され、デバッガがより一貫して動作可能に
-
インクリメンタルガベージコレクション
- ガベージコレクション中の一時停止が短縮
-
mimalloc の組み込み
- 高性能なメモリアロケータが標準でサポート
-
ドキュメント文字列のインデント除去
- メモリ使用量と.pycファイルのサイズが削減
-
dbm.sqlite3 バックエンド
- dbmモジュールに新しいSQLite3バックエンド
-
macOS最小サポートバージョンの変更
- 最小サポートバージョンが10.9から10.13(High Sierra)に
-
プラットフォームサポートの変更
- WASIがTier 2サポートプラットフォームに
- iOSとAndroidがTier 3サポートプラットフォームに
型アノテーションの改善
- 型パラメータでのデフォルト値のサポート
- 新しい型絞り込みアノテーション
typing.TypeIs - TypeDict内の読み取り専用項目用の新アノテーション
- 型システムでの非推奨マーキング用の新アノテーション
最近のセキュリティリリース(2025年4月)
2025年4月には、複数のPythonバージョン(3.14.0a7、3.13.3、3.12.10、3.11.12、3.10.17、3.9.22)が同時にリリースされ、以下のようなセキュリティ修正が含まれています:
- 組み込みlibexpatのアップグレード(複数のCVE対応)
- urlparseモジュールのホスト名検証の改善(CVE-2025-0938)
- imaplibモジュールのOOM脆弱性修正
- その他多数のセキュリティ修正
非推奨・削除機能
非推奨(将来削除予定)
-
Python 3.15で削除予定
from __future__ import annotationsディレクティブctypes.SetPointerType()関数http.server.CGIHTTPRequestHandlerクラス
-
Python 3.16で削除予定
arrayモジュールの'u'フォーマットコードasyncio.iscoroutinefunction()(inspect.iscoroutinefunction()に置き換え)asyncioポリシーシステム全般builtins- ブール値に対するビット単位反転- その他多数の非推奨機能
削除された機能
astモジュールから非推奨だった複数のクラスasyncioモジュールから子プロセス監視関連の機能collections.abc.ByteStringemail.utils.localtime()のisdstパラメータimportlib.abcから非推奨だった複数のクラス- その他多数の廃止された機能
パフォーマンスの最適化
- いくつかの標準ライブラリモジュールのインポート時間が改善
asyncioモジュールがネイティブタスク用に二重連結リスト実装を使用し、標準ベンチマークで10%の高速化と省メモリ化base64.b16decode()が最大10倍高速化IO操作の最適化によりファイル読み込みが最大15%高速化UUIDオブジェクトの生成が20-40%高速化- Windowsでは
zlibモジュールがzlib-ngを使用し、より良いパフォーマンスを実現
まとめ
Python 3.14と3.13はいずれも多くの新機能、最適化、セキュリティ強化を含んでいます。特に注目すべき点は:
- アノテーションの改善 - 遅延評価とより豊富な型アノテーション機能
- パフォーマンスの向上 - 新しいインタープリタ、JIT、
mimallocなどによる処理速度の向上 - 開発者ツールの強化 - デバッガサポート、エラーメッセージの改善
- セキュリティの強化 - 定期的なセキュリティリリースと脆弱性対応
Pythonは今後も進化を続け、より高速で安全、使いやすい言語を目指して開発が進められています。
Python Insider BlogとPython公式ドキュメントで最新情報をチェックすることをお勧めします。