Java 近期新闻: NetBeans 15、Jakarta EE 10、jtreg 7、Spring Cloud、Groovy、Helidon 和 Micronaut

语言: CN / TW / HK

本期的 Java 新闻包括 OpenJDK、JDK 20、Jakarta EE 10、Spring Cloud 2021.0.4、Quarkus 2.12.1、Micronaut 3.6.2 和 3.6.3、Helidon 2.5.3、JDK 8 维护版本的重要变更、Hibernate ORM 6.1.3、Reactive Native JHipster 4.3.0、Apache NetBeans 15、Apache Groovy 4.0.5、Apache Camel 3.18.2、Ktor 2.1.1 以及 JavaZone 会议。

OpenJDK

JDK 的回归测试工具 jtreg 7 版本 发布 ,其特性包括升级至 JUnit 5,提供了 Jupiter API 并支持运行现有的 JUnit 4 测试和 标签语言规范(Tag Language Specification) 。第三方库 JAR 文件的命名约定已经变更为使用 jtreg 构建时指定的 JAR 文件的基础名称。这个名称可能依赖于库的版本。受此影响的 JDK 测试均已更新。 jtreg 7 支持的最低版本是 JDK 11。

JDK 19

JDK 19 依然处于 发布候选 阶段,预计 GA 版本会在 2022 年 9 月 20 日发布。 发布说明 包含了文档的链接,比如 完整的API规范 以及一个 标注的API规范 ,后者对比了 JDK 18( Build 36 )和 JDK 19( Build 36 )的差异。关于 JDK 19 的更多细节和对 JDK 20 的预测可以参阅 InfoQ 的 新闻报道

JDK 20

JDK 20 的 早期访问构建 版本 Build 14 发布,它是对 Build 13 的 更新 ,包括对各种 问题 的修复。关于该版本的更多细节,请参阅 发布说明

对于 JDK 19JDK 20 ,鼓励开发者通过 Java Bug数据库 报告缺陷。

Jakarta EE 10

在通往 Jakarta EE 10 的路上,Eclipse 基金会的 Jakarta EE 开发人员倡导者 Ivar Grimstad 在他的 Hashtag Jakarta EE 周报宣布 ,Jakarta EE 10 的 Platform ProfileWeb Profile 审查投票已经开始,预计会在 9 月 13 日结束。 Core Profile 已经在 8 月份通过了审查。这似乎是一个好的信号,Jakarta EE 10 有可能会在本月正式发布。关于 Jakarta EE 规范的更多细节可以参阅 Grimstad 在 JavaZone 上做的题为 Jakarta EE 10 - Feature-by-Feature 的演讲。

Spring 框架

代号为 Jubilee 的 Spring Cloud 2021.0.4 版本 发布 ,其特性包括对所有 Spring Cloud 子项目的更新,在 ConfigGatewayOpenFeignCircuit Breaker 方面都有明显的变化。关于该版本的更多细节,可以参阅 发布说明

Quarkus

Red Hat 发布 了 Quarkus 2.12.1.Final,对 RequestContext 类的性能下降问题进行了修复。此外,还对 Smallrye OpenAPI 2.2.1 和 Dekorate 2.11.2 进行了依赖升级。关于该版本的更多细节,可以参阅 发布说明

Micronaut

Micronaut 基金会发布了 3.6.23.6.3 版本的 Micronaut ,对 Micronaut 的一些模块进行了缺陷修复和补丁发布,例如 SecurityEmailMicronaut for SpringTracingFlywayAWSSerializationData 。3.6.2 版本还提供了升级后的 SnakeYAML 1.31,它解决了 CVE-2022-25857 漏洞,在之前版本 SnakeYAML 中的这个漏洞缺少对集合嵌套深度的限制,很容易导致拒绝服务攻击(Denial of Service)。关于这些版本的更多细节可以在 3.6.23.6.3版本 的发布说明中找到。

Helidon

Helidon 2.5.3 发布 ,其中有许多变化,包括在 gRPC 组件中升级了 protocol buffer 以支持 osx-aarch_64 架构;在 Security 组件中实现了 access token 刷新;在 Config 组件中修复了为 watcher 服务获取父目录的问题。此外,还对 SnakeYAML 1.31 和 Oracle Cloud Integration Integration 2.41.0 进行了依赖升级。

