Java近期新闻:Java稳定值、SpringModulith、OpenLiberty

360影视 欧美动漫 2025-03-13 17:26 2

摘要:JEP 502(稳定值(预览))已从 Candidate 状态进入到 Proposed to Target 状态,目标版本为 JDK 25。该 JEP 此前叫作计算常量(预览),引入了计算常量的概念,即最多初始化一次的不可变值持有者。这一特性提供了 final

OpenJDK

JEP 502(稳定值(预览))已从 Candidate 状态进入到 Proposed to Target 状态,目标版本为 JDK 25。该 JEP 此前叫作计算常量(预览),引入了计算常量的概念,即最多初始化一次的不可变值持有者。这一特性提供了 final 字段的性能和安全性,同时在初始化时间上提供了更大的灵活性。评审于 2025 年 3 月 7 日结束。

JEP 503(移除 32 位 x86 移植)已从 JEP Draft 8345168 进入到 Candidate 状态。该 JEP 提议“移除对 32 位 x86 移植版本源代码和构建的支持。”这是 JEP 501(弃用 32 位 x86 移植版本)的后续工作,计划在即将到来的 JDK 24 版本中发布。

JDK 24

JDK 24 早期访问构建版本 的当前版本仍然是 Build 36,更多细节可在发布说明中找到。

JDK 25

JDK 25 早期访问构建版本的 Build 12 也已发布,包含自 Build 11 以来的更新,修复了各种问题。更多关于此版本的细节可在发布说明中找到。

对于 JDK 24 和 JDK 25,开发者可以通过 Java Bug Database 报告问题。

Jakarta EE 11

在每周的 Hashtag Jakarta EE 博客中,Eclipse 基金会 Jakarta EE 开发布道师 Ivar Grimstad 提供了有关 Jakarta EE 11 和 Jakarta EE 12 的更新:

随着 Jakarta EE 11 Web Profile 的 TCK 工作接近完成,Jakarta EE 12 的规划进入了一个新阶段。作为 Jakarta EE 12 的发布负责人,Jared Anderson 要求各组件规范在 2025 年 4 月 15 日前提交发布计划。其中一些已经准备好了计划评审材料。 Jakarta NoSQL 1.0 的发布评审正在进行中(将于 2025 年 3 月 11 日结束)。

Jakarta EE 11 的发布历程包含了四个里程碑版本,在 2024 年 12 月发布的 Core Profile,以及在 2025 年第一季度 Web Profile 的候选发布版本和 2025 年第二季度平台的通用发布版本之前根据需要可能发布的候选版本。

到目前为止,Jakarta EE 12 的计划评审已经提交了 Jakarta Context and Dependency Injection 5.0、Jakarta Data 1.1 和 Jakarta Faces 5.0。

Spring Framework

Spring Modulith 1.4.0 第二个里程碑版本以及服务版本 1.3.3 和 1.2.9 发布,包含了错误修复和依赖项升级。1.4.0-M2 版本的新功能包括:增加新类 ApplicationModuleIdentifiers 和 ApplicationModuleMetadata,分别作为应用模块标识符的有序集合和生成元数据的抽象,向下游基础设施组件公开所需信息;ApplicationModulesExporter 类的实例暴露 ApplicationModuleInitializer 接口 bean 的能力。这些版本的更多细节可在 1.4.0-M2 版本、1.3.3 版本和 1.2.9 版本的发布说明中找到。

Quarkus

Quarkus 3.19 发布,包含了错误修复、依赖项升级和新功能,例如:默认切换到 Red Hat Universal Base Image 9;一个新的从当前使用 Micrometer 实现的指标到 OpenTelemetry 格式的桥接;以及对 JEP 48(预先类加载和链接)的支持,该功能将在即将发布的 JDK 24 中发布。更多关于此版本的细节可在发布说明中找到。

Quarkus 团队还宣布,他们解决了影响 3.15 和 3.8 系列版本的多个 CVE,包括:

CVE-2025-24970,Netty 4.1.91.Final 到 4.1.117.Final 的一个漏洞,当 SslHandler 类实例在接收到特制数据包时未能正确处理验证,可能导致崩溃。

CVE-2025-1247,Quarkus REST(Jakarta RESTful Web Services 规范的实现)的一个缺陷,攻击者可能操纵请求数据、冒充用户或访问敏感信息。如果端点使用字段注入而没有 CDI 作用域,可能导致并发请求之间的请求参数泄露。

CVE-2025-1634,Quarkus RESTEasy Classic 扩展的一个缺陷,当客户端请求超时时,缓冲区未能正确释放,导致内存使用增加,最终因 OutOfMemoryError 导致应用崩溃。

CVE-2024-12225,目前处于保密状态,与默认启用的 WebAuthn 回调端点相关,现在需要显式配置。

这些 CVE 在 Quarkus 3.19.1 以及服务版本 3.15.3.1 和 3.8.6.1 中得到修复和缓解。

Open Liberty

IBM 发布 Open Liberty 25.0.0.2,支持 AES-256 密码加密;更新了指南,帮助用户构建具有集成用户界面和后端逻辑的动态 Web 应用,并新增 MicroProfile 7.0 和无版本特性指南;解决了 CVE-2024-47535,这是 Netty 4.1.114 及以下版本中的一个漏洞,攻击者可利用 Windows 系统环境文件的不安全读取进行拒绝服务攻击并导致应用崩溃。

Apache 软件基金会

Camel Quarkus 3.19.0 发布,与 Quarkus 保持一致,包含 Camel 4.10.0 和 Quarkus 3.19.0。该版本带来了一些显著的变化,例如:通过 Quarkus NativeMonitoringBuildItem 类自动启用原生监控功能;移除了 /observe 端点的可观测性服务配置变通方法。更多关于此版本的细节可在发布说明中找到。

Apache Groovy 4.0.26 和 3.0.24 发布(分别在这里和这里),包含了错误修复、依赖项升级和一个改进:将 Groovy 编译器的 parameter 标志传给 javac 命令。更多细节可在 4.0.26 版本 和 3.0.24 版本的发布说明中找到。

JReleaser

JReleaser 1.17.0 发布,这是一个简化项目发布的 Java 工具,包含了错误修复、文档改进、依赖项升级和新功能,例如:使用新的 Matrix 部分参数化分发的能力;支持使用 mavenCentral 部署器发布 -SNAPSHOT 扩展工件;添加自定义 Scoop 清单的能力。更多关于此版本的细节可在发布说明中找到。

Gradle

Gradle 8.13.0 发布,引入了一个新的自动配置工具,可自动下载 Gradle 守护进程所需的 JVM。其他显著改进包括:为 Scala 插件显式配置 Scala 版本,以便自动解析所需的 Scala 工具链依赖项;JUnit XML 测试事件时间戳的精度提升至毫秒级。更多关于此版本的细节可在发布说明中找到。

来源:商财洞察君

相关推荐