2025年10月14日、Python 3.13系の最新マイナーバージョンである Python 3.13.9 がリリースされました。
このバージョンは、前バージョンの3.13.8で混入した 特定のリグレッション (先祖返り) を解消するため に、予定を早めて公開された緊急のアップデートです。
修正内容は非常に限定的ですが、特定のコード構造において標準ライブラリの挙動に影響を及ぼす重要な修正が含まれています。
Python 3.13.9における主な変更点
Python 3.13.9における変更点は、公式のリリースノートによると たった1つの不具合修正のみ となっています。
3.13.8と比較して他の機能追加やセキュリティ修正は含まれていないため、今回の修正対象となる機能を利用していない環境においては、3.13.8と同等の動作が保証されています。
修正されたリグレッションの内容
修正されたのは、GitHubのIssue番号 gh-139783 に関連する不具合です。
具体的には、 inspect.getsourcelines 関数を使用してソースコードを取得する際、デコレータの直後に コメント行や空行が挿入されていると正しく動作しない という問題が修正されました。
不具合が発生するコードの例は以下の通りです。
import inspect
# デコレータの後に空行やコメントがある場合
def my_decorator(func):
return func
@my_decorator
# ここに空行やコメントがあると、3.13.8ではgetsourcelinesが失敗する場合がある
def target_function():
pass
# ソースコードの行情報を取得
lines, lineno = inspect.getsourcelines(target_function)
print(f"開始行: {lineno}")
このような記述は、コードの可読性を高めるために日常的に行われるため、動的なコード解析を行うツールやデバッグライブラリを使用しているプロジェクトにとって、今回の修正は 極めて重要なアップデート といえます。
まとめ
Python 3.13.9は、特定の条件下における inspect モジュールの不具合を修正するためのピンポイントなリリースです。
開発環境で静的解析ツールや、ソースコードを動的に参照するフレームワークを利用している場合は、予期せぬエラーを防ぐために速やかなアップデートを推奨します。
最新のバイナリやソースコードは、Python公式サイト からダウンロード可能です。
