本期的 Java 综述包括 OpenJDK 的早期访问版本、Open Liberty 23.0.0.12、Infinispan 15.0.0-Dev06、JHipster 8.1.0、Piranha 23.12.0 和 Apache Tomcat 的多个版本(11.0.0-M15、10.1.17、9.0.84 和 8.5.97),以及首次登场亮相的 Payara 虚拟会议。
JDK 23
JDK 23 的早期访问构建版本的Build 2发布,它是对 Build 1 的更新,其中包括对各种问题的修复。关于这个版本的更多细节可以在发布说明中找到。
JDK 22
JDK 22 的早期访问构建版本的Build 28发布,它是对 Build 27 的更新,其中包括对各种问题的修复。关于这个版本的更多细节可以在发布说明中找到。
对于JDK 23和JDK 22,鼓励开发人员通过Java缺陷数据库报告缺陷。
Spring Framework
Spring Framework的 6.1.2 和 6.0.15 版本发布,提供了缺陷修复、文档改进、依赖性升级和新特性,例如,在TargetSource
接口中,将isStatic()
和releaseTarget()
声明为默认方法;改进@RegisterReflectionForBinding
注解,用于显式处理枚举;解决在ConcurrentReferenceHashMap
中出现竞态条件的问题。这些版本可以分别在即将发布的Spring Boot 3.2.1 和 3.1.7 中使用。关于这些版本的更多细节,请参阅6.1.2版本和6.0.15版本的发布说明。
Spring Data的 2023.1.1 和 2023.0.7 版本发布,提供了缺陷修复,并对相应的子项目进行了升级,比如:Spring Data Commons 3.2.1 和 3.1.7;Spring Data MongoDB 4.2.1 和 4.1.7;Spring Data Elasticsearch 5.2.1 和 5.1.7,以及 Spring Data Neo4j 7.2.1 和 7.1.7。这些版本可能分别被即将发布的 Spring Boot 3.2.1 和 3.1.7 版本所使用。
Open Liberty
IBM发布了Open Liberty的 23.0.0.12 版本,包括如下特性:支持 MicroProfile 6.1;升级至Liberty Maven plug-in 3.10、Liberty Gradle plug-in 3.8以及面向 Eclipse IDE、IntelliJ IDEA 和 Visual Studio Code 的 Liberty Tools 23.0.12;解决CVE-2023-44487,这是一个 Tomcat 实现的 HTTP/2 易于受到快速重置攻击的漏洞,这样会造成拒绝服务,通常表现为OutOfMemoryError
。
Quarkus
Quarkus 3.6.3发布,解决了如下问题:在 3.6.2 版本的回归中,ConfigDiagnostic
类产生的NullPointerException
;禁用 Keycloak 的Dev Services所导致的启动错误;当 Quarkus 试图匹配未知的配置文件时,会抛出 NullPointerException。关于该版本的更多细节,请参阅变更日志。
Micronaut
Micronaut 基金会发布了Micronaut框架的 4.2.2 版本,其中包含了Micronaut Core 4.2.2,以及对Micronaut AWS和Micronaut Cache模块的更新。关于该版本的更多细节,请参阅发布说明。
Helidon
Helidon发布了2.6.5版本,包含如下特性:依赖性升级;在OciExtension
类中支持供应商专门的注入点;纠正文档中如何设置 OpenAPI 生成器的错误。关于该版本的更多细节,请参阅变更日志。
Grails
Grails 基金会发布了Grails框架的 6.1.1 版本,其中包含了缺陷修复、依赖性升级和一些值得注意的变更,例如,通过为每个测试使用不同的模板名称来解决测试凌乱的问题;将 Grails 更新到 Groovy 3.0.19 并与之兼容;提供了 SnakeYAML BOM。关于该版本的更多细节,请参阅发布说明。
Infinispan
Infinispan 15.0.0 的第六个开发版本有一些显著的变化,比如,重新引入了对 JCache 的支持,因为它的 CDI 切面对javax
命名空间的依赖是可选的,这使得不需要 CDI 就可以实现 JCache;解决JGroupsTransport
类中定义的 getmemberspphysicaladdresses()方法抛出 IllegalArgumentException 的问题;在尝试注册度量指标之前,进行检查以确保MetricsRegistry
接口是启用的。关于该版本的更多细节,请参阅变更日志。
Micrometer
Micrometer Metrics 的 1.12.1 和 1.11.7 版本都提供了依赖性升级和值得注意的变更,包括:新的ModifiedClassPathClassLoader
类,从而能够与 Spring Boot 版本同步;修复了缺陷,即在第一个步骤关闭完成之前,就关闭步骤注册表,将会导致重复发布数据。关于这两个版本的更多细节,请参阅1.12.1版本和1.11.7版本的发布说明。
类似的,Micrometer Tracing的 1.2.1 和 1.1.8 版本都提供了依赖性升级,并解决了在Observation
接口中的内部接口Event
中,getWallTime()
方法的默认值返回0
的问题,该方法在上传 span 时会导致后端失败。关于这两个版本的更多细节,请参阅1.2.1版本和1.1.8版本的发布说明。
Eclipse Vert.x
Eclipse Vert.x的 4.5.1 版本发布,带了一些值得关注的变化,包括:由于 JDK 22 的变更,在解析 PostgreSQL 时间戳时,从Locale.ROOT
切换到了Local.US
;解决了当 HTTP/1.1 缺少主机头信息时,ForwardedParser
类中出现NullPointerException
的问题;新的@JsonGen
注解,它将替换@DataObject
注解以触发转换器的生成。关于该版本的更多细节,请参阅发布说明以及对废弃功能和破坏性变更的介绍。
JHipster
JHipster 8.1.0 版本发布,包含了缺陷和依赖性升级,并增加了新特性,例如,使用会话端点元数据进行 OAuth 注销;重构 CustomClaimConverter
类中的授权头信息。关于这个版本的更多细节,请参阅 JHipster 8.0 的发布说明和 InfoQ 关于 JHipster 8.0 的新闻。
Project Reactor
Project Reactor 2023.0.1 是第一个维护版本,提供了对reactor-core 3.6.1
、reactor-netty 1.1.14
和reactor-pool 1.0.4
的依赖性升级。在 2023.0.1 版本中,reactor-kafka 1.3.22
、reactor-addons 3.5.1
和reactor-kotlin-extensions 1.2.2
制品没有变化。关于该版本的更多细节,请参阅变更日志。
与之类似,Project Reactor 2022.0.14(第14个维护版本)提供了对reactor-core 3.5.13
、reactor-netty 1.1.14
和reactor-pool 1.0.4
的依赖性升级。在 2022.0.14 版本中,reactor-kafka 1.3.22
、reactor-addons 3.5.1
和reactor-kotlin-extensions
1.2.2 制品没有变化。关于该版本的更多细节,请参阅变更日志。
Apache 软件基金会
Apache Tomcat的11.0.0-M15、10.1.17、9.0.84和8.5.97版本都修复了缺陷,并提供了值得注意的变更,例如,当容器的生命周期操作正在进行时,容器的后台进程不再执行;修正了WebDAV响应会出现意料之外的 XML 转义的问题;在 HTTP 请求处理时,如果发生读取超时的话,使用HTTP 408状态码“Request Timeout”而不是HTTP 400状态码“Bad Request”。关于这些版本的更多细节,请参阅11.0.0-M15版本、10.1.17版本、9.0.84版本和8.5.97版本的变更日志。
Apache Maven 4.0.0 的第9个alpha版本提供了一些值得注意的变化,例如,依赖升级到 Maven Resolver 2.0.0-alpha-3;提供了多线程的 map/reduce 算法来并行解析冗长的 reactor 模型;当需要注入 bean 而会话作用域还不可用时,@SessionScoped
注解现在将创建代理来包装 bean。关于该版本的更多细节,请参阅发布说明。
Apache Camel的3.21.3和3.20.9版本都对依赖性进行了升级,并修复了一些值得关注的缺陷,例如,在通过 multipart 启动大文件上传时出现的OutOfMemoryError
;EndpointDslMojo
类中定义的addHeaderNameMethod()
方法生成错误的头信息名;Apache Camel K的 Kubernetes secret 配置没有按照预期方式运行。关于这两个版本的更多细节,请参阅3.21.3版本和3.20.9版本的发布说明。
Piranha
Piranha发布23.12.0版本,提供了值得关注的变更,包括:在 Payara Web Profile 中支持 CRaC;将 Docker 文件更新到 JDK 21;将依赖升级到 Spring Boot 3.1.6。关于此版本的更多细节,请参阅其文档和问题跟踪器。
OpenXava
OpenXava 7.2.1发布,提供了依赖性升级和值得关注的缺陷修复,例如,XSTL 依赖所引发的远程代码执行漏洞;在@Coordinates
中使用@OnChange
action 无法按照预期方式运行;忽略掉了@Tree
注解中所定义的idProperties
属性。关于此版本的更多细节,请参阅发布说明。
Payara 虚拟会议
首届Payara虚拟会议举行,该会议为期一天,由顶级行业分析师、Java Champions 和 Jakarta EE 专家参加。与会者还从 Payara 首席执行官Steve Millidge那里了解了更多关于 Payara Platform 2024 路线图的信息。
原文链接:
Java News Roundup: JHipster 8.1, Piranha Cloud 23.12, Open Liberty 23.0.0.12, Tomcat Releases
评论