今週2022年2月14日のJavaラウンドアップは、OpenJDK、JDK 18、JDK 19、Project Loom、Springプロジェクトのポイントリリース、Payara Platform、Open Liberty 22.0.0.2および22.0.0.3-beta、Micronaut 3.3.3、GraalVM Native Build Tools 0.9.10、JReleaser 1.0.0-M2、Piranha 22.2.0、JobRunr 4.0.9、Micrometer Metrics 2.0.0-M2、Micrometer Tracing 1.0.0-M2、JDKMon 17.0.22およびFailsafe 3.2.2からのニュースを取り上げる。
OpenJDK
JDK 18 のリリーススケジュールに従い、Oracle の Java Platform Group のチーフアーキテクトである Mark Reinhold 氏は、JDK 18 が最初のリリース候補フェーズに入ったことを正式に宣言した。リグレッションや重大な機能の問題などの重大なバグの対処は可能だが、Fix-Request プロセスを介した承認が必要だ。
JEP ドラフト 8281710 (TLS 証明書圧縮) は、TLS および QUIC 接続のセキュリティとパフォーマンスを改善し、TLS 証明書圧縮標準のサポートを介してレイテンシーを削減することを提案している。
JDK 18
JDK 18 早期アクセスビルドのビルド 36 が先週利用可能になった。さまざまな問題の修正を含むビルド 35 からのアップデートだ。詳細については、リリースノートに記載されている。
JDK 19
先週、JDK 19 早期アクセスビルドのビルド 10 も利用可能になった。さまざまな問題の修正を含むビルド 9 からのアップデートだ。詳細については、リリースノートに記載されている。
JDK 18 および JDK 19 では、開発者は Java Bug Database を介したバグの報告が奨励されている。
Project Loom
Project Loom 早期アクセスビルドのビルド 19-loom+4-115 は、Java コミュニティで利用可能になった。これは JDK 19 早期アクセスビルドのビルド 9 に基づいている。この最新リリースでは、JEP ドラフト 8277129 (構造化並行処理) および JEP ドラフト8263012 (スコープローカル) のインキュベーターモジュールへの移行が取り入れられている。
Spring Framework
前回の週はとても静かだったが、先週チームは忙しく、いくつかのプロジェクトでいくつかのポイントとマイルストーンのリリースを提供した。
Spring Framework 5.3.16 がリリースされ、33 のバグ修正と改善が行われた。新機能は次のとおりだ。ManagedList
、ManagedSet
、および ManagedMap
クラスのための便利なファクトリメソッド。WebTestClient
インターフェイスで厳密 (strict) な JSON 比較のサポート。例外を再スローする代わりにログに記録する CacheErrorHandler
インターフェースの実装。このリリースでは、AsyncTaskExecutor
インターフェイスに定義されている SocketUtils
クラスと execute(Runnable,long)
メソッドも非推奨化されている。
メンテナンスリリースである Spring Cloud 2021.0.1 は、次のサブプロジェクトの修正が取り入れられている。Config、Sleuth、Contract、Gateway および OpenFeign。詳細については、リリースノートに記載されている。
Spring Data チームは、2021.1 および 2021.0 リリーストレインと 2021.2.0-M3 のポイントおよびマイルストーンリリースを提供した。最初の2つは主にバグ修正であり、今後の Spring Boot 2.6.4 および 2.5.10 のポイントリリースでそれぞれ使用される可能性があるものだ。マイルストーンリリース、コードネーム Raj は、依存関係のアップグレードを特徴としている。詳細については、2021.2.0-M3 リリースノートに記載されている。
Spring LDAP 2.3.6.RELEASE および 2.4.0-M2 は、先週利用可能になった。バージョン 2.3.6.RELEASE は、spring-repository.xsd
スキーマドキュメントの読み取りに失敗の問題を修正し、バージョン2.4.0-M2 は依存関係のアップグレードが特徴であり、これには次のものが含まれる。Gradle 3.1 から 6.9 へのアップグレード。JDK 9 以降をサポートする LDAP サンプルの UnboundID LDAP SDK for Java への移行。そして前述の spring-repository.xsd
の問題。
Payara
2022年のロードマップを発表した1週間後、Payara は2022年2月エディションの Payara Platform をリリースした。Payara Platform Community 5.2022.1 エディションには、3つの改善と10のバグ修正が含まれている。Payara Platform Enterprise 5.36.0 エディションには、3つの改善と4つのバグ修正が含まれている。どちらのバージョンも、.gfclient
ディレクトリに破損があった Asadmin CLI ツールの Payara TrustStore での修正が特徴だ。Community Edition では、CDI アノテーションのスキャン時間を制限するデプロイメント時間の改善もある。
MicroProfile 5.0 と Jakarta EE 9.1 のサポートを特徴とする、Payara Platform 6 の2番目のアルファリリースも利用可能になった。
Open Liberty
IBM は、Open Liberty 22.0.0.2 をベータリリースから昇格させた。コンテナ管理コンテキストの JPA 永続性プロパティに構成の拡張機能を提供した。詳細については、問題のリストに記載されている。
Open Liberty 22.0.0.3-beta もリリースされた。Jakarta EE 10 の Jakarta Concurrency 3.0 仕様がサポートされている。
Micronaut
Micronaut Foundation は Micronaut 3.3.3 をリリースした。これは Netty を使用してネイティブイメージを構築する際の問題を修正している。
GraalVM Native Build Tools
バージョン 1.0 への道のりで、Oracle Labs は Native Build Tools のバージョン 0.9.10 をリリースした。これは、GraalVM Native Image との相互運用性のためのプラグインで構成される GraalVM プロジェクトだ。この最新リリースでは次のものが提供されている。ネイティブテストのみを無効にする Maven プラグインの skipNativeTests
フラグ。Gradle 7.4 へのアップグレード。テストが並行して実行される場合の競合状態の修正。クラスパスの長さが Windows でサポートされている長さを超える場合の native-image
ツールに引数を渡す @arg
ファイルのサポート。詳細については、リリースノートに記載されている。
JReleaser
バージョン 1.0.0 への道のりで、JReleaser の2番目のマイルストーンと更新された早期アクセスリリースが先週利用可能になった。ネイティブイメージと Chocolatey で packageVersion
プロパティのための簡素化されたテンプレート。jpackage のプラットフォーム固有のリソースディレクトリ。Feign クライアントで SSL チェックの無効化。
Piranha
Piranha 22.2.0 がリリースされた。「トンネルの終わりの光」エディションと呼ばれるこのリリースには、次のものが含まれる。JWT TCK の受け渡しを含む MicroProfile JWT 仕様のサポート、認証コードの改善。詳細については、ドキュメントと課題追跡システムに記載されている。
JobRunr
Java でバックグラウンド処理を実行するユーティリティの JobRunr は、先週バージョン 4.0.9 をリリースした。次のようなものが含まれている。年間スケジュールされたジョブの CRON 式のパースの不整合の修正。デフォルト設定として AmazonDocumentDBStorageProvider
を作成するための静的メソッド。
Micrometer
Micrometer Metrics 2.0.0 への道のりで、2番目のマイルストーンバージョンは、依存関係のアップグレードと、micrometer-core
の既存のクラスの一部を新しい micrometer-api
モジュールに移動して、micrometer-core
にはインストルメンテーションのみが含まれるようにしたことを特徴としている。
同様に、Micrometer Tracing 1.0.0 の2番目のマイルストーンリリースが次の機能で利用可能になった。統合テスト用の改良された SampleTestRunner
。FinishedSpan
インターフェースと Collection<FinishedSpan>
をアサートする AssertJ 拡張機能。DocumentedSpan
インターフェースの更新。Tracer
インターフェースによる、より良いユニットテストメカニズム。詳細については、ドキュメントに記載されている。
JDKMon
インストールされた JDK をモニタおよび更新する新しいツールである JDKMon の最新バージョンが、Java コミュニティで利用できるようになった。Azul の主任エンジニアである Gerrit Grunwald 氏によって作成されたバージョン 17.0.22 には、キラキラしたユーザインターフェイスが付属している。
Failsafe
Java 8 以降で障害を処理するための軽量で依存関係のないライブラリである Failsafe は、次の機能を備えたバージョン 3.2.2 をリリースした。OkHttp
と Retrofit
をサポートした新しいモジュール。同期呼び出しをキャンセルするための FailsafeExecutor
クラスをサポートした新しい Call
インターフェイス。キャンセルを伝播するための ExecutionContext
インターフェイスへの onCancel()
コールバックメソッド。