Red Hat build of Quarkus 3.15 发行注记
向红帽构建的 Quarkus 文档提供反馈 复制链接链接已复制到粘贴板!
要报告错误或改进文档,请登录您的红帽 JIRA 帐户并提交问题。如果您没有红帽 JIRA 帐户,系统会提示您创建一个帐户。
流程
- 单击以下链接 来创建 ticket。
- 在 Summary 中输入有关此问题的简单描述。
- 提供有关 描述 中问题或增强功能的详细描述。包括一个 URL,以在文档中发生问题。
- 点 Submit 创建问题并将其路由到适当的文档团队。
第 1 章 Red Hat build of Quarkus 3.15 发行注记 复制链接链接已复制到粘贴板!
发行注记提供有关红帽构建的 Quarkus 3.15 的新功能、重要的技术变化、技术预览、错误修复、已知问题和相关公告的信息。
这包括以下显著变化:
另外还提供了与升级和向后兼容性相关的信息,以帮助您从早期版本进行迁移。
1.1. 关于红帽构建的 Quarkus 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 是针对容器和 Red Hat OpenShift Container Platform 优化的 Kubernetes 原生 Java 堆栈。Quarkus 设计为使用流行的 Java 标准、框架和库,如 Eclipse MicroProfile、Eclipse Vert.x、Apache Camel、Apache Kafka、使用 Jakarta Persistence 和 Jakarta REST 的 Hibernate ORM。
作为开发人员,您可以选择 Java 应用程序所需的 Java 框架,您可以在 Java 虚拟机(JVM)模式下运行,或者以原生模式编译和运行。Quarkus 提供了构建 Java 应用程序的容器优先方法。容器先行方法促进了微服务和功能的容器化和高效执行。因此,Quarkus 应用程序的内存占用空间越小,启动时间也更快。
Quarkus 还通过统一配置、自动置备未配置服务、实时编码和持续测试等功能优化应用程序开发流程,从而为您提供对代码更改的即时反馈。
1.2. Quarkus 社区版本与红帽构建的 Quarkus 之间的区别 复制链接链接已复制到粘贴板!
作为应用程序开发人员,您可以访问两个不同的 Quarkus 版本: Quarkus 社区版本和产品化版本,红帽构建的 Quarkus。
下表描述了 Quarkus 社区版本与红帽构建的 Quarkus 之间的区别。
| 功能 | Quarkus 社区版本 | Red Hat build of Quarkus 版本 | 描述 |
|---|---|---|---|
| 访问最新的社区功能 | 是 | 否 | 使用 Quarkus 社区版本,您可以访问最新的功能开发。 红帽不会发布红帽构建的 Quarkus,以与社区版本的每个版本对应。红帽构建的 Quarkus 功能发布节奏大约每六个月进行一次。 |
| 来自红帽的企业级支持 | 否 | 是 | 红帽只为红帽构建的 Quarkus 提供企业级支持。要报告 Quarkus 社区版本的问题,请参阅 quarkusio/quarkus - issues。 |
| 访问长期支持 | 否 | 是 | 红帽构建的 Quarkus 主发行版本的生命周期分为两个支持阶段:全面支持和维护支持。 有关红帽构建的 Quarkus 的产品生命周期、时间表和支持策略的详情,请登录红帽客户门户网站,查看 产品生命周期和红帽构建的 Quarkus 生命周期和支持策略 知识库文章。https://access.redhat.com/product-life-cycles?product=Red%20Hat%20build%20of%20Quarkus |
| 常见的漏洞和风险(CVE)修复和程序错误修复被后向移植到早期版本 | 否 | 是 | 在 Red Hat build of Quarkus 中,所选 CVE 修复和程序错误修复会定期向后移植到支持的流。 有关维护支持的更多信息,请参阅 红帽构建的 Quarkus 生命周期和支持策略。 |
| 使用 Red Hat OpenShift Container Platform 和 Red Hat Enterprise Linux (RHEL)测试和验证 | 否 | 是 | 红帽构建的 Quarkus 使用 Red Hat OpenShift Container Platform 和 RHEL 构建、测试和验证。红帽根据您的订阅协议为支持的配置和经过测试的集成提供生产和开发支持。如需更多信息,请参阅 红帽构建的 Quarkus 支持的配置。 |
| 使用安全构建系统从源构建 | 否 | 是 | 在 Red Hat build of Quarkus 中,红帽使用安全软件交付提供核心平台和所有支持的扩展,这意味着它们从源构建,扫描安全问题,以及验证许可证的使用。 |
| 访问 JDK 和 Red Hat build of Quarkus Native builder 发行版的支持 | 否 | 是 | 红帽构建的 Quarkus 支持经过认证的 OpenJDK 构建和认证的本地可执行文件构建器。请参阅以下接受。如需更多信息,请参阅 红帽构建的 Quarkus 支持的配置。 |
要构建原生 Linux 可执行文件,红帽构建的 Quarkus 支持使用 红帽构建的 Quarkus 原生构建器镜像(quarkus/mandrel-for-jdk-21-21-rhel8),它基于 GraalVM Mandrel。
红帽构建的 Quarkus 不支持使用 Oracle GraalVM 社区版本(CE)、Mandrel 社区版本或任何其他 GraalVM 发行版构建原生可执行文件。如需更多信息,请参阅将 红帽构建的 Quarkus 应用程序编译到原生可执行文件。
1.3. 新功能、功能增强和技术变化 复制链接链接已复制到粘贴板!
本节概述红帽构建的 Quarkus 3.15 中引入的新功能、增强功能和技术变化。
1.3.1. 兼容性 复制链接链接已复制到粘贴板!
1.3.1.1. Spring API 重构,使其与 Spring Boot 3 保持一致 复制链接链接已复制到粘贴板!
随着红帽构建的 Quarkus 3.15,quarkus-spring-data-rest-extension 被重构为与最新的 spring-data-jpa 3.x 更新保持一致。这个版本包括以下密钥更改:
-
两个新接口:
ListCrudRepository和ListPagingAndSortingRepository。这些新的List方法不是由 Quarkus REST 公开,与 Spring 的行为一致。 对类层次结构的修改:
-
PagingAndSortingRepository不再扩展CrudRepository -
ListCrudRepository扩展CrudRepository -
ListPagingAndSortingRepository扩展PagingAndSortingRepository -
JpaRepository扩展ListCrudRepository和ListPagingAndSortingRepository
-
这个重构引入了破坏的变化。如需更多信息,请参阅 影响与早期版本兼容的更改 章节。
1.3.2. Core 复制链接链接已复制到粘贴板!
1.3.2.1. 引入的 container-image-podman 扩展 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了一个新的扩展 container-image-podman,专用于 Podman。
如果您希望使用 Podman 而不是 Docker,现在可以使用这个新扩展。它复制现有 container-image-docker 扩展的功能,同时支持使用 Podman 构建容器镜像并将其加载到本地 registry 中。
虽然 container-image-docker 扩展是,并且始终与 Podman 的 Docker 兼容 API 兼容,但 container-image-podman 是为使用 Podman 工具集无缝构建镜像而量身定制的。
对 Docker 特定的任务使用 container-image-docker 扩展,对与 Podman 相关的任务使用 container-image-podman 扩展。例如,对于 Docker 和 Podman,构建多平台镜像是不同的。Docker 使用 Buildx 插件,而 Podman 可以原生构建多平台镜像。因此,您必须使用特定的扩展来执行该功能。
1.3.2.2. 升级的默认 UBI 镜像 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,以下默认 UBI 镜像已升级:
-
UBI-minimal升级到 8.10 版本 -
OpenJDK-17-runtime升级到 1.20 版本 -
OpenJDK-21-runtime升级到 1.20 版本
1.3.2.3. 扩展注解处理器重新开发 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了扩展注解处理器的新架构,并删除了如何生成配置文档。
这个版本与为红帽构建的 Quarkus 开发扩展的用户相关。
扩展注解处理器有两个主要目的:
- 生成红帽构建的 Quarkus 构建和运行时需要的文件。例如,构建步骤列表或配置 roots 列表。
- 为扩展的配置属性生成文档。
通过此重新开发,注释处理器架构得到简化,并将构建扩展所需的文件与生成文档所需的文件分隔开。
在以前的版本中,扩展注解处理器会在 root target/generated/config 目录中生成配置文档。现在,扩展注解处理器会构建配置的模型,然后以各种所需格式输出,如 AsciiDoc。
如需更多信息,请参阅以下 Quarkus 资源:
- 迁移指南 3.14
- Quarkus "Writing your own extension" 指南中的配置部分 https://quarkus.io/version/3.15/guides/writing-extensions#configuration
- 将配置映射到对象
1.3.2.4. 生成者方法和引入的复合 Bean 的拦截器 复制链接链接已复制到粘贴板!
Arc 是红帽构建的 Quarkus 的上下文和依赖注入(CDI)实施。默认情况下,拦截器只支持受管 Bean,也称为基于类的 Bean。
红帽构建的 Quarkus 3.15 引入了 InterceptionProxy API 和 @BindingsSource 注释,支持生成者方法和复合 Bean 的拦截器。
InterceptionProxy API 创建一个代理,该代理应用 @AroundInvoke 拦截器,然后将方法调用转发到目标实例。使用 @BindingsSource 注释,您可以在拦截器的类是外部且无法更改时设置拦截器绑定。
如需更多信息,请参阅 Quarkus 上下文和依赖项注入 指南。
1.3.2.5. 禁用引入实时重新加载的选项 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了 quarkus.live-reload.enabled 配置属性,您可以在使用带有 Dev 服务的功能的 dev 模式时关闭自动实时重新加载。
默认情况下,此属性设为 true。要禁用自动实时重新加载,请将其设置为 false。
1.3.2.6. quarkus config 命令已更新 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 对 quarkus config 命令包括以下更新。
quarkus config encrypt子命令被更新,以将secret选项更改为参数。在以前的版本中,要加密值,您可以运行以下命令:quarkus config encrypt --secret=<xyz123>
quarkus config encrypt --secret=<xyz123>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您运行:
quarkus config encrypt <xyz123>
quarkus config encrypt <xyz123>Copy to Clipboard Copied! Toggle word wrap Toggle overflow quarkus config set子命令被更新,以将name和value选项改为 parameters。在以前的版本中,要设置配置,您可以运行以下命令:quarkus config set --name=<abc> --value=<xyz123>
quarkus config set --name=<abc> --value=<xyz123>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您运行:
quarkus config set <abc> <xyz123>
quarkus config set <abc> <xyz123>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,在此发行版本中,从配置命令省略
value参数不再从application.properties文件中删除现有的配置。相反,要删除配置,请使用以下命令,将 <abc> 替换为配置属性名称:quarkus config remove <abc>
quarkus config remove <abc>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Quarkus CLI 主要用于开发目的,包括创建、更新和构建 Quarkus 项目等任务。但是,红帽不支持在生产环境中使用 Quarkus CLI。
如需更多信息,请参阅配置指南中的 Quarkus Secret。
1.3.3. data 复制链接链接已复制到粘贴板!
1.3.3.1. Flyway 升级到 10.10 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Flyway 扩展已升级到 Flyway 10.10。
如需更多信息,请参阅使用 Flyway 指南 的 Quarkus。
1.3.3.2. Hibernate ORM 构建时间针对大型模型进行了优化 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了增强,可加快大型实体模型的 Hibernate 对象关系映射(ORM)构建时间。
特别是,预计这些增强功能将使 Quarkus dev 模式的 Live Reload 功能更快响应具有大型实体模型的应用程序。
1.3.3.3. Hibernate ORM 升级至版本 6.6 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Hibernate ORM 升级到 6.6 版本。
如需更多信息,请参阅以下资源:
1.3.3.4. Hibernate Reactive 升级到版本 2.4 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Hibernate Reactive 扩展已升级到 2.4 版本。
如需更多信息,请参阅 Quarkus Hibernate Reactive 指南。
1.3.3.5. Hibernate Search 升级至 7.2 版本 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Hibernate Search 被升级到 7.2 版本。
Hibernate Search 为您的红帽构建的 Quarkus 应用程序提供索引和全文本搜索功能。要了解更多有关 Hibernate Search 的信息,请参阅以下资源:
1.3.3.6. MongoDB 客户端升级至版本 5.1 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,MongoDB 客户端从版本 4.11 升级到 5.1 版本。
1.3.4. 原生 复制链接链接已复制到粘贴板!
1.3.4.1. 原生镜像代理集成 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了与原生镜像代理集成,您可以在将应用程序编译到原生镜像时,红帽构建的 Quarkus 尚不支持库或组件。
通过这种集成,您可以使用需要大量原生镜像配置的 JDK API。您还可以使用原生镜像代理在 JVM 模式中为应用程序运行集成测试。代理生成的配置可帮助您开始使用不受支持的库并将应用程序作为原生可执行文件运行。
此集成仅适用于 Apache Maven。
在 pom.xml 中,新生成的项目会自动出现适当的配置。
如需更多信息,请参阅 Quarkus 原生参考指南。
1.3.5. Observability(可观察性) 复制链接链接已复制到粘贴板!
1.3.5.1. 引入了 Observability Dev Services 扩展 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了 Dev 服务的 quarkus-observability-devservices 和 quarkus-observability-devservices-lgtm 扩展,支持 OpenTelemetry LGTM (OTel LGTM) Docker 镜像:
您可以更新 pom.xml 文件,将每个扩展添加为依赖项。例如:
如需更多信息,请参阅以下 Quarkus 资源:
- Observability dev 服务
- "Dev Services overview" 指南中的 Observability 部分
- 使用 Grafana OTEL LGTM 的可观察性开发服务
1.3.5.2. OpenTelemetry 和工具升级 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,OpenTelemetry (OTel) SDK 版本从 1.32 升级到 1.39。另外,OTel 检测从版本 1.32 升级到 2.50。
这些升级包括以下破坏更改:
- HTTP 语义惯例已更改。如需更多信息,请参阅这里的更改列表: HTTP 语义约定稳定性迁移。
-
quarkus.otel.semconv-stability.opt-in系统属性已被删除,因为用户无法再选择。 - 在创建表时,数据库范围名称已更改。
-
io.opentelemetry.extension.annotations.WithSpan的已弃用的注解已被删除。从 Red Hat build of Quarkus 3.15 中,您必须使用新的io.opentelemetry.instrumentation.annotations.WithSpan。
如需更多信息,请参阅 影响与早期版本的兼容性的更改。
1.3.5.3. 使用 Quarkus Redis 客户端时的 OpenTelemetry 支持 复制链接链接已复制到粘贴板!
当使用带有 OpenTelemetry (OTel)的 quarkus-redis-client 扩展时,Red Hat build of Quarkus 3.15 引入了对追踪的支持。
红帽构建的 Quarkus 提供了手动和自动的工具进行追踪。您必须将此 OpenTelemetry Redis 实现放在 quarkus-opentelemetry 扩展检测下。
追踪数据包括其他属性、request 语句、数据库实例和对等地址。状态代码和消息在错误 span 中提供。
如需更多信息,请参阅使用 Quarkus Redis 客户端 指南。
1.3.6. 安全性 复制链接链接已复制到粘贴板!
1.3.6.1. REST 端点验证机制选择的注解 复制链接链接已复制到粘贴板!
使用红帽构建的 Quarkus 3.15,您可以使用注解启用特定于 Jakarta REST 端点的身份验证机制。
由于您只能在 REST 端点匹配后选择验证机制,因此只有在禁用主动身份验证时(即 quarkus.http.auth.proactive 设置为 false 时,才会启用此功能。
如需更多信息,请参阅"Quarkus 身份验证机制"指南中的 Jakarta REST 端点启用基于路径的身份验证 部分。
1.3.6.2. 引入了 @ClientBasicAuth 注释 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了一个新的注解 @ClientBasicAuth,它简化了如何在红帽构建的 Quarkus REST 客户端中使用基本身份验证用户名和密码设置 HTTP Authorization 标头。
使用 HTTP 基本身份验证时,quarkus.rest.client.reactive.ClientBasicAuth 注解简化了所需授权标头的配置。
例如:
@ClientBasicAuth(username = "${service.username}", password = "${service.password}")
public interface SomeClient {
}
@ClientBasicAuth(username = "${service.username}", password = "${service.password}")
public interface SomeClient {
}
在本例中,service.username 和 service.password 是您在运行时设置的配置属性,其使用适当的用户名和密码授予对目标服务的访问权限。
如需更多信息,请参阅使用 REST 客户端 的 Quarkus 指南。
1.3.6.3. 基于问题解决静态 OIDC 租户 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,您可以使用访问令牌的签发者解决支持 Bearer 令牌身份验证的静态 OpenID Connect (OIDC)租户。
要使基于此问题的解决方案可以正常工作,请确保满足以下条件:
-
访问令牌必须采用 JSON Web Token (JWT)格式,并包含签发者(
is)令牌声明。 -
只有带有应用程序类型
服务或混合的OIDC 租户才被考虑。这些租户必须发现或配置了令牌签发者。
您必须使用 quarkus.oidc.resolve-tenants-with-issuer 属性启用令牌签发者。
如需更多信息,请参阅使用 OIDC 多租户 的 Quarkus 指南。
1.3.6.4. 引入了 OIDC 重定向过滤器 复制链接链接已复制到粘贴板!
当用户重定向到 OpenID Connect (OIDC)供应商进行身份验证时,重定向必须指示到在身份验证完成后将用户定向到该供应商。
红帽构建的 Quarkus 3.15 引入了 OpenID Connect (OIDC)重定向过滤器来过滤 OIDC 重定向。您可以注册一个或多个 io.quarkus.oidc.OidcRedirectFilter 实现,以过滤 OIDC 重定向到 OIDC 授权和注销端点,并过滤 local 重定向到自定义错误和 session-expired 页面。
使用 OidcRedirectFilter,您还可以为所有重定向请求添加额外的查询参数、响应标头和设置新的 Cookie。
如需更多信息,请参阅 Quarkus " OIDC authorization code flow mechanism" 指南中的 OIDC redirect filter 部分。
1.3.6.5. OIDC session-expired 页引入 复制链接链接已复制到粘贴板!
在以前的版本中,如果无法刷新用户会话,当前经过身份验证的用户会被重定向到 OpenID Connect (OIDC)供应商来重新验证。但是,用户可能并不明显,为什么需要重新验证。
使用红帽构建的 Quarkus 3.15,您现在可以配置用户重定向到一个公共的特定于应用程序的、特定于会话的页面。此页面告知用户会话已过期,并建议他们通过指向安全应用程序 Welcome 页面的链接来重新进行身份验证。
要启用此页面,请指定 quarkus.oidc.authentication.session-expired-page 相对路径属性。
如需更多信息,请参阅 Quarkus OIDC 授权代码流机制。
1.3.6.6. 引入了 OIDC TokenCertificateValidator 注解 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 通过引入 OpenID Connect (OIDC) TokenCertificateValidator 注解来增强安全性。除了默认的链验证外,您还可以使用此注解将自定义证书链验证检查添加到令牌的证书链。
如需更多信息,请参阅 Quarkus OIDC bearer 令牌身份验证 指南。
1.3.6.7. 将安全事件导出为 OpenTelemetry 事件 复制链接链接已复制到粘贴板!
使用红帽构建的 Quarkus 3.15,如果安全上下文可用,您可以将安全事件导出为 OpenTelemetry (OTel)事件。此功能将用户标识和角色添加到 span 属性中。
要启用此功能,请在 application.properties 文件中将以下配置属性设置为 true :
quarkus.otel.security-events.enabled=true
如需更多信息,请参阅以下 Quarkus 资源:
1.3.6.8. 签名的 OIDC UserInfo 接受 复制链接链接已复制到粘贴板!
在 OpenID Connect (OIDC)授权过程中,如果 ID 令牌没有提供有关当前经过身份验证的用户的足够信息,您可以从 UserInfo 端点以 JSON 格式获取更多信息。
在 Red Hat build of Quarkus 3.15 中,支持作为签名的 JSON Web Token (JWT)返回的 UserInfo。红帽构建的 Quarkus 会验证此签名的 JWT 令牌,然后使用安全 JSON 数据初始化 UserInfo。
1.3.7. Web 复制链接链接已复制到粘贴板!
1.3.7.1. 引入了集中式 TLS registry 复制链接链接已复制到粘贴板!
Red Hat build of Quarkus 3.15 引入了一个新的传输层安全(TLS) registry扩展 quarkus-tls-registry,其中包括以下功能:
应用程序的集中式 TLS 配置
在以前的版本中,TLS 配置分散在多个红帽构建的 Quarkus 扩展中,这有时会导致不一致。随着 TLS registry 的引入,您现在可以在一个位置完成 TLS 配置 application.properties 文件,然后从应用程序中的多个位置引用它。
邮件器、HTTP 服务器、REST 客户端和消息传递组件的集中配置
mailer
您可以使用 TLS 注册表配置
quarkus-mailer扩展。为了避免与其他 TLS 配置冲突,需要使用存储在 TLS registry 中的命名 TLS 配置。您可以使用quarkus.tls.<name> unset属性定义单独的命名配置。HTTP 服务器
您可以使用
quarkus.tls.<name> ClusterClaim 属性来配置 HTTP 服务器,为特定连接定义单独的命名配置。REST 客户端
您可以使用 TLS registry 而不是特定配置来配置
quarkus-rest-client扩展。Quarkus 消息传递
您可以使用
mp.messaging.incoming.your-channel.tls-configuration-name=<name> 和频道。如需更多信息,请参阅单个 Quarkus 消息传递 指南。quarkus.tls.<name>来配置 Quarkus 消息传递
如需更多信息,请参阅 Quarkus TLS registry 参考指南。
1.3.7.2. REST 客户端的 HTTP 透传代理 复制链接链接已复制到粘贴板!
使用 Quarkus REST 客户端时,您可能需要检查发送到服务器的请求,在处理 HTTPS 连接时,检查流量的最简单方法是通过直通代理。
使用红帽构建的 Quarkus 3.15,您可以为 REST 客户端添加 HTTP 直通代理。您可以使用此代理作为 wireshark 的目标,以获取 REST 客户端发送的请求内容。
要启用代理,请将 quarkus.rest-client.<client name>.enable-local-proxy 属性设置为 true。
此功能仅适用于 Quarkus REST 客户端,且仅适用于 dev 模式。
1.3.7.3. 在 HTTP 服务器启动时运行自定义逻辑 复制链接链接已复制到粘贴板!
随着红帽构建的 Quarkus 3.15,Vert.x HTTP 被改进。现在,您可以在 HTTP 服务器启动时运行自定义操作。
要做到这一点,您可以声明一个异步上下文和依赖注入(CDI)观察器方法。然后,当对应的 HTTP 服务器开始侦听配置的主机和端口时,红帽构建的 Quarkus 会触发以下 CDI 事件:
-
io.quarkus.vertx.http.HttpServerStart -
io.quarkus.vertx.http.HttpsServerStart -
io.quarkus.vertx.http.DomainSocketServerStart
如需更多信息,请参阅 Quarkus HTTP 参考指南。
1.4. 支持和兼容性 复制链接链接已复制到粘贴板!
您可以找到与 Red Hat build of Quarkus 3.15 兼容的支持的配置和工件的详细信息,以及红帽客户门户网站上的高级别支持生命周期策略,如下所示:
- 有关支持的配置、OpenJDK 版本和经过测试的集成列表,请参阅 红帽构建的 Quarkus 支持的配置。
- 有关红帽构建的 Quarkus 支持的 Maven 工件、扩展和 BOM 列表,请参阅 红帽构建的 Quarkus 组件详情。
- 有关所有红帽产品的正式发布、完全支持及维护支持日期,请参阅 Red Hat Application Services 产品更新及支持政策。
1.4.1. 产品更新和支持生命周期政策 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 中,功能发行版本可以是主发行版本或次版本:
- 主发行版本引入了新功能及支持生命周期(完整和维护)至少 3 年。
- 次发行版本引入了新功能或更改不会影响与早期版本的兼容性(破坏的变化)。最新的次版本被完全支持,上一版本在维护 6 个月内被考虑,从发布新的次版本开始。
如需更多信息,请参阅 Red Hat 生命周期和支持政策。
红帽构建的 Quarkus 版本号直接与 Quarkus 社区项目的 Long-Term Support (LTS)版本保持一致。如需更多信息,请参阅 Quarkus 的 Long-Term Support (LTS) for Quarkus 博客文章。
红帽构建的 Quarkus 功能发行版本的版本号与它所基于的 Quarkus 社区版本匹配。
红帽不会为每个版本社区发布 Quarkus 的产品化版本。红帽构建的 Quarkus 功能发布节奏约每 6 个月。
在后续版本发布前,红帽构建的 Quarkus 提供了对功能发行版本的完全支持。当一个功能发行版本被一个新版本取代时,红帽将继续为这个版本提供六个月的维护支持,如以下支持生命周期图 [Fig. 1] 所述。
图 1.红帽构建的 Quarkus 的发布节奏和支持生命周期
在发行版本的完全支持阶段和维护支持阶段,红帽还提供 'service-pack (SP)' 更新和 'micro' 发行版本来修复错误和常见漏洞披露(CVE)。
红帽构建的 Quarkus 功能版本中的新功能可引入对底层技术或平台中依赖项的改进、创新和更改。有关连续功能发行版中的新功能或更改的详细概述,请参阅 新功能、增强功能和技术更改。
虽然红帽构建的 Quarkus 的大部分功能在升级到最新版本后继续按预期工作,但在某些情况下,您可能需要更改现有应用程序或对环境或依赖项进行一些额外的配置。因此,在将 Red Hat build of Quarkus 升级到最新版本前,请查阅 影响与之前版本的兼容以及发行注记中 已弃用组件和功能 部分的更改。
有关红帽构建的 Quarkus 的产品生命周期、时间表和支持策略的详细信息,请登录红帽客户门户网站并查看知识库文章,红帽构建的 Quarkus 生命周期和支持策略。
1.4.2. 测试和验证的环境 复制链接链接已复制到粘贴板!
Red Hat build of Quarkus 3.15 在以下 Red Hat OpenShift Container Platform 版本上提供:4.17、4.12 和 Red Hat Enterprise Linux 8.10。
有关支持的配置列表,请登录到红帽客户门户网站,并查看红帽知识库解决方案 Red Hat build of Quarkus 支持的配置。
1.4.3. 开发支持 复制链接链接已复制到粘贴板!
红帽为以下红帽构建 Quarkus 功能、插件、扩展和依赖项提供 开发支持 :
功能
- 持续测试
- Dev 服务
- Dev UI
- 本地开发模式
- 远程开发模式
plugins
- Maven 协议缓冲插件
1.4.3.1. 开发工具 复制链接链接已复制到粘贴板!
红帽为使用 Quarkus 开发工具提供开发支持,包括 Quarkus CLI 和 Maven 和 Gradle 插件,以设计、开发、测试和部署红帽构建的 Quarkus 应用程序。
红帽不支持在生产环境中使用 Quarkus 开发工具。如需更多信息,请参阅红帽知识库文章 开发支持覆盖范围。
1.5. 弃用的组件和功能 复制链接链接已复制到粘贴板!
本节中列出的组件和功能在 Red Hat build of Quarkus 3.15 中弃用。这个版本包括了并支持它们。但是,不会对这些组件和功能进行任何增强,它们可能会在以后被删除。
有关本发行版本中弃用的组件和功能列表,请登录红帽客户门户网站并查看 红帽构建的 Quarkus 组件详情页面。
1.5.1. 弃用 Apache Derby 复制链接链接已复制到粘贴板!
Apache Derby 数据库在红帽构建的 Quarkus 3.15 中弃用,计划在以后的发行版本中删除。在当前发行生命周期中,红帽将继续对 Apache Derby 提供开发支持。
1.5.2. 弃用 OpenShift Service Binding Operator 复制链接链接已复制到粘贴板!
OpenShift Service Binding Operator 在 OpenShift Container Platform 4.13 及更新的版本中已弃用,计划在以后的 OpenShift Container Platform 发行版本中删除。
1.6. 技术预览 复制链接链接已复制到粘贴板!
本节列出了红帽构建的 Quarkus 3.15 中现在作为技术预览提供的特性和扩展。
红帽产品服务等级协议(SLA)不支持技术预览功能,且功能可能并不完善,红帽建议您不要在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
1.6.1. Cert-manager 支持并定期重新载入 TLS 证书 复制链接链接已复制到粘贴板!
使用红帽构建的 Quarkus 3.15,您可以使用 cert-manager 配置从 TLS registry 或 Kubernetes 中运行时自动定期重新载入 TLS 证书。这个功能作为技术预览引进。
自动定期重新载入 TLS 证书
TLS 注册表包含一个内置机制,用于定期检查文件系统是否有证书更改并重新加载它们。您可以使用
reload-period属性来配置重新加载间隔,该属性定义重新加载证书的频率。您可以为 HTTP 服务器重新载入 TLS 证书文件(keystore 和 truststore)。证书文件从最初加载的同一位置重新加载,并且仅包含上次重新加载后修改的证书。如果重新加载失败,HTTP 服务器将继续使用之前加载的证书。
当使用兼容扩展时,TLS registry 会自动添加到 Red Hat build of Quarkus 项目中。例如,如果应用程序使用 Quarkus REST、gRPC 或 Reactive 路由,则 TLS registry 会自动添加到项目中。
使用
cert-manager运行 Kubernetes 时,您可以使用
cert-manager功能自动生成、续订和存储证书。cert-manager使用密钥存储和信任存储生成 secret。配置 TLS registry 与使用 Kubernetes secret 时相同。
如需更多信息,请参阅 Quarkus TLS registry 参考指南。
1.6.2. generate reflection-free Jackson serializers 复制链接链接已复制到粘贴板!
通过红帽构建的 Quarkus 3.15,您可以为通过 Quarkus REST 序列化的类型生成更快反映-free Jackson serializers。这个功能作为技术预览引进。
Jackson 序列化将对象转换为其 JSON 表示,方法是通过反映来反映它们。在这个版本中,您可以在构建时自动生成 Jackson StdSerializer 的实现,每个类都以 JSON 转换。然后,红帽构建的 Quarkus 使用在运行时生成的 serializers 来执行由 REST 端点返回的对象的 JSON 序列化。
默认情况下不启用此功能。要启用它,请将以下配置属性设置为 true。
quarkus.rest.jackson.optimization.enable-reflection-free-serializers=true.
如需更多信息,请参阅 Quarkus "Writing REST services with Quarkus REST" 指南中的 Reflection-free Jackson serialization 部分。
1.6.3. 引入了 Infinispan 缓存扩展 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了新的扩展 quarkus-infinispan-cache。
在以前的版本中,红帽构建的 Quarkus 使用 Caffeine 作为 Quarkus 缓存的后端。在这个版本中,您可以使用 Infinispan 作为缓存后端。
与在进程中运行的 Caffeine 不同,Infinispan 在外部运行 Quarkus,确保缓存生命周期独立于应用程序生命周期。此外,Infinispan 是一种分布式系统,因此一个节点故障不会影响其他节点的操作。
- 在 Red Hat build of Quarkus 3.15 中,Infinispan 组件已升级到 15.0 版本。
如需更多信息,请参阅 Quarkus Infinispan 缓存 指南。
1.6.4. 引入了 JDK Flight Recorder 扩展 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 引入了 JDK Flight Recorder (JFR)扩展 quarkus-jfr 作为技术预览。
JFR 是用于监控和诊断 Java 应用程序性能的内置 JVM 工具。它捕获 CPU 用量、内存和线程活动等事件数据。要识别瓶颈并优化性能,请将 JFR 添加到您的应用,配置事件以记录和分析数据。
quarkus-jfr 扩展与以下扩展兼容:
-
quarkus-rest -
quarkus-opentelemetry
如需更多信息,请参阅使用 Java Flight Recorder 的 Quarkus 指南。
1.6.5. OpenTelemetry 指标数据创建和报告 复制链接链接已复制到粘贴板!
您可以使用 OpenTelemetry (OTel)为交互式 Web 应用程序提供指标。使用红帽构建的 Quarkus 3.15,您可以使用 quarkus-opentelemetry 扩展创建并导出 OTel 指标数据。
这个功能是作为技术预览引进的,默认是禁用的。
要启用 OTel 指标,请在构建时指定以下设置: quarkus.otel.metrics.enabled=true
如需更多信息,请参阅使用 OpenTelemetry 指标 的 Quarkus 指南。
1.6.6. MongoDB tracing 增强 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 通过与 quarkus-opentelemetry 扩展集成来增强 MongoDB tracing。
此功能增强作为技术预览引进,并默认禁用。
要将追踪与 MongoDB 一起使用,请将 quarkus-opentelemetry 扩展添加到项目中,并指定以下设置:
quarkus.mongodb.tracing.enabled=true
如需更多信息,请参阅使用 MongoDB 客户端的 Quarkus。
1.7. 影响与早期版本兼容的更改 复制链接链接已复制到粘贴板!
本节论述了红帽构建的 Quarkus 3.15 中的更改,它们会影响使用较早产品版本构建的应用程序的兼容性。
查看这些有问题的更改,并采取必要的步骤来确保应用程序在将其更新至红帽构建的 Quarkus 3.15 后继续工作。
要将应用程序项目更新至红帽构建的 Quarkus 3.15,请参阅 Migrating applications to Red Hat build of Quarkus 3.15 指南。
1.7.1. 兼容性 复制链接链接已复制到粘贴板!
1.7.1.1. Spring 兼容性层已更新,使其与 Spring Boot 3 保持一致 复制链接链接已复制到粘贴板!
随着红帽构建的 Quarkus 3.15,quarkus-spring-data-rest-extension 被升级,以便与最新的 Spring Boot 3 API 更新保持一致。
如果您在代码中使用 PagingAndSortingRepository 接口,则此升级可能会引入破坏更改。在以前的版本中,PagingAndSortingRepository 扩展 CrudRepository,它允许您的自定义存储库继承 CrudRepository 的方法。
要解决与这个更改相关的问题,您必须更新自定义存储库来直接扩展 ListCrudRepository 或 CrudRepository。此调整可确保持续访问所需的方法,并保持与更新的架构的兼容性。
1.7.2. Core 复制链接链接已复制到粘贴板!
1.7.2.1. Dev 服务启动检测更改 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,用来确定 Dev Services 是否启动的方法已更改。
在以前的版本中,要决定是否启动 Dev Services,红帽构建的 Quarkus 会检查是否定义了配置属性而无需扩展它。但是,如果属性扩展到空值,这种方法会导致问题。
现在,红帽构建的 Quarkus 首先检查扩展属性是否为空。当扩展属性结束为空时,这个更改可能会导致 Dev Services 意外启动。当未提供给定属性时,大多数 Dev Services 都会启动,例如 JDBC URL。
由于这个变化,您应该将配置属性调整为包含默认值,确保扩展的属性不为空。
例如,如果您使用 quarkus-test-oidc-server 组件模拟 OpenID Connect (OIDC)服务器,且 application.properties 文件包含:
%test.quarkus.oidc.auth-server-url=${keycloak.url}/realms/quarkus/
%test.quarkus.oidc.auth-server-url=${keycloak.url}/realms/quarkus/
将属性值改为:
%test.quarkus.oidc.auth-server-url=${keycloak.url:replaced-by-test-resource}/realms/quarkus/
%test.quarkus.oidc.auth-server-url=${keycloak.url:replaced-by-test-resource}/realms/quarkus/
这样,如果没有定义 keycloak.url,默认的 replaced-by-test-resource 值可防止属性扩展到空值,从而避免 Dev Services 的意外启动。如果表达式中没有定义变量,则整个表达式将为空。
对于这个特定示例,通过运行 quarkus update 来自动应用此更改。但是,在其他用例中,您可能需要手动应用更改。
1.7.2.2. GraalVM SDK 更新 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 将 GraalVM SDK 依赖项更新为版本 23.1.2,更正早期的超天并确保与最新的 GraalVM 功能兼容。
如果您使用 GraalVM 替换开发扩展,请将 org.graalvm.sdk:graal-sdk 依赖项替换为 org.graalvm.sdk:nativeimage。nativeimage 工件仅包含替换所需的类,使其更精简。
您可以通过运行 Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新来应用此更改。
JDK 17 要求:GraalVM SDK 23.1.2 在运行时至少需要 JDK 17。
1.7.2.3. Infinispan 15 组件升级 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Infinispan 15 组件已升级到 15.0 版本。
在之前的发行版本中,在 Infinispan 15 集成前,您可以使用以下 .Query.java 代码运行查询:
但是,在这个版本里,此代码不再可以正常工作,因为 RemoteCache 现在是一个 @ApplicationScoped 代理 bean 和 Search.getQueryFactory 引发 ClassCastException。
要解决这个问题,使用 RemoteCache API 中的 查询 方法删除间接,如下所示:
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.2.4. 打包配置更改 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,以下与打包相关的属性已被重命名或更改。如果您在配置中使用原始属性,它们仍可以正常工作,但会显示警告。
您可以通过运行 Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新来应用此更改。
| 原始名称 | 当前名称 |
|---|---|
|
|
对于 JAR 构建,请使用带有有效 JAR type: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意: 此配置属性通常仅在构建 uber-JARs 时应用。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 没有替换 ; 现在会忽略这些属性。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
更新任何代码和配置文件,以反映这些更改并在构建过程中停止警告信息。
在 Red Hat build of Quarkus 3.15 中,弃用的 ProfileManager 类和 ProfileManager"getActiveProfile 方法被删除,因为 ProfileManager 无法处理多个配置集。
在这个版本中,需要以下配置更改:
要检索活跃的配置集,请使用 io.quarkus.runtime.configuration.ConfigUtils"getProfiles API。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.2.6. quarkus-app 目录现在只为 fast-jar 软件包创建 复制链接链接已复制到粘贴板!
在早期版本中,会发现一个不需要的行为,无论生成的工件类型是什么,都会在构建系统的输出目录中生成 quarkus-app 目录。
在 Red Hat build of Quarkus 3.15 中,构建过程只为 fast-jar 软件包创建 quarkus-app 目录,这是默认的工件类型。如果您为不同的工件类型配置构建,则不会创建 quarkus-app 目录。
1.7.2.7. 扩展开发人员所需的调整 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,用于生成运行时文件和配置文件的扩展注解处理器已被重新开发,提供了更大的灵活性,但使用新限制:
-
不再允许将旧的
@ConfigRoot与同一模块中的新@ConfigMapping方法混合。如果您只使用@ConfigMapping,则不需要进行任何更改。 对于旧的
@ConfigRoot,请通过将以下内容添加到maven-compiler-plugin配置来通知注释处理器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果测试类中没有配置注解,此标志可在编译测试类时触发警告。要避免这种情况,请只
为默认编译执行启用注解处理器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
我们鼓励迁移至新的 @ConfigMapping 接口,但计划对旧的 @ConfigRoot 类的支持,以确保顺利迁移。计划稍后宣布弃用计划。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.3. data 复制链接链接已复制到粘贴板!
1.7.3.1. 启动时验证的数据库版本 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Hibernate ORM 扩展会验证它在运行时连接的数据库版本至少与构建时配置的成本至少相同。即使配置依赖于红帽构建的 Quarkus 支持的最低数据库版本,也会进行这个验证。
在这个版本中,旨在提醒应用程序开发人员是否尝试使用 Hibernate ORM 或红帽构建的 Quarkus 不再支持的数据库版本。如果您尝试使用不再支持的数据库版本,红帽构建的 Quarkus 不会启动并抛出异常。
这个更改会影响依赖以下数据库版本的应用程序:
- DB2 早于版本 10.5
- Derby 早于 10.15.2
- 早于版本 19.0 的 Oracle 数据库
- MariaDB 早于版本 10.6
- Microsoft SQL Server 早于版本 13 (2016)
- MySQL 早于版本 8.0
- PostgreSQL 早于版本 12.0
如果您无法将数据库升级到受支持的版本,您仍然可以尝试使用它,虽然某些功能可能无法正常工作。要继续使用较早的、不受支持的数据库版本,请明确设置 db-version,如有必要,还要设置 dialect。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
如需更多信息,请参阅以下资源:
- Quarkus "使用 Hibernate ORM 和 Jakarta Persistence" 指南中的 支持的数据库 部分
- Hibernate ORM:支持的 dialects
- Hibernate ORM:社区分离
1.7.3.2. dev Services 默认镜像更新 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,几个 Dev Services 的默认镜像更新至以下版本:
- PostgreSQL 版本 16
- MySQL 版本 8.4
- MongoDB 版本 7.0
- Elasticsearch 版本 8.15
- OpenSearch 版本 2.16
您可以通过运行 Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新来应用此更改。
要使用这些服务的特定版本或分发,您必须手动覆盖应用程序属性中的默认容器镜像。
如需更多信息,请参阅 Quarkus "Dev Services for Elasticsearch" 指南中的 配置 镜像部分。
1.7.3.3. Hibernate ORM 自动清空 优化 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Hibernate Object/Relational Mapping (ORM) auto-flush 功能已被优化。
现在,默认情况下,在运行 Hibernate 查询语言(HQL)、Java Persistence Query Language (JPQL)或原生查询之前,如果数据库检测到这些更改可能会影响查询结果,则 Hibernate ORM 只清除待处理的更改。
在大多数情况下,这种优化将提高应用程序的性能,如更有效地批处理,但可能会出现以下问题:
- 如果您正在运行原生查询,则自动清空要求您在查询上指定相关实体类型。如需更多信息,请参阅 Hibernate ORM 用户指南。
- 如果待处理的更改仅影响查询中使用的外键的目标表,则不会在查询中使用这些目标表,则不会自动清除。
如果要恢复到之前的行为并选择替代的默认值,则会引入 quarkus.hibernate-orm.flush.mode 配置属性。将此属性设置为 always:quarkus.hibernate-orm.flush.mode=always。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
如需更多信息,请参阅以下资源:
1.7.3.4. Hibernate ORM 升级至版本 6.6 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Hibernate ORM 扩展已升级到 Hibernate ORM 6.6,并包括以下有问题的更改:
现在,具有某种形式不正确的配置、映射或查询的应用程序可能会抛出异常。在以前的版本中,它们只会发出警告或故障。例如:
-
当将实体与
@GeneratedValue标识符或@Version属性设置为非null 值合并时,无效的创建尝试会失败。在以前的版本中,它会在数据库中创建实体。如需更多信息,请参阅 当行被删除时,请参阅 Merge 版本化的实体。 -
不再允许在同一类型上应用
@MappedSuperclass和@Embeddable。如需更多信息,请参阅 注释类类型的 Explicit 验证。
-
当将实体与
-
现在,一些功能会被默认启用,以避免意外行为。例如:使用
@Embeddable注释子类型,现在默认使用基于 discriminator 的继承。如需更多信息,请参阅链接: 基于 Discriminator 的嵌入式继承。 - 在某些情况下,行为被修改为符合 Java Persistence API (ffff)规格。如需更多信息,请参阅 Standard :jakarta.persistence.criteria.Expression#as (Class)。
如需更多信息,请参阅以下资源:
quarkus-hibernate-search-orm-outbox-polling 扩展依赖于数据库中的系统表,Hibernate ORM 连接,以及红帽构建的 Quarkus 3.15,这些系统表的 schema 可能会改变。
如果使用此扩展,则需要迁移数据库架构。有关如何迁移数据库模式的详情,请参考"Hibernate 搜索迁移"指南中的 Outbox 轮询数据库表 部分。
如果无法更新数据库模式,请应用以下设置来恢复之前的默认值:
对于默认持久性单元,请指定以下内容:
-
quarkus.hibernate-search-orm.coordination.entity-mapping.agent.uuid-type=char -
quarkus.hibernate-search-orm.coordination.entity-mapping.outbox-event.uuid-type=char
-
对于命名的持久性单元,请指定以下内容:
-
quarkus.hibernate-search-orm.<persistence-unit-name>.coordination.entity-mapping.agent.uuid-type=char -
quarkus.hibernate-search-orm.<persistence-unit-name>.coordination.entity-mapping.outbox-event.uuid-type=char
-
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
在 Red Hat build of Quarkus 3.15 中,io.quarkus:quarkus-panache-common 注解处理器已被删除,因为在使用带有 Panache 的 Hibernate ORM 时,不再需要它用于外部定义的实体,使用 Panache 的 Hibernate Reactive with Panache。
在早期版本中,此注解处理器会在 classpath 中找到时自动运行。如果您在构建工具中覆盖了一组注解处理器,则需要显式添加它。
从注解处理器列表中删除对 io.quarkus:quarkus-panache-common 的所有引用。
您可以通过运行 Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新来应用此更改。
Maven 用户
从 pom.xml 文件查找并删除 io.quarkus:quarkus-panache-common 注解处理器:
gradle 用户
对于 Gradle 构建,从 build.gradle 文件查找并删除 io.quarkus:quarkus-panache-common 注解处理器:
dependencies {
annotationProcessor "io.quarkus:quarkus-panache-common"
}
dependencies {
annotationProcessor "io.quarkus:quarkus-panache-common"
}
1.7.4. 消息传递 复制链接链接已复制到粘贴板!
1.7.4.1. 对 Quarkus Messaging 中同步方法的执行模式的更改 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Quarkus Messaging extensions 中 同步方法的 执行模式现在默认为 worker 线程。在早期版本中,这些方法在 Vert.x 事件循环(I/O 线程)上运行。
例如,现在在 worker 线程上默认调用以下处理方法,而不是 Vert.x I/O 线程:
要恢复到更早的行为,您可以使用 quarkus.messaging.blocking.signatures.execution.mode 配置属性。
可能的值有:
-
Worker(默认) -
event-loop(早期行为) -
virtual-thread
您还可以使用 @Blocking 和 @NonBlocking 注解来基于每个方法调整执行模式:
通过注解方法 @NonBlocking,您可以确保在 Vert.x 事件循环(I/O 线程)中调用它。
检查您的消息传递方法,以确保它们在所需的执行模式下运行,并根据需要更新您的代码或配置。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.4.2. 小的 Reactive Messaging 扩展被重命名为 Quarkus Messaging 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,smallRye Reactive Messaging 扩展已被重命名为 quarkus-messaging sHistoryLimit,以反映它们对被动和阻塞工作负载的支持。
Maven 重新定位过程已被实现。您可以通过运行 Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新来应用此更改。
将项目中旧扩展名称的所有实例替换为新名称。
重命名的扩展
以下扩展已被重命名为:
| 旧名称 | 新名称 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
配置 root 也已从 quarkus.smallrye-reactive-messaging. 更新至 quarkus.messaging。自动回退机制已就位,可恢复到旧的配置属性(如有必要)。
对扩展开发人员的影响
如果您是扩展开发人员,请注意以下与部署相关的工件也被重命名:
| 旧名称 | 新名称 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
更新您的代码和配置,以反映这些更改。
1.7.5. Observability(可观察性) 复制链接链接已复制到粘贴板!
1.7.5.1. 所有 quarkus.opentelemetry 2.13 配置属性都被删除 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,quarkus.opentelemetrySetConfiguration 命名空间下 的所有配置属性都已被删除。
这些属性已弃用,并保持在版本 3.2 和 3.8 中的向后兼容性。由于它们现已在 3.15 中删除,您必须进行以下更改来迁移应用程序:
-
将
quarkus.opentelemetry.命名空间中的所有属性更新为quarkus.otel.命名空间,以便它们与 OpenTelemetry Java autoconfigure 约定 一致。 -
将 sampler 属性从
quarkus.opentelemetry.tracer.sampler更新至quarkus.otel.traces.sampler。 -
基于父 sampler 属性
quarkus.opentelemetry.tracer.sampler.已被删除。要将 sampler 标记为基于父对象,请直接在parent-basedquarkus.otel.traces.sampler属性中指定它,如下所示。
| 旧值 | 新值 | 新值(基于父值) |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
更新您的代码和配置,以使用这些新属性和值。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
在 Red Hat build of Quarkus 3.15 中,弃用的注解 io.opentelemetry.extension.annotations.WithSpan 已被删除。更新您的代码,以使用新的 io.opentelemetry.instrumentation.annotations.WithSpan 注解。
检查并更改依赖旧注解的任何配置或代码,以确保与此次更新兼容。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.5.3. OpenTelemetry 用于 HTTP 的新语义约定 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,OpenTelemetry (OTel) SDK 已升级到版本 1.39.0,并检测到版本 2.5.0。此升级强制使用 OpenTelemetry HTTP 语义约定中定义的新约定稳定性迁移。它还完成删除已弃用的标准。更新依赖于这些约定的任何代码或配置。
另外,quarkus.otel.semconv-stability.opt-in 系统属性已被删除,因为 opting-in 不再被支持。更新依赖于此属性的任何代码或配置。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.5.4. OpenTelemetry REST 客户端范围名称更改 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,OpenTelemetry (OTel) REST 客户端 span 名称现在包含 HTTP 请求方法和路径,例如 GET /hello。较早的 REST 客户端范围名称仅包含 HTTP 方法。
更新依赖于 REST 客户端范围名称特定格式的代码或配置。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.5.5. OpenTelemetry (OTel)范围名称由数据库操作更改 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,由数据库操作生成的 span 名称因我们使用的库中的更新而改变。
例如,在更改之前,用于创建数据库表的旧 span 名称是 DB Query。现在,在这一变化中,新范围名称为 CREATE TABLE {table_name}。
这个新的命名规则提供了更描述性和有意义的范围名称,可以准确反映执行的特定数据库操作。
因此,您可能会在可观察性工具中发现由数据库操作生成的 span 的不同名称。
检查和更新依赖于旧范围名称的任何自定义监控配置、警报或仪表板,以适应新的命名规则。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
有关数据库范围命名约定和最佳实践的更多信息,请参阅 OpenTelemetry 数据库 Span Semantic Conventions 规格。
1.7.5.6. 小健康配置属性重新定位 复制链接链接已复制到粘贴板!
在早期版本中,一些配置属性被错误地位于 quarkus.health 配置 root 下。
在 Red Hat build of Quarkus 3.15 中,这些属性已重新定位到 quarkus.smallrye-health 配置 root 以实现一致性:
-
quarkus.health.extensions.enabled已移到quarkus.smallrye-health.extensions.enabled -
quarkus.health.openapi.included已移到quarkus.smallrye-health.openapi.included
在 Red Hat build of Quarkus 3.15 中,带有旧配置 root 的属性已被弃用,计划在以后的发行版本中删除。更新任何代码或配置,以使用新的属性位置。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.6. 安全性 复制链接链接已复制到粘贴板!
1.7.6.1. 密钥存储和信任存储默认格式已更改 复制链接链接已复制到粘贴板!
使用红帽构建的 Quarkus 3.15,Java Keystroke (JKS)不再是默认的密钥存储和信任存储格式。
反之,红帽构建的 Quarkus 根据文件扩展名决定格式,如下所示:
-
.pem、.crt和.key文件作为 Privacy Enhanced Mail (PEM)证书和密钥读取 -
.jks、.keystore、和.truststore文件被读取为 JKS 密钥存储和信任存储 -
.p12、.pkcs12和.pfx文件作为 PKCS12 密钥存储和信任存储读取
如果您的文件没有使用其中一个扩展,您必须设置文件格式。
例如,要指定 JKS 格式,请设置以下配置值:
-
quarkus.http.ssl.certificate.key-store-file-type=JKS -
quarkus.http.ssl.certificate.trust-store-file-type=JKS
要指定 P12 或 PEM 格式,请设置 P12 或 PEM 而不是 JKS。
在 Red Hat build of Quarkus 3.15 中,quarkus.oidc.authentication.user-info-required 属性现在会在 io.quarkus.oidc.UserInfo 注入 REST 端点时自动设置为 true。这个更改删除了手动配置此属性的需要,因为用户Info 通常会在使用属性时注入。
但是,在更复杂的设置中,如果多个 OIDC 租户安全端点,一些租户不支持 UserInfo,则这个更改可能会导致租户初始化失败。只有在不支持 UserInfo 的租户仍然配置为获取它时,会出现这种情况,可能会导致该租户保护的请求失败。
为了避免多租户设置中的此类故障,在不支持 UserInfo 的租户中将特定于 租户的 quarkus.oidc.<tenant-id>.authentication.user-info-required 属性设置为 false。这样可确保只有支持 UserInfo 的租户强制其收购。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.7. 工具 复制链接链接已复制到粘贴板!
1.7.7.1. JUnit Pioneer 版本不再强制执行 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,Quarkus BOM 不再强制执行 org.junit-pioneer 的版本:junit-pioneer 依赖项。如果您在项目中使用此依赖项,则必须在构建文件中明确指定其版本。
要避免构建问题,请在 pom.xml 或 build.gradle 文件中定义版本;例如:
pom.xml
<properties>
...
<junit-pioneer.version>2.2.0</junit-pioneer.version>
...
</properties>
<properties>
...
<junit-pioneer.version>2.2.0</junit-pioneer.version>
...
</properties>
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.8. Web 复制链接链接已复制到粘贴板!
1.7.8.1. Quarkus REST:以编程方式添加 Web 链接 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 for Quarkus REST (以前称为 RESTEasy Reactive)中),HAL)打包程序类的签名已被修改为包含集合中元素的类型:
-
HalCollectionWrapper<T> -
HalEntityWrapper<T>
在每次代码中使用 HAL 打包程序类时,添加适当的 type 参数。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
创建 HAL 打包程序的新首选方法
创建 HAL 打包程序类的首选方法已更改。使用 io.quarkus.hal.HalService bean 提供的帮助程序方法,而不是使用构造器。例如:
虽然使用构造器创建 HAL 包装器仍可以正常工作,但该方法可能在以后的版本中被弃用。因此,开始使用 HalService bean 公开的帮助程序方法。
如需更多信息,请参阅"Quarkus REST"指南中的 Web 链接支持 部分。
1.7.8.2. 非 REST 路径上的 Quarkus REST 过滤器 复制链接链接已复制到粘贴板!
在早期版本中,Quarkus REST (以前称为 RESTEasy Reactive)过滤器也会运行,即使请求的资源不是 REST 资源。在 Red Hat build of Quarkus 3.15 中,该行为已更改。现在,Quarkus REST 过滤器仅在 REST 资源上运行。
Quarkus REST 是一个从底层构建的 Jakarta REST (以前称为 JAX-RS)实现,用于 Quarkus 的通用 Vert.x 层。它是完全被动的,针对构建时间处理进行了优化。
如果您需要过滤器应用到非Quarkus REST 资源,您可以通过为 NotFoundException 添加自定义 ExceptionMapper 来完成此操作,如下例所示:
使用这个 ExceptionMapper,Quarkus REST 处理 "Not Found" 资源,允许过滤器按预期运行。在以前的版本中,过滤器总是在非 REST 资源上运行,这使得其他扩展很难有效地处理"未找到"场景。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.8.3. Qute REST 集成更新: TemplateInstance 默认阻止 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,io.quarkus.qute.TemplateInstance 类不再注册为非阻塞类型。因此,如果 Jakarta REST (以前称为 JAX-RS)资源方法返回 TemplateInstance 对象,它现在默认被视为阻止。
要恢复之前的非阻塞行为,请将 @io.smallrye.common.annotation.NonBlocking 注解应用到资源方法。
此更改仅影响使用 Quarkus REST (以前为 RESTEasy Reactive)扩展 quarkus-rest 的应用。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
1.7.8.4. 重命名为 Quarkus REST 的 RESTEasy Reactive 扩展 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,RESTEasy Reactive 扩展已重命名为 quarkus-rest fluentd,以反映它们对被动和阻塞工作负载的支持。
Maven 重新定位过程已被实现。您可以通过运行 Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新来应用此更改。
将项目中旧扩展名称的所有实例替换为新名称。
大多数新扩展名称遵循以下命名约定:
-
以
-rest结尾的扩展使用 Quarkus REST (以前为 RESTEasy Reactive)。 -
以 RESTEasy 结尾的
扩展使用 RESTEasy 经典。
重命名的扩展
以下扩展已被重命名为:
| 旧名称 | 新名称 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
配置根也已更新:
| 旧配置 root | 新配置 root |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
自动回退机制已就位,可恢复到旧的配置属性。
对扩展开发人员的影响
如果您是扩展开发人员,请注意以下与部署相关的工件也被重命名:
| 旧名称 | 新名称 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.7.8.5. WebJar Locator 扩展重命名为 Web-dependency-locator 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,quarkus-webjars-locator 扩展被重命名为 quarkus-web-dependency-locator,并改进了 mvnpm(Maven NPM)和 importmaps。
更新您的代码和配置,以使用新的扩展名称。
您必须手动应用此更改。Migrating applications to Red Hat build of Quarkus 3.15 指南中所述的自动更新不包括它。
如需更多信息,请参阅 Quarkus Web 依赖项 locator 指南。
1.8. 已知问题 复制链接链接已复制到粘贴板!
查看以下已知问题以了解红帽构建的 Quarkus 3.15 限制和临时解决方案。
1.8.1. 在 Windows 上缺少 Snappy 的原生库 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,在 Windows 上运行使用 Snappy 压缩库的应用程序会因为缺少原生库而产生错误。
当尝试压缩 Windows 环境中带有 Snappy 的数据时,用户可能会遇到类似以下示例的错误消息。
错误信息示例
... org.eclipse.microprofile.reactive.messaging.Message$5@1e8dc267 from channel 'test' was not sent to Kafka topic 'test' - nacking message: org.apache.kafka.common.KafkaException: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Windows and os.arch=x86_64 ...
...
org.eclipse.microprofile.reactive.messaging.Message$5@1e8dc267 from channel 'test' was not sent to Kafka topic 'test' - nacking message: org.apache.kafka.common.KafkaException: org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Windows and os.arch=x86_64
...
临时解决方案:目前还没有可用的临时解决方案。计划在以后的发行版本中解决这个问题。
1.8.2. Quarkus CLI 无法解析红帽构建的 Quarkus TLS 插件 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,添加了 productized Quarkus TLS CLI 插件。目前,开发工具不会从 maven.repostory.redhat.com 中发现 Quarkus CLI 插件。因此,Quarkus CLI 默认无法找到此插件。
临时解决方案:
要启用 Quarkus CLI 来解析插件,请将 JBang 配置为使用
maven.repository.redhat.com。您可以通过在项目的根目录中使用包含以下内容的
jbang.properties文件,该文件仅在该项目中使用 Quarkus CLI,或者在~/.jbang目录中用于全局配置:run.repos=central,https://maven.repository.redhat.com/ga/
run.repos=central,https://maven.repository.redhat.com/ga/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果已安装 JBang,您也可以使用以下命令全局设置它:
jbang config set run.repos central,https://maven.repository.redhat.com/ga/
jbang config set run.repos central,https://maven.repository.redhat.com/ga/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如需更多信息,请参阅 QUARKUS-5183 和链接问题。
1.8.3. Quarkus CLI 只更新红帽构建的 Quarkus 平台版本 复制链接链接已复制到粘贴板!
在 Red Hat build of Quarkus 3.15 中,运行 update 命令只更新红帽构建的 Quarkus 平台(com.redhat.quarkus.platform)中包含的 BOM。如果版本的一部分、quarkus-qpid-jms-bom 和 quarkus-operator-sdk-bom,则可以包括 quarkus-camel-bom 和 quarkus-camel-bom 和 quarkus-cxf-bom。
但是,该命令不会更新与上游社区版本关联的 BOM 版本。如果您的项目同时包含红帽构建的 Quarkus 和上游 BOM,则此问题可能会导致 Quarkus 和上游 BOM 组合不兼容。
update 命令示例
mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.15.7.redhat-00001:update -Dmaven.repo.local=<path-to-local-repo>
$ mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.15.7.redhat-00001:update -Dmaven.repo.local=<path-to-local-repo>
有问题的 pom.xml 文件示例
- 1
- 没有更新版本。
临时解决方案:手动更新版本号。
在 Red Hat build of Quarkus 3.15 中,使用 quarkus/mandrel-for-jdk-21-rhel8:23.1 红帽构建的 Quarkus Native Builder 镜像在启用了 FIPS 的环境中的原生模式中初始化 RSA 密码会生成 NullPointerException (NPE)错误。
这个问题只在启用了 FIPS 的原生模式下发生,它不会影响禁用 FIPS 的原生模式。在启用了 FIPS 的 Red Hat build 时,它也不会影响 JVM 模式。
启用 FIPS 的环境中不支持原生模式。
错误信息示例
2024-10-17 10:45:01,931 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /repro failed, error id: 9b1f5dbb-058b-4c9b-9377-f3acc0a6cba5-1: java.lang.RuntimeException: java.lang.NullPointerException
at org.acme.ReproResource.init(ReproResource.java:38)
...
2024-10-17 10:45:01,931 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /repro failed, error id: 9b1f5dbb-058b-4c9b-9377-f3acc0a6cba5-1: java.lang.RuntimeException: java.lang.NullPointerException
at org.acme.ReproResource.init(ReproResource.java:38)
...
临时解决方案:
如果存在,从
application.properties文件中删除以下属性:quarkus.security.security-providers=SunPKCS11
quarkus.security.security-providers=SunPKCS11Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
application.properties文件中添加以下属性,以在运行时初始化ReproResource类:quarkus.native.additional-build-args=--initialize-at-run-time=org.acme.ReproResource
quarkus.native.additional-build-args=--initialize-at-run-time=org.acme.ReproResourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9. 红帽构建的 Quarkus 3.15.7 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.9.1. 程序错误修复 复制链接链接已复制到粘贴板!
要查看已为此版本解决的问题,请参阅 红帽构建的 Quarkus 3.15.7 程序错误修复。
1.9.2. 安全修复 复制链接链接已复制到粘贴板!
-
CVE-2025-58056
netty-codec-http: Netty 容易受到请求 smuggling 的影响,因为块扩展不正确 -
CVE-2025-58057
netty-codec: Netty 的 BrotliDecoder 通过 zip bomb 风格攻击容易受到 DoS 的影响
1.9.3. 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.7 之前,请查看以下与发行版本相关的公告。
1.10. 红帽构建的 Quarkus 3.15.6 SP1 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用的是最新的可用版本,即 3.15.7 SP1。
1.10.1. 安全修复 复制链接链接已复制到粘贴板!
-
CVE-2025-55163
netty-codec-http2: Netty MadeReset HTTP/2 DDoS Vulnerability
1.10.2. 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.6 SP1 之前,请查看以下与发行版本相关的公告。
1.11. 红帽构建的 Quarkus 3.15.6 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.11.1. 程序错误修复 复制链接链接已复制到粘贴板!
要查看已为此版本解决的问题,请参阅 红帽构建的 Quarkus 3.15.6 程序错误修复。
1.11.2. 安全修复 复制链接链接已复制到粘贴板!
-
CVE-2025-49146
quarkus-bom: pgjdbc insecure authentication in channel binding -
CVE-2025-49574
quarkus-bom: Quarkus 潜在的数据泄漏
1.11.3. 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.6 之前,请查看以下与发行版本相关的公告。
1.12. 红帽构建的 Quarkus 3.15.5 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.12.1. 程序错误修复 复制链接链接已复制到粘贴板!
要查看已为此版本解决的问题,请参阅 红帽构建的 Quarkus 3.15.5 程序错误修复。
1.12.2. 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.5 之前,请查看以下与发行版本相关的公告。
1.13. 红帽构建的 Quarkus 3.15.4 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.13.1. 程序错误修复 复制链接链接已复制到粘贴板!
要查看已为此版本解决的问题,请参阅 红帽构建的 Quarkus 3.15.4 程序错误修复。
1.13.2. 安全修复 复制链接链接已复制到粘贴板!
-
CVE-2025-2240
io.smallrye/smallrye-fault-tolerance-core: SmallRye Fault Tolerance
1.13.3. 公告 复制链接链接已复制到粘贴板!
在开始使用并部署红帽构建的 Quarkus 3.15.4 之前,请查看以下与发行版本相关的公告。
1.14. 红帽构建的 Quarkus 3.15.3 SP1 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.14.1. 安全修复 复制链接链接已复制到粘贴板!
-
CVE-2025-1634
io.quarkus:quarkus-resteasy:当客户端请求超时时,Quarkus RESTEasy Classic 中的内存泄漏 -
CVE-2025-24970
io.netty/netty-handler: SSLHandler 无法正确验证数据包,这可能会导致使用原生 SSLEngine 时出现原生崩溃 -
CVE-2025-1247
io.quarkus/quarkus-netty: Quarkus REST 端点请求参数因为共享实例而泄漏
1.14.2. 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.3 SP1 之前,请查看以下与发行版本相关的公告。
1.15. 红帽构建的 Quarkus 3.15.3 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.15.1. 程序错误修复 复制链接链接已复制到粘贴板!
要查看已为此版本解决的问题,请参阅 红帽构建的 Quarkus 3.15.3 程序错误修复。
1.15.2. 安全修复 复制链接链接已复制到粘贴板!
-
CVE-2024-12397
io.quarkus.http/quarkus-http-core: Quarkus HTTP Cookie Smuggling -
CVE-2024-47535
io.quarkus/quarkus-netty: Denial of Service attack on Windows app using Netty
1.15.3. 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.3 之前,请查看以下与发行版本相关的公告。
1.16. Red Hat build of Quarkus 3.15.2 复制链接链接已复制到粘贴板!
红帽构建的 Quarkus 3.15 提供了更高的稳定性,并包括对对用户有严重影响的错误的修复。
要获得红帽构建的 Quarkus 的最新修复,请确保您使用最新的可用版本,即 3.15.7。
1.16.1. 程序错误修复 复制链接链接已复制到粘贴板!
要查看已为此版本解决的问题,请参阅 Red Hat build of Quarkus 3.15.2 程序错误修复更新。
1.16.2. 公告 复制链接链接已复制到粘贴板!
在开始使用并部署红帽构建的 Quarkus 3.15.2 之前,请查看以下与发行版本相关的公告。
1.17. 红帽构建的 Quarkus 3.15.1 公告 复制链接链接已复制到粘贴板!
在开始使用和部署红帽构建的 Quarkus 3.15.1 之前,请查看以下与发行版本相关的公告。