OpenJDK
JEP 434(外部函数 & 内存API第二个预览版)已从 JDK 20 的 Candidate 状态提升为 Proposed to Target 状态。这个 JEP 在Panama项目的支持下不断演进:JEP 424(外部函数 & 内存API预览版)在 JDK 19 中交付;JEP 419(外部函数 & 内存API第二轮孵化)在 JDK 18 中交付;以及 JEP 412(外部函数 & 内存API第一轮孵化)在 JDK 17 中交付。该提案建议纳入基于前期反馈的改进,并在 JDK 20 中提供第二个预览版。其更新内容包括:统一MemorySegment
和MemoryAddress
接口,即内存地址通过零长内存段建模;增强密封接口MemoryLayout
,以便与 JEP 427(Switch模式匹配第三个预览版)搭配使用。
JEP 436(虚拟线程第二个预览版)上周从 Draft 8295817 状态提升为 Candidate 状态。在Loom项目的支持下,该 JEP 提出基于 JDK 19 中交付的 JEP 425(虚拟线程预览版)提供第二个预览版,以便有时间为这项功能的演进提供更多的反馈和经验。需要注意的是,除了少量在 JDK 19 中固化的 JEP 425 API 之外,这第二个预览版本没有提出其他任何改动。
同样,JEP 437(结构化并发第二轮孵化)也从 Draft 8296037 状态提升为 Candidate 状态。这个 JEP(也是在 Loom 项目的支持下)提议基于在 JDK19 中交付的 JEP 428(结构化并发第一轮孵化)在 JDK 20 中重新孵化这个功能,以便有时间获得更多的反馈和经验。唯一的变化是更新了StructuredTaskScope
类,以支持在任务范围内创建的线程对范围值的继承。这简化了跨线程共享不可变数据的过程。
The Regression Test Harness for the OpenJDK Platform(jtreg
)7.1 版发布,主要是修复了 Bug,并改进了 JUnit 测试报告进度的方式。自 2022 年 8 月jtreg
7 版本发布以来,jtreg
所需的最小 JDK 版本为 11。Oracle 公司 Java 平台组成员Chritian Stein表示,近期计划包括 JDK-8296710 的一个 PR,升级到到jtreg 7.1,并在 2022 年 11 月的最后一周集成到 JDK 中。要了解关于这个版本的更多细节,请查看变更日志。
Oracle 编程语言设计师Gavin Bierman更新了 JEP 430(字符串模板预览版,当前处于 Candidate 状态)的规范。
Oracle JVM 架构师John Rose提交了两份 JEP 草案 8297156(字段初始化的底层控制)和 8297236(增强Valhalla类型统一校验)。
JDK 20
JDK 20 的早期访问构建Build 24于上周发布,它是 Build 23 的升级,修复了各种问题。要了解关于这个构建的更多细节,请查看发布说明。
对于JDK 20,我们鼓励开发者通过Java Bug数据库报告缺陷。
Valhalla 项目
在上个版本发布三年多之后,Valhalla 项目早期访问构建Build 20-valhalla+20-75(代号为 LW4)面向 Java 社区发布,它是基于 JDK 20 的一个不完整版本。根据 Oracle 公司技术咨询人员David Simms的推特,这个版本主要是实现 JEP 草案 8277163(值对象预览版,目前处于 Submitted 状态)。要了解关于这个版本的更多细节,请查看发布说明。
JavaFX 20
JavaFX 20 的早期访问构建Build 8和Build 7正式面向 Java 社区发布。按照设计,JavaFX 应用程序开发人员可以在 JDK 20 上使用 JavaFX 20 构建和测试他们的应用程序了。
JCP(Java Community Process)
2022 年 JCP 执行委员会(EC)的选举结果显示,以下成员当选或再次当选,任期两年:
当选席位:Eclipse基金会和微软
协理席位:Ken Fogel、Java Champion 和 Java Champion 会议组织者
新当选的执委会成员将于 2022 年 11 月 29 日开始任职。
Spring Framework
经过一年多的努力,Spring 团队面向 Java 社区发布了 4 个候选版本、6 个里程碑版本以及期待已久的Spring Framework 6.0 GA 版本。Spring Framework 6 的最低要求是 JDK 17 和 Jakarta EE 9,它还与最近发布的 Jakarta EE 10 兼容,并通过Micrometer嵌入了可观察性,可实现度量和跟踪。要了解关于这个版本的更多细节,请查看新特性列表页。InfoQ 后续将带来更详细的报道。
同时,在 Spring Framework 5.x 版本序列中,5.3.24版本的新特性包括:新增SimpleBeanInfoFactory
类,提高自省性能;引入TestSocketUtils
类,替代已弃用的SocketUtils
类;减少了由ProducesRequestCondition
类中定义的getProducibleMediaTypes()
方法导致的LinkedHashSet
类的内存分配。要了解关于这个版本的更多细节,请查看发布说明。
Spring Data 2022.0(代号 Turing)发布,新特性有:针对 Graal Native Image 编译的预处理和反射提示;将 Spring Data Envers 合并到 Spring Data JPA 资源库,将 Spring Data R2DBC 合并到 Spring Data Relational 资源库;完善资源库接口。依赖项升级包括 Spring Framework 6.0、JDK 17 和 Jakarta EE 10。要了解关于这个版本的更多细节,请查看发布说明。
Spring Data 2021.2.6 和 2021.1.10 版本发布,主要是修复 Bug,并将依赖项升级到 Spring Data 子项目的相应版本,包括:Spring Data JDBC、Spring Data Neo4j、Spring Data MongoDB、Spring Data Elasticsearch和Spring Data Couchbase等。
Spring Cloud Dataflow 2.10.0 的第二个候选版本发布,主要是修复 Bug,并将依赖项升级到了Spring Boot2.7.5、Spring Framework 5.3.23 和Spring Cloud 2021.0.5。要了解关于这个版本的更多细节,请查看发布说明。
Spring Modulith 0.1 的第一个候选版本发布,提供了与模块画布相关的新特性,如:引入 Spring 值类型和 Bean 引用;默认隐藏空行。因为要准备即将发布的 Spring Boot 3.0,所以这将是唯一的候选版本。要了解关于这个版本的更多细节,请查看发布说明以及InfoQ的这篇新闻报道。
Quarkus
Red Hat发布了 Quarkus 2.14.1.Final,提供了 Bug 修复、文档改进,并将 GraalVM/Mandrel 升级到 22.3.0。要了解关于这个版本的更多细节,请查看变更日志。
Quarkus 3.0.0 的第一个 Alpha 版本是作为 GA 版本新特性的预览。该版本以 Quarkus 2.13.3 为基础,以 Jakarta EE 10 规范为目标,但 Jakarta EE 9 下的Jakarta Persistence 3.0除外。因此,Hibernate ORM 5.6仍在支持范围。其他正在进行的工作包括提供MicroProfile 6.0、Flow API和 Hibernate ORM 6.0 支持。关于发布计划的更多细节,如何试用 Quarkus 3.0.0.Alpha1 以及如何升级,请阅读这篇博文。
Micronaut
Micronaut 基金会发布了Micronaut Framework 3.7.4 版本,提供了 Bug 修复、文档改进以及Micronaut Security、Micronaut AWS和Micronaut Serialization的补丁版本。要了解关于这个版本的更多细节,请查看发布说明。
Piranha
Piranha 22.11.0发布。该版本被称为 2022 年 11 月的“Pick your distribution”版本,新特性包括:对Jakarta Enterprise Beans Lite的初步支持;一个面向 Piranha Micro 的 Jakarta EE 默认数据源;为改善对不同 HTTP 引擎的支持而进行的重构。要了解关于这个版本的更多细节,请查看官方文档和问题跟踪系统。
Eclipse Vert.x
Eclipse Vert.x 4.3.5发布,修复了在 4.3.4 版本中发现的一些 Bug。该版本的新特性包括:在vertx-rx
中添加 Vert.x Oracle 客户端;一项更新,在vertx-web
中使用核心HttpServerRequestWrapper
类;公开新的InfluxDb 2.0 配置选项,以便 Vert.x 能够在vertx-micrometer-metrics
中支持 InfluxDb 2.0 连接。此外,该版本还会继续支持虚拟线程孵化项目,并包含一些弃用项和破坏性更改。要了解关于这个版本的更多细节,请查看发布说明。
Apache 软件基金会
Apache Tomcat 10.1.2和9.0.69版本发布,修复了一些 Bug,如:包含 lambda 表达式的表达式语言求值时的并发问题;修正 HTTP cookies 的expires
属性所使用的日期格式,使用单个空格而不是单个破折号来分隔日、月和年组件,以符合 RFC 6265 规范。要了解更多细节,请查看10.1.2和9.0.69版本的发布说明。
Apache Beam 2.43.0发布,带来了 Bug 修复、新特性和功能改进,包括:支持 Python 3.10;初步实现一个 Runner,让开发者可以在Dask上运行 Beam 管道;为所有 Java 线程提供一个名称,改善调试体验;一个在 Java 中使用 Python RunInference的例子。要了解关于这个版本的更多细节,请查看发布说明。
PrimeFaces
PrimeFaces 12.0.2发布,主要是修复 Bug,并在Column
和Columns
类中添加了exportRowspan
和exportColspan
属性。要了解关于这个版本的更多细节,请查看问题列表。
JHipster Lite
JHipster Lite 0.23.0版本发布:支持 GraalVM Native Image;升级端到端模块依赖关系;将依赖项升级到 Spring Boot 3.0.0-RC2、Angular 14.2.10、Node.js 18.12.1 和npm
9.1.1。
原文链接:
https://www.infoq.com/news/2022/11/java-news-roundup-nov14-2022/
相关阅读:
评论