Java 近期新闻:Vector API、Spring 升级及 CVE、Payara 平台、Groovy 和 TomEE 升级

简介: 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 升级。

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 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。

对于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 事件GarbageCollection、GCPhasePause、SafepointBegin、SafepointEnd和ExecutionSample;一个专门在原生镜像中搜索有漏洞的 log4j 库并生成告警的功能。这个版本还废弃了在运行时链接镜像的--allow-incomplete-classpath选项,它现在是默认选项。我们鼓励开发者使用新增的--link-at-build-time选项在构建时链接镜像。

Spring Framework

对于 Spring 团队,这可是忙碌的一周,因为他们提供了部分项目的多个候选版本和点版本。

在通往 Spring Boot 2.7.0 的道路上,第一个候选版本发布,其中包括 Bug 修复、文档改进和依赖升级。新特性包括 Kafka 重试主题自动配置和 GraphQL RSocket 支持自动配置。要了解关于这个版本的更多信息,请查看发布说明。

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。要了解关于这个版本的更多信息,请查看发布说明。

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框架数据绑定规则漏洞。要了解关于这个版本的更多信息,请查看发布说明。

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。要了解关于这个版本的更多信息,请查看发布说明。

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文件,使其在网站更新后能指向文档的正确位置。要了解更多细节,请查阅发布说明。

JobRunr

在JobRunr5.0发布后不到一个月,5.0.1 版本正式发布,其中包括 Bug 修复和一项改进,即作业成功后的仪表板日志将保留。这是对作业成功后元数据被清除的破坏性变化的回应。要了解更多细节,请查阅发布说明。

JReleaser

JReleaser的一个小更新发布,包括废弃GoFish软件包管理器,因为项目负责人已经关闭了贡献库。

目录
相关文章
|
2月前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
250 10
|
2月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
92 2
|
15天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
19天前
|
存储 安全 Java
Spring Boot 编写 API 的 10条最佳实践
本文总结了 10 个编写 Spring Boot API 的最佳实践,包括 RESTful API 设计原则、注解使用、依赖注入、异常处理、数据传输对象(DTO)建模、安全措施、版本控制、文档生成、测试策略以及监控和日志记录。每个实践都配有详细的编码示例和解释,帮助开发者像专业人士一样构建高质量的 API。
|
29天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
60 10
|
1月前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
61 6
|
1月前
|
Java API 开发者
Java中的Lambda表达式与Stream API的协同作用
在本文中,我们将探讨Java 8引入的Lambda表达式和Stream API如何改变我们处理集合和数组的方式。Lambda表达式提供了一种简洁的方法来表达代码块,而Stream API则允许我们对数据流进行高级操作,如过滤、映射和归约。通过结合使用这两种技术,我们可以以声明式的方式编写更简洁、更易于理解和维护的代码。本文将介绍Lambda表达式和Stream API的基本概念,并通过示例展示它们在实际项目中的应用。
|
2月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
55 4
|
2月前
|
安全 Java API
告别SimpleDateFormat:Java 8日期时间API的最佳实践
在Java开发中,处理日期和时间是一个基本而重要的任务。传统的`SimpleDateFormat`类因其简单易用而被广泛采用,但它存在一些潜在的问题,尤其是在多线程环境下。本文将探讨`SimpleDateFormat`的局限性,并介绍Java 8引入的新的日期时间API,以及如何使用这些新工具来避免潜在的风险。
42 5
|
2月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
73 2