OpenJDK
在结束了审查之后,JEP 460,Vector API(第七轮孵化)已从 JDK 22 的 Proposed to Target 状态提升为 Targeted 状态。该 JEP 由Panama项目赞助,整合了对前六轮孵化反馈的改进:JEP 448,Vector API (第六轮孵化),在 JDK 21 中交付;JEP 438,Vector API (第五轮孵化),在 JDK 20 中交付;JEP 426,Vector API (第四轮孵化),在 JDK 19 中交付;JEP 417,Vector API (第三轮孵化),在 JDK 18 中交付;JEP 414,Vector API (第二轮孵化),在 JDK 17 中交付;以及 JEP 338,Vector API (孵化器),在 JDK 16 中作为孵化器模块发布。JEP 448 最重要的变更包括对JVM编译器接口(JVMCI)的增强,以支持 Vector API 值。
JEP 459:字符串模板(第二次预览版),已从 JDK 22 的 Candidate 状态提升为 Proposed to Target 状态。这个 JEP 提供了第一轮预览的第二个预览版本:JEP 430,字符串模板(预览版),在 JDK 21 中交付。该特性通过字符串模板增强了 Java 编程语言,字符串模板包含嵌入式表达式,在运行时对嵌入式表达式进行求值和验证。有关 JEP 430 的更多详细信息可以在 InfoQ 的新闻报道中找到。其审查预计将于 2023 年 11 月 15 日结束。
甲骨文(Oracle)的技术人员顾问Gavin Bierman发布了 JEP 463,隐式类和实例主方法(第二次预览版)的规范草案,以供 Java 社区审查。
JDK 22
JDK 22早期访问构建版本中的第23版于上周发布,其中包括对第 22 版的更新以及各种问题的修复。有关该版本的更多详细信息,请参阅发布说明。
对于 JDK 22,鼓励开发人员通过Java Bug Database报告缺陷。
Spring 框架
Spring Shell的 3.2.0-M3、3.1.5、3.0.9 和 2.1.14 版本已经发布,并且包含一些值得注意的更改,例如:升级到JLine 3.24.1,以解决 stdout
在非交互模式下重定向到 stderr
的问题;终端用户界面(Terminal UI)的改进,尤其是自动配置能力;并且解决了 tab 补全可能因延迟初始化而失败的问题。这些版本分别基于 Spring Boot 3.1.0-RC2、3.1.5、3.0.12 和 2.7.17 构建。有关这些版本的更多详细信息,请参阅版本3.2.0-M3,、版本3.1.5、版本3.0.9和版本2.1.14的发布说明。
Quakrus
Quarkus 3.5.1 的发布带来了一些值得注意的变更,例如:修复了 OIDC 作用域为空时权限映射的问题;改进了Keycloak DevService 中的错误消息和文档;以及由于不稳定而临时禁用 Windows 操作系统上的 VertxMDCTest
类。有关该版本的更多详细信息,请参阅变更日志。
同样,Quarkus 3.2.8 的发布也带来了一些值得注意的变更,例如:修复了在 AccessTokenRequestReactiveFilter
类中定义的 propagateToken()
方法,该方法使用承载方案复制了授权标头;在 QuarkusSecurityTestExtension
类中定义的 afterEach()
方法不应在未使用 @TestSecurity
注释的情况下调用 CDI
类中指定的 current()
方法;以及修复了由于使用 ForwardedProxyHandler
类而导致的 NullPointerException
,该类在找不到记录时允许 null
值。有关该版本的更多详细信息,请参阅变更日志。
这两个版本都解决了CVE-2023-5720的问题,在这种漏洞情况下,攻击者可以通过应用程序访问构建系统中的潜在敏感信息,因为在 Quarkus 中发现了一个缺陷,它无法正确清理使用 Gradle 插件创建的构件。所以这样可以保留某些构建系统信息。
Apache 软件基金会
Apache Camel 3.14.10 的发布提供了漏洞修复、依赖项升级和一些改进:更改了SFTP组件选项 chmodDirectory
中的目录权限;以及在Meter Registry组件中收集授权数据。有关该版本的更多详细信息,请参阅发布说明。
为了与 Quarkus 保持一致,Camel Quarkus 3.2.2 也已发布,但没有任何记录在案的重大修复、依赖升级或改进。有关该版本的更多细节,请参阅发布说明。
JDKMon
JDKMon是一个监视并更新已安装 JDK 的工具,其17.0.81版本已于上周发布。这个新版本由 Azul 的首席工程师Gerrit Grunwald创建,提供了依赖项升级、Gradle 8.4 的构建升级,以及一些新功能:能够从列表中选择 JEP、JSR 或 OpenJDK 项目,并在默认浏览器中打开该选择;JDK 发行版的工具提示现在也会显示磁盘上的模块数量和大小。
Arquillian
Arquillian 1.7.2.Final 已发布,其为参数化测试的失败提供了修复,尽管测试失败,仍能报告通过。有关该版本的更多详细信息,请参阅问题列表。
Gradle
Gradle 8.5.0 发布了第一个候选版本,包括:完全支持在 JDK 21 上编译、测试和运行;对Kotlin DSL的改进,包括在预编译的 Kotlin 脚本插件中更快地首次使用和版本目录支持;改进了错误和警告的报告。有关该版本的更多详细信息,请参阅发布说明。
J-Fall 2023
上周,2023 J-Fall会议在荷兰 Ede 的Pathé Ede举行,庆祝其成立 20 周年,来自 Java 社区的演讲者在会前研讨会、主题演讲、50 分钟的会议和会议议程上发表了闪电演讲。有关 J-Fall 2023 的详细报告请参阅 Eclipse 基金会 Jakarta EE 开发人员倡导者Ivar Grimstad的博客文章。
原文链接:
https://www.infoq.com/news/2023/11/java-news-roundup-nov06-2023/
评论