10月2日、Pythonソフトウェア財団はPython 3.13.0リリース候補3(RC3)を公開した。このリリースは本来予定されていた最終リリースではなく、いくつかの重大な問題に対応するために追加されたものである。
Python 3.13.0RC3は、Python 3.13シリーズの最後のリリース候補であり、これ以降にABIの変更は行われない予定である。今回のリリースは、主にインクリメンタルな循環ガベージコレクタの性能低下が一部のワークロードで確認されたため、その変更を撤回し、いくつかの重要なバグ修正を行ったものである。最終リリースは、2024年10月7日に予定されている。
主な新機能と変更点
Python 3.13には、以下のような主要な新機能や変更が含まれている。
新しいインタラクティブインタプリタ
PyPyに基づくインタラクティブインタプリタが改良され、マルチライン編集やカラートレースバックのサポートが追加された。実験的なフリースレッドビルドモード
グローバルインタプリタロック(GIL)を無効化し、スレッドの並列実行を可能にするフリースレッドビルドモードが追加された。この機能は実験的であり、WindowsおよびmacOSインストーラに含まれている。実験的なJITコンパイラ
実験的なJITコンパイラが導入され、パフォーマンス向上の基盤が整えられた。locals()
関数のセマンティクス変更locals()
関数の返すマッピングの変更が定義され、デバッガでの一貫した動作が可能になった。mimallocの採用
mimallocがデフォルトで有効化され、フリースレッドビルドモードをサポートする。macOSのサポートバージョンの変更
macOS 10.13(High Sierra)以降がサポートされ、それ以前のバージョンはサポート対象外となる。WASIとiOSのTier 2およびTier 3サポート
WASIはTier 2のサポート対象に昇格し、iOSおよびAndroidはTier 3のサポート対象となった。
型システムの強化
型パラメータのデフォルトサポート
型パラメータにデフォルト値を指定する機能が追加された。型絞り込みアノテーション
typing.TypeIs
という新しい型絞り込みアノテーションが追加された。TypeDictに読み取り専用のアノテーション
TypeDict内の読み取り専用アイテムに対して、新しいアノテーションが導入された。型システムでの非推奨項目のマーク
非推奨の項目を示すための新しいアノテーションが追加された。
削除と新しい非推奨機能
Python 3.13では、PEP 594に基づいて多くの非推奨モジュールが削除される予定であり、これにはaifc
、cgi
、crypt
、telnetlib
などが含まれる。また、C APIにおいても多数の削除や非推奨が予定されている。
Python 3.13.0のリリースに備えて、Pythonプロジェクトのメンテナはこの段階でプロジェクトを適合させることが推奨されている。Python 3.13.0RC1以降にビルドされたバイナリホイールは、将来のPython 3.13シリーズとも互換性があることが保証されている。
詳細は[Python Insider: Python 3.13.0 release candidate 3 released]を参照していただきたい。