
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 483(预先类加载和链接)的支持,该功能将在即将发布的 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 测试事件时间戳的精度提升至毫秒级。更多关于此版本的细节可在发布说明中找到。
原文链接:
https://www.infoq.com/news/2025/03/java-news-roundup-feb24-2025/
评论