作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀
Java 近期新闻综述,内容主要涉及 OpenJDK、JEP 426、Oracle 发布 4 月关键补丁更新、JDK 19、Liberica JDK 及原生镜像工具包升级、多个 Spring 点版本和里程碑版本、Payara 平台 April 2022 版本发布、Quarkus 2.8.1.Final、Apache Groovy 4.0.2、Apache TomEE 8.0.11、JobRunr 5.0.1 和一项 JReleaser 1.0 升级。
OpenJDK
在从 Draft 状态提升到 Candidate 状态一周后,JEP 426(Vector API,第四轮孵化)又从 Candidate 状态提升到了 JDK 19 的 Proposed to Target 状态。在 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 存储向量。评审预计将于 2022 年 4 月 28 日结束。
作为 2022 年 4 月发布的关键补丁更新的一部分,Oracle 发布了 JDK 18.0.1、17.0.3、11.0.15、8u331 和 7u341 的版本更新。要了解更多细节,请查阅 JDK 18、JDK 17、JDK 11、JDK 8 和 JDK 7 的发布说明。
JDK 19
JDK 19 早期访问构建的 Build 19 在上周发布,它是 Build 18 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。https://jdk.java.net/19/release-notes
对于 JDK 19,我们鼓励开发者通过 Java Bug 数据库报告缺陷。
Liberica JDK 和原生镜像工具包
在 Oracle 发布 2022 年 4 月关键补丁更新的同时,BellSoft 发布了 Liberica JDK 的 18.0.1、17.0.3、11.0.15 和 8u332 版本,这是他们 OpenJDK 的下游发行版。
BellSoft 还发布了 Liberica 原生镜像工具包(NIK)的一个新版本 22.1.0 和一个升级版本 21.3.2。新特性包括:在指向分析过程中对堆进行增量、并发扫描,缩短原生镜像构建时间;支持 JFR 事件GarbageCollectionGCPhasePauseSafepointBeginSafepointEndExecutionSample;一个专门在原生镜像中搜索有漏洞的 log4j 库并生成告警的功能。这个版本还废弃了在运行时链接镜像的--allow-incomplete-classpath选项,它现在是默认选项。我们鼓励开发者使用新增的--link-at-build-time选项在构建时链接镜像。
Spring Framework
对于 Spring 团队,这可是忙碌的一周,因为他们提供了部分项目的多个候选版本和点版本。
在通往 Spring Boot 2.7.0 的道路上,第一个候选版本发布,其中包括 Bug 修复、文档改进和依赖升级。新特性包括 Kafka 重试主题自动配置和 GraphQL RSocket 支持自动配置。要了解关于这个版本的更多信息,请查看发布说明。(https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.7.0-RC1-Release-Notes)
Spring Boot 2.6.7 发布,提供了 38 项 Bug 修复、文档改进和依赖升级,涉及:Spring Framework 5.3.19、Spring Data 2021.1.4、Spring Session 2021.1.3、Spring Security 5.6.3、Micrometer 1.8.5、Reactor 2020.0.18 和 Apache Tomcat 9.0.62。要了解关于这个版本的更多信息,请查看发布说明。https://github.com/spring-projects/spring-boot/releases/tag/v2.6.7
Spring Boot 2.5.13 发布,提供了 31 项 Bug 修复、文档改进和依赖升级,涉及:Spring Framework 5.3.19、Spring Data 2021.0.11、Spring Session 2021.0.6、Spring Security 5.5.6、Micrometer 1.7.11、Reactor 2020.0.18 和 Apache Tomcat 9.0.62。
这两个 Spring Boot 版本都解决了 VMware 上周宣布的 CVE-2022-22968:Spring 框架数据绑定规则漏洞。要了解关于这个版本的更多信息,请查看发布说明。https://github.com/spring-projects/spring-boot/releases/tag/v2.5.13
VMware 宣布了 CVE-2022-22969,即 spring-security-oauth2 中的拒绝服务(DoS),2.5.2 之前的 Spring Security OAuth 版本容易受到通过 OAuth 2.0 客户端应用程序发起授权请求的拒绝服务攻击。Spring Security OAuth 2.5.2 解决了这个 CVE。
在通往 Spring for GraphQL 1.0 的道路上,第一个候选版本发布,它具有以下新特性:支持 RSocket 协议的 GraphQL 服务端和客户端;支持将 GraphQL over HTTP 媒体类型(application/graphql+json)作为默认媒体类型;改进的 GraghQLSource Builder。
Spring Data 2021.2.0-RC1、2021.1.4 和 2021.0.11 版本发布,提供了 Bug 修复和依赖升级,涉及:Spring Data Commons 2.7.0-RC1、2.6.4、2.5.11;Spring Data MongoDB 3.4.0-RC1、3.3.4、3.2.11;Spring Data JDBC 2.4.0-RC1、2.3.4、2.2.11;Spring Data Redis 2.7.0-RC1、2.6.4、2.5.11。
同样,Spring Session 2021.2.0-RC1、2021.1.3 和 2021.0.6 版本发布,提供了 Bug 修复和依赖升级,涉及:Spring Session Core 2.7.0-RC1、2.6.3、2.5.6; Spring Session Data Redis 2.7.0-RC1、2.6.3、2.5.6; Spring Session JDBC 2.7.0-RC1、2.6.3、2.5. 6;Spring Session Hazelcast 2.7.0-RC1、2.6.3、2.5.6;Spring Session MongoDB 2.7.0-RC1、2.6.3;Spring Session for Apache Geode 2.7.0-RC1、2.6.1、2.5.6。
在通往 Spring Security 5.7.0 的道路上,第一个候选版本发布,提供了 Bug 修复、文档改进和依赖升级。新特性包括:新增 SecurityContextHolderFilter 类,允许显式保存 SecurityContext 接口;针对 Cross-Origins Policies 头增加 DSL 支持;允许在受信任客户端配置 Proof Key for Code Exchange(PKCE);支持 SAML 2.0 Login 和 Single Logout XML。要了解关于这个版本的更多信息,请查看发布说明。(https://github.com/spring-projects/spring-security/releases/tag/5.7.0-RC1)
Spring Security 5.6.3 和 5.5.6 版本发布,提供了 Bug 修复和依赖升级,涉及:Spring Framework 5.3.19;Spring Data 2021.1.3 和 2021.0.10;Reactor Netty 1.0.18;Project Reactor 2020.0.18。
Payara
Payara 公司发布了 Payara 平台的 April 2022 版。5.2022.2 社区版包括 13 项 Bug 修复,两项组件升级、三项改进和三项安全修复。5.38.0 企业版包括两项 Bug 修复、一项改进和四项安全修复。两个版本共有的新特性包括:一个新的 gRPC 扩展;Payara 服务器中 Spring Framework WAR 打包应用程序 Spring4Shell 漏洞的热补丁;Jakarta EE 9 和 PrimeFaces 可以搭配使用 Eclipse Transformer。
Payara 还宣布,Payara 5 社区版的生命周期将在下一个版本之后结束,Payara 6 社区版将与即将发布的 Jakarta EE 10 GA 版本保持一致。如果开发者决定继续使用 Payara 5 平台,那么我们建议迁移到 Payara 5 企业版。
Quarkus
在 Quarkus 2.8.0 发布一周后,红帽公司提供了一个维护版本,即 Quarkus 2.8.1.Final,带来了 Bug 修复和文档改进。要了解关于这个版本的更多细节,请查阅更新日志。
Apache Groovy
Apache 软件基金会(ASF)提供了 Apache Groovy 和 Apache TomEE 的点版本。
Groovy 4.0.2 发布,特性包括:初步支持 JDK 19;改进 Gradle 元数据,解决了groovy-all属性的一个问题;初步淘汰与 JEP-411(废弃并准备删除安全管理器)相关的安全策略文件;建议使用 JDK 18 或 JDK 19 的开发者在使用groovysh工具时,将环境变量JAVA_OPTS设置为-Djava.security.manager=allow。要了解更多细节,可以查看发布说明,或阅读这篇关于 Groovy 4.0(于 2022 年 1 月下旬发布)的更详细的报道。
TomEE 是经过 Jakarta EE 9.1 Web Profile 认证的应用服务器,其 8.0.11 版本也已经发布,特性包括 Bug 修复、依赖升级和改进,如用 ASF Matomo 替换 Google Analytics;解决 GitHub Actions 因目前自动生成材料清单而导致 PullRequest Builds 失败的问题;更新tomee.xml文件,使其在网站更新后能指向文档的正确位置。要了解更多细节,请查阅发布说明。https://tomee.apache.org/8.0.11/release-notes.html
JobRunr
在 JobRunr5.0 发布后不到一个月,5.0.1 版本正式发布,其中包括 Bug 修复和一项改进,即作业成功后的仪表板日志将保留。这是对作业成功后元数据被清除的破坏性变化的回应。要了解更多细节,请查阅发布说明。https://github.com/jobrunr/jobrunr/releases
JReleaser
JReleaser 的一个小更新发布,包括废弃 GoFish 软件包管理器,因为项目负责人已经关闭了贡献库。
原文链接:
https://www.infoq.com/news/2022/04/java-news-roundup-apr18-2022/
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
点个在看少个 bug👇
继续阅读
阅读原文