作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀
JDK 21
JDK 21早期访问构建 Build 28 在上周发布,其中包括 Build 27 的更新,主要是修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明。
JDK 22
JDK 22早期访问构建Build 3 在上周发布,其中包括 Build 2 的更新,主要是修复了各种 问题。要了解关于这个版本的更多细节,请查看发布说明。
对于 JDK 21 和 JDK 22,我们鼓励开发人员通过 Java Bug 数据库报告 Bug。
Spring Framework
Spring Boot 的 3.1.1、3.0.8 和 2.7.13 版本完善了文档,升级了依赖项,并带来了一些重要的 Bug 修复,比如:SpringApplication
类中定义的from()
方法在 Kotlin 应用程序中难以使用;SSL 配置会覆盖来自WebClient
接口的其他自定义项;支持 JDK 20,但在JavaVersion
枚举中没有为其定义值。要了解关于这些版本的更多细节,可以查看 3.1.1、3.0.8 和 2.7.13 版本的发布说明。
Spring Security 的 6.1.1、6.0.4、5.8.4、5.7.9 和 5.6.11 版本发布,带来了 Bug 修复、依赖项升级和新特性,例如:使 OAuth 2.0 Resource Server 文档与 Spring Boot 的功能保持一致;参考手册新增一个章节,其中包括与本地镜像支持及使用限制相关的信息;迁移到 Asciidoctor Tabs。要了解关于这些版本的更多细节,请查看 6.1.1、6.0.4、5.8.4、5.7.9 和 5.6.11 版本的发布说明。
Spring Vault 3.0.3发布,修复了 Bug,完善了文档,升级了依赖项,并增加了一些新特性,比如:改进了日志记录功能,在令牌撤销失败时记录令牌访问器;向EnvironmentVaultConfiguration
类添加 AWS 身份和访问管理(IAM)认证;在VaultTransitOperations
接口的encrypt()
方法中包含key_version
属性。要了解关于该版本的更多细节,请查看发布说明。
Spring for GraphQL 的 1.2.1 和 1.1.5 版本发布,带来了 Bug 修复、依赖项升级和新特性,例如:增强 GraphQL 请求体检查,防止应该出现400 Bad Request
时出现500 Internal Server Error
;消除了IllegalArgumentException
(在使用现有的 Java Connection
类型时,由于没有定义ConnectionAdapter
接口而出现的异常)。要了解关于这些版本的更多细节,请查看 1.2.1 和 1.1.5 版本的发布说明。
Spring Authorization Server 的 1.1.1、1.0.3 和 0.4.3 版本 发布,其中包括 Bug 修复和依赖项升级。1.1.1 版本带来了一个提升性能的新特性,即在使用OAuth2AuthorizationConsent
类时,用String
类中的substring()
方法替换replaceFirst()
方法。要了解关于这些版本的更多细节,请查看 1.1.1、1.0.3 和 0.4.3 版本的发布说明。
Spring Modulith 1.0.0 的 第一个里程碑版本 提供了 Bug 修复、依赖项升级和一个新特性(默认将应用程序中定义的ExecutorService
接口的实例传播到Scenario
类的实例中)。该项目已经从实验状态提升为正式项目,并引入了以下破坏性的变化:将执行器端点从applicationmodules
重命名为application-modules
;将组标识符从org.springframework.experimental
重命名为org.springframework.modulith
;从基于 JDBC 的事件注册表中删除了以前弃用的配置属性spring. module .events.jdbc-*
。要了解关于该版本的更多细节,请查看发布说明。
BellSoft
BellSoft发布 了 Liberica Native Image Kit(NIK)的 23.0 版本,新特性包括:将 ParallelGC 垃圾收集器作为一个实验特性集成;实现 JFR ThreadCPULoad 事件;从 JNI-to-Java 调用存根中删除可能破坏兼容性的类型检查;使用LinuxThreadCpuTimeSupport
类中定义的getThreadCpuTime()
方法实现用户 CPU 时间线程。
IBM Semeru Open Edition
IBM发布 了 SemeruRuntime Open Edition 20.0.1。该版本基于 OpenJDK 20.0.1 和 Eclipse OpenJ9 0.39.0 构建。要了解关于该版本的更多细节,请查看发布说明。
Micronaut
Micronaut 4.0.0 的 第二个候选版本发布,提供了 Bug 修复、依赖项升级和以下改进:使用不安全的 setter 支持 Jackson;新增UnsafeBeanInstantiationIntrospection
接口(BeanIntrospection
接口的变体,包含一个instantiateUnsafe()
方法,允许跳过实例化验证);KotlinSymbol Processing API 中的 All-open 编译器插件支持。
Micronaut 基金会 发布 了 Micronaut Framework 3.9.4,主要是修复了 Bug 和升级了模块:Micronaut Security 和 Micronaut Servlet。它还将一个依赖项升级到 Netty 4.1.94。要了解关于该版本的更多细节,请查看发布说明。
Eclipse 基金会
在创建 6 年多以后(2017 年 3 月),JNoSQL 1.0.0发布。JNoSQL 是 Jakarta NoSQL 规范的兼容实现。其新特性包括:迁移到jakarta.*
命名空间,支持 Jakarta Data 规范;实现新方法,探索图、文档、键值和文档 NoSQL 等数据库类型的 fluent-API;新增方法count()
和exists()
,作为DocumentManager
和ColumnManager
接口的默认方法。在 2019 年 11 月成为兼容实现之前,JNoSQL 是一个方便开发人员使用 Java 创建 NoSQL 数据库应用程序的项目。
在 MicroStream宣布 其 Java 原生持久性层成为 Eclipse 项目两个月后,Eclipse Store 的 第一个版本(以前称为 MicroStream Persistence)已经面向 Java 社区发布。目前,MicroStream 代码库中的非 Eclipse 集成,如 Spring Boot、Quarkus 和 Helidon,将继续保持开源,而代码将在重构后(以使用 Eclipse Store 和 Eclipse Serializer 项目)托管在一个新的 MicroStream 存储库中。
Eclipse Vert.x 4.4.4发布,升级到 Netty 4.1.94.Final,以解决 CVE-2023-34462 漏洞(攻击者可以在未配置空闲超时处理器的情况下操纵SniHandler
类为每个连接缓冲最大 16MB 的数据,这会迅速导致OutOfMemoryError
错误,并可能引发分布式拒绝服务)。要了解关于该版本的更多细节,请查看 发布说明。
Apache 软件基金会
Apache Tomcat 团队披露,11.0.0-M5、10.1.8、9.0.74 和 8.5.88 版本受到 CVE-2023-34981 的影响(如果响应不包含任何 HTTP 头,就不会发送 Apache JServProtocol (AJP) SEND_HEADERS
消息,Bug 66512 修复中的回归就可能导致信息泄漏)。Bug 66591 修复了这个问题,开发人员最好迁移到 11.0.0-M6、10.1.9、9.0.75 或 8.5.89 等小版本。
Apache Camel 3.20.6发布,带来了 Bug 修复和改进,包括:当从 Camel Message 填充 Camel CXF 消息时,确保REQUEST_CONTEXT
和RESPONSE_CONTEXT
头已映射;增强 Camel JBang 模块,支持 OpenAPI。要了解关于该版本的更多细节,请查看发布说明。
类似地,Apache Camel 3.14.9发布,修复了以下 Bug:在FileConverter
类中使用Files
类的createTempFile()
方法,而不是直接创建文件;在 Woodstox XML 命名空间上使用 XML Tokenize 时可能出现的NullPointerException
。要了解关于该版本的更多细节,请查看发布说明。
Apache Log4j 3.0.0 的 第一个 Alpha 版本 带来了显著的变化,包括:允许通过更灵活的依赖注入模式创建插件;将 Kafka、ZeroMQ、CSV、JMS、JDBC 和 Jackson 的支持拆分到各自的模块中;在多个类和接口中移除对Serializable
接口的支持,包括Message
、Layout
、LogEvent
、Logger
和ReadOnlyStringMap
。
Apache JMeter 5.6.0发布,修复了一些 Bug,并增加了一些新特性,比如:使用 Caffeine 来缓存 HTTP 头,而不是 Apache Commons Collections LRUMap
类;为提升启动速度,使用 Java ServiceLoader
类来加载插件,而不是通过类路径扫描;通过使用 Java LongAdder
和类似的并发类来避免Calculator
类中的同步,改进许多线程频繁生成采样器时的计算过程。要了解关于该版本的更多细节,请查看发布说明。
JHipster
JHipster 团队 发布 了 JHipster Lite 0.35.0,修复了 Bug,完善了文档,升级了依赖项,改进了 Sonar 分析,提供了更多错误细节和一个等待选项。要了解关于该版本的更多细节,请查看发布说明。
堪萨斯开发者大会
2023堪萨斯开发者大会(KCDC)于上周在密苏里州堪萨斯城的堪萨斯会议中心 举行,来自 Java 社区的演讲者 带来了研讨会和专题演讲,主题涉及:Java、架构、云、数据科学、JavaScript、项目管理和安全。
JCON 欧洲站
同样在上周,JCON Europe 2023 在德国 Kön 的 Cinedom 举行,来自 Java 社区的演讲者就 Java、开发生产力工程、安全性、Web 组件、微服务和云原生等主题发表了演讲。
原文链接:
https://www.infoq.com/news/2023/06/java-news-roundup-jun19-2023/
声明:本文为 InfoQ 翻译,未经许可禁止转载。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!