BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Java Newsラウンドアップ: Hibernate 6.0、JobRunr 5.0、JHipster 7.8.0、Spring CVE、JReleaser 1.0-RC2

Java Newsラウンドアップ: Hibernate 6.0、JobRunr 5.0、JHipster 7.8.0、Spring CVE、JReleaser 1.0-RC2

Lire ce contenu en français

ブックマーク

原文(投稿日:2022/04/04)へのリンク

2022年3月28日、今週のJavaラウンドアップは、JDK 19、Spring Boot、SpringのCVE対応、Apache Tomcatのポイントリリース、Quarkus Tools for Visual Studio Code、Micronaut 3.4.1、JetBrainsのMicronaut Foundation参加、Open Liberty Paketo Liberty Buildpack、Hibernate 6.0、JobRunr 5.0、WildFly 26.1 Beta S2Iイメージ、JReleaser 1.0-RC2、MicroStream 7.0-M2、JHipster 7.8.0、JMH 1.35といったニュースをお届けする。

JDK 19

JDK 19 早期アクセスビルドBuild 16が先週公開された。Build 15から、さまざまなイシューの修正を含むアップデートが施されている。詳細はリリースノートを確認して頂きたい。

JDK 19に関しては、開発者からのバグ報告をJava Bug Database経由で募っている。

Spring Framework

Spring Frameworkのバージョン5.3.18と5.2.20がリリースされた。JDK 9以降で動作するSpring MVCまたはSpring WebFluxのアプリケーションにおいて、データバインディング経由でのリモートコード実行の脆弱性があるという、CVE-2022-22965: "Spring Framework RCE via Data Binding on JDK9+"の指摘を受けたものだ。この脆弱性は"Spring4Shell"と呼ばれている。InfoQでは、より詳細なニュースを追ってお伝えする予定である。

Spring Framework 5.3.17がリリースされた。サービス拒否状態を発生させるように特別に細工されたSpring Expression Language(SpEL)式をユーザが実行可能であるという、CVE-2022-22950: "Spring Expression DoS Vulnerability"の指摘に対処している。

Spring Cloud Functionのバージョン 3.1.7および3.2.3がリリースされた。ユーザがルーティング機能を使用して、特別に作成したSpELルーティング式を実行することにより、ローカルリソースにアクセス可能なリモートコードを実行できる可能性があるという、CVE-2022-22963: "Remote Code Execution in Spring Cloud Function by Malicious Spring Expression"の指摘に対処する。

Spring Bootのバージョン2.6.62.5.12がリリースされた。Spring Framework 5.3.18、Jackson BOMバージョン2.13.2.20220328(バージョン2.6.6)および2.12.6.29220326(バージョン2.5.12)に、依存関係のアップグレードが実施されている。いずれのポイントリリースにも、CVE-2022-22965に対処したSpring Framework(バージョン5.3.18および5.2.20)が含まれる。

Spring Cloud Azure 4.0がリリースされた。依存関係管理の簡略化、Azure Supportモジュールのサポート強化に加えて、さまざまなアプリケーションのアプローチに対応すべく、よりフレキシブルなアプローチを提供できるように再設計されたSpringモジュール依存モデルが含まれている。

Spring One 2021からのフォローアップとして、VMwareのシニアスタッフエンジニアでSpring Frameworkプロジェクトのリーダを務めるJürgen Höller氏が、JDK 17以降の採用に関する次のような最新情報を提供している。

メインブランチに新しいベースラインを確立しました。すでにいくつかのマイルストンが設定されています。フレームワークの改善という面だけでなく、アプリケーションレベルでJavaをアップグレードするモチベーションという意味においても、非常に肯定的なフィードバックを受け取っています。当然ですが、JDK 17 LTSで終わりではありません。JDK 18はすでに実用レベルに達していますし、今年末にファイナルに移行する頃にはJDK 19が現行リリースになるでしょう。その頃にはJDK 20が早期アクセスレベルになっていて、JDK 21 LTSも視野に入っていると思います。

Apache Tomcat

Apache Tomcatチームにとって今週は、8.5、9.0、10.0リリーストレインのポイントリリースを相次いで提供する、多忙な1週間だった。

公開されたバージョン8.5.789.06210.0.210.1.0-M14 alphaは、いずれもOpenSSL 1.1.1nでビルドされたWindowsバイナリをピックアップするためのTomcat Native Library 1.2.32 のパッケージ版へのアップデート、不明なHTTP/2設定フレームに関するログ記録の改善、不適合なTLS設定(CLIENT-CERT認証を使用したHTTP/2など)が使用された場合の警告追加、クラスローダ強化によるCVE-2022-22965 — 通称Spring4Shellに対する緩和策の提供、といった機能を備えている。

8.5と9.0のリリーストレインは、Java ServletJavaServer PagesJava Unified Expression LanguageJava WebSocketJava Authentication Service Provider Interface for Containersといったテクノロジに対するオープンソースソフトウェア実装の役割を持つ。

さらに10.0と10.1のマイルストンリリーストレインは、Jakarta ServletJakarta Server PagesJakarta Expression LanguageJakarta WebSocketJakarta AuthenticationJakarta Annotations仕様のオープンソースソフトウェア実装としての意味がある。

