Java 近期新闻综述,内容主要涉及 OpenJDK、JDK 19、JDK 20、Spring 点版本、GlassFish 7.0.0-M6、GraalVM Native Build Tools 0.9.12、Micronaut 3.5.2、Quarkus 2.10.0、Reactor 2022.0.0-M3、Apache Camel Quarkus 2.10.0 及 Apache Tika 2.4.1 版本和 1.28.4 版本。
OpenJDK
最近,甲骨文公司 Java 语言架构师Brian Goetz更新了 JEP 草案 828039,即Classfile API,提供了一些背景信息,关于该草案将如何发展并最终取代 Java 字节码操作和分析框架ASM,Goetz 将其描述为“一个有大量遗留问题的旧代码库”。该 JEP 提议提供一个 API,用于解析、生成和转换 Java 类文件。它最初将在 JDK 中作为 ASM 的内部替代品,并计划作为一个公共 API 开放。
JDK 19
JDK 19早期访问构建的Build 28在上周发布,它是 Build 27 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。
JDK 20
JDK 20早期访问构建的Build 3在上周发布,它是 Build 2 的升级,修复了各种问题。发布说明尚未提供。
对于JDK 19和JDK 20,我们鼓励开发者通过Java Bug数据库报告缺陷。
Spring Framework
Spring Boot 2.7.1发布,其中包括 66 项 Bug 修复、文档改进和依赖升级,比如:Spring Framework 5.3.21、Spring Data 2021.2.1、Spring Security 5.7.2、Reactive Streams 1.0.4、Groovy 3.0.11、Hazelcast 5.1.2 和 Kotlin Coroutines 1.6.3。要了解关于这个版本的更多细节,请查看发布说明。
Spring Boot 2.6.9 发布,其中包括 44 项 Bug 修复、文档改进以及与 Spring Boot 2.7.1 类似的依赖升级。要了解关于这个版本的更多细节,请查看发布说明。
VMware发布了 CVE-2022-22980:Spring Data MongoDB SpEL表达式注入漏洞。由于这个漏洞的存在,“Spring Data MongoDB 应用程序在使用@Query
或@Aggregation
标注的查询方法时,如果没有对输入做无害化处理,那么含有查询参数占位符的 SpEL 表达式就容易发生 SpEL 注入”。Spring Data MongoDB 3.4.1 和 3.3.5 版本已经修复了这个漏洞。
Spring Data 2021.2.1 和 2021.1.5 版本发布,对所有 Spring Data 子项目进行了升级,如 Spring Data MongoDB、Spring Data Cassandra、Spring Data JDBC 和 Spring Data Commons。Spring Boot 2.7.1 和 2.6.9 将使用相应的版本,并解决上述漏洞 CVE-2022-22980。
Spring Authorization Server 0.3.1发布,提供了一些功能增强和 Bug 修复。然而,团队决定从 JDK 11 降级到 JDK 8,以保持与 Spring Framework、Spring Security 5.x 和 Spring Boot 2.x 的兼容性和一致性。因此,HyperSQL(HSQLDB)依赖也被降级到 2.5.2 版本,因为 HSQLDB 2.6.0 及以上版本需要 JDK 11。要了解关于这个版本的更多细节,请查看发布说明。
Spring Security 5.7.2 和 5.6.6 版本发布,提供了 Bug 修复和依赖升级。这两个版本有一个共同的新特性,即测试示例已经更新为使用 JUnit Jupiter(它是JUnit 5的一部分)。要了解关于这两个版本的更多细节,请查看5.7.2和5.6.6版本的发布说明。
Eclipse GlassFish
在通往 GlassFish 7.0.0 的道路上,Eclipse 基金会发布了第六个里程碑版本,它提供了一些变更,为的是通过Jakarta Contexts Dependency Injection 4.0以及Jakarta Concurrency 3.0规范的技术兼容工具包(TCK)测试。不过,这个里程碑版本还没有完全通过 Jakarta EE 10 TCK。GlassFish 7.0.0-M6 还是一个 Beta 测试版本,可在 JDK 11 至 JDK 18 上编译和运行。要了解关于这个版本的更多细节,可以查看发布说明。
GraalVM Native Build Tools
在通往 1.0 版本的道路上,Oracle实验室发布了Native Build Tools的0.9.12版本。这是一个 GralVM 项目,提供可以与 GralVM Native Image 互操作的插件。这个最新版本提供了:Mockito 和 Byte Buddy 的支持文档;防止在没有提供测试列表的情况下构建失败;在 Gradle 插件native-image
中支持不同的代理模式,这是一个破坏性的变化;支持 Maven 中的 JVM Reachability Metadata。要了解关于这个版本的更多细节,请查看发布说明。
Micronaut
Micronaut 基金会发布了 Micronaut 3.5.2,带来了 Bug 修复以及Micronaut Oracle Cloud 2.1.4、Micronaut Email 1.2.3和Micronaut Spring 4.1.1项目的点版本。ApplicationContextConfigurer
接口的文档也进行了更新,提供了如何定义默认Micronaut环境的建议。要了解关于这个版本的更多细节,请查看发布说明。
Quarkus
红帽公司发布了 Quarkus 2.10.0.Final,新特性包括:来自 Loom 项目的有关虚拟线程(JEP 425)的初步工作;在 GraphQL 扩展中支持非阻塞工作负载;依赖升级到 SmallRye Reactive Messaging 3.16.0;增加 Reactive SQL Clients 扩展 Kubernetes 服务绑定支持;新契约CacheKeyGenerator
,允许自定义从方法参数生成的缓存密钥。
Reactor 项目
在 Reactor 项目通往 2022.0.0 版本的道路上,第三个里程碑版本发布。它主要是将依赖项升级到reactor-core 3.5.0-M3
、reactor-pool 1.0.0-M3
、reactor-netty 1.1.0-M3
、reactor-addons 3.5.0-M3
和reactor-kotlin-extensions 1.2.0-M3
。
Apache Camel Quarkus
为了与 Quarkus 保持一致,Apache 软件基金会发布了 Camel Quarkus 2.10.0,其中包含 Camel 3.17.0 和 Quarkus 2.10.0.Final。新特性包括:新增扩展Azure Key Vault和DataSonnet;删除 Camel 3.17.0 中被废弃的扩展。要了解关于这个版本的更多细节,请查看问题列表。
Apache Tika
Apache Tika团队发布了其元数据提取工具包的 2.4.1 版本。它以前是Apache Lucene的一个子项目,这个最新版本提升了定制和配置能力,例如:给TikaServerCli
类增加一个stop()
方法,这样它就可以和 Apache Commons Daemon 一起执行;允许在TikaResource
类中把Content-Length
头传递给元数据;支持用户把系统属性从分叉进程扩展到分叉的tika-server
进程。
Apache Tika 1.28.4 也已发布,提供了安全修复和依赖升级。要了解关于这个版本的更多细节,请查看更新日志。1.x 版本序列将在 2022 年 9 月 30 日到达生命周期的终点。
原文链接:
Java News Roundup: Classfile API Draft, Spring Boot, GlassFish, Project Reactor, Micronaut
评论 1 条评论