Tomcat 10.1.24 のリリースノート

このドキュメントは 2024 年 5 月 13 日にリリースされた Tomcat 10.1.24 のリリースノートの日本語訳です。
ダウンロードは Tomcat ダウンロードより行えます。
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。

不具合修正(Catalina)

* 非同期リクエストのエラー処理が修正されました。アプリケーションが AsyncListener.onError() 時にディスパッチを実行する場合、エラーページの仕組みを使ってリクエストを完了させるのではなく、ディスパッチが実行されるようになりました。

* WebDAV のロックヌル(存在しないリソースに対するロック)のスレッド安全性と削除が修正されました。

* WebDAV のロックの期限切れについて定期的な検査が追加されました。

* Asn1Parser が UTF8Strings をパースするよう拡張されました。

* 削除された属性の MBean メタデータが削除されました。

不具合修正(Coyote)

* 非セキュアおよびセキュアな書き込みが NIO に揃えられ、書き出すべきバイトがない場合の書き込みの試みはスキップされるようになりました。

* socket.unlockTimeout に対して任意の正の値が指定できるようになりました。負またはゼロの値が設定された場合は、デフォルトの 250ms が使われます。

* コネクタのロック解除を待つ時間が削減されました。これまでのデフォルトの 10s はロック解除が失敗した場合には非常に長すぎました。本リリースから、待ち時間は 100ms に socket.unlockTimeout の 2 倍を足したものになりました。

* onAllDataRead() イベントは、リクエストボディがチャンクドエンコーディングを使用しており、かつ、ノンブロッキング IO を使って読み込まれる場合にトリガされることが保証されるようになりました。

* maxConnections を超える際のラッチオブジェクトにデバッグログ出力が追加されました。(68934)

* トレイラフィールドの処理がリファクタリングされ、MimeHeaders インスタンスを使ってトレイラフィールドが格納されるようになりました。

* 同じトレーラフィールドの複数のインスタンスが正しく処理されることが保証されるようになりました。

* チャンクドリクエストボディのノンブロッキング読み込みが修正されました。

* 不正な HTTP レスポンスヘッダが落とされるとき、off-by-one エラーにより、レスポンスの最初のヘッダも落とされていました。この問題が修正されました。

不具合修正(WebSocket)

* WebSocket のクローズメッセージを異常なクローズに対し書き込む際の書き込みタイムアウトが短くなりました。タイムアウトのデフォルトは 50 ミリ秒となり、WebSocket セッションに付随するユーザプロパティのコレクション中の org.apache.tomcat.websocket.ABNORMAL_SESSION_CLOSE_SEND_TIMEOUT プロパティで設定可能です。(68884)

不具合修正(Web applications)

* Examples: 複数のクライアントが同時に接続を切断する際の WebSocket chat アプリケーションの性能が改善されました。

* Examples: 複数のクライアントが同時に接続を切断する際の WebSocket snake アプリケーションの性能が改善されました。

機能追加・改良(Catalina)

* 値のない cookie のログ出力で小さな性能改善がおこなわれました。

* AbstractAccessLogValve の ElapsedTimeElement がリファクタリングされ、カスタマイズ可能なスタイルが使われるようになりました。

* AccessLogValve および ExtendedAccessLogValve にさらにタイムスケールオプションが追加されました。ExtendedAccessLogValve の “time-taken” トークンにタイムスケールが適用できるようになりました。

機能追加・改良(Jasper)

* JSP コンパイル時のコンパイラソースおよびコンパイラターゲットとして Java 23 (値 23) が指定できるようになりました。この値をサポートしていないバージョンの Eclipse JDT コンパイラを使用した場合、警告がログ出力され、デフォルト値が使用されます。

機能追加・改良(Web applications)

* Examples: WebSocket の chat アプリケーション使用時に表示される以前のメッセージの数が多くなりました。

機能追加・改良(Other)

* Base64 のエンコーダおよびデコーダについて、Commons Codec で提供されるバージョンから JRE で提供されるバージョンに切り替えられました。Commons Codec の内部フォークは非推奨となり、Tomcat 11 では削除される予定です。

* NSIS が 3.10 に更新されました。

* UnboundID が 7.0.0 に更新されました。

* Checkstyle が 10.16.0 に更新されました。

* JaCoCo が 0.8.12 に更新されました。

* SpotBugs が 4.8.4 に更新されました。

* Apache Commons BCEL の内部フォークが 6.9.0 に更新されました。

* Apache Commons DBCP の内部フォークが 2.12.0 に更新されました。

* フランス語翻訳が改善されました。

* 日本語翻訳が改善されました。

詳細は以下をご覧ください。

https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.24_(schultz)