Java近期资讯:OpenJDK JEP、GlassFish、Spring AI、JReleaser、A2A Java SDK、Google ADK、Gradle
点击查看原文>
OpenJDK
在审查结束后,JEP 532(模式、instanceof和switch中的基本类型第五次预览)已经从 Proposed to Target 状态提升为 Proposed to Target 状态,计划随 JDK 27 交付。该 JEP 提出了第五次预览,与前四次在 JDK 23 至 JDK 26 中提供的预览相比没有什么变化。这个特性增强了模式匹配,它允许在所有模式上下文中使用基本类型,并扩展了 instanceof 和 switch 结构使它们支持所有的基本类型。
JEP 533(结构化并发第七次预览)已经从候选状态提升为 Proposed to Target 状态,计划随 JDK 27 交付。该 JEP 提出了第七次预览,之前的六次预览是在 JDK 21 至 JDK 26 中进行的,并在 JDK 19 至 JDK 20 中经历过两轮孵化,这次有小幅修改。这个特性通过引入结构化并发简化了并发编程,将“在不同线程中运行的相关任务组视为一个工作单元,从而简化错误处理和取消操作,提高可靠性,并增强可观测性。”审查工作在 2026 年 5 月 5 日结束。
JEP 531(惰性常量第三次预览)已经从候选状态提升为 Proposed to Target 状态,计划随 JDK 27 交付。这个特性以前被称为 StableValues,该 JEP 提出了第三次预览,其中包含两处修改。前两次预览将在即将发布的 JDK 26 和 JDK 25 中提供。这两处变化是:从LazyConstant接口中移除 isInitialized()和 orElse()方法,因为它们与这个特性的设计目标不一致;新增一个工厂方法 ofLazy(),可以为 Java 的所有集合类型(List、Set 和 Map)创建稳定的、预定义的元素。审查工作在 2026 年 5 月 6 日结束。
JEP 536(JFR进程内数据脱敏)已经从 JEP Draft 8372760 状态提升为候选状态。该 JEP 提议增强 JDK Flight Recorder,在 JFR 完成录制之前进行敏感信息脱敏。这些数据可能包括命令行参数、环境变量和系统属性的初始值。
JDK 27
JDK 27 的早期访问构建Build 20发布,它是 Build 19 的升级,修复了各种问题。要了解关于这个构建的更多细节,请查看发布说明。
对于JDK 27,鼓励开发者通过Java Bug数据库报告错误。
GlassFish
Eclipse GlassFish 9.0.0 的第二个里程碑版本发布,提供了 Bug 修复、文档改进、依赖项升级和新特性,包括:支持的最小 JDK 版本为 JDK 21,并支持 JDK 25;实现了Jakarta Security 5.0-M2、Jakarta Faces 5.0-M2、Jakarta Contexts和Dependency Injection 5.0-M1规范;JSON Web Token (JWT)规范的新实现,使用了 Jakarta Security 和Eclipse Soteria。要了解关于这个版本的更多细节,请查看发布说明。
Spring Framework
Spring AI 2.0.0 的第五个里程碑版本发布,带来 Bug 修复、文档改进、依赖项升级和新特性,包括:现在StructuredOutputConverter接口的自定义实现可以参与原生结构化输出流水线,提高了灵活性;在ToolCallAdvisor.Builder类中添加了一个新的方法 isConversationHistoryEnabled(),返回内部 conversationHistoryEnabled 属性是否启用。要了解关于这个版本的更多细节,包括破坏性变更,请查看发布说明。
Quarkus
Quarkus 3.35.0发布,提供了 Bug 修复、依赖项升级和新特性,包括:一个实验性的构建时依赖“tree shaker”,它能识别并排除运行时依赖中未使用的类,从而减少应用程序 JAR 包的大小;新增Reactive Transactions扩展,使 Spring Framework 的@Transactional注解支持 Hibernate Reactive。要了解关于这些版本的更多细节,请查看3.35.1和3.35.0版本的发布说明。
JReleaser
JReleaser(一个旨在项目发布过程的 Java 实用工具) 1.24.0 版本发布,带来 Bug 修复、文档改进、依赖项升级和新特性,包括:在公告者列表中增加了对Zernio的支持;增加了一个 reproducible 标志,用于配置 JReleaser 何时输出一致的内容。要了解关于这个版本的更多细节,请查看发布说明。
LangChain4j
LangChain4j 1.14.0 的正式版本(连同第 24 个 Beta 测试版)发布,带来了 Bug 修复、依赖项升级以及以下新功能:在ReturnBehavior枚举中新增了 IMMEDIATE_IF_LAST 属性,当该工具位于 LLM 响应的末尾时,该属性会返回来自 AI 服务的执行循环结果; 新增OpenAiOfficialResponsesChatModel类,旨在与现有的OpenAiOfficialResponsesStreamingChatModel类保持一致,以便搭配 OpenAI Responses API 使用。要了解关于这个版本的更多细节,请查看发布说明。
Micronaut
Micronaut 基金会提供了即将发布的Micronaut Framework 5.0 的预览,计划于 2026 年第二季度正式发布,将提供以下特性:以 JDK 25 作为基线;支持已经迁移或准备迁移到 JDK 25 的云供应商;性能改进;更新Micronaut指南和文档中的代码示例。另有一篇博文描述了该版本的部分特性,如:支持Kotlin 2.3、Groovy 5.0和Jackson 3.0;采用JSpecify。Micronaut 5.0 将不再支持RxJava 2。
Gradle
Gradle 9.5.0 的正式版本带来了一些显著的变化,包括:改进Gradle Task失败诊断和报告,现在包括来源信息,而且当客户端 JVM 不兼容时,提供了更清晰的日志记录;改进构建编写,为DomainObjectCollection接口新增了 disallowChanges()方法,使得无法向集合添加或从集合中移除元素。要了解关于这个版本的更多细节,请查看发布说明。
Agent2Agent Java SDK
Agent2Agent Java SDK 1.0.0 的第一个Beta版本发布。这是一个 Java 库,实现了Agent2Agent协议(A2A),用于运行充当 A2AServers 的代理应用程序。在 Quarkus 和 WildFly 团队的合作下,这个新版本提供了 Bug 修复和一些值得注意的变化,包括:支持JSON-RPC、gRPC和 HTTP+JSON/REST 传输协议;使用JdkA2AHttpClient类作为默认值,以便提供更灵活的 HTTP 客户端支持;提供详细信息的结构化错误代码。要了解关于这个版本的更多细节,请查看发布说明和Medium的这篇文章。
Google Agent Development Kit
Agent Development Kit(ADK) for Java 1.2.0 发布,提供了 Bug 修复和一些新特性,包括:Google Cloud BigQuery接口新增了自定义遥测头;向McpAsyncToolset类中定义的构建器中添加了McpSessionManager类。要了解关于这个版本的更多细节,请查看发布说明。
Hardwood
Hardwood(一个专门用于Apache Parquet文件格式的解析器) 1.0.0 的第二个Beta版本发布,带来了一些显著的变化,包括:支持VARIANT类型;在Hardwood CLI中新增了一个子命令 dive,用于通过基于文本的用户界面交互式地探索和分析 Parquet 文件。要了解关于这个版本的更多细节,请查看发布说明。
原文链接:
https://www.infoq.com/news/2026/05/java-news-roundup-apr27-2026/
本文来源:InfoQ