Quarkus

Red HatがQuarkus Tools for Visual Studio Code 1.10.0をリリースした。以前よりも見つけやすくなった"Deploy to OpenShift"コマンド、補完やバリデーションやホバーといった機能を備えた新しいQute Language Server、Quet Templating Engineの機能強化、@ConfigMappingアノテーションがインターフェースにのみ定義されていることの検証機能、プロパティサポート拡張に代えてプロジェクトURLを処理する@ApplicationPathアノテーションのサポートなどがフィーチャーされている。今回のリリースに関する詳細はchangelogに記載されている。

Micronaut

Micronaut Foundationは、Micronaut 3.4.1をリリースしたBeanIntrospectionModuleクラスでの@JsonNamingおよび@JsonPropertyアノテーションのサポート、nullのシリアライズ、jackson-databind 2.13.2.2へのアップデート、Micronaut Serialization 1.0.1、Micronaut AOT 1.0.1、Micronaut Maven Plugin 3.2.1、Micronaut Servlet 3.2.2への依存関係アップグレードなどがおもな内容だ。リリースに関する詳細はchangelogに記載されている。

さらにMicronaut Foundationは、JetBrains s.r.oがTool and Infrastructure Partnerとして財団に参加したことを発表した。2022年1月初旬に最初のパートナとして参加したGradle Incに続く参加となる。非営利団体として2020年1月に設立されたMicronaut Foundationは、Technology Advisory Boardによる支援の下で、Micronautフレームワークのイノベーションと採用促進を目的として活動している。

Open Liberty

IBMは、アプリケーションのソースコードを検証してビルドプランを作成する一連の実行可能ファイルを、Pakeo Liberty Buildpackとして発表した。Cloud Native Computing Foundationの"buildpack specification"を実装したPaketo BuildpackをベースとするPaketo Liberty Buildpacksは、アプリケーションソースコードのコンテナイメージへの変換とメンテナンスを目的として設計されている。

WildFly

WildFly 26.1 Beta Source-to-Image (S2I) Dockerのイメージが、コンテナイメージの構築、分析、配布を行うRed Hatのユーティリティであるquay.io上でリリースされた。WildFly 26以降、非推奨となっていたquay.io/wildfly/wildfly-centos7およびquay.io/wildfly/wildfly-runtime-centos7のイメージが、WildFly Application Server Maven Pluginのバージョン3.0に基づく新たなアーキテクチャにリプレースされる予定だ。

Hibernate

Hibernate ORM 6.0が先週リリースされたJakarta Persistence仕様のサポート、ResultSetからの読み込みを"read-by-name"(名前指定)から"read-by-position"(位置指定)に変更したことによるパフォーマンス向上、"read-by-position"パラダイムの新採用に関連する新しいMapping Model SPI、型安全のために再設計されたアノテーション、Smantic Query Modelのアップデートなどが新機能として搭載されている。InfoQでは、より詳細なニュースを追ってお伝えする予定である。

JobRunr

Javaでバックグラウンド処理を行うユーティリティであるJobRunrのバージョン5.0がリリースされた。Spring NativeおよびSLF4Jの提供するMapped Diagnostics Contextのサポート、指定された間隔で実行される定期ジョブのスケジュール、複数のデータベースとのインテグレーションが容易、週や月の最終日のジョブ実行のサポートなど、数多くの新機能が含まれている。InfoQでは、より詳細なニュースを追ってお伝えする予定である。

JReleaser

バージョン1.0.0のリリースに向けて、先週、JReleaser2回目のリリース候補(RC)と新たな早期アクセスリリースが公開された。aws-java-sdk 1.12.191、jsonschema 4.24.1、Download Gradle Plugin (downloadPluginVersion) 5.0.4への依存関係のアップグレード、Windowsでコミットメッセージが正しく解析されない問題の修正、"Cannot parse version '2000.0.0[.A]' with 'YYYY.MINOR.MICRO[.MODIFIER]'"というエラーメッセージに対する修正、などがフィーチャーされている。

JHipster

JHipsterバージョン 7.8.0がリリースされた。Spring Boot 2.6.6への依存関係アップグレード、Java 18のサポート、React Micro Frontendの実装、リレーションを持つエンティティへのCouchbaseページネーション要求の修正、多数のライブラリのアップグレードなどが含まれる。詳細はchangelogに記載されている。

MicroStream

最初のベータリリースから1週間、MicroStream 7.0の2番目のベータリリースが公開された。Androidの新バージョンでのリフレクション制限に対応した、新しいAndroidタイプハンドラが含まれている。

Java Microbench Harness (JMH)

JMH 1.35がリリースされたSingleShotモードにおける@OperationPerInvocationsアノテーションの複数呼び出しの処理、asyncプロファイラによるプロファイラ出力時のオプション訂正、perfasmプロファイラへのオプション"freq=max"と"showCounts=x"(イベント数カウントに関する正規化の設定)の追加などの他、perfasmメタデータがcompilationIDではなく、実際のバージョン番号を表示するように改善されている。

作者について

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT