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