今週2021年1月17日のJava総まとめでは JDK 17、JDK 18、JDK 19、複数のSpringのリリース、Payara Platform、Open Liberty 22.0.0.1 および 22.0.0.2-beta、Quarkus 2.6.3.Final、WildFly 26.0.1 と 2022年のリリース計画、Micronaut 3.2.7 および 3.3.0-M1、Hibernate ORM 5.6.4.Final および HibernateSearch 6.1.0-CR1、Liberica JDK 17.0.2、GraalVM 22、そして JReleaser0.10.0 および 1.0.0-M1 からのニュースを特集する。
JDK 17
2022年1月の Oracle のクリティカルパッチアップデートのリリースの一部として、JDK 17.0.2、11.0.14、8u321 の更新リリースが利用可能になった。詳細については JDK 17、JDK 11、および JDK 8 のリリースノートに記載されている。
JDK 18
JDK 18 のリリーススケジュールに従って、Oracle の Java Platform Group のチーフアーキテクトである Mark Reinhold 氏は、3月に GA リリースするための安定化モード開始のサインとして JDK 18 がランプダウンフェーズ 2に入ったことを正式に宣言した。リグレッションや重大な機能の問題などの重大なバグは対処可能だが、Fix-Request プロセスによる承認が必要だ。JDK 18 リリースの9個の機能の最終セットは次の通りだ:
- JEP 400: UTF-8 by Default
- JEP 408: Simple Web Server
- JEP 413: Code Snippets in Java API Documentation
- JEP 416: Reimplement Core Reflection with Method Handles
- JEP 417: Vector API (Third Incubator)
- JEP 418: Internet-Address Resolution SPI
- JEP 419: Foreign Function & Memory API (Second Incubator)
- JEP 420: Pattern Matching for switch (Second Preview)
- JEP 421: Deprecate Finalization for Removal
JDK 18 早期アクセスビルドのビルド 32が先週利用可能になった。さまざまな問題の修正などビルド 31の更新が行われている。詳細についてはリリースノートに記載されている。
JDK 19
JDK 19 早期アクセスビルドのビルド 6も先週利用可能になった。さまざまな問題の修正などビルド 5の更新が行われている。詳細についてはリリースノートに記載されている。
JDK 18 と JDK 19 では、開発者が Java Bug Database を通したバグのレポートを奨励している。
Spring Framework
Spring では、チームは非常に忙しい1週間になり、Spring Boot、Spring Batch、Spring for GraphQL、Spring Security、Spring REST Docs の多数のポイントとマイルストーンリリースを提供した。
Spring Boot 2.6.3 のリリースでは、39 のバグ修正、ドキュメントの改善、依存関係のアップグレード (Spring Framework 5.3.15、Spring Data 2021.1.1、Micrometer 1.8.2、Log4j2 2.17.1、Hibernate 5.6.4.Final など) を提供している。
Spring Boot 2.5.9 がリリースされ、32 のバグ修正、ドキュメントの改善、依存関係のアップグレード (Spring Framework 5.3.15、Spring Data 2021.0.8、Micrometer 1.7.8、Log4j2 2.17.1、Reactor 2020.0.15 など) が行われた。
Spring Boot 2.7.0-M1 のリリースでは、111 のバグ修正、ドキュメントの改善、依存関係のアップグレードが提供されている。次の新機能がある。新しい starter による Spring GraphQL のサポート、オペレーティングシステムと Java ベンダー情報を表示する新しいアクチュエータ情報エンドポイント、RabbitStreamTemplate
クラスのサポート。詳細についてはリリースノートに記載されている。
Spring Boot 3.0 への道のりで、最初のマイルストーンリリースが利用可能になった。Spring Boot 3.0.0-M1 は JDK 17 以降と Jakarta EE 9 準拠が必須だ。2か月ごとの新しいマイルストーンリリースが計画されている。詳細についてはリリースノートに記載されている。
同様に、Spring Batch 5.0-M1 のリリースにも JDK 17 以降と Jakarta EE 9 準拠が必須だ。このリリースには、次の Spring Framework 6.0 バージョンへの依存関係のアップグレードも含まれている。詳細については変更ログに記載されている。
Spring for GraphQL 1.0.0-M5 のリリースは、主に直近の M4 リリースのフォローアップだ。このリリースの目標は、Spring Boot Starter を GraphQL リポジトリから Spring Boot に移行することにあった。
Spring Security 6.0.0 と 5.7.0 の最初のマイルストーンバージョンが利用可能になった。Spring Framework 6.0 および Spring Boot 3.0 同様、Spring Security 6.0 の GA バージョンには JDK 17 以降と Jakarta EE 9 への準拠が必須だ。どちらのバージョンにも、重大な変更、新機能、依存関係のアップグレードが含まれている。詳細についてはバージョン 6.0.0-M1 と 5.7.0-M1 のリリースノートに記載されている。
Spring REST Docs 2.0.6.RELEASE がリリースされ、18 のバグ修正とドキュメントの改善が行われた。詳細についてはリリースノートに記載されている。
Spring REST Docs 3.0.0 の最初のマイルストーンリリースは、13 の機能強化、ドキュメントの改善、依存関係のアップグレードで利用可能になった。Spring REST Docs 3.0 も JDK 17 以降 が必須で Jakarta EE 9 に準拠する。REST Assured のサポートは、Jakarta EE 9 との互換性がまだないため、一時的に削除されていることに注意が必要だ。
Payara
Payara は、Payara Platform の2022年1月エディションをエンタープライズ専用リリースとしてリリースされた。Payara Platform Enterprise 5.35.0 エディションは、Payara Platform Enterprise の新しいバージョンにさらに効率的にアップグレードするためのユーティリティである Upgrade Tool に関連する 2 の改善と 7 のバグ修正で提供される。
Payara は、IntelliJ IDEA の Community と Ultimate エディション両方に対応する IntelliJ IDEA Payara Platform Tools プラグインのアップグレードバージョンも提供している。
Open Liberty
IBM は、Open Liberty 22.0.0.1 をベータリリースから昇格し提供した。MicroProfile 5.0のサポート。MicroProfile RestClient の Apache CXF から RESTEasy に移行した実装。複数のアプリケーションの OpenAPI ドキュメントを作成する機能。IBM の OpenID Connect Client 1.0 と Social Media Login 1.0 での JSON Web Encryption フォーマットのトークン受信のサポート。
Open Liberty 22.0.0.2-beta が HTTP ヘッダでの行の折りたたみが非推奨になったことにより SSL 証明書 (Privacy-Enhanced Mail URL-encoded SSL 証明書) がサポートされリリースされた。
Quarkus
メンテナンスリリースの Quarkus 2.6.3.Final の機能: Hibernate ORM 拡張機能で完全に無効化された JNDI サービス。HIbernate ORM および Hibernate Reactive のアップグレード。Resource
クラスで RESTEasy アノテーションプロバイダを収集する際の NullPointerException
の回避。そして Java 17 レコードをサポートするための Yasson ライブラリの更新。詳細については変更ログに記載されている。
WildFly
Red Hat は WildFly 26.0.1 をリリースした。WildFly Core バージョン 18.0.1、18.0.2、18.0.3、18.0.4、セキュリティの脆弱性 (CVE-2021-22569) を解決する Protocol Buffers (protobuf) 3.19.2、および Bootable JAR 7.0.0 のコンポーネントアップグレードなどの小さなバグ修正リリースだ。
2021年9月の Changes are Coming to WildFly (次の WildFly の変更点) というブログ投稿のフォローアップで Red Hat は 2022年のリリース計画で WildFly 27 およびおそらく WildFly 28 をタイムボックスリリースから機能ボックスリリースに変更することなどを公表した。この変更が必要になったのは、Jakarta EE 10 の今後の GA リリースを単一のタイムボックスリリースでサポートすることが現実的ではなかったためだ。その間、WildFly 26.1 と 26.1.1 はそれぞれ3月と4月にリリースされる予定だ。
Micronaut
Micronaut Foundation は、Micronaut 3.2.7 をリリースした。Netty 4.1.73.Final へのアップグレード、Gradle Enterprise バッジ、Micronaut カタログへの jaxrs-server-security
モジュールを備えている。
Micronaut 3.3.0 への道のりで、最初のマイルストーンリリースでは、Micronaut SQL Libraries、Micronaut Views、Micronaut Liquibase、Micronaut Picocli Configuration、Micronaut Kafka などの他の Micronaut プロジェクトのアップグレードを行っている。
Hibernate
Hibernate ORM 5.6.4.Final がリリースされた。バージョン 5.6.1.Final との下位互換性を確保するために、MultiTableBulkIdStrategy
と Exporter
に新しいデフォルトメソッドが追加された。
Hibernate Search 6.1.0 への道のりで、最初のリリース候補が利用可能になった。Hibernate ORM 5.6.3、Elasticsearch Client 7.16.3、JBoss Logging 3.4.3.Final、および SLF4J 1.7.33 への依存関係のアップグレード、正規表現述語のより良いデフォルトとオプションの演算子、および Hibernate ORM 6.0 と互換性のある追加の Maven アーティファクトなどがある。
Liberica
Oracle の2022年1月のクリティカルパッチアップデートのリリースと同時に、BellSoft は OpenJDK のダウンストリームディストリビューションである Liberica JDK のバージョン 17.0.2、11.0.14、および 8u322 をリリースした。
GraalVM
Oracle Labs は GraalVM 22 Enterprise Edition をリリースした。新しいコンパイラの最適化と Native Image のピークパフォーマンスの向上、メモリ要件の低減、実行可能ファイルの小型化などいくつかの改善を提供する。
現在テスト中の GraalVM 22 Community Edition が、まもなくリリースされる予定だ。InfoQ では、より詳細なニュース記事をフォローアップする予定だ。
JReleaser
プロジェクトリリースの構築を簡素化する Java ユーティリティの JReleaser バージョン 0.10.0 がリリースされた。これは重大な変更が伴うもので、予定されているバージョン 1.0.0 のリリースに向けた最後の「プッシュ」と見なされている。そして、バージョン 1.0.0 の最初のマイルストーンバージョンも多くの新機能と依存関係のアップグレードで先週リリースされた。
InfoQ は、GA バージョンの JReleaser 1.0.0 がリリースされたときに、より詳細なニュース記事をフォローアップする予定だ。