The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Quarkus 3.31 - フルJava 25サポート、Quarkus Mavenパッケージング、Panache Next、その他!

前回の機能リリースから2ヶ月が経ち、Quarkus 3.31の提供開始を発表できることを嬉しく思います!

Quarkus 3.31には、多くの新機能と改善が含まれています:

  • フルJava 25サポート

  • #51587 - Quarkus Mavenパッケージングと関連するライフサイクルの導入

  • #50058 - 開発者エクスペリエンスが向上し、Hibernate ORMとHibernate Reactiveの両方に新機能が追加された次世代PanacheであるPanache Nextの導入

  • #50519 - Hibernate ORM 7.2、Reactive 3.2、Search 8.2、クライアント/サーバー向けElasticsearch 9.2 / OpenSearch 3.3 (dev services) へのアップグレード

  • #51586 - Hibernate Spatial のサポート

  • #51314 - Testcontainers 2 へのアップグレード

  • #51412 - JUnit 6 へのアップグレード

  • #50987 - Jakarta Data リポジトリーにおけるセキュリティアノテーションのサポート

  • #51188 - REST Data Panache エンドポイントでの @PermissionsAllowed セキュリティアノテーションのサポート

  • #51220 - カスタム TokenStateManager 実装向けのOIDCトークンの暗号化

  • #51383 - トークン向けのOIDC DBトークンステートマネージャーカラムサイズの設定を許可

  • #51743 - 個々の動的GraphQLクライアント向けOIDCクライアントの選択を許可

  • #51679 - スケジュールされたタスクにユーザーとロールを割り当てることを許可

  • #51799 - OIDCエクステンションへのOAuth 2.0 Pushed Authorization Requestsのサポート追加

  • #50603 - ネイティブイメージ向けWindowsでのヘッドレスAWTの有効化

  • #51736 - QuarkusプロジェクトにはMaven 3.9.0+を要求

  • #51049 - Dev UIにi18nを追加

いつものように、このリリースには、素晴らしいコミュニティーのおかげで、 2020年に作成された非常に古い問題 の修正を含む、多くのバグ修正も含まれています!

このバージョンにはいくつかの重要な変更が含まれているため、 移行ガイド を参照することを強くお勧めします。

Update

Quarkus 3.31に更新するには、Quarkus CLIの最新バージョンに更新して、以下を実行することをお勧めします:

quarkus update

quarkus update は、Quarkusの任意のバージョン(2.xを含む)からQuarkus 3.31にアプリケーションを更新できることに注意してください。

アプリケーションに行う必要がある調整の詳細については、 Quarkus 3.31移行ガイド を参照してください。

変更点

Java 25のフルサポート

Quarkus 3.31は、Java 25ランタイムイメージおよびMandrelを使用したネイティブイメージビルドを含む、Java 25のフルサポートを追加します。

Java 25で新しいプロジェクトを作成すると、プロジェクトはデフォルトでJava 25を完全にターゲットとします。

Java 25でQuarkusアプリケーションを実行する際の互換性を確保し、可能な限り多くの警告を回避するために懸命に取り組みました。そこに表示されるべきではない警告を含む問題に遭遇した場合は、 バグトラッカー に報告してください。

新しいQuarkus Mavenパッケージングとライフサイクル

数ヶ月前、私たちはビルドを高速化することに取り組み始めました(詳細については、この ブログ記事 を参照してください)。Quarkus 3.31では、より統合され、大幅に効率的なビルドライフサイクルを提供するように設計された、 quarkus と呼ばれる新しいMavenパッケージングタイプを導入しています。

言い換えれば、私たちはデフォルトのMaven jar ライフサイクルから離れ、Quarkusアプリケーションに最適化されたQuarkus固有のライフサイクルを導入し、ほとんどの場合に不要なゴールの実行を回避します。

これは新しく作成されるQuarkusプロジェクトのデフォルトであり、既存のプロジェクトでも使用できます(詳細については、 移行ガイド を参照してください)。

大規模なアプリケーション

この「高速ビルド」の取り組みは、大規模なアプリケーションにとって特に有益であり、非常に大規模なアプリケーションを作成する際の最新のボトルネックの1つを軽減しました。それは、アプリケーション内のCDI Beanの数がビルド中にクラスファイルの制限に達する可能性があったことです。

Quarkus 3.31では、CDI Beanの数によって制限されることはもうありません。

Panache Next

QuarkusでHibernate ORMを使用している場合、おそらくHibernate ORM with Panacheについてはすでにご存知でしょう。

Panache Nextは、より良い開発者エクスペリエンスと新機能をもたらす次世代のPanacheです。現在のPanache実装と同じ基盤となる概念に依拠しつつ、Panache Nextはより直感的なAPI、改善された型安全性、および強化されたクエリ機能を提供します。また、Hibernate ORMとHibernate Reactive、ステートフルおよびステートレスセッション間のプログラミングモデルを統一し、開発者がそれらを簡単に切り替えられるようにします。最後に、Jakarta Dataとシームレスに統合されます。

