OpenJDK
JEP 468(Derived Record Creation(预览))已从 JDK Draft 8321133 进入到 Candidate 状态。该 JEP 提议通过派生创建来增强 Java Record 的特性。由于 Record 是不可变对象,开发人员经常需要从旧的记录来创建新的记录对象。派生创建通过从旧记录派生出新的记录,仅指定不同的组件,因而简化了代码。
JEP 467(Markdown 文档注释)已从 JDK Draft 8316039 进入到 Candidate 状态。该功能提议允许使用 Markdown 来编写 JavaDoc 文档注释,而不是 使用 HTML 和 JavaDoc @
标签的混合,这将使文档注释更易于编写,也更容易在源码中阅读。
Oracle 的 Java 架构师Paul Sandoz已提交 JEP Draft 8326878(Vector API(孵化器))。经过从 JDK 16 到 JDK 22 的七轮孵化后,该 JEP 提议在 JDK 23 中 重新孵化 该 API,相对于 JDK 22 没有 API 方面的变更和实现上的实质性更改。该特新将引入一个 API,用于“表达在受支持的 CPU 架构上可靠地编译为最佳矢量指令的矢量计算,从而实现比等效标量计算更优越的性能”。
JDK 23
JDK 23 早期访问版本 的 Build 12 已发布,包含来自 Build 11 的 更新,包括对各种问题的修复。有关该版本的更多详细信息,请参阅 发行说明。
JDK 22
JDK 22 早期访问版本 的当前构建仍然是 Build 36 。有关此构建的更多详细信息,请参阅 发行说明。
对于 JDK 23 和 JDK 22,开发者可以通过 Java Bug 数据库 报告错误。
GlassFish
GlassFish 7.0.13,7.0 版本系列的 第十三个维护版本,提供了错误修复、依赖项升级和一个新特性,其中有关管理控制台的改进:始终在服务器启动时加载控制台;默认情况下只在第一次访问控制台后加载控制台;并且永远不实现禁用控制台的加载选项。有关该版本的更多详细信息,请参阅 发行说明。
TornadoVM
TornadoVM 1.0.2,第二个维护版本,提供了对 TornadoExecutionPlan 类的错误修复和改进,新增了以下方法:withMemoryLimit()
,提供了只有在满足特定内存约束时才执行 TaskGraph 类实例的方法;withThreadInfo()
,打印线程部署,提供与命令行 --threadInfo
选项相同的操作; withPrintKernel()
,转储生成的内核,提供与命令行 --printKernel
选项相同的操作。有关该版本的更多详细信息,请参阅 发行说明。
Spring Framework
Spring Shell 3.2.2 和 3.1.9 已发布,其中一些显著的变化包括:修复了 ScriptShellRunner 类中的问题,确保 @
字符必须是第一个参数的第一个字符;将 CommandContext 接口作为方法参数,这样它就会被解析,不会作为选项;更加用户友好的 ViewComponent API。这些版本分别基于 Spring Boot 3.2.3 和 3.1.9。有关这些版本的更多详细信息,请参阅 3.2.2 和 3.1.9 的发布说明。
Spring Cloud Data Flow 团队发布了 Spring Functions Catalog 5.0.0 的 第一个里程碑版本,这是 Stream Applications 项目 functions
子模块的再版。该目录提供了一组独立的 Java 函数,可以在用户应用程序中原样使用。这个新目录选择了 5.0.0 版本,以保持与 Stream Applications 项目中的函数的一致性。
随着 Spring Framework 6.2 预计在 2024 年 11 月发布,开发团队已经 宣布 将在 2024 年 8 月发布 6.0 和 5.3 的最终点发行版,但官方开源支持将在 2024 年 8 月 31 日结束。不过这些版本将在“未来几年”获得商业支持。这个调整也将在 Spring Security 5.8 发行版中进行。
Quarkus
Quarkus 3.8,新的 LTS 版本,包含了依赖项升级和一些显著变化,例如:解决了 EndpointIndexer 类在结合使用自定义标头和包含 @NotBody
注解的参数的方法时发出警告的问题;更强壮的 VertxGrpcExporter 类,在发生网络相关错误时可以进行重试;解决了 OidcProvider 类在配置 OIDC 服务器证书链且在启动时没有提供 JWK 键时抛出 NullPointerException
的问题。有关该版本的更多详细信息,请参阅 发行说明。
Micronaut
Micronaut 基金会发布 Micronaut Framework 4.3.4,其中包含 Micronaut Core 4.3.9,修复了 bug、改进了文档,并更新了模块:Micronaut Security 和 Micronaut AWS。有关该版本的更多详细信息,请参阅 发布说明。
Open Liberty
IBM 发布 Open Liberty 24.0.0.2,其中包含 MicroProfile Reactive Messaging 和 MicroProfile Reactive Streams Operators 规范的新功能,包括支持负确认、发射器和回压。该版本还新增了一个叫作 使用 Testcontainers 构建真实生产集成测试 的新 Open Liberty 指南。
WildFly
WildFly 31.0.1,首个维护版本,提供了 bug 修复、依赖项升级以及增强特性,其中包括将 SHA-1 digest 添加到 WildFly 分发模块的 ZIP 文件中。
Hibernate
Hibernate Search 7.1.0.Final 发布,包含以下特性:通过新的 @SearchEntity
注解改进了独立 POJO 映射器中的实体注册;引入了一个新的查询字符串谓词 queryString
,根据提供的字符串(作为结构化查询)匹配文档,可构建更高级的查询字符串;增加 Elasticsearch 8.12 中新引入的 knn 查询,以消除向量搜索的一些限制。
Apache 软件基金会
Apache Groovy 5.0.0 的第六个 Alpha 版本发布带来的新特性和改进:BitSet 类添加新的左移/右移运算符;枚举类 next()
和 previous()
方法的优化。有关该版本的更多详细信息,请参阅 发布说明。
Groovy 4.0.19 发布 ,也提供了枚举 next()
和 previous()
方法的优化。Java 社区提出了在 JsonOutput 类的 prettyPrint()
方法中始终打印转义字符的请求。然而,这是不可能的,因为最终构造函数和该类使用了默认生成器。有关该版本的更多详细信息,请参阅 发布说明。
Groovy 3.0.21 带来了一项改进,可以对接受某些 collect
变体的默认 Groovy 方法的泛型信息进行改进。有关该版本的更多详细信息,请参阅 发布说明。
以上提到的三个 Groovy 发布版本还包含了 bug 修复和依赖项升级。
Apache Kafka 3.7.0 发布,包含了许多 bug 修复和新特性/改进,例如:Kafka 客户端指数回退的实现;为 Apache Kafka 和 Kafka Connect 提供了一个新的 Docker 镜像;为 Kafka Connect 新增了一个 BooleanConverter 类,用于转换在 Schema 接口中定义的 Type.BOOLEAN
枚举。有关该版本的更多详细信息,请参阅 发布说明。
为了与 Quarkus 保持一致,Camel Quarkus 3.8.0 已发布,解决了一些重要问题,例如:在 DataSetTest 类中使用 SimpleDataSet 类实例时出现偶发的 AssertionError
异常;Health 示例中因不存在启动属性而导致的失败;扩展 Splunk HEC 组件的测试覆盖范围;这个 LTS 版本与 Camel 4.4.x LTS 和 Quarkus 3.8.x LTS 版本保持一致。有关该版本的更多详细信息,请参阅 发布说明。
JReleaser
JReleaser 1.11.0 已发布,包含了 bug 修复、文档改进、依赖项升级以及以下这些重要变化:Nexus2 的改进,允许分阶段部署和显示失败消息;添加了 outputFilename
选项,允许为下载的软件包定义明确的文件名;支持 WindowsOS winget 安装器的依赖项。有关该版本的更多详细信息,请参阅 发布说明。
JHipster
JHipster Lite 1.5.0 已发布 ,包含了 bug 修复、依赖项升级以及新特性/增强,例如:通过显式包含实际值来改进 StringTooLongException、StringTooShortException、NotAfterTimeException 和 NotBeforeTimeException 类抛出的错误消息;移除了由 CucumberRestTestContext 类生成的应用程序中未使用的导入;处理 Maven 和 Gradle 不同启动命令的能力。有关该版本的更多详细信息,请参阅 发布说明。
JKube
Eclipse JKube 1.16.1 带来了一些显著变化:将 PortMapping 类从 org.eclipse.jkube.kit.build.api.model
包移动到 org.eclipse.jkube.kit.common
包;解决了 Helm Lint 在版本 1.16.0 上不起作用的问题。有关该版本的更多详细信息,请参阅 发布说明。
MicroStream
MicroStream 8.1.2 解决了一项问题,避免由于 JDK 21.0.2 G1 移除检查而可能导致的 VM 崩溃。有关该版本的更多详细信息,请参阅 发布说明。
Gradle
Gradle 8.7 的第二个发行候选版改进了以下这些内容:为编译、测试和运行基于 JVM 的项目提供了对 Java 22 的支持;改进了针对 Groovy DSL 脚本编译的构建缓存;改进了延迟配置、错误和警告消息、配置缓存和 Kotlin DSL。有关该版本的更多详细信息,请参阅 发布说明。
原文链接:
https://www.infoq.com/news/2024/03/java-news-roundup-feb26-2024/
评论