JDK 24
JDK 24 早期访问构建版本的第32个构建版本已发布,包含了自第 31 个构建版本以来的更新 ,修复了多个 问题。更多关于此版本的详细信息可以在发布说明中找到。
根据 JDK 24 发布计划,Oracle Java 平台团队的首席架构师 Mark Reinhold 正式宣布 JDK 24 已进入 Rampdown Phase Two。这意味着:不会再为 JDK 24 添加新的 JEP,并将专注于通过修复请求流程修复优先级为 P1 和 P2 的问题。尽管仍有可能通过后期增强请求流程进行少量优化,但 Reinhold 表示,这一门槛“已变得异常高”。预计于 2025 年 3 月正式发布的 JDK 24 最终功能集将包括:
JEP 404: 分代 Shenandoah(实验性)
JEP 450: 紧凑的对象头(实验性)
JEP 472: 为限制 JNI 的使用做准备
JEP 475: G1 的后期屏障扩展
JEP 478: 密钥派生函数 API(预览)
JEP 479: 移除 Windows 32 位 x86 移植版本
JEP 483: 预先加载和链接类
JEP 484: 类文件 API
JEP 485: 流收集器
JEP 486: 永久禁用安全管理器
JEP 487: 作用域值(第四次预览)
JEP 488: 模式中的原始类型、instanceof 和 switch(第二次预览)
JEP 489: 向量 API(第九次孵化)
JEP 490: ZGC:移除非分代模式
JEP 491: 无需固定即可同步虚拟线程
JEP 492: 灵活的构造函数体(第三次预览)
JEP 493: 无需 JMOD 链接运行时镜像
JEP 494: 模块导入声明(第二次预览)
JEP 495: 简单源文件和实例主方法(第四次预览)
JEP 496: 量子抗性模块格基密钥封装机制
JEP 497: 量子抗性模块格基数字签名算法
JEP 498: 在 sun.misc.Unsafe 中使用内存访问方法时发出警告
JEP 499: 结构化并发(第四次预览)
JEP 501: 弃用 32 位 x86 移植版本
JDK 25
JDK 25 早期访问构建版本的第 6 个构建版本也已发布,包含从第 5 个构建版本以来的更新,修复了多个问题。更多关于此版本的详细信息可以在发布说明中找到。
对于 JDK 24 和 JDK 25,开发人员可以通过 Java Bug 数据库报告问题。
Jakarta EE
在每周的 Hashtag Jakarta EE 博客中,Eclipse 基金会的 Jakarta EE 开发布道师 Ivar Grimstad 提供了关于 Jakarta EE 11 的 更新信息,内容如下:
Jakarta EE 11 TCK(兼容性测试套件)重构的最新消息,团队已经很接近发布 Jakarta EE Web Profile 11。目前只剩下少量测试需要重构,TCK 用户指南的重写工作也已开始。
关于 Jakarta EE 12 的讨论正在加速。请查看 Jakarta EE Platform GitHub 问题跟踪器中标记为 EE12 的问题。欢迎添加新问题或参与已有问题的讨论。
你还可以加入 Jakarta EE Future Directions 兴趣小组,参与有关平台发展的讨论。如果你无法参加每两周一次的电话会议(日历),可以加入邮件列表并在那里参与讨论。
Jakarta EE 11 的发布历程包含了四个里程碑版本,2024 年 12 月发布的 Core Profile,以及在 2025 年第一季度正式发布 Platform 和 Web Profile 之前的候选版本。
Spring Framework
Spring Framework 6.2.2发布,包含了错误修复、文档改进、依赖项升级和新功能,例如:修改 BeanOverrideHandler 类,使其仅跟踪限定符注解,与 Spring Boot 的 QualifierDefinition 类保持一致;将 @MockitoBean 注解提升为支持字段和类型,与已废弃的 Spring Boot @MockBean 注解保持一致。此版本将包含在即将发布的 Spring Boot 3.4.2 和 3.5.0-M1 中。更多关于此版本的详细信息可以在发布说明中找到。
Spring Data 2024.1.2 和 2024.0.8 发布,均为服务版本,包含了错误修复、依赖项升级以及对子项目的依赖项升级,例如:Spring Data Commons 3.4.2 和 3.3.8;Spring Data MongoDB 4.4.2 和 4.3.8;Spring Data Elasticsearch 5.4.2 和 5.3.8;以及 Spring Data Neo4j 7.4.2 和 7.3.8。这些版本将包含在即将发布的 Spring Boot 3.4.2 和 3.3.8 中。
Spring AI MCP 团队发布了 0.5.0 版本,包含了一些新功能,例如:对传输层的增强,新增 HttpServletSseServerTransport 类以及基于阻塞队列的 Spring Framework SseEmitter.SseEventBuilder 接口的实现;新增物料清单。更多关于此版本的详细信息可以在发布说明中找到。
Quarkus
Quarkus 3.17.7 是第六个维护版本(由于回归问题跳过了 3.17.1),包含了显著的变更,例如:解决当方法被 @PermissionsAllowed 注解且有多个值时,@PermissionChecker 注解的参数无法正确匹配的问题;将 MongoDB 连接健康检查的执行从应用程序尝试将第一条记录存储到数据库时改为在启动时。更多关于此版本的详细信息可以在变更日志中找到。
Micrometer
Micrometer Metrics 1.15.0 的第一个里程碑版本包含了错误修复、文档改进、依赖项升级和新功能,例如:在可能的情况下使用 AssertJ AbstractAssert 类中定义的 failWithActualExpectedAndMessage();一致使用 Java String 类的 toLowerCase() 和 toUpperCase()方法,并结合 Java Locale.ROOT 增强安全性。更多关于这些版本的详细信息可以在发布说明中找到。
类似的,Micrometer Metrics 的 1.14.3 和 1.13.10 版本包含了依赖项升级,并解决了一些问题,例如:在返回 CompletableFuture 的方法上应用切面时抛出的 NullPointerException;MeterRegistry 类 remove() 方法的性能退化问题,当注册大量计量器时表现尤为明显。更多关于这些版本的详细信息可以在 1.14.3 版本和 1.13.10 版本的发布说明中找到。
Micrometer Tracing 1.5.0 的第一个里程碑版本包含了错误修复、依赖项升级和新功能:避免创建多余的 OtelSpan 类实例;为 FinishedSpan 添加本地服务名称的设置和检索功能。更多关于此版本的详细信息可以在发布说明中找到。
类似的,Micrometer Tracing 的 1.4.2 和 1.3.8 版本:依赖项分别升级到 Micrometer Metrics 1.14.3 和 1.13.10,解决了当 OtelTraceContextBuilder 类实例设置 parentId 和 sampled 字段为 @Nullable 时,与 TraceContext 接口中的相同字段保持一致的问题。更多关于这些版本的详细信息可以在 1.4.2 版本和 1.3.8 版本的发布说明中找到。
Piranha Cloud
Piranha 25.1.0 发布,包含了许多依赖项升级和显著的变化,例如:新增 SecurityConstraint 类,增强自身的 SecurityManager API;解决 GrizzlyHttpServer 类实例在异步请求上不会无限期挂起的问题。更多关于此版本的详细信息可以在发布说明、文档和问题跟踪器中找到。
Project Reactor
Project Reactor 2024.0.2 是第二个维护版本,包含了对 reactor-core 3.7.2、reactor-netty 1.2.2 和 reactor-pool 1.1.1 的依赖项升级。此外,2024.0.2 版本还与 reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 这些保持不变的构件进行了版本对齐。更多关于此版本的详细信息可以在变更日志中找到。
Project Reactor 2023.0.14 是第十四个维护版本,包含了对 reactor-pool 1.0.9 和 reactor-netty 1.1.26 的依赖项升级。此外,2023.0.12 版本还与 reactor-core 3.6.13、reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 这些保持不变的构件进行了版本对齐。更多关于此版本的详细信息可以在变更日志中找到。
JobRunr
JobRunr 7.4.0 发布,支持 JDK 24、Spring Boot 3.4 和 Kotlin 2.1。增强功能包括:等待所有 RecurringJobPostProcessor 类实例完成后再启动 Spring Boot 和 BackgroundJobServer 类;确保所有 SQL 脚本中使用正确的大小写。此外,还解决了当 MongoDBStorageProvider 类实例配置为 NO_VALIDATE 选项时跳过集合验证的问题。更多关于此版本的详细信息可以在发布说明中找到。
OpenXava
OpenXava 7.4.5 发布,包含了错误修复、文档改进、依赖项升级和增强功能,例如:在 Tab 类中新增 filterByContentInAnyProperty() 方法,用于在任意列中过滤字符串值;在 Strings 工具类中新增 isJavaIdentifier() 方法,用于确定 Java 标识符的存在。更多关于此版本的详细信息可以在发布说明中找到。
Commonhaus 基金会
Commonhaus 基金会(一个致力于开源库和框架可持续性发展的非营利组织)宣布 Infinispan加入该基金会。在 2025 年 1 月中旬发布的一篇博文中,Red Hat 高级首席软件工程师兼 Infinispan 项目负责人 Tristan Tarrant 描述了他们加入基金会的动机,他写道:
Commonhaus 完全符合我们的需求:其轻量级治理模式非常理想。我们既能享受加入优秀的基金会所能获得的好处,又能按照自己的方式运作项目。
Commonhaus 也是许多“友好项目”的所在地:Hibernate、Quarkus、Debezium、Jackson 等项目在我们的软件中扮演着关键角色,很高兴我们能共享一个“共同的家”。
其他加入该基金会的知名项目还包括:JReleaser、JBang、OpenRewrite、SDKMAN、EasyMock、Objenesis 和 Feign。
原文链接:
https://www.infoq.com/news/2025/01/java-news-roundup-jan13-2025/
评论