Quarkus 3.9 - 重大响应式重命名
我们非常高兴地宣布 Quarkus 3.9.1 版本发布。
本次发布的开发周期比平时稍长,因为它包含了自 Quarkus 3.7 分支以来的所有新功能。
Quarkus 3.9 适用于想要最新功能的开发者。如果您正在寻找长期支持周期,我们建议您坚持使用 3.8 LTS。
以下是 3.9 的主要变更:
有什么新功能?
重大响应式重命名
Max Andersen 已经在 这篇博文 中介绍了这项计划。
这项实质性变更背后的想法是弄清楚哪些扩展是仅响应式的,哪些扩展实际上能够很好地处理阻塞式和响应式工作负载。
因此,我们重命名了几个扩展,Quarkus REST 现在的品牌名称是 RESTEasy Reactive,Messaging 是 SmallRye Reactive Messaging。请注意,此更改还涉及相关扩展,因此有很多变动。
我们并非轻易做出此决定:旧名称给用户带来了很多困惑。
好消息是,在大多数情况下,这对您来说应该是透明的,因为我们已经实施了工件和配置属性的重定向。但是,我们鼓励您尽快迁移到新名称。
使用 `quarkus update` 时,更新对您来说应该是透明的。如果您不使用 `quarkus update`,我们建议您遵循我们迁移指南中的 专用部分。
我们对此更改有一个已知问题:如果您使用 `quarkus.resteasy-reactive.path` / `quarkus.rest.path`,您将收到一个警告,提示该属性未被识别。不要惊慌,它实际上是被识别的,该警告是一个错误。这个问题将在 3.9.2 版本中解决。
手动更新时,您可能会遇到的一个常见问题源于我们重用了 `quarkus-rest-client` 名称用于 Quarkus REST 实现,而在 3.7 之前,它用于 RESTEasy Classic 实现。
一点历史可能会有帮助
-
在 Quarkus 3.7 中,我们将基于 RESTEasy Classic 的 `quarkus-rest-client` 重命名为 `quarkus-resteasy-client`,以使其与 `quarkus-resteasy` 一致,并为我们未来的更改铺平道路。我们放置了重定向,以免破坏您的应用程序。您可以参考 Quarkus 3.7 迁移指南以获取更多信息。
-
在 Quarkus 3.9 中,我们作为 Quarkus REST 品牌迁移的一部分,将 `quarkus-rest-client-reactive` 重命名为 `quarkus-rest-client`。
因此,如果您的应用程序启动失败并出现与 REST 重复实现相关的错误,只需检查您是否一致地使用了 `quarkus-rest*` 扩展或 `quarkus-resteasy*` 扩展。
WebSocket Next
Quarkus 3.9 附带了一个下一代 WebSocket 扩展,名为 `quarkus-websockets-next`(正如您所能想象的,名称是临时的)。
如果您在应用程序中使用 WebSockets,我们建议您尝试一下,因为它是 Quarkus 中 WebSocket 支持的未来。
Config CLI 命令
已为 Quarkus CLI 添加了命令以帮助管理配置
-
`quarkus config set` 允许更新配置属性
-
`quarkus config encrypt` 允许加密您想在配置文件中保持加密的值
贡献者
Quarkus 社区正在不断壮大,目前已有 925 名贡献者。非常感谢他们的每一位贡献。
特别是对于 3.9 版本,感谢 Ales Justin, Alex Katlein, Alex Martel, Alexander Schwartz, Alexey Loubyansky, Andy Damevin, Anton-Vasilev, arvind-vignesh, Auri Munoz, avivmu, barreiro, Bas Passon, Benedikt Werner, Brahim Raddahi, Bruno Baptista, Bruno Leonardo, Chris Laprun, Christian Thiel, cknoblauch, Clement Escoffier, Daniel Bobbert, David M. Lloyd, Davide D’Alto, Diego Ramp (u804103), Dimitris Kontokostas, dliubars, ennishol, Erin Schnabel, Falko Modler, fdlane, Foivos Zakkak, Francesco Nigro, Galder Zamarreño, Gasper Kojek, George Gastaldi, Georgios Andrianakis, glefloch, Gonçalo Montalvão Marques, Guillaume Smet, Hendrik Schmitz, Holly Cummins, humberto, Idryss Bourdier, Ioannis Canellos, Jakub Jedlicka, James Netherton, Jan Martiska, Jiří Locker, Julien Ponge, Katia Aresti, Ladislav Thon, Leandro Quiroga, Loïc Mathieu, Luke Morfill, luneo7, Maciej Lisowski, Marcel Stör, Marco Bungart, Marco Sappé Griot, Marek Skacelik, mariofusco, marko-bekhta, martin, Martin Kouba, Matej Novotny, Matheus Cruz, Max Rydahl Andersen, Michael Edgar, Michal Vavřík, Michiel Thomassen, nimo23, ObserverOfTime, Oliver Wiebeck, Ozan Gunalp, Paulo Casaes, Peter Palaga, Phillip Krüger, Pierre Adam, Robert Stupp, Roberto Cortez, Rolfe Dlugy-Hegwer, Romain BADINO, Rostislav Svoboda, Sanne Grinovero, Sebastian Schuster, Selim, Sergey Beryozkin, Severin Gehwolf, SpaceFox, Steve Hawkins, stianst, Stuart Douglas, Stéphane Épardaud, Sébastien ALLEMAND, The-Huginn, Thomas Darimont, troosan, ub003, Vitaliy Baschlykoff, w0pp, Waldemar Reusch, Wesley Salimans, Wladimir Hofmann, xstefank, Yassin Hajaj, Yoann Rodière, 和 Yoshikazu Nojima。
加入我们
我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!
如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区
-
在 GitHub 上提供反馈;
-
编写一些代码并 推送 PR;
-
在 Stack Overflow 上提问。