翻译审校 InfoQ 编辑部
本周(2025 年 2 月 3 日当周)的 Java 新闻综述聚焦于以下重要内容:LangChain4j 1.0 的首个测试版发布;JHipster Lite 推出 1.27.0 和 1.28.0 版本;GlassFish 发布 7.0.22 版本;Spring Cloud Stream Applications 发布 2025.0.0 和 2024.0.1 版本。
JDK 24
JDK 24 的第 36 个早期访问版本发布,该版本基于第 35 版进行了更新,修复了各类问题。有关此版本的更多详细信息,可查看 发布说明。
JDK 25
本周还发布了 JDK 25 的第 9 个早期访问版本,它在第 8 版的基础上进行了更新,修复了各类问题。想了解该版本的更多详情,可查阅 发布说明。对于 JDK 24 和 JDK 25,我们鼓励开发者通过 Java Bug 数据库 报告问题。
GlassFish
GlassFish 7.0.22 作为第 22 个维护版本,带来了漏洞修复、依赖项升级以及多项改进,比如:对CommandInvokedEvent
类和命令日志中的密码属性名进行掩码处理;在 GlassFish 静态外壳中添加Add-Opens
和Add-Exports
属性,以确保与更新的 Java 版本、GlassFish Embedded 以及 GlassFish JVM 选项兼容。更多有关该版本的详细信息,可在 发布说明 中查看。
GraalVM
Oracle Labs 发布了 Native Build Tools 的 0.10.5 版本,这是一个 GraalVM 项目,包含与 GraalVM 原生镜像进行互操作的插件。此次最新版本带来了一些显著变化,例如:支持使用最新版 GraalVM 引入的全面的reachability-metadata.json
文件,此前由于JavaApplicationWithAgentFunctionalTest
类的实例导致测试失败,而该实例之前需要单独的元数据文件;还解决了 Native Build Tools Gradle 插件因临时access-filter.json
文件的存在而失败的问题。有关此版本的更多详细信息,可在 变更日志 中查看。Oracle Labs 还发布了 Graal Development Kit 的 4.7.3.1 版本,该版本与 Micronaut 4.7.3 保持一致。这个新版本在软件供应链方面增强了安全性,包括对从源代码构建的 Maven 构件与 Maven Central 上的对应版本进行验证;同时对 GDK Launcher 和 GDK CLI 进行了更新。Graal Development Kit(前身为 Graal Cloud Native)为 Micronaut 提供了一套精选的 Micronaut 框架模块,简化了云应用程序的开发流程。更多有关该版本的详细信息,可查看 发布说明。
Spring Framework
Spring Cloud Stream Applications 2025.0.0 和 2024.0.1 版本发布,分别将依赖项升级到 Spring Boot 3.4.2/Spring Cloud 2024.0.0 和 Spring Boot 3.3.8/Spring Cloud 2023.0.5,同时还有其他重要变化,如支持 Micrometer Tracing;在common.yml
文件中新增enableSecurityScan
属性,用于管理 Trivy 安全扫描的执行,默认值为false
。更多有关这些版本的详细信息,可查看 2025.0.0 版本发布说明 和 2024.0.1 版本发布说明。
Micronaut
Micronaut Foundation 发布了 Micronaut Framework 的 4.7.5 版本,该版本包含 Micronaut Core 4.7.13,并对多个模块进行了漏洞修复和补丁更新,这些模块包括 Micronaut Security、Micronaut Validation、Micronaut Maven Plugin、Micronaut Kafka、Micronaut Test Resources 以及 Micronaut Discovery Client。更多有关该版本的详细信息,可在 发布说明 中查看。
Quarkus
Quarkus 3.18.2 是首个维护版本(跳过了 Quarkus 3.18.0),该版本进行了依赖项升级,并带来了一些重要变化,比如:解决了 Hibernate ORM 在建立数据源连接时出现的NullPointerException
问题;确保从主机复制到容器镜像的原生可执行文件具有适当的 Unix 可执行权限。更多有关该版本的详细信息,可在 变更日志 中查看。
WildFly
WildFly 35.0.1 作为首个维护版本,进行了依赖项升级,并解决了一些重要问题,例如:由于一个线程提交事务时另一个线程正在执行恢复操作,导致的竞态条件引发的NullPointerException
和无日志错误的两阶段提交问题;使用server=name:import-journal
子命令导出 Enterprise Application Platform(EAP)8 文件时出现的NoClassDefFoundError
问题。
LangChain4j
LangChain4j 1.0.0 的首个测试版包含许多重大变更,例如弃用了 ChatLanguageModel 接口中定义的重载 generate() 方法,转而使用实验性的重载 chat() 方法,该方法最终将成为新 Chat API 的一部分。其他显著变化包括:通过将大多数操作集成到 executeOperationWithResponse() 和 executeOperationWithoutResponse() 方法中,而不是为每个操作设置单独的方法,使 McpTransport 接口更加通用;重构了 ToolExecution 类,用于封装所有工具的配置和执行,并引入了处理工具幻觉的策略。该团队计划在 2025 年第一季度发布正式版。更多有关该版本的详细信息,可查看发布说明。
JHipster
JHipster Lite 的 1.28.0 和 1.27.0 版本(分别在 此处 和 此处 发布)进行了多项依赖项升级,其中最值得注意的是将 Vitest 升级到 3.0.5 版本,以修复关键安全问题 CVE-2025-24964。该漏洞为任意远程代码执行漏洞,当 Vitest API 服务器监听时,用户访问恶意网站会通过跨站 WebSocket 劫持(CSWSH)触发此漏洞。更多有关这些版本的详细信息,可查看 1.28.0 版本发布说明 和 1.27.0 版本发布说明。
JDKUpdater
JDKUpdater 的 14.0.73+109 版本于上周发布,这是一款能帮助开发者跟踪 OpenJDK 和 GraalVM 构建更新情况的工具。该工具由 Azul 的首席工程师 Gerrit Grunwald 在 2024 年 3 月中旬推出,此次发布带来了两项新功能:首次提供一组常见漏洞披露(CVE)信息,因为访问国家漏洞数据库(NVD)有时并不可靠;不再替换现有的 CVE 文件,而是使用来自 NVD 的数据进行插入或更新操作。更多有关该版本的详细信息,可查看 [发布说明]
(https://www.infoq.com/news/2025/02/java-news-roundup-feb03-2025/)。
Keycloak
Keycloak 26.1.1 版本发布,带来了漏洞修复和新功能:在 X.509 身份验证器中新增x509-cert-auth-crl-abort-if-non-updated
选项,若配置证书吊销列表(CRL)来验证证书,且 CRL 在指定时间内未更新,则会中止登录;在reset-credential-email
(发送重置密码邮件)身份验证器中新增force-login
选项,用于终止会话并强制用户重新登录。更多有关该版本的详细信息,可查看 发布说明。
Jox
Jox 0.4.0 版本发布,这是一个虚拟线程库,在 Java 中实现了高效的Channel
数据结构,旨在与虚拟线程配合使用。该版本有一些显著变化,例如:对Channel
类进行了重构,将构造函数的访问权限改为private
,并新增了工厂方法;将确定通道缓冲区大小的作用域值从Channel
类的实例移至Flow
类的实例。更多有关该版本的详细信息,可查看 发布说明。
作者介绍
Michael Redlich,在过去 25 年里,Michael Redlich 始终是 Java 社区的活跃成员。2001 年,他创立了花园州 Java 用户组(前身为 ACGNJ Java 用户组),这个用户组至今仍在持续运营。
从 2016 年开始,Mike(Michael 的昵称)担任 InfoQ 的 Java 社区新闻编辑。在此期间,他每月撰写新闻报道,进行技术内容创作,还参与技术评审工作,为社区贡献颇丰。他曾在诸多重要场合发表演讲,比如甲骨文 Code One 大会、企业新兴技术大会、Trenton 计算机节(TCF)、TCF IT 专业人员大会,以及众多 Java 用户组活动。
在技术规范制定领域,Mike 是 Jakarta NoSQL 和 Jakarta Data 规范的贡献者,积极推动相关技术的发展。同时,他还参与了 Jakarta EE 大使领导委员会,为该技术生态的发展出谋划策。2023 年 4 月,他荣获 Java Champion 称号,这无疑是对他在 Java 领域卓越贡献的高度认可。
Mike 在新泽西州克林顿市的埃克森美孚技术与工程公司工作了长达 33 年半之久,最近刚刚退休。在那里,他积累了丰富的科学实验室和网络应用程序定制化开发经验。此前,他还在 Ai-Logix 公司(现 AudioCodes)担任技术支持工程师,不仅为客户提供专业的技术支持,还负责开发电话应用程序。
原文链接:
https://www.infoq.com/news/2025/02/java-news-roundup-feb03-2025/
本文由 InfoQ 独家翻译,未经授权不得转载。