在过去的一周,经过评审后,JDK 20 提案 JEP 438(Vector API第5轮孵化)从 Proposed to Target 状态提升到 Targeted 状态。在Panama项目的支持下,该 JEP 融合了针对前 4 轮孵化反馈的改进:JEP 426(Vector API第4轮孵化)在 JDK 19 中交付;JEP 417(Vector API第3轮孵化)在 JDK 18 中交付;JEP 414(Vector API第2轮孵化)在 JDK 17 中交付;JEP 338(Vector API首轮孵化)在 JDK 16 中作为孵化器模块交付。JEP 438 提议增强 Vector API,根据 JEP 424(外部函数和内存API预览)的定义,从MemorySegment
中加载和向MemorySegment
存储向量。
JDK 21 提案 JEP 431(序列集合)已经从 Candidate 状态提升到 Proposed to Target 状态。该 JEP 提议引入“一个新的接口族,用于表示集合的概念,这些集合的元素按照预定义的序列或顺序排列,它们是作为集合的结构属性。”这一提案的动机是由于集合框架中缺乏预定义的顺序和统一的操作集。评审预计将于 2023 年 3 月 16 日结束。要了解更多关于 JEP 431 的更多细节,可以阅读InfoQ的这篇新闻报道。
在过去的一周,JEP 439(Generational ZGC)从 Draft 8272979 状态提升到 Candidate 状态。这个 JEP 提议“通过扩展 Z 垃圾收集器(ZGC)来为年轻对象和老对象维护单独的代,以此提高应用程序的性能。这将使 ZGC 能够更频繁地收集年轻对象,它们往往会在年轻时死亡。”
Oracle 首席产品经理Dalibor Topic曾提议解散并归档 JDK 6 项目,原因是:过去两年没有明确的项目负责人或邮件列表流量;过去四年的访问量为 0。InfoQ 后续将带来更详细的新闻报道。
JDK 20 仍处于发布候选阶段,GA 版本预计将于 2023 年 3 月 21 日发布。Build 36仍然是 JDK 20早期访问构建的当前构建。要了解关于这个版本的更多细节,请查看发布说明。
JDK 21 的早期访问构建Build 13也于上周发布,其中包括来自 Build 12 的更新,该更新修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明。
对于JDK 20和JDK 21,我们鼓励开发人员通过Java Bug数据库报告 Bug。
Spring Cloud Data Flow 2.10.2发布,修复了 Bug,库升级到 Spring Boot 2.7.9 和 Spring Cloud 2021.0.6。它还升级了子项目依赖项,如:Spring Cloud Dataflow Build 2.10.2、Spring Cloud Dataflow Common 2.10.2、Spring Cloud Dataflow UI 3.3.2、Spring Cloud Deployer K8S 2.8.2。要了解关于这个版本的更多细节,请查看发布说明。
Spring Modulith 0.5发布,库升级到 Spring Boot 3.0.4 和 jMolecules 2022.2.4。它还带来了如下改进:重命名了触发 JDBC 数据库初始化的属性,从spring.modulith.events.schema-initialization.enabled
改为spring.modulith.events.jdbc-schema-initialization.enabled
。要了解关于这个版本的更多细节,请查看更新日志。
Quarkus 3.0.0的第5个(也是最后一个)Alpha版本发布,支持:Hibernate ORM 6.0 和StatelessSession
接口;新的Dev UI;Gradle 8.0;在 REST Client Reactive 中通过@ClientRedirectHandler
注解自定义重定向处理程序;通过@Scheduled
注解设置 cron 时间表的时区。要了解关于这个版本的更多细节,请查看更新日志。
Quarkus 2.16.14.Final 是第4个维护版本,带来了一些显著的改进,例如:传播 Quarkus 相关的故障安全系统属性;当服务器响应是 204 No Content时,从 REST 客户端返回一个空的InputStream
;改进了DevServicesKubernetesProcessor
类中的日志记录。要了解关于这个版本的更多细节,请查看更新日志。
IBM发布了 Open Liberty 23.0.0.2,新特性包括:用 Admin Center 测试数据库连接;server stop
命令新增命令行选项--timeout
;修复了CVE-2022-45787漏洞(在 Apache James Mime4J中,TempFileStorageProvider
类使用的临时文件被赋予了不恰当的懒惰权限,可能会导致信息泄露给其他本地用户)。
Micronaut 基金会发布了 Micronaut 3.8.7,带来了 Bug 修复、文档改进和模块更新,涉及Micronaut Serialization、Micronaut CRaC、Micronaut Kafka、Micronaut AOT和Micronaut GCP。SnakeYAML 2.0 也进行了更新,解决了CVE-2022-1471漏洞(使用 SnakeYAML Constructor()
类进行类型反序列化为攻击者恶意远程执行代码提供了机会)。要了解关于这个版本的更多细节,请查看发布说明。
Oracle发布了 Helidon 2.6.0,带来了一些显著的变化,其中包括:仅当enable
标志设置为true
时才注册OciMetricsSupport
服务;依赖项升级到 SnakeYAML 2.0;通过移除未部署的工件来清理 Helidon BOM;从文档中删除了将指标从服务器传播到客户端的说明。
Apache Tomcat 11.0.0 的第4个里程碑版本发布,新特性包括:恢复原先基于系统属性加载自定义 URL 协议处理程序的方法;提供了一个不依赖于java.beans
包的 JavaBeans 支持实现;在 NIO2 中异步操作后恢复内联状态,解决实现抛出的意外异常。要了解关于这个版本的更多细节,请查看更新日志。
Apache Camel 4.0.0 的第2个里程碑版本提供了 Bug 修复、依赖项升级和新特性,其中包括:在camel-minio
组件中用于连接到云服务的预签名 URL;为camel-health
组件中具有连接验证扩展的组件添加健康状况检查;camel-jbang
组件的目录输现在采用 JSON 格式。要了解关于这个版本的更多细节,请查看发布说明。
JobRunr 6.1.1发布,修复了两个 Bug:使用JobLambda
接口执行重复作业时的错误;在使用 Yasson 时,由于作业 JSON 缺少属性而导致的NullPointerException
。
Andres Almiray面向 Java 社区发布了Jarviz(一个新的 JAR 文件分析工具) 0.3.0 版本。这个新版本修复了一些 Bug,并提供了一些新特性,包括:新命令extract
,用于按名称或模式提取 JAR 条目;新命令validate
,用于验证包名;新的命令行选项--output-format
,用于指定所需的输出。
Hilla出自Vaadin开发者之手,其 2.0 版本已经发布。这是一个整合了 Spring Boot Java 后端和响应式 TypeScript 前端的开源框架。这个新版本支持:JDK 17;Jakarta EE 10;Spring Boot 3.0;Reactive端点;GraalVM 原生镜像编译;以及一个SSO工具包,用于快速为 Hilla 应用程序添加单点登录功能。要了解关于这个版本的更多细节,请查看发布说明和 InfoQ 的新闻报道。
原文链接:
https://www.infoq.com/news/2023/03/java-news-roundup-mar06-2023/
领取专属 10元无门槛券
私享最新 技术干货