本期的 Java 新闻综述的消息包括 OpenJDK、JDK 18、JDK 19、Loom 和 Panama 项目、Jakarta EE、Groovy 4.0、Spring Framework 更新、Micronaut 3.3.0、GraalVM 22.0 CE、Liberica NIK、MicroProfile Reactive Streams Operators 3.0-RC1、Hibernate 更新、JHipster 7.6、IntelliJ IDEA 2021.3.2、JReleaser 早期访问版本、Apache Camel 与 Camel K 以及 Foojay.io 的 FOSDEM。
OpenJDK
甲骨文公司的首席技术人员Jonathan Gibbons日前宣布,jtreg 6.2 版本(JDK 测试框架中用来编写回归测试的工具)将会是支持旧版本 JDK 的最后一个版本。正如 Gibbons 所述:
从 JDK 9 开始,
jtreg
一直被限制为兼容 JDK 8 进行编译,所以我们能够编译代码的某些部分以便在旧版本上运行,这实际上意味着整个jtreg
被限制只能使用 JDK 8 中的 API 和语言特性。
这个变更会使代码库更加现代化,将会需要 JDK 11 或 JDK 17 作为最小版本。
JDK 18
JDK 18早期访问构建 的Build 33版本已经发布,它是对 Build 32 的更新,包括了对各种问题的修复。更多细节可以在发布说明中找到。
JDK 19
JDK 19早期访问构建的Build 7版本已经发布,它是对 Build 6 的更新,包含了对各种问题的修复。更多细节可以在发布说明中找到。
对于 JDK 18 和JDK 19,欢迎开发者通过Java Bug数据库报告缺陷。
Loom 项目
Loom 项目早期访问构建的 Build 19-loom+2-58 版本已经面向 Java 社区发布,它是基于 JDK 19 早期访问构建Build 6的。
Panama 项目
Panama 项目早期访问构建的 Build 19-panama+1-13 版本也已经面向社区发布,它基于 JDK 19 的一个不完整版本,其特性是将jextract
工具与 JDK 18 保持一致。
Jakarta EE
来自 Eclipse 基金会的 Jakarta EE 开发人员倡导者Ivar Grimstad在他的 Hashtag Jakarta EE 每周博客中宣布,Jakarta EE规范委员会(Jakarta EE Specification Committee)已经批准了一项新的规范,即Jakarta RPC。这个新规范将专注于在 Jakarta EE 生态系统中构建基于 gRPC 的应用。如果开发者对参与 Jakarta RPC 感兴趣,欢迎加入 Jakarta RPC邮件列表。
Groovy
期待已久的 Groovy 4.0.0 业已面向 Java 社区发布,相对于RC-2版本,它包含了28个缺陷修复/改进,相对于Groovy 3.0.0版本,它包含了 800 多个新特性、改进和缺陷修复。这包括switch 表达式、record、密闭类型以及Groovy集成查询(Groovy-Integrated Query,GINQ),这是一个类似于 SQL 语法用来进行查询的 DSL。更多细节可以参阅发布说明。
Spring 框架
在通向 Spring Cloud 2022.0.0(代号为 Kilburn)版本的道路上,第一个里程碑版本业已发布。与 Spring Framework 6.0 和 Spring Boot 3.0 一样,Spring Cloud 2022.0.0 的 GA 版本需要 JDK 17+并且会与 Jakarta EE 9 保持一致。更多的细节,包括一些破坏性的变更,可以参阅发布说明。
Spring Initializr 0.12.0 已经发布,其中包含10个缺陷修复和增强,并且将依赖升级到了 Gradle 7.3.3、Maven 3.8.4、Maven Resolver 1.7.3、Maven Resolver Provider 3.8.4 和 Spring Boot 2.6.3。更多细节可以在发布说明中找到。
Spring Native 0.11.2 业已发布,包含30个缺陷修复、文档的增强以及依赖的升级。一些新的特性包括:通过使用-DskipTests
标记以防止生成不必要的 Maven AOT 测试源;当探测到logback.xml
时,生成有意义的错误信息;在 AOT 模式下,正确地禁用spring-boot-devtools
模块。
Spring Authorization Server 0.2.2发布,该版本包含了新的特性、缺陷修复和依赖升级。更多细节可以参阅发布说明,另外,该示例应用也可以帮助开发者入门。
Micronaut
Micronaut 基金会发布了Micronaut 3.3.0,其中包括了对 GraalVM 22.0.0 的支持,并且引入了一个新的模块Micronaut Email,借助该模块能够在 Micronaut 应用中更高效地发送电子邮件。更多细节可以在发布说明中找到。
Micronaut 还宣布,鉴于存在两个不合规的实例,Let’s Encrypt撤销了从 2022 年 1 月 26 日到 1 月 28 日使用其 TLS 与 ALPN 验证方法的证书。这可能会影响到使用Micronaut Acme来更新安全证书的开发者。
GraalVM
在之前的 Java 新闻综述中,InfoQ 曾经报道过 GraalVM 22.0 企业版发布的消息,而因为要进行一些额外的测试,社区版的提供时间有所延迟。最近,针对 JDK 11 和 JDK 17 的 GraalVM 22.0 社区版已经发布,其特性是改进了原生镜像工具的构建时间和内存使用。InfoQ 在新闻报道中提供了更多细节。
Liberica 原生镜像工具包
BellSoft 发布了新 Liberica 原生镜像工具包(Liberica Native Image Kit,NIK)的 22.0.0.2 版本,以及升级版本 21.3.1。新的特性包括:在 MacOS 下的 Liberica NIK 中支持 OpenJFX,并且在所有版本的 NIK 中默认包含了native-image
工具,从而避免使用gu
工具单独安装它。
MicroProfile
在通往 MicroProfile Reactive Streams Operators 3.0 的道路上,第一个候选版本已经发布,特性包括与 Jakarta EE 9.1 保持一致,并重构 Java ServiceLoader类中的load()
方法,以便于在实现ReactiveStreamsEngine和ReactiveStreamsFactory接口时作为一个 PrivilegedAction,从而解决使用 WildFly 时的安全问题。更多的细节可以在发布说明中找到。
Hibernate
Hibernate Search 6.1.0.Final 版本发布,其特性包括通过outbox-polling协调策略支持异步、分布式的自动化索引;兼容 Elasticsearch 7.16 以及 OpenSearch 1.0 和 1.2 版本;使用 DSL 语言改进搜索的新断言(predicate)。
Hibernate ORM 5.6.5.Final 版本发布,特性包括改进对 H2 数据库最新版本2.1.210 的兼容性,但是依然建议开发人员查看 H2 数据库的变更日志,并根据需要更新脚本、ORM 映射和 H2 配置。
在通往 Hibernate ORM 6.0 的道路上,第一个候选版本已经发布,包括通过@CollectionType或@CollectionTypeRegistration注解实现对UserCollectionType接口的支持。鼓励开发者查看用户指南。
JHipster
JHipster的 7.6.0 版本业已发布,包括如下的特性:依赖升级到 Spring Boot 2.6.3;修复 Vue 的userManagementService问题;修复使用 Angular 时,更新到之前的 JHipster 7.5.0 版本后,web不更新的Browsersync的问题;以及一些库的升级。更多细节可以参阅发布说明。
IntelliJ IDEA
JetBrains发布了 IntelliJ IDEA 2021.3.2,该版本修复了一些功能,例如,macOS 上的 Cmd-N(⌘N)在调用 File->New 后不能打开Generate 对话框;不必要的索引重新扫描;以及 YAML 文件的缩进问题。更多的细节可以在发布说明中找到。
JReleaser
JReleaser是一个简化项目发布的 Java 工具,它的早期访问版本包括如下的特性:对 Docker 规范的修复;Archive发布类型中对null
的检查;以及将check-multi-line-strings属性的默认值从true
改为false
。InfoQ 计划在 JReleaser 1.0.0 的 GA 版本发布时跟进发布更详细的新闻报道。
Apache Camel
Apache 软件基金会在 Camel 3.14 发布列车中提供了一个新的 LTS 小版本。3.14.1 版本有 47 个缺陷修复和改进,并对 Log4j2 的 2.16.0、2.17.0 和 2.17.1 版本、Logback 1.2.8、camel-spring-boot 2.6.3 和 bouncycastle 1.70 进行了依赖性升级。
Apache Camel K 的1.8版本已经发布,其特性包括支持KEDA(Kubernetes Event-Driven Autoscaling),这将使开发人员能够更有效地提供传入事件的自动缩放功能。关于这个新功能的更多细节可以参阅这篇博客文章。
Camel K是一个轻量级的集成框架,基于 Camel K Runtime 1.11.0、Camel Quarkus 2.6.0、Camel 3.14.0 和 Camel Kamelets 0.7.0 构建。
Foojay.io at FOSDEM 2022
OpenJDK 之友(Friends of OpenJDK),Foojay.io,是一个 Java 生态系统的社区平台,会在FOSDEM 2022会议上主持他们自己的developer rooms,该会议定于 2022 年 2 月 5 日至 6 日(周六至周日)举行。
FOSDEM 是一个由志愿者组织的为期两天的活动,旨在促进自由和开源软件的广泛使用,将提供一些议题和其他 developer rooms,又称 devrooms,由其他组织和社区主办。
原文链接:
Java News Roundup: Loom and Panama Updates, Groovy 4.0, GraalVM 22.0 CE, Jakarta EE RPC
评论