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

Quarkus 2.5.0.Final リリース - GraalVM/Mandrel 21.3とユーザビリティの全面的な改善

本日、Quarkus 2.5.0.Finalがリリースされ、以下の点が改善されました。

  • GraalVM/Mandrel 21.3へのアップグレード

  • ネイティブモードにおけるHibernate ORMのJPAエンティティリスナーのサポート

  • レスポンスにHTTPヘッダーを追加する機能

  • エクステンションや開発モード/テストインフラにおける様々な利便性の向上

移行ガイド

2.4からの移行については、 移行ガイド をご参照ください。

変更点

GraalVM/Mandrel 21.3

GraalVM/Mandrel 21.3が、Quarkus 2.5における推奨バージョンです。

Hibernate ORM

Quarkus 2.5では、ネイティブモードを含め、JPAエンティティリスナーのサポートが追加されました。

これまでは、実際にはサポートされておらず、JVMモードでのみ動作していました。

quarkus.http.headerによるヘッダーの追加

quarkus.http.header で、HTTPレスポンスに簡単にヘッダーを追加することができます。

quarkus.http.header."My-Header".value=Header value

詳細は、 HTTPリファレンスドキュメントを参照してください。

セキュリティ

GitHubLinkedIn といった有名なプロバイダーのいくつかは、 OpenId Connect ではなく、 OAuth2 authorization code flow をサポートするプロバイダーです。例えば、 GitHub OAuth2LinkedIn OAuth2 などです。

Quarkus 2.5は、 OpenID Connect (OIDC) 認可コードフローを用いたWebアプリケーションの保護 で説明されているように、これらのプロバイダーをサポートしています。

RESTEasy Reactiveを使用している場合、 @SecureField アノテーションを使用して、ユーザーの役割に基づいてJSON出力をフィルタリングできるようになりました。

public class Person {

    private String firstName;

    @SecureField(rolesAllowed = "admin")
    private String lastName;
}

上記の例では、ユーザーが admin ロールを持っている場合にのみ、 lastName フィールドが JSON 出力に含まれます。

Flyway

Flywayを8.0にアップデートしました。

Dev UI から Hibernate ORM で生成されたスキーマで初期移行スクリプトを生成できるようになりました。

Reactive Microsoft SQL Serverクライアント

Reactive Microsoft SQL Server クライアントが暗号化をサポートするようになりました。

Infinispan

Infinispan クライアントエクステンションが 13.0.0.Final にアップグレードされました。

Infinispanの開発/テストインフラは、テストリソースとdev serviceという形で大幅に改善されました。

Oracle

OracleのDev Serviceが追加され、Oracleデータベースを自動的に開発/テストモードで起動するようになりました。

Camel 3.13.0

Camel Quarkus extensionsがCamel 3.13.0にアップグレードされ、様々な改善や修正が行われました。 Camel 3.13.0のリリースノートをご覧ください。

Kubernetesエクステンション

Deploying to Kubernetesガイドで説明されているように、Quarkusの設定を使ってサービスバインディングを定義することが可能になりました。

Quarkus Mavenプラグイン - オフライン対応

オフラインにするためのデフォルトのMaven機能では、Quarkusのアーティファクトの完全なセットはダウンロードされません。なぜなら、いくつかのアーティファクト(デプロイ/ビルドのもの)はQuarkus Mavenプラグインによって解決され、通常の依存関係の一部ではないからです。

Quarkus 2.5では、この要件をカバーするために quarkus:go-offline ゴールを導入しています。

なお、同じ機能は、まもなくGradleプラグインにも搭載される予定です。

テスト

@QuarkusMain を使用してコマンドラインアプリケーションをテストする場合、 QuarkusTestProfilecommandLineParameters() を実装することで、コマンドラインパラメータを定義することができます。

コントリビューター

Quarkusコミュニティは成長を続けており、現在 560名のコントリビューターがいます。一人ひとりに多くの感謝の意を表します。

特に2.5 リリースでは、次の方々に感謝致します: acevedor, Alexey Loubyansky, Andy Damevin, Arne Mejlholm, Bill Burke, Carles Arnal, Chris Laprun, Clement Escoffier, Daniel Petisme, Davide, Dheeraj Nalluri, Dmitrii K, Emelia Smith, Eric Deandrea, Erin Schnabel, Falko Modler, fhavel, Foivos Zakkak, Galder Zamarreño, George Gastaldi, Georgios Andrianakis, Gilvan Filho, Guillaume Le Floch, Guillaume Smet, Ioannis Canellos, Jan Martiška, Jose, Juan Zuriaga, Justin Lee, Kannan, Katia Aresti, Ken Finnigan, Kevin Wooten, Knut Wannheden, Ladislav Thon, lducamp, Loïc Mathieu, Marc Nuri, Marcin Czeczko, Martin Kouba, Michael Anstis, Michael Schnitzler, Michael Simons, Michal Karm Babacek, Michał Szynkiewicz, Nathan Erwin, NetoDevel, Omar Al-Safi, orekyuu, Ozan Gunalp, Phillip Krüger, Richard Gomez, Robbie Gemmell, Robert Stupp, Roberto Cortez, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, SIX Douglas, Stuart Douglas, tarilabs, Thomas Haines, Thomas Segismont, Vincent Sevel, Vincent van Dam, Wippermueller, Frank, xstefank and Yoann Rodière.

参加のお誘い

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

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