OpenJDK
JEP 434,即外部函数和内存API(第二次预览),在过去的一周从 Draft 8293649进入到 Candidate 状态。这个 JEP 在Panama项目中从前到后的演化路径:JEP 424,即外部函数和内存API(预览),在 JDK 19 中交付;JEP 419,即外部函数和内存API(第二轮孵化器),在 JDK 18 中交付;JEP 412,即外部函数和内存API(孵化器),在 JDK 17 中交付。这个 JEP 提议结合基于反馈所做出的改进在 JDK 20 中进行第二次预览。更新包括:统一了MemorySegment和MemoryAddress接口,也就是说,内存地址由零长度的内存段组成;MemoryLayout封印接口得到增强,方便与 JEP 427(switch中的模式匹配(第三次预览))结合使用。
JEP Draft 8295817,即虚拟线程(第二次预览),在过去的一周已经进入到 Submitted 状态。这个 JEP 属于Loom项目,提议对 JEP 425(在 JDK 19 中交付的虚拟线程(预览))进行第二次预览,争取为这个特性的演进获得更多额外的反馈和经验。需要注意的是,除了一小部分来自 JEP 425 的 API 在 JDK 19 中成为永久 API(因此不在第二次预览中提出)之外,本次预览没有其他的变更。
类似地,JEP Draft 8296037,即结构化并发(第二轮孵化器),已经进入到 Submitted 状态。这个 JEP 也属于 Loom 项目,它提议对 JEP 428(结构化并发(孵化器),在 JDK 19 中交付)进行二次孵化,并在 JDK 20 中交付,争取为这个特性的演进获得更多额外的反馈和经验。唯一的变化是更新了StructuredTaskScope类,用以支持在任务作用域中创建的线程继承作用域值。这简化了跨线程共享不可变数据的过程。
JDK 20
JDK 20早期访问版本的Build 21也在上周发布了,其中包括对各种问题的修复。关于这个版本的更多细节可以在发布说明中找到。
Oracle Java 平台组首席架构师Mark Reinhold正式宣布JDK 20 的发布计划如下:
Rampdown Phase One(从主线分叉):2022 年 12 月 8 日;
Rampdown Phase Two:2023 年 1 月 19 日;
Initial Release Candidate:2023 年 2 月 9 日;
Final Release Candidate:2023 年 2 月 23 日;
General Availability:2023 年 3 月 21 日。
对于JDK 20,开发者可以向Java Bug数据库报告 Bug。
Loom 项目
Loom 项目早期访问版本的 Build 20-loom+20-34 已经对 Java 社区可用,并且是基于 JDK 20 早期访问版本Build 20构建的。
Spring Framework
在通往Spring Integration 6.0.0 的道路上,第一个候选版本的特性包括:RabbitMQ Streams、Kotlin 协程和 GraalVM 多语言 JavaScript 调用。这个版本还移除了Spring Data for Apache Geode。关于这个版本的更多细节可以在发布说明中找到。
面向 Eclipse、Visual Studio Code 和 Theia 的 Spring Tools 4.16.1 已经发布,为 Eclipse 2022-12 里程碑版本提供了 Spring Tools 4 的早期访问版本。由于 Eclipse 2022-09 附带了 m2e 2.0 的一个主要更新,因此打算从 Spring Tools 4.15.3 开始升级的开发人员需要遵循这个迁移指南。关于这个版本的更多细节可以在版本说明中找到。
GraalVM
Oracle Labs发布了 GraalVM 22.3:支持 JDK 19 和 jlink;原生镜像监控和开发者体验方面的更新。正如在 JavaOne 上宣布的那样,GraalVM CE Java 代码将成为 OpenJDK 的一部分。这是 2022 年的最后一个特性版本。关于这个版本的更多细节可以在发布说明和这个 YouTube视频中找到。InfoQ 随后将提供更详细的新闻报道。
Open Liberty
IBM 将 Open Liberty 22.0.0.11 从Beta版提升为交付版本:支持 JDK 19 和分布式安全缓存,多个 Liberty 服务器可以通过使用 JCache 提供程序来共享缓存。这个版本还解决了由nokogiri (现已不存在的 org.cyberneko.html 的一个分支)引发的CVE-2022-24839漏洞,在解析格式不正确的 HTML 标记时会抛出OutOfMemoryError异常。
Open Liberty 22.0.0.12-beta 版本也发布了,提供了对六个新的 Jakarta EE 10 规范的支持:Jakarta Batch 2.1、Jakarta XML Web Services 4.0、Jakarta Server Pages 3.1、Jakarta Standard Tag Library 3.0、Jakarta Messaging 3.1和Jakarta WebSocket 2.1。在即将发布的 MicroProfile 6.0 中还支持两个更新的规范:JWT Propagation 2.1和MicroProfile Metrics 5.0。
Eclipse Vert.x
Eclipse Vert.x 3.9.14 版本已经发布,包含了依赖项升级:GraphQL Java 19.2、Netty 4.1.84.Final、Protocol Buffers Java 3.21.7 和Jackson Databind(解决了CVE-2022-42003漏洞,即 Jackson Databind 中的拒绝服务漏洞)。3.9 版本系列的生命周期计划在 2022 年底结束,因此建议开发人员升级到 Vert.x 4.x 版本。关于这个版本的更多细节可以在版本说明中找到。
Apache 软件基金会
Apache TomEE 8.0.13 已经发布,特性包括:一个关于如何使用属性提供程序的示例;依赖升级——Jakarta Faces 2.3.18、MyFaces 2.3.10、Hibernate Integration 5.6.9.Final、BatchEE 1.0.2、Tomcat 9.0.68 和 SnakeYAML 1.33。关于这个版本的更多细节可以在发布说明中找到。
JReleaser
JReleaser是一个简化创建项目发布的 Java 辅助工具,它的 1.3.0 版本已经可用,特性包括:一个新的 WorkflowListener 扩展,可以对工作流事件做出反应;增加安装原生镜像组件的选项;支持将 JAR 和 POM 部署到 Maven 兼容的存储库中。关于这个版本的更多细节可以在更新日志中找到。
Hibernate
5.11.11.Final 和 5.10.13.Final 版本的Hibernate Search已经发布,包括依赖项升级:分别是Hibernate ORM 5.4.33.Final 和 5.3.28.Final。5.10.13 版本还修复了在 Spring Boot 2.4.0+和 Spring Framework 5.3+中用EntityManager接口创建FullTextSession时抛出的ClassCastException。
PrimeFaces
开源 UI 组件库实现PrimeFaces已经发布了7.0.30、8.0.22、10.0.17、11.0.9和12.0.1单点版本。新特性和增强包括:为JpaLazyDataModel类实现一个 IN 匹配模式,即 filterMatchMode="in";确保在使用SelectCheckboxMenu类时,emptyLabel 属性不显示文本。
已发布的 PrimeVue 3.18.0 还提供了这些特性:对所有菜单组件的可访问性增强;FileUpload的模板支持;响应式Paginator。关于这个版本的更多细节可以在更新日志中找到。
JDKMon
JDKMon是一个监控和更新已安装 JDK 的工具,它的17.0.37版本已经在上周对 Java 社区可用。这个工具由 Azul 首席工程师Gerrit Grunwald创建,新版本修复了一个检测 GraalVM 构建的问题。
EclipseCon
EclipseCon 2022于上周在德国路德维希堡的Schlosspark论坛上举行,来自 Java 社区的演讲嘉宾探讨了 Java、开源方式、云原生技术以及质量和安全方面的话题。大会也包含了年度社区日。
原文链接:
https://www.infoq.com/news/2022/10/java-news-roundup-oct24-2022/
相关阅读:
评论