Python 3.15.0 がリリースされました。

python.org/downloads/release/python-3150/

これは、Python 3.15.0 の安定版です。

Python 3.15.0 は、Python プログラミング言語の最新の主要なリリースであり、Python 3.14 と比較して、多くの新機能と最適化が含まれています。これは、1,012 人の貢献者による 5,643 件の変更によって実現されました。

Python 3.15 シリーズの主な新機能(Python 3.14 と比較)

Python 3.15 の主な新機能と変更点の一部を以下に示します。

インタプリタの改善

PEP 661: センチネル型の組み込み型の追加
PEP 686: Python は、デフォルトのエンコーディングとして UTF-8 を使用するようになりました。
PEP 798: 複合内でのアンパッキング
PEP 810: より高速な起動のために、明示的な遅延インポート
PEP 814: frozendict 組み込み型の追加
PEP 829: パッケージの起動設定ファイル
実験的な JIT コンパイラが大幅に改善され、標準インタプリタと比較して、x86-64 Linux で 7〜8% の幾何平均的なパフォーマンス向上、および、AArch64 macOS でテールコールインタプリタと比較して 11〜12% の高速化が実現されました。

改善されたエラーメッセージ
標準ライブラリの重要な改善
PEP 799: Python プロファイリングツールを整理するための専用プロファイリングパッケージ
PEP 799: Tachyon: 高周波の統計的サンプリングプロファイラ
より多くのカラー表示
新しい型機能
PEP 728: 型付きの追加項目を持つ TypedDict
PEP 747: TypeForm を使用した型フォームのアノテーション
PEP 800: 型システムにおける分離されたベース
C API の改善
PEP 782: Python のバイトオブジェクトを作成するための新しい PyBytesWriter C API
PEP 788: C API におけるファイナライゼーションに対する保護
PEP 803, 820, 793: スレッドセーフなビルドおよび関連する C API のための安定した ABI
ビルドの変更点
PEP 831: システムレベルの可観測性の向上のために、フレームポインタがデフォルトで有効になります。
リリース変更点
公式の Windows 64 ビットのバイナリは、テールコールインタプリタを使用するようになりました。
公式の macOS バイナリは、デフォルトでスレッドセーフのサポートをインストールするようになりました。
Python 3.15 の変更点に関する詳細については、「Python 3.15 の新機能」を参照してください。

macOS 27.0 IDLE または tkinter のユーザーの皆様へ。

IDLEや、tkinterモジュールを使用する他のGUIアプリケーションを実行中に、アプリケーションのメニューコマンド(例えば、IDLEの「IDLEについて」「設定」「モジュールの開く」など)を使用してダイアログを開くと、アプリケーションがフリーズし、強制終了が必要になる場合があります。

この問題は、macOS 27.0におけるオペレーティングシステムの動作変更が原因であり、現在利用可能なすべてのTkグラフィックスツールキット、およびすべてのPythonのバージョンにおけるtkinterモジュールに影響を与えていると考えられています。

macOSでTkベースのアプリケーション(IDLEなど)を使用している場合、macOS 27.0のインストールを、TkまたはmacOSの回避策が提供されるまで延期するか、アプリケーションのワークフローに影響がないかテストすることを検討してください。詳細については、issue #158053を参照してください。

その他の情報

オンラインドキュメント

PEP 790、3.15のリリーススケジュール

バグはgithub.com/python/cpython/issuesで報告してください。

Pythonを直接(またはGitHub Sponsorsを通じて)支援し、Pythonコミュニティをサポートしてください。

さて、趣向を変えて

新しい3.15のリリースを記念して、Barry Warsawから私たちへのプレゼントがあります!

私は、Python 3.15の新しい機能を紹介する、シンプルなテキストベースのアドベンチャーゲームを作成するというアイデアを思いつきました。それが「whatsnewt」です。

READMEファイルからの抜粋:

Python 3.15で新しくなった機能を体験できる、テキストベースのアドベンチャーゲームです。

あなたはインタープリタの内部にある「スタートアップ・フォーイアー」で目を覚まし、リリース・ゲートを目指して進みます。道中には18個のパズルがあり、それぞれが実際に使用する必要があるPython 3.15の機能です。あなたは単に退屈な質問に答えるのではなく、実際にコードを書き、Python 3.15のインタープリタで実行します。

いくつかのパズルでは、型チェッカーが必要であり、その場合は、pyreflyによって回答が検証されます。pyreflyは、その目的のために用意された依存関係であり、その結果が引用として表示されます。

プレイする最も簡単な方法は、次のコマンドを実行することです。

uvx --python 3.15 whatsnewt

そして、イースターエッグも用意されています。

新しいリリースをお楽しみください。

Pythonの開発や今回のリリースを可能にしている、多くのボランティアの方々に感謝いたします。ご支援を賜るにあたり、ご自身でボランティア活動にご参加いただくか、Python Software Foundationへの寄付をご検討ください。

Python 3.15のロゴを作成していただいたGeorgi KerさんとMarie Nordinさんに、心より感謝申し上げます。

また、Sovereign Tech Agencyは、Sovereign Tech Fellowshipを通じて、Python 3.14および3.15のリリースマネージャーとしての私の活動を支援してくれています。深く感謝しております。

レネから、
リリースチーム一同:Hugo van Kemenade, Ned Deily, Steve Dower