本期 Java 近期新闻综述内容主要涉及 Oracle、JDK 18、JDK 19、JDK 20、Spring Boot 和 Spring Security 里程碑版本和点版本、Spring for GraphQL 1.0.1、Liberica JDK 更新、Quarkus 2.10.3、CVE in Grails、JobRunr 5.1.6、JReleaser 维护版本、Apache Tomcat 9.0.65 和 10.1.0-M17、Tornado VM on Apple M1 和 JBNC 大会。
Oracle
作为 2022 年 7 月关键补丁更新的一部分,Oracle 发布了 Oracle Java SE 的 18.0.1.1、17.0.3.1、11.0.15.1、8u333 和 7u343 版本。要了解更多细节信息,请分别查看JDK 18、JDK 17、JDK 11、JDK 8和JDK 7的发布说明。
JDK 18
JDK 18.0.2与 Oracle 的关键补丁更新同时发布,带来了小幅升级,并删除了Subject
类中current()
和callAs()
方法的备用ThreadLocal
类实现。不过,默认实现支持得以保留。要了解更多细节信息,请查看发布说明。
JDK 19
根据JDK 19发布计划,Oracle Java 平台组首席架构师Mark Reinhold正式宣布,JDK 19 进入 Rampdown 第二阶段,这标志着将于 9 月份发布的 GA 版本越来越稳定。重大 Bug,如回归或严重的功能问题,多半还会得到解决,但必须通过Fix-Request流程批准。
JDK 19版本最终将包含以下 7 个特性:
JEP 405:记录模式(预览)
JEP 422:Linux/RISC-V移植
JEP 424:外部函数&内存API(预览)
JEP 425:虚拟线程(预览)
JEP 426:Vector API(第四个孵化阶段)
JEP 427:Switch模式匹配(第三个预览版)
JEP 428:结构化并发(孵化器阶段)
JDK 19早期访问构建的Build 32在上周发布,它是 Build 31 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。
JDK 20
JDK 20早期访问构建的Build 7在上周发布,它是 Build 6 的升级,修复了各种问题。发布说明尚未提供。
对于JDK 19和JDK 20,我们鼓励开发者通过Java Bug数据库报告缺陷。
Spring Framework
Spring Boot 2.7.2发布,带来了 Bug 修复、文档改进和依赖项升级,如 Spring Framework 5.3.22、Spring Data 2021.2.2、Spring GraphQL 1.0.1、Tomcat 9.0.65、Micrometer 1.9.2、Reactor 2020.0.21 和 MariaDB 3.0.6。要了解关于这个版本的详细信息,请查看发布说明。
Spring Boot 2.6.10发布,带来了 Bug 修复、文档改进和依赖项升级,如 Spring Framework 5.3.22、Spring Data 2021.1.6、Jetty Reactive HTTPClient 1.1.12、Hibernate 5.6.10.Final、Micrometer 1.8.8、Netty 4.1.79.Final 和 Reactor 2020.0.21。要了解关于这个版本的详细信息,请查看发布说明。
在通往 Spring Boot 3.0 的道路上,第四个里程碑版本正式发布,支持:新的 Elasticsearch Java客户端;Flyway 9;Hibernate 6.1。要了解关于这个版本的详细信息,请查看发布说明。
Spring Security 5.8.0-M1 和 6.0.0-M6发布,特性包括:SecurityContextHolder
类新增setDeferredContext()
方法,支持SecurityContext
查找惰性访问;支持SecurityContextHolderStrategy
接口,消除存在多个应用程序上下文时的条件竞争;支持AuthorizationManager
接口,延迟Authentication
(如Supplier<Authentication>
)查找以及直接Authentication
查找;在Remember-Me
token 中提供一个 MD5 哈希的替代方案。6.0.0-M6 版本有许多破坏性的更改。要了解关于这些版本的详细信息,请查看 5.8.0-M1和6.0.0-M6的发布说明。
Spring for GraphQL 1.0.1发布,特性包括:改进需要 source/parent 但其为null
时的处理方式;支持解析来自 GraphQL订阅的异常;DataBinder
类的DEFAULT_AUTO_GROW_COLLECTION_LIMIT
字段新增默认限制。这个版本也是随 Spring Boot 2.7.2 发布的,有个依赖项升级到了 GraphQL Java 18.2。要了解关于这个版本的详细信息,请查看发布说明。
Liberica JDK
与 Oracle 2022 年 7 月的关键补丁更新(CPU)同时,BellSoft发布了Liberica JDK(OpenJDK 的一个下游分发版) 17.0.3.1.1、11.0.15.1.1 和 8u341 版本的 CPU 补丁。此外,补丁集更新(PSU)版本 18.0.2、17.0.4、11.0.16 和 8u342,包含 CPU 和非关键补丁,也已经发布。
Quarkus
Quarkus 2.10.3.Final发布,解决了CVE-2022-2466,这是在服务器扩展SmallRye GraphQL中发现的一个漏洞,其中的服务器请求没有正确终止。这个漏洞只影响到 2.10.x 版本序列。我们鼓励开发者升级到这个最新版本。要了解关于这个版本的详细信息,请查看发布说明。
Grails 框架
Micronaut 基金会在 Grails 框架中发现了一个远程代码执行漏洞。该漏洞已被记录为CVE-2022-35912。它让攻击者可以“通过发出一个专门构造作的 Web 请求,获得类加载器访问授权,从而在 Grails 应用程序运行时中远程执行恶意代码”。
该攻击利用了 Grails 中的一部分数据绑定能力。为了防范这个漏洞,5.2.1、5.1.9、4.1.1 和 3.3.15 版本已经打了补丁。
JobRunr
JobRunr是一个 Java 后台处理工具,其创始人和主要开发者Ronald Dehuysser发布了支持MicrometerMetrics(现在可以暴露定时作业和后台作业服务器的数量)的 5.1.6 版本。
JReleaser
JReleaser(一个简化项目发布的 Java 实用程序)的一个早期访问版本发布,修复了 Gradle 中一个属性在访问之前没做适当检查的问题。
Apache Tomcat
Apache 软件基金会发布了Apache Tomcat的里程碑版本和点版本。
Tomcat 9.0.65 发布,特性包括:修复了CVE-2022-34305,这是表单认证示例中的一个低风险漏洞;支持可重复构建;将Tomcat Native Library软件包的版本升级到 1.2.35,其中包括使用 OpenSSL 1.1.1q 构建的 Windows 二进制文件。要了解关于这个版本的详细信息,请查看变更日志。
Apache Tomcat 10.1.0-M17(Beta)发布,特性包括:将 Tomcat Native Library 软件包的版本升级到 2.0.1,其中包括使用 OpenSSL 3.0.5 构建的 Windows 二进制文件;支持可重复构建;升级实验性模块 Panama,支持 OpenSSL 3.0+。Apache Tomcat 10.1.0-M17 是一个 Alpha 里程碑版本,开发人员可以借此提前试用 Apache Tomcat 10.1 发布序列的新特性。要了解关于这个版本的详细信息,请查看变更日志。
TornadoVM
TornadoVM(一家开源软件科技公司)宣布,尽管苹果已经弃用OpenCL,开发人员仍然可以在Apple M1架构上安装 TornadoVM。
JBCNConf
JBCNConf 2022于上周在西班牙巴塞罗那的巴塞罗那国际会议中心举行,来自 Java 社区的许多演讲者发表了演讲并出席了研讨会。
编者按
本文中 Liberica JDK 部分中缩写 PSU(补丁集更新)的定义有更新。
原文链接:
Java News Roundup: JDK 19 in RDP2, Oracle Critical Patch Update, TornadoVM on M1, Grails CVE
评论