さらに多くのことを言うべきですが、最善は ドキュメント を見て試してみることです。

これはまだ実験的な段階であり、皆様からのフィードバックをお待ちしております。

Hibernate ORM

Quarkus 3.31は、Hibernate ORMを7.2、Hibernate Reactiveを3.2、Hibernate Searchを8.2、Elasticsearch/OpenSearchクライアントおよびサーバーをそれぞれ9.2/3.3にアップグレードします。

また、Hibernate Spatialのサポートも導入され、開発者はQuarkusアプリケーションで空間データ型を操作し、空間クエリを実行できるようになります。

JUnit 6とTestcontainers 2

JUnit 6(更新は比較的簡単)とTestcontainers 2(より多くの破壊的変更を伴う)にアップグレードしました。

quarkus-junit5 エクステンションは -junit に名前が変更されました。既存のプロジェクトを壊さないようにリロケーションが設定されています。 quarkus update を使用して自動的に更新してください。

セキュリティー

セキュリティの改善なしにQuarkusリリースがあるでしょうか?

このリリースには、当社のセキュリティエクステンションに対する多くの改善が含まれており、以下を含みます:

  • #50987 - Jakarta Data リポジトリーにおけるセキュリティアノテーションのサポート

  • #51188 - REST Data Panache エンドポイントでの @PermissionsAllowed セキュリティアノテーションのサポート

  • #51220 - カスタム TokenStateManager 実装向けのOIDCトークンの暗号化

  • #51383 - トークン向けのOIDC DBトークンステートマネージャーカラムサイズの設定を許可

  • #51743 - 個々の動的GraphQLクライアント向けOIDCクライアントの選択を許可

  • #51679 - スケジュールされたタスクにユーザーとロールを割り当てることを許可

  • #51799 - OIDCエクステンションへのOAuth 2.0 Pushed Authorization Requestsのサポート追加

Maven 3.9が必須

Quarkusアプリケーションをビルドするには、Maven 3.9が必須になりました。

ネイティブイメージでのWindowsにおけるヘッドレスAWT

AWTエクステンションに、ネイティブイメージでのWindowsにおけるヘッドレスAWTのサポートを追加しました。

Dev UIのI18N

Dev UIが国際化されました。

翻訳の改善や新しい言語の追加への貢献を歓迎します。

完全な変更履歴

3.31.0.CR13.31.0 、および 3.31.1 の完全な変更履歴はGitHubで確認できます。

コントリビューター

Quarkusコミュニティは成長を続けており、現在 1153名の貢献者 がいます。各貢献者の皆様に深く感謝いたします。

特に3.31リリースでは、Ales Justin、Alexandre Dutra、Alexey Loubyansky、Andrea Boriero、Andy Damevin、Anis Da Silva Campos、Aurea Munoz、Aurélien Pupier、Bastian、Brian Setz、Bruno Baptista、cfitzw、Chihiro Ito、Chris Laprun、Christian Pieczewski、Clement Escoffier、dancer13、David M. Lloyd、Dione de Souza Silva、Evgeny Potapov、Fedor Dudinsky、Foivos Zakkak、Fouad Almalki、Francesco Nigro、Galder Zamarreño、George Gastaldi、Georgios Andrianakis、Guillaume Smet、Holly Cummins、Jakub Pietrzak、James Netherton、Jan Martiska、Jan Schatteman、Jeff Mesnil、Jens Teglhus Møller、Jiri Ondrusek、Julien Ponge、Karm Michal Babacek、Katia Aresti、Ladislav Thon、Lars、Lars Andringa、lloydmeta、Luca Molteni、Lucas、Lucas Pottersky、Lukas Lowinger、Maciej Lisowski、Marco Belladelli、Marco Sappé Griot、mariofusco、marko-bekhta、Martin Bartoš、Martin Kouba、Martin Ocenas、Martin Panzer、Matheus Cruz、matthaios.stavrou、Melloware、Michael Edgar、Michal Vavřík、Nicolo Pietro Belcastro、Olivier V、Ozan Gunalp、Phillip Krüger、Quark、Roberto Cortez、Rolf Thorup、Rolfe Dlugy-Hegwer、Rostislav Svoboda、Sanne Grinovero、Sergey Beryozkin、Severin Gehwolf、shjones、sNiXx、staillebois、Stefan Oehme、Steve Hawkins、Stéphane Épardaud、Teymur Babayev、Thomas Segismont、Thorsten Meinl、Victor Dalosto、Wei Huang、Willem Jan Glerum、xstefank、およびYoann Rodièreに感謝いたします。

参加のお誘い

私達は皆様からのフィードバックに重きを置いています。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!

Quarkusユーザーの場合でも、単に興味を持っているだけの場合でも、恥ずかしがらずにコミュニティに参加して下さい!: