作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀
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 日到达生命周期的终点。
原文链接:
https://www.infoq.com/news/2022/06/java-news-roundup-jun20-2022/
点击底部阅读原文 访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
为什么 Rust 是初创公司的绝佳选择?
达梦冲刺国产数据库第一个 IPO;特斯拉自动驾驶部门裁员约 200 人;微信推出图片大爆炸功能|Q 资讯
从 IE 到 Edge:我们跟微软浏览器团队聊了聊 Web 的过去和未来 | 中国卓越技术团队访谈录
尤雨溪向 React 推荐自己研发的 Vite,网友:用第三方工具没有任何意义