BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Javaニュース総まとめ: 他のLog4Shellステートメント、SpringとQuarkusの更新、新しいValueオブジェクトのJEP

Javaニュース総まとめ: 他のLog4Shellステートメント、SpringとQuarkusの更新、新しいValueオブジェクトのJEP

ブックマーク

原文(投稿日:2021/12/28)へのリンク

今週2021年12月20日のJava総まとめでは、OpenJDKのValueオブジェクトに関する新しいドラフト、JDK 18、JDK 19、Project Loom、Log4Shellに関するベンダーからの追加ステートメント、多くのSpringおよびQuarkusの更新、Hibernate ORM 6.0.0-M3、Apache CamelとCamel Quarkusのポイントリリース、Apache Tika 2.2.1、およびGraalVM Native Build Tools 0.9.9からのニュースを特集する。

OpenJDK

新しい JEP ドラフトである Value Objects (Preview) が先週リストに追加された。この新しい言語と VM のプレビュー機能は、Value 型が ID フリーの Value クラスとインスタンスの動作を指定して定義されるよう Java オブジェクトモデルを拡張することを提案する。これらのクラスには final インスタンスフィールドのみが含まれ、オブジェクト ID はない。

JDK 18

JDK 18 早期アクセスビルドビルド 29 が先週利用可能になった。さまざまな問題の修正などビルド 28から更新されている。詳細については、リリースノートに記載がある。

JDK 19

JDK 19 早期アクセスビルドビルド 3も先週利用可能になった。さまざまな問題の修正を含むビルド 2から更新されている。

JDK 18 と JDK 19 では、開発者は Java Bug Database を介してバグのレポートが奨励されている。

Project Loom

Project Loom 早期アクセスビルドのビルド 19-loom+1-11 が Java コミュニティで利用可能になった。これは、JDK19 早期アクセスビルドのビルド 2に基づいている。

Log4Shell の脆弱性についてのベンダーの追加ステートメント

Oracle の Helidon についてのステートメント:

デフォルトでは、Log4j は Helidon ベースのアプリケーションでは使用されず、クラスパスに含まれません。ただし、Helidon はオプションの Log4j 統合モジュール (helidon-logging-log4) を提供していて、Helidon は Log4j のバージョンを管理しています。

アプリケーションが helidon-logging-log4 を使用している場合、またはアプリケーションが Log4j を直接使用している場合、アプリケーションは Log4j への明示的な依存関係を宣言していますが、この依存関係のバージョンは Helidon によって管理されている可能性があります。

JetBrains の JetBrains Marketplace にあるサードパーティプラグインについてのステートメント

IntelliJ ベースのプラグインがいくつもあるため、私達は最初 API Watcher を使って、どのプラグインが使用しているどの log4j の正確なバージョンであるかを確認しました。私達は一時的に log4j の使用を検出したすべてのプラグインバージョンを非表示にしました。

このような確認により、誤検知が発生する可能性があることを理解しています。しかし、log4j をリパッケージしたプラグインを見逃すのではなく、より安全に実行して、潜在的なリスクに多くのプラグイン作成者の注意を引きたいと思います。

Spring Framework

Spring は非常に忙しい1週間だった。さまざまな Spring プロジェクトで多くのポイントリリースがあった。

Spring Boot 2.6 と 2.5 のリリーストレインで2つのポイントリリースがあった:

バージョン 2.6.2 は、Log4j 2.17.0Kotlin 1.6.10Hibernate 5.6.3.Final および複数の Spring 関連プロジェクトなど多くの依存関係のアップグレードに加えて、55 のバグ修正とドキュメントの改善が行われている。

バージョン 2.5.8 は、Log4j 2.17.0Kotlin 1.5.32Hibernate 5.4.33、および複数の Spring 関連プロジェクトなど多くの依存関係のアップグレードに加えて、46 のバグ修正とドキュメントの改善が行われている。

