本期 Java 近期新闻主要涉及 OpenJDK、JDK 19、JDK 20、Spring 项目升级、Helidon 3.0、GraalVM 22.2、Quarkus 2.11.1 和 2.10.4、Micronaut 3.5.4、Eclipse Vert.x 虚拟线程孵化器、Jakarta EE 10 升级、IntelliJ IDEA 2022.2、JUnit 5.9.0、Apache 软件基金会项目升级和 Multik 0.2.0。
JEP 草案 8285724——弃用JMX M-Lets(管理小程序)以备删除——是一份特性 JEP。它提议弃用 Java Management eXtension(JMX) “M-Let”特性,以备在将来的版本中删除,因为它已经过时,不符合现代应用程序开发的潮流了。删除 M-Lets(最初受小程序启发)以及javax.management.loading
API 不会影响 JMX 及其相关技术。
JDK 19早期访问构建的 Build 33 在上周发布,它是 Build 32 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。
JDK 20早期访问构建的Build 8在上周发布,它是 Build 7 的升级,修复了各种问题。发布说明尚未提供。
对于JDK 19和JDK 20,我们鼓励开发者通过Java Bug数据库报告缺陷。
Spring Shell 2.1.0发布,特性包括:新增接口CommandRegistration
,提供了一种通过编程方式定义命令的新方法;改造 Spring Shell 内部构件,为即将发布的 Spring Framework 6.0 GA 及 Spring Boot 3.0 GA 提供初始支持;重新评估@ShellMethod
和@ShellOption
注解,要想更好地匹配CommandRegistration
接口可能需要新的注解。要了解关于这个版本的详细信息,请查看发布说明。
Spring Cloud OpenFeign 3.0.8发布,主要是 Bug 修复和文档发布,其中修复补丁是从 3.1.x 发布序列反向移植过来的。最值得注意的反向移植和Spring Data接口Page
中的级联反序列化有关。
自 2020 年 4 月首次亮相以来,Spring Authorization Server 团队已经宣布,他们正在准备按计划将于 2022 年 11 月发布的 1.0 版本。该版本将以 Spring Security 6.0 和 Spring Framework 6.0 为基础,所需的最低软件版本为 JDK 17、Tomcat 10 和 Jetty 11。该团队还将发布一个 0.4.0 版本,以支持Spring Security 5.x 发布序列和 JDK 8。如果想了解从现在起到 2022 年 11 月期间,该团队将为开发人员带来什么,可以查看发布计划和特性清单。InfoQ 后续将带来更详细的报道。
在 Helidon 2.0 发布两年之后,Oracle发布了 Helidon 3.0,特性包括:最低支持 JDK 17;一个 MicroProfile 5.0 实现和精选的 Jakarta EE 9.1 规范;支持 JEP 290(过滤传入的序列化数据),这样,反序列化就默认禁用了;升级 Helidon SE 路由 API;一个新的项目启动器;经过升级的 CLI。要了解关于这个版本的详细信息,请查看发布说明。InfoQ 后续将带来更详细的报道。
Oracle 实验室发布了 GraalVM 22.2,特性包括:一个更小的 GraalVM JDK 分发,更加模块化,也不再包含 JavaScript 运行时 LLVM 或 VisualVM;改进 Native Image 使用第三方库的方式,减少内存占用和堆转储;GraalPython的快速启动和扩展库支持;改进与GraalJS的互操作性。GraalVM 22.2 随 JDK 11 和 JDK 17 构建提供。要了解关于这个版本的详细信息,请观看这个 YouTube视频。InfoQ 后续将带来更详细的报道。
红帽公司发布了 Quarkus 2.11.1.Final 和 2.10.4.Final。两个版本都已经解决了CVE-2022-2466,这是在服务器扩展SmallRye GraphQL 中发现的一个漏洞,服务器请求在其中没有正确终止。发布公告这样写道:
遗憾的是,之前在 2.10.3.Final 和未发布版本 2.11.0.Final 中引入的修复并不彻底,问题依然以另外一种形式存在。
其他新特性包括:新的 Redis 客户端 API;依赖项升级到 Vert.x 4.3.2 和 Netty 4.1.78;GraphQL 端点经修改后默认为单例;原生可执行文件生成默认采用基于 JDK 17 的构建器镜像。要了解关于这些版本的详细信息,请查看2.11.1和2.10.4版本的发布说明。
Micronaut 基金会发布了 Micronaut 3.5.4,提供了 Bug 修复和多个 Micronaut 模块的补丁版本,包括:Micronaut Security 3.6.3、 Micronaut AWS 3.5.3、 Micronaut RxJava 2 1.2.2、 Micronaut GCP 4.2.1和Micronaut Reactor 2.2.3。要了解关于这个版本的详细信息,请查看发布说明。
由于即将发布的 JDK 19 将支持虚拟线程,所以 Vert.x 团队创建了一个虚拟线程孵化器项目,供开发人员试用虚拟线程并提供必要的反馈。目前,该孵化器项目包含一个 async/await实现,其基础是 Axoni 软件工程师August Nagro的概念验证。该项目旨在提供一个中心化社区,让人们可以试验虚拟线程,而且也可以托管任何其他基于虚拟线程的项目。
在通往Jakarta EE 10的道路上, Jakarta EE 规范委员会上周发起了一项投票,为的是使 Jakarta EE 10平台配置文件获得正式批准。该投票计划于 2022 年 8 月 9 日关闭。Web和Core配置文件会安排单独的投票。
JetBrains 发布了 IntelliJ IDEA 2022.2,新特性包括:从JetBrains Runtime(JBR)11 迁移到 JBR17;远程开发改进;支持 Spring Framework 6.0 和 Spring Boot 3.0;一个实验性的 GraalVM Java 原生调试器;JSON、YAML 及.properties
字符串值中的可点击 URL。
JetBrains 还发布了Multik的 0.2 版本,一个用于 Kotlin 的多维数组库。这是自 2021 年 11 月0.1.1版本以来的第一次发布,这个新版本中的新特性包括:一个新的多平台结构;支持 Android 和 Apple Silicon 处理器;改进随机数、范数矩阵、复数等的操作。要了解关于这个版本的详细信息,请查看发布说明。
JUnit 5.9.0发布,新特性包括:支持Open Test Reporting格式;ConfigurationParameters
接口新增方法keySet()
,可检索所有的配置参数键;@Suite
注解接口新增failIfNoTests
属性,如果没有发现测试程序,则测试套件失败。要了解关于这个版本的详细信息,请查看发布说明。InfoQ 后续将带来更详细的报道。
Apache 软件基金会发布了Camel Quarkus、Tomcat 和Groovy的点版本。
为了与 Quarkus 保持一致,Camel Quarkus 2.11.0(包括 Camel 3.18.0 和 Quarkus 2.11.1.Final)的新特性包括:支持 Camel Hashicorp Vault 和 DataSet 扩展;JAXB 扩展测试覆盖率提升;修复了 bean 内省在@Singleton
作用域 bean 中不起作用的问题。要了解关于这个版本的详细信息,请查看问题列表。
Tomcat 10.0.23 的新特性包括:修复CVE-2022-34305,这是表单验证示例中的一个低风险 XSS 漏洞;支持可重复构建;Tomcat Native Library 软件包的版本升级到 1.2.35,其中包括使用 OpenSSL 1.1.1q 构建的 Windows 二进制文件。要了解关于这个版本的详细信息,请查看变更日志。
Apache Groovy 4.0.4、3.0.12 及2.5.18版本的新特性包括 Bug 修复、改进和依赖项升级,如Spotbugs 4.7.1、log4j2 2.18.0 和 Ant 1.9.16。要了解关于这些版本的详细信息,请查看4.0.4、3.0.12 和2.5.18的发布说明。
原文链接:
Java News Roundup: Helidon 3.0, GraalVM 22.2, IntelliJ IDEA 2022.2, Vert.x Virtual Threads
领取专属 10元无门槛券
私享最新 技术干货