发布 Quarkus 2.15.0.Final - AWS Lambda SnapStart,新的 gRPC 扩展,以及更多

我们很高兴地宣布 Quarkus 2.15.0.Final 的发布,这是 2022 年最后一个次要版本。

一如既往,它包含了各处的错误修复和小型增强功能,以及更重要的更改

  • 支持 AWS Lambda SnapStart

  • 将 gRPC 扩展迁移到新的 Vert.x gRPC 实现

  • SmallRye GraphQL 的 Federation 支持

  • Redis - 实现搜索组

  • 为 Reactive REST Client 添加 @ClientQueryParam

  • 支持在 REST Data with Panache 扩展中按命名查询进行过滤

  • 支持 OIDC FrontChannel 登出

  • Hibernate ORM - IN 子句参数填充

  • 支持 CLI 测试命令中的连续测试

  • 引入镜像构建/推送命令

  • 为 Java 17+ 的 AppCDS 创建使用 -XX:ArchiveClassesAtExit

  • 为 Kubernetes 添加 Dev Services

  • Google Cloud Functions 测试框架

按照惯例,我们也花了一些时间打磨我们的文档。

迁移指南

要从 2.14 迁移,请参阅我们的迁移指南

有什么新功能?

支持 AWS Lambda SnapStart

Quarkus 2.15 带来了对AWS Lambda SnapStart 的支持。

这已经在之前的博客文章中详细公布过。

有关如何将 AWS Lambda SnapStart 与 Quarkus 结合使用,请参阅专用指南

新的 gRPC 实现

gRPC 扩展已重写,以使用新的基于 Vert.x 的 gRPC 实现。

此外,@InjectMock 现在适用于 gRPC Mutiny 客户端。

SmallRye GraphQL 的 Federation 支持

SmallRye GraphQL 扩展现在支持增强您的 GraphQL API,使其能够通过 Apollo Federation 网关公开。这是通过 io.smallrye.graphql.api.federation 包中的注解实现的。有关 Federation 的一般信息,请参阅https://apollo.graphql.net.cn/docs/federation/,或有关示例,请参阅https://smallrye.io/smallrye-graphql/2.0.0/federation/

Redis - 搜索组

自新的 Redis 扩展推出以来,每个版本都添加了许多新命令。

现在,搜索组命令已出现在 Quarkus 中。

Reactive REST Client 的 @ClientQueryParam

使用 Reactive REST Client,可以使用 @ClientQueryParam 注解向请求添加查询参数。

有关详细信息,请参阅Reactive REST Client 指南

REST Data with Panache 扩展中按命名查询进行过滤

已向 REST Data with Panache 扩展添加了按命名查询进行过滤的功能。

有关详细信息,请参阅REST Data with Panache 指南

OIDC FrontChannel 登出

OIDC 扩展增加了对 OIDC FrontChannel 登出的支持。

Hibernate ORM - IN 子句参数填充默认启用

Quarkus 2.15 为 Hibernate ORM 扩展添加了 quarkus.hibernate-orm.query.in-clause-parameter-padding 配置属性,并默认启用它。

它改进了包含 IN 子句的查询的缓存。

CLI 改进

Quarkus CLI 在 2.15 中有两大改进

  • 通过 quarkus test 命令,Quarkus CLI 支持连续测试。

  • 构建和推送镜像就像 quarkus image build / quarkus image push 一样简单。

AppCDS 创建的 -XX:ArchiveClassesAtExit

当使用 Java 17+ 创建 AppCDS 归档时,Quarkus 会自动启用 -XX:ArchiveClassesAtExit 选项。

Kubernetes 的 Dev Services

Dev Services 是使 Quarkus 独一无二的开发体验功能之一。Quarkus 2.15 引入了 Kubernetes 的 Dev Services,以便您可以使用 Kubernetes Client 扩展轻松测试您的应用程序。

Google Cloud Functions 测试框架

Google Cloud Functions 扩展现在拥有一个测试框架实用程序,即 quarkus-test-google-cloud-functions 工件。

有关详细信息,请参阅Google Cloud Functions 指南

完整更新日志

您可以在 GitHub 上查看 2.15.0.CR12.15.0.Final 的完整变更日志。

贡献者

Quarkus 社区正在不断壮大,目前已有 728 名贡献者。非常感谢他们中的每一位。

特别是对于 2.15 版本,感谢 Adler Fleurant, Adrian Pauli, Ales Justin, Alexey Loubyansky, Andri Reveli, Andy Damevin, Bill Burke, brunobat, Clement Escoffier, Damon Sutherland, Davide D’Alto, Dmitri Bourlatchkov, Erin Schnabel, Falko Modler, Filippe Spolti, Foivos Zakkak, Fouad Almalki, franz1981, Galder Zamarreño, George Gastaldi, Georgios Andrianakis, glefloch, Guillaume Smet, Gunnar Morling, Harald Albers, Helber Belmiro, Holly Cummins, imperatorx, Ioannis Canellos, Jan Martiska, Jasmin Suljic, Joe Siponen, Jorge Solórzano, Jose Carvajal, Josef Andersson, Julien Ponge, Katia Aresti, kdnakt, Ladislav Thon, Loïc Mathieu, Marcel Lohmann, Marco Bungart, Martin Kouba, Matej Novotny, Max Rydahl Andersen, Michael Musgrove, Michal Karm Babacek, Michal Vavřík, Michelle Purcell, mun711, Ozan Gunalp, Pablo Gonzalez Granados, Paulo Casaes, Radoslaw Adamiak, Roberto Cortez, Rolfe Dlugy-Hegwer, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, Stuart Douglas, Stéphane Épardaud, Sébastien CROCQUESEL, Theodor Mihalache, tom, Vincent Sevel, xstefank, Yoann Rodière, zedbeit, Žiga Deisinger。

加入我们

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

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