Quarkus 2.11.1.Final と 2.10.4.Final をリリース - CVE-2022-2466 の修正、新しい Redis クライアント API、一部のコアエクステンションのカスタマイズ機能など
本日、Quarkus 2.11.1.FinalとQuarkus 2.10.4.Finalの両方がリリースされました。Quarkus 2.11.1.Finalは、その名前に反して、最初の2.11リリースです。
どちらのバージョンも、SmallRye GraphQLサーバーエクステンションの CVE-2022-2466 を(今回は本当に)修正しています。残念ながら、2.10.3.Finalと非リリースの2.11.0.Finalで導入した前回の修正は不完全で、問題は別の形でまだ存在していました。
-
新しいRedisクライアントAPI
-
ネイティブの実行可能ファイルを生成するために、Java 17ベースのビルダーイメージをデフォルトで使用します。
-
Vert.x 4.3.2とNetty 4.1.78にバージョンアップ
-
Hibernate ORMにサポートされていないプロパティを渡せるように
-
GraphQLのエンドポイントをデフォルトでSingletonに変更
-
アノテートされたBeanを通してHibernate Searchを設定するために@SearchExtensionを導入
-
Hibernate Validator - ValidatorFactoryのカスタマイズを可能に
-
JAXBコンテキストのカスタム設定を提供できるように
-
開発エクスペリエンスに関する様々な改善
移行ガイド
2.10からの移行は、 移行ガイド をご参照ください。
変更点
新しいRedisクライアントAPI
Quarkus 2.11では、モダナイズされたRedisクライアントAPIが導入されています。
以前のものはまだ利用可能で、非推奨としてマークされています。数回のバージョンアップのうちに削除される予定です。
詳細は、 Redis getting started guideと Redis reference guide をご覧ください。
Java 17ベースのbuilder-imagesをデフォルト化
Quarkusは長い間、Java 11とJava 17の両方をサポートしていましたが、ネイティブの実行可能ファイルを生成するために、Java 11ベースのビルダーイメージを残していました…これまでは。
Quarkus 2.11以降では、イメージはデフォルトでJava 17を使用します。 quarkus.native.builder-image
設定プロパティを使用すると、Java 11のイメージに戻すことができます。
なお、ソースコードがJava 11を対象としている場合でも、Java 17のイメージを使用することをお勧めします。
Hibernate ORMにサポートされていないプロパティを渡せるように
この特定の機能は、多くのユーザーから要望されていました。Quarkusでは、JVMとネイティブの両方のモードで公開し、サポートしたいHibernate ORMの有効なリストを作成しようとしました。
時折、特定のプロパティが利用できないことに不満を持つユーザーがいました(回避策として、このプロパティを persistence.xml
にプッシュする方法がありましたが、理想的ではありませんでした)。そこで、2つの選択肢がありました。Quarkusの将来のバージョンで公開することにするか、公開しないことにするか(少なくとも今のところは)、ユースケースによっては非現実的なことになるかもしれなかったからです。
Hibernate ORM がサポートする任意のプロパティを quarkus.hibernate-orm.unsupported-properties
設定プロパティで定義できるようになりました (これは、永続化ユニットごとに設定可能です)。
この場合、大きな警告が表示されます。また、Hibernate ORMおよびQuarkusのHibernate ORMエクステンションの今後の開発に影響を与えるため、追加して完全にサポートするプロパティに関するIssueを作成することをお勧めします。
カスタマイズ
いくつかのエクステンションのカスタマイズ能力を向上させました:
-
Hibernate Search に
@SearchExtension
アノテーションが追加され、アノテートされた Bean を通して設定できるようになりました。 -
HibernateValidatorFactoryCustomizer
を実装した Bean で、Hibernate ValidatorValidatorFactory
をカスタマイズすることが可能になりました。 -
JAXBコンテキストは、
JaxbContextCustomizer
Beanを通じてカスタマイズすることも可能です。
完全な変更履歴
2.11.0.CR1 , 2.11.0.Final , 2.11.1.Final の完全な変更履歴は GitHub で入手できます。
コントリビューター
Quarkusコミュニティは成長を続けており、現在 678名のコントリビューター がいます。それぞれの方に感謝します。
2.11のリリースでは特に、次の方に感謝致します: Alexander Schwartz, Alexey Loubyansky, Andre Fucs de Miranda, Andy Damevin, Baiju Muthukadan, Bill Burke, brunobat, Cameron Gregor, Chris Laprun, Clement Escoffier, Davide D’Alto, Emile de Weerd, Eric Deandrea, Erin Schnabel, Falko Modler, Florian Beutel, Foivos Zakkak, Fouad Almalki, Francois Steyn, Frank Eichfelder, Galder Zamarreño, Gavin Ray, George Gastaldi, Georgios Andrianakis, Guillaume Le Floch, Guillaume Smet, Harald Albers, Heiko W. Rupp, Holly Cummins, Huba Peter, Ian De Bie, Jakob, Jan Martiska, Jay, Jens Zettelmeyer, Joe Siponen, joern19, Johurul Hassan Mazumder, Jose, Julien Ponge, Justin Lee, Kevin Wooten, Knut Wannheden, Ladislav Thon, Loïc Mathieu, luneo7, Marc Wrobel, Martin Kouba, Mathias Holzer, mauroal, Max Rydahl Andersen, Maximilian Zellhofer, Michael Edgar, Michal Karm Babacek, Michal Maléř, Michal Vavřík, Michał Szynkiewicz, Naoki Kishi, Neon, newur, number23, Pavol Liška, Peter Palaga, Phillip Kruger, Rinaldo Pitzer Júnior, Roberto Cortez, Romain Quinio, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, Sombra González, Stephane Epardaud, Stuart Douglas, Theodor Mihalache, Thomas Segismont, xstefank, Yoann Rodière, Yoshikazu Nojima.
参加のお誘い
私達は皆様からのフィードバックに重きを置いています。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!
Quarkusユーザーの場合でも、単に興味を持っているだけの場合でも、恥ずかしがらずにコミュニティに参加して下さい!:
-
GitHub でフィードバック
-
コードを作成し、 プルリクエスト を送信
-
Stack Overflow で質問