打开网易新闻 查看精彩图片

作者 | Michael Redlich

译者 | 平川

策划 | 丁晓昀

OpenJDK

2023 年理事会选举结果显示,Red Hat 开源 Java 技术主管 Andrew Haley 和 Oracle 技术咨询人员 Phil Race 已当选为董事会成员,填补了两个 At-Large 成员席位。选举结果将于2023 年 4 月 1 日生效,任期为一年。InfoQ 后续将带来更详细的新闻报道。

JEP 444(虚拟线程)从JEP Draft 8303683状态 提升 到Candidate状态,然后很快就会从 JDK 21 的Candidate状态提升到Proposed to Target状态。该 JEP 建议根据前两轮预览的反馈将这个特性确定下来:JEP 436,虚拟线程第二次预览,在 JDK 20 中交付;JEP 425,虚拟线程预览版,在 JDK 19 中交付。该特性为 Java 平台提供了轻量级的虚拟线程,可以极大地减少编写、维护和观察高吞吐量并发应用程序的工作量。与 JEP 436 相比,其最重要的变化是虚拟线程现在完全支持 线程局部变量,并去掉了不使用这些变量的选项。要了解更多关于 JEP 425 的细节信息,可以阅读 InfoQ 的新闻报道 以及观看 Oracle Java 平台组 Java 开发大使 José Paumard 提供的截屏视频。评审预计将于 2023 年 4 月 7 日结束。

JDK 回归测试工具jtreg7.2发布,已经可以集成到 JDK 中。其最重要的新特性是能够使用虚拟线程来运行测试。要了解关于这个版本的更多细节,请查看发布说明。

JDK 21

JDK 21早期访问构建Build 16 在上周发布,其中包括 Build 15 的更新,主要是修复了 各种问题。要了解关于这个版本的更多细节,请查看 发布说明。

Oracle Java 平台组首席架构师 Mark Reinhold 正式提出了 JDK 21 的发布计划:

  • Rampdown Phase One(从主干分叉):2023 年 6 月 8 日

  • Rampdown Phase Two:2023 年 7 月 20 日

  • 初始候选版本:2023 年 8 月 10 日

  • 最终候选版本:2023 年 8 月 24 日

  • 正式发布:2023 年 9 月 19 日

对于 JDK 21,我们鼓励开发人员通过 Java Bug 数据库报告 Bug。

GlassFish

GlassFish 7.0.3发布,带来了 Bug 修复、文档改进和依赖项升级,如:Mojarra 4.0.2、EclipseLink 4.0.1、Helidon Config 3.2.0 和 ASM 9.5。要了解关于这个版本的更多细节,请查看发布说明。

Spring Framework

Spring Integration 团队宣布,Spring Integration Extension for Amazon Web Services(AWS)(3.0.0-M2 版本),以及 Spring Cloud Stream Binder for AWS Kinesis(4.0.0-M1 版本)项目已经转移到 AWS Java SDK。这些里程碑版本带来了一些显著的变化,包括:AWS Java SDK 2.20.32,这是最新版本;依赖项升级到 Spring Cloud AWS 3.0.0,带来了新的 SQS 监听 API;一个DynamoDbLockRegistry类,这是ExpirableLockRegistryRenewableLockRegistry接口的一个实现,提供了适当的 TTL 支持;删除 XML 配置。

Spring Cloud 2022.0.2(代号 Kilburn)发布,主要是升级了子项目,如:Spring Cloud Vault 4.0.1、Spring Cloud Kubernetes 3.0.2、Spring Cloud OpenFeign 4.0.2 和 Spring Cloud Config 4.0.2。不过,部分子项目的移除也导致了一些破坏性的变化:Spring Cloud CLI、Spring Cloud for Cloud Foundry 和 Spring Cloud Sleuth。要了解关于这个版本的更多细节,请查看 发布说明。

Spring Web Flow 3.0.0第一个候选版本提供的新特性包括:Spring Faces 迁移到 Spring Framework 6、Jakarta EE 和 JSF 4;JSF 示例升级到 Jakarta EE。要了解关于这个版本的更多细节,请查看发布说明。

Payara

Payara发布 了 Payara 平台2023 年 3 月版,其中包括社区版 6.2023.3、企业版 5.49.0 和正式发布的 Payara 企业版 6.0。所有这些版本现在都支持 Jakarta EE 10 和 MicroProfile 6.0。值得注意的是,目前有一个正在研究解决中的问题:在部署包含 Java Record 的应用程序时,服务器日志中会有不支持 Record 的警告。Payara 团队会确保应用程序仍将按预期部署和运行。

社区版 6.2023.3 提供了 Bug 修复、组件升级和改进,如:REST SSL Alias Extension for Payara 6 升级;cacerts.jkskeystore.jks证书升级到 PKCS#12;为 HTTP 网络监听器配置所有的 SameSite cookie 属性。要了解关于这个版本的更多细节,请查看发布说明。

企业版 5.49.0 还提供了 Bug 修复、组件升级以及刚刚提到过的 SameSite cookie 改进。要了解关于这个版本的更多细节,请查看发布说明。

Payara 团队还发布了 CVE-2023-28462 漏洞。该漏洞会影响在版本低于 1.8u191 的 JDK 8 上运行的服务器环境。它使得远程攻击者能够通过不安全的对象请求代理(ORB)监听器,利用远程 JNDI 访问将恶意代码加载到面向公众的 Payara Server 安装中。建议开发人员安装 1.8u191 以上的 JDK 8 版本。

Quarkus

