发布 Quarkus 2.11.1.Final 和 2.10.4.Final - 修复 CVE-2022-2466,新的 Redis Client 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 Client API

  • 默认使用基于 Java 17 的构建器镜像生成原生可执行文件

  • 升级到 Vert.x 4.3.2 和 Netty 4.1.78

  • 允许将不受支持的属性传递给 Hibernate ORM

  • 将 GraphQL 端点默认更改为 Singleton

  • 引入 @SearchExtension,通过注解 Bean 配置 Hibernate Search

  • Hibernate Validator - 允许自定义 ValidatorFactory

  • 允许提供 JAXB 上下文的自定义配置

  • 对开发体验的各种改进

迁移指南

要从 2.10 迁移,请参考我们的 迁移指南

有什么新功能?

新的 Redis Client API

Quarkus 2.11 引入了现代化的 Redis Client API。

旧的 API 仍然可用,并已被标记为已弃用。它将在几个版本后被移除。

请查看更新的 Redis 入门指南Redis 参考指南 以获取更多信息。

默认使用基于 Java 17 的构建器镜像

Quarkus 长期以来一直支持 Java 11 和 Java 17,但我们一直使用基于 Java 11 的构建器镜像进行原生可执行文件生成… 直到现在。

从 Quarkus 2.11 开始,镜像默认使用 Java 17。您可以通过使用 quarkus.native.builder-image 配置属性来切换回 Java 11 镜像。

请注意,即使您的源代码目标是 Java 11,我们也建议使用 Java 17 镜像。

Vert.x 4.3.2, Netty 4.1.78

Vert.x 和 Netty 都是 Quarkus 的核心,它们已分别升级到 4.3.2 和 4.1.78。

允许将不受支持的属性传递给 Hibernate ORM

这项特殊功能受到了许多用户的请求。在 Quarkus 中,我们尝试策划一个经过验证的 Hibernate ORM 属性列表,我们希望在 JVM 和原生模式下都公开和支持这些属性。

有时,我们会收到用户抱怨某个特定属性不可用的情况(解决方法是将其推送到 persistence.xml,但这并非理想)。然后,有两种选择:要么我们决定在 Quarkus 的未来版本中公开它们,要么我们决定不公开它们——至少目前不公开——这在某些用例中可能不切实际。

现在可以使用 quarkus.hibernate-orm.unsupported-properties 配置属性(该属性可为每个持久化单元进行配置)来声明 Hibernate ORM 支持的任何属性。

这样做时您会收到一个大警告,并且我们仍然鼓励您就希望添加并完全支持的属性创建 issues,因为这将影响 Hibernate ORM 和 Quarkus 中 Hibernate ORM 扩展的未来发展。

自定义

我们改进了多个扩展的自定义能力

  • Hibernate Search 现在有一个 @SearchExtension 注解,可以通过注解 Bean 进行配置。

  • 现在可以通过实现 HibernateValidatorFactoryCustomizer 的 Bean 来自定义 Hibernate Validator ValidatorFactory

  • JAXB 上下文也可以通过 JaxbContextCustomizer Bean 进行自定义。

GraphQL 端点 Singleton

GraphQL 端点默认使用 @Dependent CDI 作用域,这不太理想。它们现在默认是 @Singleton

您可以通过将 @Dependent 注解添加到您的 GraphQL 端点来恢复到之前的行为。

开发体验

  • 在使用 Hibernate Search 和 Elasticsearch devservices 时,Elasticsearch schema 现在会在测试和开发模式下启动时重新创建。

  • ArC Dev UI 现在显示 Bean 依赖图。

  • Dev Services 数据库、用户名和密码现在在所有支持的数据库之间统一,并且可以进行配置。

完整更新日志

您可以在 GitHub 上获取 2.11.0.CR12.11.0.Final2.11.1.Final 的完整变更日志。

贡献者

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 用户或只是好奇,请不要害羞,加入我们热情的社区