6月6日、Python Software FoundationはPython 3.13.0のベータ2版をリリースした。これは、Python 3.13の開発中における4回のベータリリースの2回目である。ベータリリースは、コミュニティが新機能とバグ修正をテストし、プロジェクトが新機能リリースに対応できるようにするために提供される。
今回のリリースに関する詳細な情報を以下に示す。
新機能
新しいインタラクティブインタプリタ
- PyPyに基づく新しいインタラクティブインタプリタが導入された。これには、マルチライン編集とカラーサポート、カラー化された例外トレースバックが含まれる。
実験的なフリースレッド(Free-threaded)モード
- グローバルインタプリタロック(GIL)を無効にすることにより、スレッドがより並行して実行できるようにする実験的なモードが追加された。
実験的なJITコンパイラ
- パフォーマンスの大幅な向上を目的とした予備的な実験的JITコンパイラが導入された。
インクリメンタルガベージコレクション
- サイクル型ガベージコレクタがインクリメンタルになり、多くのオブジェクトを持つプログラムにおいて、ガベージコレクションの一時停止が短縮される。
mimallocの改良版
- プラットフォームがサポートする場合、デフォルトで有効になっている改良版のmimallocが含まれ、フリースレッドビルドモードには必須となる。
Docstringsの先頭インデントの削除
- メモリ使用量と.pycファイルのサイズを削減するために、docstringsの先頭インデントが削除されるようになった。
新しいdbm.sqlite3バックエンド
- 新しいファイルを作成する際にデフォルトで使用されるdbmモジュールに新しいバックエンドが追加された。
重要な変更点
- macOSインストーラーの最低サポートバージョンが10.9から10.13(High Sierra)に変更された。古いバージョンのmacOSは今後サポートされない。
- macOSインストーラーパッケージには、実験的なフリースレッドビルドを有効にした追加ビルドが含まれる。このフリースレッド版はデフォルトではインストールされず、インストーラーのカスタマイズオプションで選択する必要がある。
削除と新しい非推奨
- PEP 594(標準ライブラリからの不要なモジュールの削除)に基づき、多くの非推奨モジュールが削除される予定:
aifc
、audioop
、chunk
、cgi
、cgitb
、crypt
、imghdr
、mailcap
、msilib
、nis
、nntplib
、ossaudiodev
、pipes
、sndhdr
、spwd
、sunau
、telnetlib
、uu
、xdrlib
、lib2to3
など。
テストの呼びかけ
Pythonプロジェクトのメンテナは、ベータ版の段階でPython 3.13をテストし、バグトラッカーに問題を報告することが強く推奨される。リリース候補フェーズの開始までに、機能が変更されたり削除されたりする可能性があるため、できるだけ多くのユーザーにベータ版の使用とテストが求められる。
詳細はPython Insider: Python 3.13.0 beta 2 releasedを参照していただきたい。