在发布了 6 个 Alpha 版本和 1 个 Beta 版本之后,Java 社区在上周发布了 Quarkus 3.0.0 的 第一个候选版本,其新特性包括:引入/q/info端点,提供有关应用程序的信息;使用 SmallRye BeanBag 初始化 MavenRepositorySystem接口以兼容 Maven 3.9;一种面向 Quarkus CLI 的新的插件机制。要了解关于这个版本的更多细节,请查看发布说明。

Micronaut

Micronaut 基金会发布了 Micronaut Framework 3.8.8,带来了 Bug 修复和模块升级:MicronautData、MicronautViews、Micronaut OpenAPI、MicronautSecurity 和 Micronaut MavenPlugin。它还将一个依赖项升级到了 Netty 4.1.90。要了解关于这个版本的更多细节,请查看发布说明。

WildFly

WildFly 28 的第一个 Beta 版本提供了如下新特性:支持 Micrometer,包括将 Micrometer 与 MicroProfile Fault Tolerance 规范的实现集成;支持 MicroProfile Telemetry 和 MicroProfile Long Running Actions(LRA)规范。此外,该版本还取消了对 MicroProfile Metrics 和 MicroProfile OpenTracing 规范的支持。要了解关于这个版本的更多细节,请查看发布说明。

Hibernate

在发布了 4 个候选版之后,Hibernate ORM 6.2 正式 发布。它提供了以下支持:结构化 SQL 类型;Java Records;统一生成持久值;数据库分区;私有 SQL 类型;使用 SQLMERGE命令来处理可选表的更新。

Apache 软件基金会

Object Computing 公司首席软件工程师、ASERT 主管兼 Apache Groovy 副总裁 Paul King宣布了 Apache Groovy 的 3 个点版本。由于开发团队将专注于 Groovy 5.0 的开发,所以 3.0 和 2.0 发布序列的点版本会比较少。

4.0.11 版本带来了 Bug 修复和一些新特性,包括:新方法asReversed()reverseEach(),它们将分别映射到NavigableSet接口中定义的descentSet()descentIterator()方法;依赖项升级到 ASM 9.5;JDK 21 新增的一个常量。要了解关于这个版本的更多细节,请查看更新日志。

3.0.17 版本修复了 Bug,改进了文档,并将依赖项升级到 ASM 9.5。要了解关于这个版本的更多细节,请查看更新日志。

类似地,2.5.22 版本 也是修复了 Bug,改进了文档,并将依赖项升级到 ASM 9.5。要了解关于这个版本的更多细节,请查看更新日志。

Apache Camel 3.20.3发布,提供了 Bug 修复、依赖项升级和新特性 / 改进,包括:为具有连接验证扩展的组件添加健康检查(camel-health);camel-jbang组件中的用户配置文件;在 Camel Registry API 中使用CompositeMeterRegistry类的实例。要了解关于这个版本的更多细节,请查看 发布说明。

Apache James 3.7.4 的发布 解决了 CVE-2023-26269 漏洞,即通过未经身份验证的 JMX 实现特权升级。该漏洞存在于 Apache James Server 3.7.3 及更早的版本中。这些版本默认提供了无需身份验证的 JMX 管理服务,使得攻击者可以获得特权升级。要了解关于这个版本的更多细节,请查看发布说明。

Eclipse Vert.x

Eclipse Vert.x 4.4.1发布,带来了 Bug 修复和依赖项升级,包括 GraphQL-Java 20.1、Netty 4.1.90、SnakeYAML 2.0、Micrometer 1.10.5 和 Apache Qpid Proton-J 0.34.1。要了解关于这个版本的更多细节,请查看发布说明、弃用及破坏性更改。

JHipster

JHipster 团队发布了 JHipster Quarkus Blueprint 的 2.0.0 版本,其中有一些显著的变化,包括:修复生产配置文件的 OIDC 设置;将 Blueprint 依赖项和 Quarkus 的版本升级到 2.16.2;修复 Keycloak 授权和 Cypress 测试;修复 SQL Docker 镜像。要了解关于这个版本的更多细节,请查看发布说明。

JHipster 团队还 发布 了 JHipster Lite 0.30.0,带来了 Bug 修复、依赖项升级和功能增强,包括:删除重复的 JSON Web Token 依赖;ApplicationAuthorizations类增加getUsername()方法;用 Keycloak 修复 Angular OAuth2。要了解关于这个版本的更多细节,请查看发布说明。

JBang

JBang 的 0.106.0 和 0.106.1 版本在jbang init命令中引入了 GPT 支持,让它可以调用 ChatGPT API 来初始化并创建一个jbang脚本。该脚本会尝试执行你在命令行中提供的字符串表述。要了解关于这个新功能的更多细节,可以观看这段 YouTube 视频,InfoQ 后续也将带来更详细的新闻报道。

Gradle

Gradle 8.1 的 第 2 个候选版本 提供了以下新特性:对 配置缓存 的持续改进;支持 依赖关系验证;改进 Groovy 闭包的错误报告;支持 Java lambdas;支持使用 JDK 20 构建项目。要了解关于这个版本的更多细节,请查看 发布说明。

Foojay.io

Foojay.io 是面向 Java 开发人员的 Friends of OpenJDK 资源。它提供了 Java社区日历,供开发人员查看和添加事件。日历是开放的,不需要专门的帐户就可以添加内容,而且内容是经过审核的。

https://www.infoq.com/news/2023/04/java-news-roundup-mar27-2023/

Java 近期新闻:JDK 20 发布、Spring 多个版本发布、Quarkus、Helidon、Micronaut 和 Open Liberty(https://www.infoq.cn/article/LxsO27ZvvcHHRuS7J1VT)

WireMock Spring Boot 将简化 Spring Boot 应用的 WireMock 配置 (https://www.infoq.cn/article/JtADhFJ2VYuoDT4BqkeF)

声明:本文为 InfoQ 翻译,未经许可禁止转载。