OpenJDK
JEP 477(隐式声明类和实例主方法(第三预览版本))已为 JDK 23 从 Candidate 进入到 Proposed to Target 状态。该 JEP 原名为“未命名类和实例主方法(预览)”、“灵活主方法和匿名主类(预览)”,以及“隐式类和增强主方法(预览)”,根据 JDK 22 中发布的 JEP 463(隐式类和实例主方法(第二预览版本))和 JDK 21 中发布的 JEP 445(未命名类和实例主方法(预览))这前两轮预览中收到的反馈进行了改进。该 JEP 中建议“发展 Java 语言,让学生可以不用了解大型程序设计的语言特点,就能编写自己的第一个程序。”JEP 477 推进了甲骨文公司的 Java 语言架构师 Brian Goetz在 2022 年 9 月发布的博文《铺设高速入口匝道(Paving the on-ramp)》。最新的规范文档由甲骨文公司技术顾问成员Gavin Bierman 起草,现开放供 Java 社区审阅。关于 JEP 445 的更多详细信息,请参见 InfoQ 新闻。审阅工作预计将于 2024 年 5 月 21 日结束。
JEP 482(灵活的构造体(第二预览版本))已从 JEP 草案 8325803 进入 Candidate 状态。该 JEP 提议开始第二次预览并修改名称以获得上一次预览(即 JDK 22 中交付的 JEP 447(super(……)之前的语句(预览)))的反馈。这项功能允许在构造函数中调用 this() 或 super() 之前出现不引用实例创建的语句,同时也保留了构造函数现有的安全性和初始化。这项 JEP 中的变更包括:对本地类的处理;将“在显式构造函数调用前不能访问字段”的限制放宽为“在显式构造函数调用前不能读取字段”。甲骨文公司技术顾问 Gavin Bierman 提出了该 JEP 的初步规范供 Java 社区审阅并提供反馈意见。
JEP 481(范围值(第三预览版本))已从 JEP 草案 8331056 进入 Candidate 状态。这项原名为“Extent-Local 变量(孵化)”进入了第三轮预览,吸取了一轮孵化(于 JDK 20 中交付的 JEP 429(范围值(孵化)))和两轮预览(于 JDK 22 中交付的 JEP 464(范围值(第二预览版本))和于 JDK 21 中交付的 JEP 446(范围值(预览)))中的经验和反馈,提供了一处改动:允许在线程内和线程间共享不可变数据。与线程的本地变量相比,这一功能更受欢迎,尤其是在使用大量虚拟线程的情况下。该功能的改动与 ScopedValue 类中定义的 callWhere() 方法的操作参数有关,该参数现在是一个功能接口,允许 Java 编译器推断是否需要抛出检查到的异常。有了这项改动,getWhere() 方法已不再需要且已被移除。
JDK 23
JDK 23 早期访问构建的第 23 版已于上周发布,该版本是对第 22 版的更新,其中包括对多项问题的修复。有关此版本的更多详细信息,请参见发布说明。
GlassFish
GlassFish 的第六里程碑版本 8.0.0,提供问题修复、依赖升级及显著变更,其中包括:优化 Jakarta 上下文和依赖注入 TCK(技术兼容性套件);全新的独立 Jakarta JSON 格式处理 TCK 运行程序;以及为匹配 WeldBeanDeploymentArchive 接口实现而优化的类加载器。有关此版本的更多详细信息,请参见发布说明。
GraalVM
甲骨文实验室发布了Native Build Tools的 0.10.2 版本,该 GraalVM 项目是由用于与 GraalVM 原生镜像交互的插件组成。本次版本提供了一些显著变更,其中包括:新增一个默认值为 false 的参数,允许跳过 POM 类型模块的原生镜像构建,从而实现向后兼容性;优化 ClassPathDirectoryAnalyzer 类,其中涵盖对 ignoreExistingResourcesConfig 字段的布尔值检查。有关此版本的更多详细信息,请参见更新日志。
Spring 框架
Spring 框架的第二里程碑版本 6.2.0 交付,提供问题修复、文档优化、依赖升级和新功能,其中包括:ServerRequest 接口中新增 pathVariableOrNull() 方法,作为 Kotlin 扩展中 pathVariable() 方法的可空变体;CodeFlow 类中新增 generateCodeForArgument() 方法,以提供与 SpelNodeImpl 类中定义方法相同的功能;新增 CompilableIndexAccessor 接口,以支持在 IndexAccessor 接口中自定义表达式的编译。有关此版本的更多详细信息,请参见发布说明。
同样,Spring 框架的 6.1.7、6.0.20、5.3.35 版本均已发布,提供问题修复、文档优化和显著变更,其中包括:
三个版本分别提供了对 Protect Reactor 的 2023.0.6、2022.0.19 及 2020.0.44 版本的依赖升级。有关这些版本的更多详细信息,请参见6.1.7 版本、6.0.20 版本及5.3.35 版本的发布说明。
Spring Data的 2024.0.0 版本现已发布,提供新功能,其中包括:优化实体和属性相关注解中的表达式并支持值表达式,与 Spring 框架的 @Value 注解保持一致,兼容 MongoDB 5.0 中新驱动程序内的一个废弃 API(现已移除)。除此之外,其他子项目也有升级:Spring Data Commons 3.3.0 版本;Spring Data MongoDB 4.3.0 版本;Spring Data Elasticsearch 5.3.0;以及 Spring Data Neo4j 7.3.0 版本。该版本将包含在即将发布的 Spring Boot 3.3.0 版本中。有关此版本的更多详细信息,请参见发布说明。
同样,Spring Data 的 2023.1.6 和 2023.0.12 版本也已发布,为以下子项目提供问题修复和相关依赖升级:Spring Data Commons 3.2.6 和 3.1.12 版本;Spring Data MongoDB 4.2.6 和 4.1.12 版本;Spring Data Elasticsearch 5.2.6 和 5.1.12;以及 Spring Data Neo4j 7.2.6 和 7.1.12 版本,这些版本在即将发布的 Spring Boot 3.2.6 和 3.1.12 可分别引用。
Spring Web Services 的 4.0.11 版本发布将依赖关系升级到 Spring 框架 6.0.20 版本,并提供以下显著变更:在 JmsIntegrationTest 类的每个测试方法前后取消 Apache ActiveMQ EmbeddedActiveMQ Artemis 服务器实例的启动和停止,从而提高测试性能;使用 Wss4jHandler 类的 MessageContext 接口重写安全密码,从而有效支持每个请求的凭据。有关此版本的更多详细信息,请参见发布说明。
Quarkus
Quarkus 的 3.10.1 版本 发布提供了依赖升级和显著变更,其中包括:移除 QuarkusClassLoader 类中定义 getResources() 方法返回 null,可能导致 NullPointerException 的异常出现;解决使用 @MockitoConfig 模拟 GitInfo 接口实现时出现的问题,该注解时利用了 AnnotationsTransformer API,但后者不适用于 synthetic bean(指元数据在 Quarkus 扩展中以编程方式创建的 bean)。有关此版本的更多详细信息,请参见更新日志。
Apache 软件基金会
Apache Tomcat 的 10.1.24 版本发布提供了问题修复和显著变更,其中包括:重构 trailer 字段的处理,使用 MimeHeaders 类的实例存储 trailer 字段;纠正异步调度请求的 AsyncListener 接口中定义的 onError() 方法的错误处理;解决了非现有资源的 WebDAV 锁问题。有关此版本的更多详细信息,请参见发布说明。
Hibernate
Hibernate Search 的首个 Alpha 版本 7.2.0,提供了依赖升级和对 Search DSL 的优化,其中包括:对数字和日期字段应用 queryString 和 simpleQueryString 谓词的能力;使用谓词 match 定义匹配项最小数量;以及用新增的 @DistanceProjection 注解将构造函数参数映射到距离映射。有关此版本的更多详细信息,请参见发布说明。
Micrometer
Micrometer Metrics 的 1.13.0 版本提供问题修复、文档优化、依赖升级及诸多新功能,其中包括:支持类上使用 @Counted 注解,更新 CountedAspect 类以处理类上使用 @Counted 的情况;移除在 PrometheusMeterRegistry 类中定义的 getConventionName() 的不必要调用;允许在 PushMeterRegistry 抽象类中实现自定义日志启动消息。有关此版本的更多详细信息,请参见发布说明。
同样,Micrometer Metrics 的 1.12.6 和 1.11.12 版本提供了依赖升级和错误修复,其中包括:DefaultJmsProcessObservationConvention 类中的 NullPointerException;AnnotationHandler无法查看父类中的方法。有关此版本的更多详细信息,请参见 1.12.6 版本和 1.11.12 版本的发布说明。
Micrometer Tracing 的 1.3.0 版本发布提供了问题修复、依赖升级和新功能,其中包括:新增用于改善集成测试的 TestSpanReporter 类,其中包含声明用于生成追踪的 Bean 的组件;以及在 SimpleSpanBuilder 类的 Tracer 接口中声明 setParent() 和 setNoParent() 的实现。有关此版本的更多详细信息,请参见发布声明。
同样,Micrometer Tracing 的 1.2.6 和 1.1.13 版本分别提供了对 Micrometer Metrics 1.12.6 和 1.11.12 版本的依赖升级,并解决了 ObservationAwareBaggageThreadLocalAccessor 类实例因 JUnit 的 @ParameterizedTest 注解而以错误顺序并行执行测试,干扰了作用域嵌套导致返回结果中跨度和追踪的错误,从而丢失作用域的问题。有关这些版本的更多详细信息,请参见1.2.6 版本和 1.1.13 版本的发布声明。
Project Reactor
Project Reactor 的第二里程碑版本发布(2024.0.0)提供对 reactor-core 3.7.0-M2、reactor-pool 1.1.0-M2 及 reactor-netty 1.2.0-M2 的依赖升级。此外,reactor-kafka 1.4.0-M1、reactor-addons 3.6.0-M1 及 reactor-kotlin-extensions 1.3.0-M1 工作保持不变,重新调整至 2024.0.0-M2 版本。有关此版本的更多详细信息,请参见更新日志。
其次,Project Reactor 的第六维护版本 2023.0.6 也提供了对 reactor-core 3.6.6 的依赖升级。此外,reactor-netty 1.1.19, reactor-kafka 1.3.23, reactor-pool 1.0.5, reactor-addons 3.5.1 及 reactor-kotlin-extensions 1.2.2 工作保持不变,重新调整至 2023.0.6 版本。有关此版本的更多详细信息,请参见 更新日志。
此外,Project Reactor 的第十九维护版本 2022.0.19 提供了对 reactor-core 3.5.17 和 reactor-netty 1.1.19 的依赖升级。此外,reactor-kafka 1.3.23、reactor-pool 1.0.5、reactor-addons 3.5.1 及 reactor-kotlin-extensions 1.2.2 工作保持不变,重新调整至 2022.0.19 版本。有关此版本的更多详细信息,请参见更新日志。
最后,Project Reactor 代号 Europium-SR44 的 2020.0.44 版本发布,提供对 reactor-core 3.4.38 和 reactor-netty 1.0.45 的依赖升级。此外,reactor-kafka 1.3.23、reactor-pool 0.2.12、reactor-addons 3.4.10、reactor-kotlin-extensions 1.1.10 及 reactor-rabbitmq 1.5.6 工作保持不变,重新调整至 2020.0.44 版本。有关此版本的更多详细信息,请参见更新日志。
Piranha Cloud
Piranha 的 24.5.0 版本发布,提供显著变更,其中包括:新增 Tomcat10xExtension 类,以兼容 Tomcat 10.0+;新增 Glassfish7xExtension 类,以兼容 GlassFish 7.0+;移除 SourceSpy 的项目地图。有关这些版本的更多详细信息,请参见文档和问题追踪。
JobRunr
分布式且由持久性存储支持的 Java 后台处理库,JobRunr 的 7.1.2 版本已发布,解决了由于 table-prefix 属性未正确设置而导致 DatabaseCreator 类中定义的 validateTables() 方法中出现 BeanCreationException异常。有关该版本的更多详细信息,请参见发布说明。
Java Operator SDK
Java Operator SDK 的 4.9.0 版本发布,提供依赖升级和 ReconciliationDispatcher 类中无效日志信息的移除。有关此版本的更多详细信息,请参见发布说明。
原文链接:
Java News Roundup: OpenJDK Updates, Piranha Cloud, Spring Data 2024.0.0, GlassFish, Micrometer
评论