Quarkus 3.3.0 发布 - OpenTelemetry 改进,Reactive Messaging Pulsar 扩展
我们很高兴地宣布 Quarkus 3.3.0 的发布。
您在此版本中注意到的第一件事是我们删除了 .Final
后缀。此后缀是为了确保最终版本与 alpha、beta 和候选版本相比能够正确排序,当时 Java 工具在排序版本时存在问题。这些日子早已过去,因此是时候删除该后缀并简化我们的版本方案了。
我们目前在社区中维护 3 个版本流
-
3.3:这是最新最强大的版本,它引入了新功能
-
3.2:这是我们当前的 LTS 版本
-
2.16:我们计划发布更多版本,但建议您在 10 月底前迁移您的应用程序,因为此日期之后我们不太可能发布新的 2.16 版本
主要变化如下:
-
OpenTelemetry 扩展的许多改进
-
Reactive Messaging Pulsar 扩展
-
在 REST Client Reactive Jackson 中自定义 ObjectMapper 的能力
-
Micrometer 引入了一种完全自定义 MeterRegistry 的方法
-
删除 elasticsearch-high-level-rest-client 扩展并将 Dev Services 和测试升级到 Elasticsearch 8
-
各种安全相关的增强功能
有什么新功能?
OpenTelemetry
此版本为 OpenTelemetry 扩展带来了广泛的改进
-
现在支持 OTel 1.28。
-
默认的 OTel exporter 已被 Vert.x 之上的 Quarkus 实现取代。这使我们不必依赖 OkHttp 库。exporter 继续与 CDI 自动绑定,因此
quarkus.otel.traces.exporter
属性默认为cdi
。 -
新的 Quarkus Vert.x exporter 现在支持
grpc
(默认) 和http/protobuf
。请使用此属性更改协议:quarkus.otel.exporter.otlp.traces.protocol
。 -
Quarkus OTel exporter 现在将支持 TLS。
-
当设置
quarkus.tls.trust-all=true
时,它还将禁用 Quarkus OTel exporter 上的所有 SSL 验证。 -
我们添加了一种自定义传播头的方式。这可以通过实现
TextMapPropagatorCustomizer
接口来实现。例如,这可用于限制 OpenTelemetry 跟踪头的传播,并防止敏感数据被发送到第三方系统 -
通过设置
quarkus.otel.traces.eusp.enabled=true
;您可以为每个 span 添加与用户相关的信息。如果可用,用户的 ID 和角色将添加到 span 属性中。 -
我们现在正确报告
http.route
属性。 -
Swagger UI 端点将不再被跟踪。
-
失败请求的 span 现在将包含堆栈跟踪。
-
OTel 实例化已得到改进,以防止启动时的竞争条件。
安全性
-
我们添加了对 OIDC 授权码流 nonce 的支持。
-
我们为许多常见的 OIDC 提供商提供了简便的配置,并添加了对新提供商 Twitch 的支持。
-
OIDC JavaRequest 检查可以自定义。
-
OIDC
@Tenant
注解用于解析租户。 -
在
SecurityIdentity`
增强期间支持 OIDC 令牌传播。
Elasticsearch
已删除已弃用的 quarkus-elasticsearch-high-level-rest-client
扩展。
它依赖于 Elastic 已弃用并且在最近版本中不再开源的旧高层客户端(我们仍在使用一个旧版本)。
此扩展已被 Elasticsearch Java Client 扩展取代。它不是即插即用式替换,因此迁移将需要一些工作。
贡献者
Quarkus 社区正在不断壮大,目前已有 834 位贡献者。非常感谢其中的每一位。
特别是对于 3.3 版本,感谢 Ales Justin、Alexey Loubyansky、A.Moscatelli、Andrea Peruffo、Andy Damevin、Anthony T. Lannutti、Auri Munoz、biswassri、Bruno Baptista、Chris Laprun、Clement Escoffier、Daniel Cunha、Daryl Koh、Dave Maughan、Davide D’Alto、Emile de Weerd、Erin Schnabel、Falko Modler、Foivos Zakkak、Fouad Almalki、franz1981、Galder Zamarreño、George Gastaldi、Georgios Andrianakis、Giancarlo Calderón Cárdenas、Guillaume Smet、Holly Cummins、humberto、imperatorx、Ioannis Canellos、James Netherton、Jan Martiska、Jerome Prinet、Joan Ruget、Jose Carvajal、Josef Smrcka、Julien Ponge、Katia Aresti、Kenneth Bøgedal、Kevin Dubois、Kevin Howell、Kevin Wooten、kpapakyriakos、Ladislav Thon、Loïc Mathieu、Manyanda Chitimbo、Marek Skacelik、Marko Bekhta、Martin Kouba、Martin Ocenas、Martin Panzer、Matej Novotny、Max Rydahl Andersen、melloware、Michael Edgar、Michael Musgrove、Michal Maléř、Michal Vavřík、Michelle Purcell、Nicolas Filotto、Ozan Gunalp、Paul Carter-Brown、Paulo Casaes、Pedro Igor、Peter Fortuin、Peter Palaga、Phillip Krüger、rjtmahinay、Robert Kühne、Roberto Cortez、Rolfe Dlugy-Hegwer、Romain Pelisse、Rostislav Svoboda、Samet Karakaya、Sanne Grinovero、Sebastian Schuster、Sergey Beryozkin、Severin Gehwolf、Siva_M7、suchwerk、The-Huginn、Thomas Segismont、Vincent Sevel、xstefank、ygyg70、Yoann Rodière、Yoshikazu Nojima、yyang。
加入我们
我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!
如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区
-
在 GitHub 上提供反馈;
-
编写一些代码并 推送 PR;
-
在 Stack Overflow 上提问。