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月を予定しています。

主な新機能

  1. PEP 649: アノテーションの遅延評価

    • 関数、クラス、モジュールのアノテーションが直ちに評価されなくなり、必要なときだけ評価されるようになりました
    • 新たなannotationlibモジュールで遅延アノテーションを検査できます
  2. PEP 741: Python設定C API

    • Python初期化の設定をAPIレベルで統一化
  3. PEP 758: 括弧のない例外構文

    • exceptexcept*式で、複数の例外タイプを括弧なしで記述できるようになりました
    try:
        do_something()
    except ValueError, TypeError:  # 以前は (ValueError, TypeError) と書く必要があった
        handle_error()
  4. PEP 761: PGP署名の廃止

    • Python 3.14以降はリリース成果物のPGP署名提供が廃止され、代わりにSigstoreが推奨されます
  5. PEP 765: finally ブロックを抜ける return/break/continue の禁止

    • finallyブロックから抜け出すreturnbreakcontinue文使用時に警告が出るようになりました
  6. PEP 768: CPythonの安全な外部デバッガインターフェース

    • 実行中のPythonプロセスに安全にデバッガを接続するためのインターフェース
    • sys.remote_exec()関数で実行中のプロセスにコードを送信できます
  7. 新しいインタープリタタイプ

    • 小さなC関数間のテールコールを使用した新しいインタープリタ
    • 特定の新しいコンパイラ(Clang 19以降)で大幅なパフォーマンス向上が見込めます
    • 平均で3-5%の速度向上、場合によってはもっと高速化
  8. UUID バージョン 6-8のサポート

    • UUIDモジュールでバージョン6、7、8をサポート
    • バージョン3-5と8の生成が最大40%高速化
  9. エラーメッセージの改善

    • より詳細で分かりやすいエラーメッセージの提供

その他の言語機能の変更

  • 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日に正式リリースされました。

主な新機能

  1. 改良されたインタラクティブインタープリタ

    • PyPyベースの多機能な対話型インタープリタ
    • 複数行編集とカラーサポート、色付きの例外トレースバック
  2. 実験的なフリースレッドビルドモード

    • Global Interpreter Lock (GIL)を無効化するモード
    • スレッドの同時実行性を向上
  3. 実験的なJIT (Just-In-Time) コンパイラ

    • 大幅なパフォーマンス向上のための基盤
  4. locals() 関数の明確な挙動

    • 返されたマッピングを変更した場合の挙動が明確に定義され、デバッガがより一貫して動作可能に
  5. インクリメンタルガベージコレクション

    • ガベージコレクション中の一時停止が短縮
  6. mimalloc の組み込み

    • 高性能なメモリアロケータが標準でサポート
  7. ドキュメント文字列のインデント除去

    • メモリ使用量と.pycファイルのサイズが削減
  8. dbm.sqlite3 バックエンド

    • dbmモジュールに新しいSQLite3バックエンド
  9. macOS最小サポートバージョンの変更

    • 最小サポートバージョンが10.9から10.13(High Sierra)に
  10. プラットフォームサポートの変更

    • 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脆弱性修正
  • その他多数のセキュリティ修正

非推奨・削除機能

非推奨(将来削除予定)

  1. Python 3.15で削除予定

    • from __future__ import annotations ディレクティブ
    • ctypes.SetPointerType() 関数
    • http.server.CGIHTTPRequestHandler クラス
  2. Python 3.16で削除予定

    • arrayモジュールの'u'フォーマットコード
    • asyncio.iscoroutinefunction()inspect.iscoroutinefunction()に置き換え)
    • asyncioポリシーシステム全般
    • builtins - ブール値に対するビット単位反転
    • その他多数の非推奨機能

削除された機能

  • ast モジュールから非推奨だった複数のクラス
  • asyncio モジュールから子プロセス監視関連の機能
  • collections.abc.ByteString
  • email.utils.localtime()isdst パラメータ
  • importlib.abc から非推奨だった複数のクラス
  • その他多数の廃止された機能

パフォーマンスの最適化

  • いくつかの標準ライブラリモジュールのインポート時間が改善
  • asyncioモジュールがネイティブタスク用に二重連結リスト実装を使用し、標準ベンチマークで10%の高速化と省メモリ化
  • base64.b16decode()が最大10倍高速化
  • IO操作の最適化によりファイル読み込みが最大15%高速化
  • UUIDオブジェクトの生成が20-40%高速化
  • Windowsではzlibモジュールがzlib-ngを使用し、より良いパフォーマンスを実現

まとめ

Python 3.14と3.13はいずれも多くの新機能、最適化、セキュリティ強化を含んでいます。特に注目すべき点は:

  1. アノテーションの改善 - 遅延評価とより豊富な型アノテーション機能
  2. パフォーマンスの向上 - 新しいインタープリタ、JIT、mimallocなどによる処理速度の向上
  3. 開発者ツールの強化 - デバッガサポート、エラーメッセージの改善
  4. セキュリティの強化 - 定期的なセキュリティリリースと脆弱性対応

Pythonは今後も進化を続け、より高速で安全、使いやすい言語を目指して開発が進められています。

Python Insider BlogPython公式ドキュメントで最新情報をチェックすることをお勧めします。

On this page