BellSoft

BellSoftLiberica JDK (OpenJDK 的下游发布版)的创建者,他们讨论了一些 重要的变更 ,这会影响将于 2022 年 10 月发布的 JDK 8 Maintenance Release 4。核心变化是 JDK-8202260,也就是 JDK缺陷系统 中定义的 引用对象不应该支持克隆(Reference Objects Should Not Support Cloning) ,它描述了在 Java SE 8 平台中发现的一个重要问题:

在 Java SE 规范中,并没有明确定义克隆引用对象的语义。克隆与垃圾回收密切相关,如果引用对象的可达性状态在 GC 活动中发生变化,收集器可能在代码调用 clone() 方法之前,对该对象进行入队(enqueue)。结果就是,克隆的对象不会被入队和引用。从而导致高度不可预知的引用处理。

在 JDK 9 和 JDK 11 中进行了一些后续的变更,这些变更会回传到 JDK 8 Maintenance Release 4 中。例如,在 JDK 11, Reference.clone() 方法始终会抛出一个 CloneNotSupportedException 异常。

Hibernate

Hibernate ORM 6.1.3.Final 发布 了一项 优化 ,其中带有 @JdbcTypeCode (SqlTypes.JSON)和 @JdbcTypeCode(SqlTypes.SQLXML)注解的字符串将不会被序列化为 JSON/XML。相反,它们会被解析为纯 JSON/XML,以避免序列化/反序列化的开销。

React Native JHipster

JHipster 7.9.3发布后不久JHipster React Native 的 4.3.0 版本已 交付给 Java 社区。改进之处包括:通过 React Native 0.69.5 和 React 18 升级到 Expo SDK 46 ;迁移到 Expo Application Services ;支持基于 Auth0 的注销;为 GitHub Actions 使用 Node 16;大量的依赖升级;以及使用 Keycloak、Okta 和 Auth0 改进质量保证。关于这个版本的更多细节可以参阅 发布说明

Apache 软件基金会

Apache NetBeans 15 发布 ,其特性包括:支持 JEP 413,即 Java API文档中支持代码片段(Code Snippets in Java API Documentation) (在 JDK 18 中交付);清理代码库,删除对 Windows 95 和 Windows 98 的支持;升级到 Maven-Indexer 6.2.0,包括删除避免 IndexOutOfBoundsException 的临时方案;以及更新到 Oracle Cloud Integration 2.27.0。关于这个版本的更多细节可以参阅 发布说明

Apache Groovy 4.0.5 发布 ,它具有 56 个缺陷修复、改进和依赖性升级,比如,JUnit Jupiter 5.9.0、JUnit Platform 1.9.0、Gradle 7.5.1、Spock 2.2 和 slf4j 2.0.0。 唯一的新特性是对 DateUtilExtensions 类的增强,以便检索静态日历常量的子集。关于这个版本的更多细节可以在 发布说明 中找到。

Apache Camel 3.18.2 发布 ,它包含了 50 个错误修复和改进,例如:支持 Camel Freemarker 组件中的邮件附件;以及处理 CamelMicroProfilePropertiesSource 类中 loadProperties() 方法中的 NoSuchElementException 。还有一些依赖性的升级,包括 Spring Boot 2.7.3 和 gRPC 1.48.1。关于这个版本的更多细节可以在 发布说明 中找到。

JetBrains

JetBrains 发布 了 Ktor 2.1.1,其特性是改进了以下问题:Netty HTTP/2 的异常;JDK 8 和 JDK 11 在构建 Ktor 时的不匹配;以及废弃 receiveOrNull() 方法,该方法被认为令人感到困惑。关于这个版本的更多细节可以在 更新日志中 找到。

JavaZone Conference

JavaZone 会议在挪威奥斯陆的 Oslo Spektrum 举行,来自 Java 社区的许多演讲者发表了闪电演讲、报告和工作坊。

原文链接:

Java News Roundup: NetBeans 15, Jakarta EE 10, jtreg 7, Spring Cloud, Groovy, Helidon, Micronaut