作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀
Java 近期新闻综述,内容主要涉及 OpenJDK、JEP 426、JDK 19、Jakarta EE 10 更新、Spring Framework 点版本、CVE-2022-22968、Quarkus 2.8.0、Open Liberty 22.0.0.4 和 22.0.0.5-beta、Micronaut 3.4.2、WildFly 26.1、Eclipse GlassFish 7.0-M4、Piranha 22.4.0、Apache Camel Quarkus 2.8.0、IntelliJ IDEA 2022.1、Ktor 2.0 和 Devnexus 2022 大会。
OpenJDK
JEP 426(Vector API 第四轮孵化)从 JEP Draft 8280173 状态提升至候选状态。在 Panama 项目的支持下,该 JEP 包含了针对前三轮孵化的改进:JEP 417(Vector API 第三轮孵化,在 JDK 18 中交付)、JEP 414(Vector API 第二轮孵化,在 JDK 17 中交付)以及 JEP 338(Vector API 第一轮孵化,在 JDK 16 中作为孵化器模块交付)。JEP 426 提议增强 Vector API,以便按照 JEP 424(外部函数 & 内存 API 预览版)的定义,从MemorySegment加载或向MemorySegment存储向量。
JDK 19
JDK 19 早期访问构建的 Build 18 在上周发布,它是 Build 17 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。(https://jdk.java.net/19/release-notes)
对于 JDK 19,我们鼓励开发者通过 Java Bug 数据库报告缺陷。
Jakarta EE 10
在通往 Jakarta EE 10 的道路上,Eclipse 基金会 Jakarta EE 开发大使 Ivar Grimstad 在他的每周博客 Hashtag Jakarta EE 中宣布,在过去的一周里,另有四份规范的发布评审已经结束。这意味着 Platform Profile 中定义的规范已经有大约一半做好了迎接 Jakarta EE 10 的准备:
- Jakarta Persistence 3.1
- Jakarta RESTful Web Services 3.1
- Jakarta XML Binding 4.0
- Jakarta XML Web Services 4.0
- Jakarta Activation 2.1
- Jakarta Annotations 2.1
- Jakarta Batch 2.1
- Jakarta Interceptors 2.1
- Jakarta JSON Binding 3.0
- Jakarta JSON Processing 2.1
- Jakarta Mail 2.1
- Jakarta SOAP with Attachments 3.0
Jakarta Context and Dependency Injection 4.0 的发布评审将于 2022 年 4 月 19 日完成。对于其余的规范,目前正在等待兼容性认证申请,并处于 TCK 测试的不同阶段,发布评审应该会在未来三周内完成,以确保 Jakarta EE 10 能够在 2022 年 5 月底前交付。
Spring Framework
作为 CVE-2022-22965(Spring Framework RCE via Data Binding on JDK 9 )的后续,VMware 宣布了 CVE-2022-22968(Spring Framework 数据绑定规则漏洞),因为此前发现,WebDataBinder类的配置属性disallowedFields没有得到有效保护。计划于 2022 年 4 月 21 日发布的 Spring Boot 2.6.7 和 2.5.13 版本也将包含这一修复,但开发人员最好在其 Spring Boot 应用程序中手动升级 Spring Framework 依赖。
Spring Framework 5.3.19 和 5.2.21 已经发布,前者带来了 12 项 Bug 修复和改进,后者带来了 5 项。这两个版本还解决了上文所述的 CVE-2022-22968 漏洞。
Quarkus
Quarkus 2.8.0.Final 发布,特性包括:将 RESTEasy Reactive 作为默认 REST 层;将 GraalVM 22.0 作为默认版本;新的QuarkusTransactionAPI;以及 Elasticsearch Dev Services(可以自动启动dev和test模式的 Elasticsearch 容器)。此外,由于存在二进制兼容性不可靠问题,AssertJ 被从 Quarkus BOM 中删除。开发人员需要在他们的应用程序中明确指定 AssertJ 3.22.0。要了解关于这个版本的更多细节,请查阅更新日志。(https://github.com/quarkusio/quarkus/releases/tag/2.8.0.Final)
InfoQ 后续将带来更详细的报道。
Open Liberty
IBM 已经基于 Beta 测试版推出了 Open Liberty 22.0.0.4,特性包括:支持 JDK 18;支持 URL 编码字符串客户端证书;引入 Paketo Liberty Buildpack;大量的 Bug 修复。
Open Liberty 22.0.0.5-beta 版也已发布,特性包括:支持 MicroProfile GraphQL 2.0;分布式安全缓存(这样多个 Liberty 服务器就可以通过JCache共享缓存)。
Micronaut
Micronaut 基金会发布了 Micronaut 3.4.2,提供了 Bug 修复、文档改进,并升级到 Micronaut AWS 3.2.3、Micronaut Email 1.2.1、Micronaut AOT 1.0.3、Micronaut Micrometer 4.2.1 和 Netty 4.1.76。要了解关于这个版本的更多细节,请查阅更新日志。(https://github.com/micronaut-projects/micronaut-core/releases/tag/v3.4.2)
WildFly
在 WildFly 26.1 Beta1 发布三周后,红帽公司发布了 WildFly 26. 1,特性包括:支持 LTS 版本 JDK 8、JDK 11 和 JDK 17;能够用 MicroProfile Config 指定一个配置源根目录;一个新的address_queue_scan属性,用于为标记为删除的队列配置有效删除频率;一个新的execution-records-limit属性,用于限制通过 JDBC 存储检索的记录数量;可以启用资源适配器验证日志目录配置。要了解关于该版本的更多信息,请查阅 WildFly 26.1 文档。(https://docs.wildfly.org/26.1)
Eclipse GlassFish
在通往 GlassFish 7.0 的道路上,Eclipse 基金会发布了第四个里程碑版本,它提供了:Jakarta Servlet 6.0 和 Jakarta Server Pages 3.1 规范(通过了各自的 TCK);更新其他 Jakarta EE 10 组件。GlassFish 7.0.0-M4 被认为是一个测试版,可在 JDK 11 至 JDK 18 上编译和运行。要了解关于该版本的更多信息,请查阅发布说明。(https://github.com/eclipse-ee4j/glassfish/releases/tag/7.0.0-M4)
Piranha
Piranha 22.4.0 发布。这个版本被称为 2022 年 4 月“放缓步伐”版,其中包括依赖项和插件更新。要了解关于这个版本的更多信息,请查阅文档和问题跟踪系统。
Apache Camel Quarkus
为了与 Quarkus 保持一致,Apache 发布了 Camel Quarkus 2.8.0,包含 Camel 3.16.0 和 Quarkus 2.8.0.Final。新功能包括:改进对 Windows 的支持;新的 JVM 扩展azure-servicebus和google-secret-manager;原生支持mybatis扩展;废弃spark、ahc和ahc-ws扩展;删除ipfs和weka扩展;一个基于 Vert.x、面向 Azure 扩展的 Azure HTTP 客户端。要了解关于这个版本的更多信息,可以查看已关闭问题列表。
JetBrains
JetBrains 发布了 IntelliJ IDEA 2022.1,新特性包括:支持 JDK 18;新的依赖分析器,用于依赖管理和冲突解决;通知工具窗口提供了一种新的方式来接收和存储来自 IDE 的通知;经过更新的新建项目向导改进了新项目的启动;改进 IDE 与 Kotlin 的性能。要了解关于该版本的更多信息,可在查看发布说明。
经过一年的酝酿,JetBrains 还发布了 Ktor 2.0,其特性包括:支持 Kotlin 1.6.20;通过一个简化的扩展 API 提供了更简单的插件创建方式;支持 Kotlin/Native,作为对现有 GraalVM 支持的补充;提供新的 API,取消post<T>和get<T>方法,简化 HTTP 请求;内置支持重试。要了解关于这个版本的更多信息,请查看更新日志。
InfoQ 后续将对 JetBrains 的这两款产品进行更详细的追踪报道。
Devnexus 大会
在 2021 年的虚拟大会之后,由亚特兰大 Java 用户组组织的 Devnexus 2022 于上周在乔治亚州亚特兰大的乔治亚世界会议中心举行。会议包括研讨会、演讲和第三届年度 JUG 领导人峰会,有许多来自 Java 社区的知名人士发言。
原文链接:
https://www.infoq.com/news/2022/04/java-news-roundup-apr11-2022/