2022年6月6日、今週のJavaラウンドアップでは、Rampdown Phase Oneに入ったJDK 19、JDK 20専門家グループの編成、Spring Shell 2.1.0-M5、Open Liberty 22.0.0.6と22.0.0.7-beta、Quarkus 2.10.0.CR1、Apache Groovy 4.0.3、Eclipse Mojarra 4.0、Helidon 2.5.1、JNationカンファレンスといったニュースをお伝えする。
JDK 19
JDK 19 早期アクセスビルドのBuild 26が先週公開された。Build 25以降、さまざまなイシューの修正を含むアップデートが実施されている。詳細はリリースノートで確認して頂きたい。
JDK 19のリリーススケジュール通り、OracleのJava Platform Groupでチーフアーキテクトを務めるMark Reinhold氏は、JDK 19がRampdown Phase Oneに入ったことを正式に宣言した。これはつまり、main-line-sourceリポジトリがJDK安定化リポジトリ(stabilization repository)にフォークした、JDK 19にはこれ以上のJEPが追加されることはない、という意味である。従って、2022年9月にリリースされるGAには、以下の7つが最終セットとして含まれることになる。
- JEP 405: Record Patterns (Preview)
- JEP 422: Linux/RISC-V Port
- JEP 424: Foreign Function & Memory API (Preview)
- JEP 425: Virtual Threads (Preview)
- JEP 426: Vector API (Fourth Incubator)
- JEP 427: Pattern Matching for switch (Third Preview)
- JEP 428: Structured Concurrency (Incubator)
開発者からのバグ報告はJava Bug Databaseまで。
JDK 20
JSR 395 Java SE 20が先週提出され、Simon Ritter氏(Azul Systems)、Jayaprakash Arthanareeswaran氏(Eclipse Foundation)、Andrew Haley氏(Red Hat)、Christoph Langer氏(SAP SE)、Iris Clark氏(Oracle)、Brian Goetz氏(Oracle)の6名からなるJDK 20専門家グループが公式に発表された。仕様リーダはClark氏とGoetz氏が務める予定である。その他、現時点で注目すべき日程として、パブリックレビューが2022年12月から2023年1月、GAリリースが2023年3月に設定された。
JDK 20早期アクセスビルドのBuild 1も先週公開された。これらのアップデートが含まれる。
Spring Framework
Spring Shell 2.1.0に向けた5番目のマイルストンリリースが公開された。Spring Shell 2.1.0-M4から、@ShellOption
アノテーションのオプションが"required"にマークされていない、exitコードのサポート追加、exitコードのカスタマイズが動作しない、などの点が修正されている。詳細はリリースノートを参照して頂きたい。
Open Liberty
IBMは、Open Liberty 22.0.0.6をベータリリースから正式版(deliver)に昇格させた。MicroProfile GraphQL 2.0のサポートに加え、CVE-2022-22475およびCVE-2022-22393脆弱性に対処するための修正や、重要なバグ修正が提供されている。MicroProfile GraphQL仕様には、その他のJakartaEE9.1依存関係も組み込まれている。
Open Liberty 22.0.0.7-betaも同時にリリースされた。既存のサイズベースのログロールオーバーに加えて、新たに時間ベースのログロールオーバーが用意された他、定義されたアプリケーション名をLogRecordContext
エクステンションやJSONロギンィールドとして追加できるようになった。
Quarkus
Quarkus 2.10.0に向けて、Red Hatが最初のリリース候補を提供している。仮想スレッドのサポート、サードパーティデータベース用に新たなHibernateダイアレクトを追加する機能、Reactive SQL Client用のKubernetesサーババインディングのサポート、GraphQLの非ブロックサポートなどが新機能だ。Quarkus 2.10.0.CR1では他にも、Smallrye Reactive Messaging 3.16.0に依存関係がアップグレードされ、Quiltflower逆コンパイラが導入されている。
Apache Groovy
3.0および2.5各リリーストレインのポイントリリースから1週間を待たず、Groovy 4.03が、40件のバグ修正と改良、Jackson 2.13.3、Spotbugs 4.7.0、Find Security Bugs 1.12.0 (findsecbugs-plugin
)、Apache RAT (Release Audit Tool) Gradle Plugin 0.7.1 (creadur-rat-gradle
)、JsonUnit 2.35.0といった依存関係のアップグレードを備えてリリースされた。詳細はリリースノートを参照して頂きたい。
Eclipse Mojarra
Eclipse FoundationがEclipse Mojarra 4.0をリリースした。既定としてのエクステンションレスビュー、@ClientWindowScoped
アノテーションによる新たなスコープ、Javaによるビュー生成のファーストクラスサポート、@Redirect
アノテーションによるアクション実行時のリダイレクトなどがフィーチャーされている。Jakarta Faces 4.0仕様の互換実装として機能するため、Eclipse Mojarra 4.0には、
ビュー宣言言語としてのJSPサポート、ネイティブマネージド・ビーン、ネイティブ式言語(native expression language)の参照、"JSF"の"Jakarta Faces"あるいは"Faces"としての参照などが含まれている。
Helidon
OracleはHelidon 2.5.1をリリースした。多数のバグ修正や依存関係のアップグレードが行われている他、開発者に対しては、ネイティブイメージ使用時にMicroProfile Fault Toleranceがが断続的に発生する問題の部分的軽減のために、GraalVM 21.3.2を使用するように推奨している。また、Helidonアプリケーション用のMockitoについては、Oracleは今後メンテナンスしない予定である。
JNationカンファレンス
JNationカンファレンスが先週、ポルトガルのコインブラにあるConvento Satilde;o Franciscoで開催され、Javaコミュニティから参加した多数の講演者たちが、Quarkus、DevOps、Log4Shell、Helidon、Project Amber、Springについて語った。