このドキュメントは 2024 年 3 月 25 日にリリースされた Tomcat 10.1.20 のリリースノートの日本語訳です。
ダウンロードは Tomcat ダウンロードより行えます。
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。
不具合修正(Catalina)
* フィルターチェーンの構築の際の性能が若干改善されました。
* Writer と OutputStream のエラー処理が統一されました。どちらかを使用した場合、discardFacades がデフォルト値の true に設定されていたなら、レスポンスが一度リサイクルされると NullPointerException がトリガされます。
* Executor エレメントを使用するよう設定された標準のスレッドプール実装で、NIO2 のサポートが改善された ExecutorService が実装されました。(68692)
* FORM 認証の成功後にセーブされた POST リクエストをリストアする際に、リクエストのボディのリストアでは URI、クエリ文字列、プロトコルのどれも破壊されないことが保証されるようになりました。(68495)
* リクエストの転送後、レスポンスがラップされていた場合は、単にクローズするのではなく、中断させるためにレスポンスをアンラップするようになりました。Context に suspendWrappedResponseAfterForward というブーリアン属性が追加され、その動作を制御します。デフォルトでは false です。
* ClassFileTransformers を使用し、クラスの変換が同じクラスのロードを引き起こす場合の重複クラス定義の原因である可能性の一つが回避されるようになりました。(68721)
* リライトバルブは、出力が入力と同一である場合にはリライトすべきではありませんでした。この問題が修正されました。
* AsyncConext の使用時に、AsyncContext がリサイクルされた後でその AsyncContext を使用しようとした場合、NullPointerException ではなく IllegalStateException が投げられるようになりました。
不具合修正(Coyote)
* HTTP/2 ストリームの優先順位付けプロセスが改善されました。ストリームが全ての接続ウィンドウを使用していて、なお、書き出すべきコンテンツがある場合、残りのコンテンツに対する書き込みの試みを待つことなく、直ちにバックログに追加されるようになりました。
* threadsMaxIdleTime 属性がエンドポイントに追加され、内部のエグゼキュータが設定された minSpareThreads のサイズにスケールバックするまでの時間を設定することが可能になりました。
* org.apache.catalina.security.TLSCertificateReloadListener の動作を妨げる、ユーザ提供 SSLContext インスタンスのサポートにおけるリグレッションが修正されました。
不具合修正(Jasper)
* JSP エンジンがリクエスト/レスポンスを Writer ではなく OutputStream を使用しているサーブレットに転送する場合が対応されました。これは、後続の Writer を得ようとする試みが存在する場合は、コードパス上での IllegalStateException を発生させていました。
* タグライブラリが JAR ファイルにパッケージ化されていて、Web アプリケーションがディレクトリに展開された形ではなく WAR ファイルとしてデプロイされているという場合が正しく処理されるようになりました。
不具合修正(Cluster)
* 非同期の場合はリクエストカウントの統計情報を更新する処理が回避されるようになりました。
不具合修正(Other)
* digest.sh および digest.bat がファイルや標準入力からパスワードを受け付けるようになりました。(57130)
機能追加・改良(Catalina)
* リライトバルブに新しい valveSkip (あるいは VS) ルールフラグが追加され、Catalina パイプラインの次のバルブをスキップさせることができるようになりました。
* SemaphoreValve に highConcurrencyStatus 属性が追加され、セマフォから許可が得られない場合は、バルブがエラーステータスコードを返すことを選べるようになりました。
* SecurityListener に、実行中の Tomcat インスタンスのそのビルド日からの “年齢” のチェックが追加され、サーバが古い場合は警告がログ出力されるようになりました。
機能追加・改良(Jasper)
* JSP コンパイルの際に、コンパイラのソースおよびターゲットとして Java 22 (値 22) を指定することができるようになりました。この値をサポートしていない Eclipse JDT コンパイラバージョンと共に使用する場合は、警告がログ出力され、デフォルトが使用されます。
機能追加・改良(Other)
* フランス語翻訳が改善されました。
* 日本語翻訳が改善されました。
* Checkstyle が 10.14.1 に更新されました。
詳細は以下をご覧ください。
https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.20_(schultz)