Spring Cloud Square 0.4.0 がリリースされ、次の機能が追加された。負荷分散されていないユースケースの調整を提供するサポート。@RetrofitClient アノテーションが付けられた Retrofit クライアントのインスタンスごとに異なる WebClient.Builder の bean を構成する機能OkHttpClient クラスのインスタンスへの Spring Cloud Sleuth 統合

Spring Native 0.11.1 が利用可能になった。Spring Boot 2.6.2 への依存関係のアップグレードに加えて、13 のバグ修正とドキュメントの改善などがある。

Spring Integration 5.5.7 がリリースされ、多数のバグ修正が行われた。詳細については、移行ガイド (潜在的な重大な変更) および変更ログに記載されている。

Spring Security バージョン 5.2.155.3.135.4.105.5.4、および 5.6.1 のポイントリリースが先週利用可能になった。バグ修正とマイナーな改善が行われている。

Quarkus

メンテナンスリリースである Quarkus 2.5.4.Final は、Jackson Databind のサービス拒否攻撃の可能性を修正するために、Jackson 2.12.6 へ依存関係がアップグレードされている。詳細については、変更ログに記載されている。

Quarkus 2.6.0.Final がリリースされた。SmallRye Reactive Messaging 3.13、Kafka 3.0、Kotlin 1.6、および Camel3.14 への依存関係のアップグレード。Neo4J、Amazon Alexa、Reactive Messaging HTTP などの拡張機能を Quarkiverse Hub に移動。新しいキャッシュのためのプログラム API。ネイティブ実行を可能にするための UBI Micro ベースの Docker イメージの小型化が行われている。このリリースには、Quarkus 2.5.4.Final からの修正を含まないが、Quarkus 2.6.1.Final には含まれている。

2021年最後のメンテナンスリリースである Quarkus2.6.1.Final には、Quarkus 2.5.4.Final のすべての修正と、いくつかの依存関係のアップグレードなどがある。詳細については、変更ログに記載されている。

Hibernate

Hibernate ORM 6.0 の3番目のベータリリースが先週利用可能になった。次の新しいアノテーションが追加された。@IdGeneratorType を使用すると、タイプセーフな方法で IdentifierGenerator インターフェイスを構成できる。@TenantId は、列ベースのマルチテナンシーを使用して、テナントを定義する属性をマークする。@AttributeBinderType を使用して、属性のマッピングの定義方法をカスタマイズできる。詳細については、Hibernate 6.0 ユーザガイドおよび移行ガイドに記載がある。

Apache Camel

Apache Software Foundation は、Camel 3.7 リリーストレインの最後のポイントリリースを提供した。バージョン 3.7.7 は、7 のバグ修正と改善、および Logback 1.2.8、Log4j 2.16.0、camel-nsq および camel-corda コンポーネントへの依存関係のアップグレードが行われた。詳細については、リリースノートに記載されている。

Quarkus との整合性を維持しながら、Apache は Camel 3.14.0、Quarkus2.6.0.Final および JFR のネイティブサポートを含む Camel Quarkus 2.6.0 もリリースした。

Apache Tika

Apache Tika は、メタデータ抽出ツールキットのバージョン 2.2.1 をリリースした。元は Apache Lucene のサブプロジェクトだったが、この最新バージョンでは、Log4j 2.17.0 へのアップグレードと、バージョン 2.2.0 で導入された Office Open XML (docx/pptx/xlsx) リグレッションの重要な修正などがある。詳細については、リリースノートに記載されている。

GraalVM Native Build Tools

バージョン 1.0 への道のりで、Oracle LabsNative Build Toolsバージョン 0.9.9 をリリースした。これは、GraalVM Native Image との相互運用性のためのプラグインで構成される GraalVM プロジェクトだ。この最新リリースでは、Gradle プラグインの修正が提供されている。つまり、クラスパスエントリが欠落している場合の寛容なリソース検出メカニズム。カスタムバイナリに関連付けられた適切なネイティブ推論タスク (つまり、main バイナリと test バイナリの外部にあるバイナリ)。ツールチェーン検出を無効にする操作のリワーク

作者について

この記事に星をつける

おすすめ度
スタイル

BT