Quarkus 3.5.0 发布 - Java 21,OIDC 增强

我们很高兴地宣布 Quarkus 3.5.0 的发布。

主要变化如下:

  • 正式支持 Java 21(意味着在我们的 CI 中进行了全面测试)

  • GraalVM/Mandrel 构建器镜像已更新到 Java 21

  • 多项与 OIDC 相关的增强

此版本还包含错误修复、性能改进和文档改进。

我们目前在社区中维护两个版本流

  • 3.5:它是最新最好的,并引入了新功能

  • 3.2:这是我们当前的 LTS 版本

Quarkus 2.x 在社区中不再维护。 如果您使用的是社区版本,请升级到 Quarkus 3.x(3.2 LTS 或 3.5)。

更新

要更新到 Quarkus 3.5,我们建议更新到最新版本的 Quarkus CLI 并运行

quarkus update

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

如果您尚未使用 3.x,请参阅3.0 公告以获取所有详细信息。 您还可以参考此博客文章以获取更多详细信息。 升级到 3.0 后,还要查看 3.13.23.33.4 迁移指南。

有什么新功能?

Java 21

Quarkus 的大部分内容已经可以在 Java 21 上运行,但我们在 3.5 开发周期中对一些内容进行了完善,Quarkus 现在已通过 Java 21 的全面测试。我们之前无法在 CI 中包含 Java 21 的主要原因是我们的部分构建使用 Gradle(通常用于构建 Gradle 插件),而 Gradle 尚未完全支持 Java 21。为了克服这种情况,我们已经将用于构建 Gradle 部分的 JVM 与用于构建 Quarkus 和运行测试的 JVM 分离,因此将来我们不会再遇到这个问题。

Quarkus 支持 Java 11、Java 17 和 Java 21。

GraalVM/Mandrel

我们将原生可执行文件构建器镜像更新到适用于 Java 21 的 GraalVM/Mandrel(这是 GraalVM 的新版本方案,它们现在针对 Java 版本)。

我们仍然支持 GraalVM/Mandrel 23.0,但我们建议使用适用于 Java 21 的 GraalVM/Mandrel。

OIDC

由数据库支持的 TokenStateManager

TokenStateManager 现在可以由您选择的数据库支持。

您可以在我们的文档中找到有关为支持此功能而引入的新扩展的更多信息。

Mastodon 提供程序

我们的 OIDC 扩展为许多知名的身份提供者(例如 Google、GitHub、Apple…​)提供了预配置的设置。

Quarkus 3.5 将 Mastodon 添加到此列表。

OIDC 范围属性

OIDC 范围属性现在映射到 SecurityIdentity 权限。

Hibernate Reactive 和 Agroal

Hibernate Reactive 现在可以与 Agroal 共存,这意味着您可以在使用 Hibernate Reactive 作为 ORM 的应用程序中使用 Flyway 或 Liquibase。

在同一个应用程序中同时拥有 Hibernate ORM 和 Hibernate Reactive 仍然是不可能的。

反编译器已更改为 Vineflower

在开发扩展或处理 Quarkus 内部结构时,通常可以通过反编译生成的类,因为字节码的输出比字节码更具可读性。

Quarkus 包含了自动执行此操作的功能,我们将编译器从 Quiltflower 更改为 Vineflower,它是 Quiltflower 的延续。 您可以在我们的文档中找到有关此功能的更多信息。

完整更新日志

您可以在 GitHub 上获取 3.5.0.CR13.5.0 的完整变更日志。

贡献者

Quarkus 社区正在发展壮大,现在已有 859 位贡献者。 非常感谢每一位贡献者。

特别感谢 3.5 版本的以下贡献者:Ales Justin、Alex Martel、Alexander Schwartz、Alexey Loubyansky、Andries Reurink、Andy Damevin、Àngel Ollé Blázquez、asjervanasten、Bill Burke、Bruno Baptista、Bruno Lellis、Chris Laprun、Christian Beikov、Clement Escoffier、David Andlinger、Dennis Kieselhorst、effedici、Emanuel Alves、Erin Schnabel、Falko Modler、Foivos Zakkak、Galder Zamarreño、Geoffrey De Smet、George Gastaldi、Georgios Andrianakis、Guillaume Smet、Holly Cummins、Ioannis Canellos、Ivan、Jan Martiska、Julien Ponge、Katia Aresti、kdnakt、Ladislav Thon、Laurent SCHOELENS、Leonor Boga、Loïc Mathieu、Marc Nuri、Marc Savy、Marco Bungart、Marek Skacelik、Marko Bekhta、Martin Kouba、Matej Novotny、melloware、Michael Kanis、Michal Karm Babacek、Michal Maléř、Michal Vavřík、Michelle Purcell、Monhemius, B. (Bart), Nathan Erwin, Navinya Shende, Ozan Gunalp, Paul Wright, Peter Palaga, Phillip Krüger, Robert Pospisil, Robert Stupp, Roberto Cortez, Rostislav Svoboda, Said BOUDJELDA, Sanne Grinovero, Sap004, Sergey Beryozkin, svkcemk, Thomas Darimont, Thomas Segismont, tom, Vinícius Ferraz Campos Florentino, Will Li, Willem Jan Glerum, Yacine Kheddache, 和 Yoann Rodière。

加入我们

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

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