Quarkus 3.32 - Project Leyden の統合、より優雅なシャットダウン、自動 Consul 登録など!
Quarkus 3.32 のリリースをお知らせいたします。
これは重要なマイルストーンです。3.32 は、次期 LTS リリースである Quarkus 3.33 LTS の機能凍結を示します。今後の LTS は 3.32 ラインから分岐され、このリリースが 3.33 LTS が構築される基盤となります。
Quarkus 3.32 は、いくつかの重要な改善点と新機能も提供します。
早急に 3.32 にアップグレードすることを強くお勧めします。これにより、フィードバックを収集し、今後の 3.33 LTS が可能な限り安定していることを確認できます。
現在 3.27 LTS を実行している場合は、今が 3.33 LTS へのアップグレードパスを検証するのに最適な時期です。問題が発生した場合はお知らせください。この段階でのフィードバックは特に貴重です。
Update
Quarkus 3.32 に更新するには、Quarkus CLI の最新バージョンに更新し、以下を実行することをお勧めします。
quarkus update
なお、quarkus update は、Quarkus の任意のバージョン (2.x を含む) から Quarkus 3.32 へアプリケーションを更新できます。
アプリケーションに必要な調整に関する詳細は、 Quarkus 3.32 移行ガイドを参照してください。
変更点
Project Leyden の統合
Project Leyden は、Ahead-of-Time (AOT) コンパイルを JVM にもたらします。トレーニング実行中にクラスロード、クラスリンク、およびメソッドプロファイリングを記録することで、JVM が後続の実行に使用できる AOT キャッシュファイルを生成できます。
その結果、制約や欠点がほとんどなく、JVM の起動時間が大幅に改善されます。
Project Leyden は OpenJDK 25 (LTS リリースのみをカウント) から利用可能です。近日中に専用のブログ記事で詳細を説明します。
Quarkus では、Project Leyden AOT を統合しました。これにより、
-
トレーニング実行は、ビルド時 (最小限のトレーニング) にトリガーすることも、統合テストを通じてトリガーすることもできます。
-
生成された AOT キャッシュファイルは、コンテナーイメージに直接含めることができます。
改善はネイティブ実行可能ファイルほど実質的ではなく、AOT キャッシュファイルのためにコンテナーイメージサイズが若干大きくなりますが、必要とされる労力が最小限であることを考えると、その結果は印象的です。
-
quarkus create app で作成された最小限の REST アプリケーションは、起動時間が370 ミリ秒から80 ミリ秒に短縮されました。
-
9,000 クラスを持つ大規模な REST CRUD アプリケーションは、3 秒から 900 ミリ秒になります。
詳細については、 Quarkus AOT ガイドを参照してください。近日公開のブログ記事で、詳細なチュートリアルを共有します。
Stork
Quarkus アプリケーションは、Stork エクステンション を使用して Consul に自動的に登録できるようになりました。
この新機能は、 Quarkus 用 SmallRye Stork による自動サービス登録ガイドで詳しく説明されています。
完全な変更履歴
3.32.0.CR1、 3.32.0、および 3.32.1 の完全な変更履歴は GitHub で確認できます。
コントリビューター
Quarkus コミュニティは成長しており、現在 1163 名の貢献者 がいます。皆様に心より感謝申し上げます。
特に 3.32 リリースに関しては、Ales Justin、Alexander Schwartz、Alexandre Dutra、Alexey Loubyansky、andreatp、Asger Askov Blekinge、Aurea Munoz、Aurélien Pupier、azerr、Bruno Baptista、Carles Arnal、cfitzw、Chris Laprun、Clement Escoffier、Daniel Vergien、David M. Lloyd、Dennis Kniep、Erwin Oegema、Foivos Zakkak、Fouad Almalki、Frank Eichfelder、George Gastaldi、Georgios Andrianakis、Guillaume Smet、Holly Cummins、Jakub Jedlicka、James Netherton、Jerome Prinet、Jiri Ondrusek、jtama、Julien Ponge、Karm Michal Babacek、Katia Aresti、Kristian Rickert、Ladislav Thon、lberrymage、lloydmeta、Loïc Mathieu、Marc Nuri、Marco Belladelli、marco sappe griot、mariofusco、marko-bekhta、Martin Kouba、Martin Panzer、Matej Novotny、Matheus Cruz、melloware、Michael Edgar、Michal Vavřík、Nejc Tomažič、Nicola Concetti、Olivier V、osoohynn、Ozan Gunalp、Patrick Schaub、Peter Levart、Peter Palaga、Phillip Krüger、Robert Stupp、Robert Toyonaga、Roberto Cortez、Sanne Grinovero、Sergey Beryozkin、shjones、sNiXx、Steve Hawkins、Stéphane Épardaud、Teymur Babayev、Victor Dalosto、Vincent Sevel、vincent-duluth、xstefank、および Yoann Rodière に感謝いたします。
参加のお誘い
私達は皆様からのフィードバックに重きを置いています。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!
Quarkusユーザーの場合でも、単に興味を持っているだけの場合でも、恥ずかしがらずにコミュニティに参加して下さい!:
-
GitHub でフィードバック
-
コードを作成し、 プルリクエスト を送信
-
Stack Overflow で質問