Quarkus 3.2.0.Final 发布 - 新的安全功能,@QuarkusComponentTest

我们很高兴地宣布 Quarkus 3.2.0.Final 的发布。

Quarkus 3.2 是 现已发布的 Quarkus 长期支持版本 的第一个版本。

尽管 我们仍将维护 2.16 版本数月,但我们鼓励所有用户开始迁移到 Quarkus 3。

主要变化如下:

  • 各种新的安全功能

  • 使用@QuarkusComponentTest测试 CDI 组件的功能

  • 构建时分析

以及许多其他领域的改进。

迁移指南

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

如果您还没有使用 3.0,请参阅 3.0 发布公告 了解所有详细信息。您还可以参阅 这篇博客文章 以获取更多详细信息。升级到 3.0 后,请同时查看 3.1 迁移指南

有什么新功能?

构建时分析

为了更好地了解 Quarkus 的使用情况,我们添加了一个新的构建时分析功能。它是匿名的、选择加入的,因此是完全自愿的。

在首次启动 quarkus dev 时,系统会询问您是否要与 Quarkus 社区共享构建时分析数据。如果您回答“是”,那么在 quarkus dev 和构建时,会发送一个小型数据包,其中包含有关 Java、Maven/Gradle、Quarkus 版本、使用的公共扩展、构建时间等信息。这将帮助我们更好地了解 Quarkus 的使用情况以及我们可以改进的地方。如果您回答“否”,则不会发送任何数据。

您可以在 https://quarkus.net.cn/usage 阅读有关此功能的更多信息,并在 quarkus-dev 帖子和此 pull request 中找到更多技术细节。

安全性

我们的安全层添加了多项新功能,使其比以往任何时候都更好。

  • 现在,quarkus-test-security-jwtquarkus-test-security-oidc 支持自定义声明类型。

  • 现在可以自定义 OIDC 验证,当 OIDC 提供程序执行一些奇特操作时,这为您提供了更大的灵活性。

  • 我们提供了一个默认的静态租户解析器,这将减少简单多租户配置中的样板代码。

  • OIDC 扩展已集成到 Quarkus 3 引入的新 Dev UI 中。

平台 - Quarkus CXF

Quarkus CXF 已包含在之前的 Quarkus Platform 3.1.0.Final 版本中,但当时我们忘了宣布(抱歉!)。Quarkus CXF 将 Apache CXF 移植到了 Quarkus。它可以用于编写 SOAP WebServicesClients。您现在可以通过 code.quarkus.io 创建项目存根。

随着 Quarkus Platform 3.2.0.Final 的发布,Quarkus CXF Metrics Feature 的状态已从实验性变为稳定。该扩展现在可以在 JVM 和原生模式下进行适当的测试。

QuarkusComponentTest

Quarkus 3.2 引入了一项实验性功能,用于简化 CDI 组件的测试和依赖项的模拟。

敬请期待,此功能将在未来的博客文章中详细介绍。

在此期间,请查看我们《测试指南》中的 这一新章节

MongoDB

为 MongoDB Reactive with Panache 添加了编程事务支持。

您可以在《MongoDB with Panache》指南中找到有关此新功能的更多信息。

Reactive 数据源

添加了对 CredentialProvider 在应用程序生命周期中更改值的支持。

Reactive REST Client

为路径和查询参数添加了对 @Encoded 的支持。

开发者体验

  • 在开发模式下,x 命令以前在出现异常时打开 IDE。现在,即使没有出现异常,它也会打开 IDE。

  • quarkus test 命令现在完全支持 JUnit 标签表达式。

io_uring

如果您有兴趣在 Quarkus 中使用 io_uring,请参阅 已添加的新文档

完整更新日志

您可以在 GitHub 上获取 3.2.0.CR13.2.0.Final 的完整更改日志。

贡献者

Quarkus 社区不断壮大,现有 818 位贡献者。非常感谢他们中的每一位。

特别感谢 3.2 版本中的贡献者:Ales Justin, Alex Martel, Alexey Loubyansky, Andrea Peruffo, Andy Damevin, Avinash Gupta, Bill Burke, Bruno Oliveira da Silva, brunobat, Chris Laprun, Clement Escoffier, dagrammy, Daryl Koh, Dave Maughan, David M. Lloyd, David Voit, Davide D’Alto, Emmanuel Bernard, Eric Deandrea, Erin Schnabel, Falko Modler, Foivos Zakkak, Fouad Almalki, franz1981, Gareth Healy, George Gastaldi, Georgios Andrianakis, Guillaume Smet, Harald Albers, Holly Cummins, Ioannis Canellos, Jan Martiska, Jonas Kleinebecker, Jose Carvajal, Julien Ponge, Jérôme Tama, Kai Suchomel, Katia Aresti, kdnakt, Kevin Dubois, Ladislav Thon, Loïc Mathieu, Manyanda Chitimbo, Marc Nuri, Marco Schaub, Marko Bekhta, Martin Kouba, Martin Panzer, Matej Novotny, Matej Vasek, Max Rydahl Andersen, Maximilian Zellhofer, Michael Edgar, Michael Kroll, Michal Karm Babacek, Michal Maléř, Michal Vavřík, Michelle Purcell, Ozan Gunalp, Peter Palaga, Phillip Krüger, Rhuan Rocha, rjtmahinay, Robert Stupp, Roberto Cortez, Rolfe Dlugy-Hegwer, Romain Pelisse, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, Severin Gehwolf, Stefan, Stuart Douglas, Stéphane Épardaud, Sébastien Crocquesel, Thomas Segismont, xstefank, Yoann Rodière, Yoshikazu Nojima, Zheng Feng, and Zineb Bendhiba。

加入我们

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

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