OpenJDK
JEP 432记录模式(第二预览版)在上周从其 8294078 草案晋升为候选状态。相比 JEP 405 记录模式(预览版),该 JEP 更新了:对通用记录模式类型参数推断的支持、新增对记录模式出现在强化 for 语句条件判断中的支持,并移除对命名记录模式的支持。
同样,JEP 433,switch的模式匹配(第四预览版)从 8294285 草案晋升为候选状态。相比 JEP 427 switch的模式匹配(第三预览版),该 JEP 简化了switch
标签的语法、支持在 switch 表达式和语句中以及其他支持模式的结构中,对通用类型模式和记录模式类型参数推断,。
JDK 19
JDK 19 的首个维护版本JDK 19.0.1及对JDK 19.0.1、JDK 11.0.17以及JDK 8u351的安全更新,均为 Oracle 在2022年10月关键补丁更新版本发布。
JDK 20
JDK 20 的Build 20的抢先体验版同样于上周发布,提供对 Build 19 的更新及多个问题修复。关于该版本的更多细节可参见更新日志。
鼓励开发者通过Java Bug数据库报告关于JDK 20的问题。
JavaFX 20
JavaFX 20 的Build 4的抢先体验版已在 Java 社区内可用,旨在同 JDK 20 抢先体验版相协作。JavaFX 开发人员可在 JDK 20 上用 JavaFX 构建并测试应用程序
分代 ZGC
分代 ZGC抢先体验构建版本 Build 20-genzgc+1-14 同样在 Java 社区内可用,该版本是基于 JDK 20 的不完整版。
Oracle 创新实验室
Oracle 创新实验室宣布,将继续在 OpenJDK 上贡献GraalVM社区版源码,意味着当前 GraalVM 的设计和开发都将转移至 OpenJDK 社区,在未来 GraalVM 将适用与 Java 相同的开发模式及流程,且 GraalVM 将与 Oracle Java 的发布和许可模式保持一致。InfoQ 将在后续报告中跟进更详细消息。
在 1.0 版本之前,Oracle创新实验室发布了原生构建工具的0.9.15及0.9.16版本,该工具是包含与 GraalVM 原生镜像互操作插件的 GraalVM 项目。最新版提供对命令行--exclude-config
参数行为的测试及验证优化;修复 MacOS 用户的功能性测试;对工具链选择诊断的优化。关于该版本的更多信息可参见更新日志。
Oracle 创新实验室还给出了计划于 2022 年 10 月及 2023 年 1 月发布的 GraalVM 版本社区路线图,以及对应版本所计划更新的功能特征。
BellSoft
与 Oracle 在 2022 年 10 月的关键补丁更新(CPU)同时发布的还有 BellSoft 对Liberica JDK 17.0.4.1、11.0.16.1.1 及 8u351 版本的 CPU 补丁,该 JDK 是 OpenJDK 的下游版本。此外,BellSoft 还发布了对 19.0.1、17.0.5、11.0.17 及 8u352 版本的补丁集更新(PSU),包含 CPU 及非关键性修复。
Spring 框架
在Spring框架6.0.0 之前,第二候选版本已经发布,提供 28 处 bug 修复、文档优化,以及对包括 Apache Derby 10.16、GraalVM 22.3.0 及 Jackson 2.14.0-RC2 在内的依赖更新。关于该本版的更多信息可参见更新日志。
在发布Spring Boot 3.0.0 之前,第一候选版本已经发布,提供 135 处 bug 修复,文档优化,以及对包括 Spring 框架 6.0.0-RC2、Spring GraphQL 1.0.0-RC1、Spring Security 6.0.0-RC1、Spring Web Services 4.0.0-RC1、Netty 4.1.84.Final、Micrometer 1.10.0-RC1 以及 Log4j2 2.19.0 在内的依赖优化。关于该版本的更多信息可参见更新日志。
Spring 框架 6.0 及 Spring Boot 3.0 均计划于 2022 年 11 月发布 GA,开发者可参考这篇 InfoQ报道了解更多消息。
Spring Boot 2.7.5 已经发布,提供 bug 修复及对包括 Spring Data 2021.2.5、Spring Security 5.7.4、Spring Data 2021.2.5、Hibernate 5.6.12 最终版,以及 Reactor 2020.0.24 在内的依赖升级,关于该版本的更多信息可参见更新日志。
Spring Boot 2.6.13 已经发布,提供 27 处 bug 修复,文档优化,以及包括 Spring Data 2021.1.9、Spring Security 5.6.8、Tomcat 9.0.68、Reactor 2020.0.24,以及 Jetty Reactive HTTPClient 1.1.13 在内的依赖升级。关于该版本的更多细节可参见更新日志。
Spring Data 2022.0.0-RC1、2021.2.5,以及 2021.1.8 版本均已于上周发布,三个版本均提供多处对应依赖升级。候选版本提供了取消 Apache Geode 的 Spring Data 等修订的模块结构,点发布版本可分别与 Spring Boot 2.7.5 和 2.6.13 一起使用。
Reactor Netty 团队发布了 CVE-2022-31684 漏洞,Reactor Netty的HTTP服务器可能会记录请求头信息,拥有服务器日志访问权限的人可透过该漏洞中所记录的请求头信息获取有效访问令牌,但可能只影响启用WARN
级别的无效 HHTP 请求有影响。Reactor Netty 1.0.24 版本提供了对该漏洞的修复。
在Spring Batch 5.0 的第八个里程碑版本发布一周以后,第一候选版本已经发布,其功能有:增加 Spring Batch 版本以优化上下文元数据的执行,取消对 GemFire 的支持。更多关于该版本的信息可参见更新日志。
在发布Spring Web Services 4.0.0 版本之前,第一候选版本已经发布,提供对包括 Spring 框架 6.0.0-RC1、Spring Security 6.0.0-RC1、log4j2 2.19.0, slf4j 2.0.3,以及 Ehcache 2.10.9.2 在内的依赖升级。这是计划支持 Spring Boot 3.0 的最后一个候选版本。
Spring Security 6.0.0-RC1 及 5.8.0-RC1 版本已经发布,提供对 HttpSession 接口的智能访问;简化RequestMatcher
接口配置;提供对shouldFilterAllDispatcherTypes
属性的 XML 支持。候选版本同样提供重大更新。关于该版本的更多信息可参见6.0.0-RC1版本及5.8.0版本的更新日志。
同样,Spring Security 也已发布5.7.4 及 5.6.8 版本,提供 bug 修复,以及对包括 Spring 框架 5.3.23、Reactor Netty 1.0.24、Jackson Databind 2.13.4.1 以及 Eclipse Jetty 9.4.49 在内的依赖更新。关于该版本的更多信息可参见5.7.4版本及5.6.8版本的更新日志。
GraphQL的Spring 1.1.0 的第一候选版本已经发布,提供基于指标的可观测性支持和对Micrometer的分布式追踪。该版本发布后直到预计于 2022 年 11 月发布的 GA 之前都不再更新功能,开发团队在此期间将专注于 bug 修复和文档优化。Spring GraphQL 1.1.0-RC1 也将包括在 Spring Boot 3.0.0-RC1 内。关于该版本的更多信息可参见更新日志。
基于单片机和模块化应用开发热度再起,Spring推出了新的实验性项目Spring Modulith,支持开发者“在代码中表达逻辑应用模块,并构建结构良好、领域一直的 Spring Boot 应用”。InfoQ 将在后续报道中提供更多细节。
VMware 工程师Andy Wilkinson宣布Spring Initializr团队的默认构建工具将从 Maven 改为 Gradle。Wilkinson 代表团队认为 Gradle 是更好的构建系统,他写道:
对基于 Spring Boot 3.0 的应用来说尤为如此,因为 Gradle 在 AOT 处理上给开发者带来了更好的体验。我们希望能鼓励社区使用 Gradle 的同时,保证 Maven 爱好者们能随时切换回 Maven。
仍希望使用 Maven 的开发者们可简单通过https://start.spring.io/#!type=maven-project
使用。InfoQ 会在后续跟进更详细的新闻报道。
EclipseLink
EclipseLink 4.0.0 版本已发布,是Jakarta Persistence规范的兼容实现,提供多出更新,包括:添加*Visitor
类及接口至EclipseLink-ASM项目;OneToManyMapping
类中的clone()
方法可克隆合适字段,修复了多线程环境中抛出的ConcurrentModificationException
;将 Oracle 依赖更新至版本 21c。关于该版本更多信息科参见更新日志。
Quarkus
红帽发布了 Quarkus 2.13.3 最终版,解决了Jackson Databind中拒绝服务的漏洞CVE-2022-42003,并鼓励开发者们升级至版本 2.14.0-RC1、2.13.4.1 及 2.12.17.1。SmallRye Reactive Messaging 3.21.0、Kotlin Serialization 1.4.1 以及 Jackson Databind 2.13.4 同样进行了依赖升级。关于该版本的更多信息可参见更新日志。
Micronaut
Micronaut 基金会发布了 Micronaut 框架 3.7.2 版本,提供问题修复、对 Micronaut Data 3.8.1、JUnit 5.9.1、jackson-databind
2.13.4.2、managed-testcontainers
1.17.5、managed-swagger
2.2.3,以及micronaut-gradle-plugins
5.3.15 的依赖升级。关于该版本的更多细节可参见更新日志。
Hibernate
Hibernate Reactive 1.1.9 最终版已经发布,提供性能增强:在检查ReactiveConnectionSupplier
接口时避免了类型换缓存。关于该版本的更多细节可参见问题列表。
JHipster
JHipster Lite 的0.20.0及0.19.0版本已经于上周发布,提供对 Neo4j 的支持、对 Angular 14.2.7 的依赖更新、删除弃用、无逻辑模板工具Mustache的重构工作。
Apache 软件基金会
Apache 软件基金会发布了 CVE-2022-42889,在Apache Common文本中执行任意代码漏洞,由于不安全的默认插值,处理不受信任的输入时,该漏洞允许远程代码执行。建议开发者们升级至Apache Commons文本1.10.0。
Apache Groovy 4.0.6 已经发布,提供对 Jackson Databind 2.13.4、JUnit 5.9.1、ASM 9.4、Spock 2.3、junit-platform
1.9.1 以及japicmp
0.4.1 等 14 处 bug 修复、优化,以及依赖升级。关于该版本更多细节可参见更新日志。
同样,Apache Groovy 2.5.19 已经发布,提供 72 处 bug 修复、优化,以及对 Spock 1.3 的依赖升级。关于该版本更多细节可参见更新日志。
JavaOne
时隔五年,JavaOne终于回到了内华达州的拉斯维加斯,在上周的凯撒论坛和威尼斯人会展中心,众多来自 Java 社区的演讲者提议并推行了各种类型的会议,如 Birds-of-a-Feature、动手实践、快速讲座、实践课程和深度挖掘。
众多亮点之一的是由 Oracle 公司 Java 开发者关系副总裁Chad Arimura所推行的Java之内 | JavaOne 2022技术主题演讲,该演讲还邀请了来自微软和 Oracle 公司的特别嘉宾:
微软开发者部门及 GitHub 总裁Julia Liuson,微软首席云开发者倡议者Mark Heckler,共同介绍了当前微软 Azure 的 Java 开发。
Oracle 公司技术顾问Gavin Bierman探讨了 Amber 项目,并演示了如何在 switch 中使用记录模式及模式匹配。
Oracle 公司 Java 虚拟机高级主管Mikael Vidstedt,探讨了 ZGC。
Oracle 公司技术顾问Sean Mullan,探讨了 Java 的安全技术。
Oracle 公司技术顾问Ron Pressler及 Oracle 公司架构师Tomas Langer,探讨了 Loom 项目,并演示了如何在阻塞和反应环境中使用虚拟线程。Langer 还介绍了一款基于虚拟线程的新微服务框架Helidon Níma,可以在保持线程阻塞模型的同时提供一个低开销、高并发的服务器。
Oracle 公司 Java 开发倡导者Denys Makogon,从乌克兰发来了线上虚拟演讲,关于 Loom 项目和 ZGC 是如何改进了团队在 Oracle 红牛竞速 F1 模拟器中的遥测摄取引擎。
上一届 JavaOne 是 2017 年举办的,并在 2018 和 2019 年改名为 CodeOne,由于疫情原因,2020 年和 2021 年并未举办大会。
原文链接:
Java News Roundup: JEP Updates, GraalVM Code to OpenJDK, Return of JavaOne
相关阅读:
评论