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 提供商,它们支持 授权码流,例如 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 的开发/测试基础设施得到了重大改进,提供了测试资源和开发服务:您可以自动在开发模式和测试中启动 Infinispan。

Oracle

已添加 Oracle 的开发服务:在开发和测试模式下自动启动您的 Oracle 数据库。

Camel 3.13.0

Camel Quarkus 扩展已升级到 Camel 3.13.0 版本,带来了许多改进和修复。请查看 Camel 3.13.0 发布说明

Kubernetes 扩展

现在可以如 部署到 Kubernetes 指南中所述,使用 Quarkus 配置定义服务绑定。

Quarkus Maven 插件 - 离线模式

默认的 Maven 离线模式无法下载所有 Quarkus 伪工件,因为某些伪工件(部署/构建相关的)是由 Quarkus Maven 插件解析的,并且不属于常规依赖。

Quarkus 2.5 引入了 quarkus:go-offline 目标来满足此要求。

请注意,Gradle 插件很快也将支持此功能。

测试

在测试使用 @QuarkusMain 的命令行应用程序时,您可以通过实现 commandLineParameters()QuarkusTestProfile 中定义命令行参数。

贡献者

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 和 Yoann Rodière。

加入我们

我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!

如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区