最近,Spring 生态系统活动频繁,主要发布了如下项目的 GA 版本:Spring Boot、Spring Security、Spring Authorization Server、Spring Integration、Spring Modulith、Spring AMQP、Spring for Apache Kafka 和 Spring for Apache Pulsar。
Spring Boot
Spring Boot 3.4.0发布,该版本提供了依赖关系升级和新特性,比如,支持结构化日志,内置了对Elastic Common Schema、Graylog Extended Log Format和Logstash的支持;扩展了对虚拟线程的支持,现在允许 Micrometer OtlpMeterRegistry
类和Undertow Web 服务器使用虚拟线程。关于该版本的更多详细信息,请参阅发布说明。
InfoQ 发布了关于 Spring Boot 3.4 和 Spring Framework 6.2 的详细报道,其中包括对 Broadcom 的高级员工工程师兼 Spring Framework 项目负责人Juergen Hoeller和 Broadcom 主软件工程师兼 Spring Framework 核心提交者Sébastien Deleuze的采访。
Spring Cloud
代号为 Kilburn 的Spring Cloud 2022.0.9 版本发布,主要特性是对子项目的依赖关系进行了升级,即Spring Cloud Contract 4.0.9、Spring Cloud Netflix 4.0.7 和Spring Cloud OpenFeign 4.0。该版本兼容 Spring Boot 3.0.18 和 3.1.14。
Spring Security
Spring Security 6.4.0 版本发布,提供了缺陷修复、依赖关系升级和新特性,比如,支持Passkeys和一次性令牌;通过弃用原有配置方法并替换为新方法,简化了 OAuth 2.0 的配置。例如,DefaultAuthorizationCodeTokenResponseClient
类已被弃用,取而代之的是RestClientAuthorizationCodeTokenResponseClient
类。关于该版本的更多详细信息,请参阅发布说明和新功能页面。
Spring Authorization Server
Spring Authorization Server 1.4.0发布,提供了依赖关系升级和新特性,比如,改进了使用 Spring Security HttpSecurity
类中定义的with()
方法配置身份验证服务器的支持;通过OidcLogoutAuthenticationProvider
类,自定义 OpenID Connect 1.0 RP-Initiated 注销请求的验证和成功处理的功能。关于该版本的更多详细信息,请参阅发布说明。
Spring Integration
Spring Integration 6.4.0发布,提供了缺陷修复、依赖关系升级和新特性,例如,通过新的ControlBusCommandRegistry
类实现了新的 Control Bus 交互模型;在AmqpInboundChannelAdapter
类中添加了一个新的选项,以覆盖默认的amqp_batchedHeaders
名称。关于该版本的更多详细信息,请参阅发布说明和新功能页面。
Spring Modulith
Spring Modulith 1.3.0发布,提供了缺陷修复、依赖关系升级和新特性,例如,在核心抽象中嵌套应用模块的能力;新的ApplicationModuleSourceFactory
接口,用来声明根包(root package),以便于“扫描显式的应用模块基础包,并且可选择性地自定义应用模块探测策略,用于声明的根包”。这个新版本还升级到了 Spring Boot 3.4 和 Spring Framework 6.2。关于该版本的更多详细信息,请参阅发布说明和新功能页面。
Spring AI
Spring AI 1.0.0 的第四个里程碑版本包含了缺陷修复和新特性,比如,支持Bedrock Converse API,为 AI 聊天模型提供了统一的接口;通过FunctionCallback
构建器接口改进对 Java Function
、Supplier
和Consumer
接口的支持,从而允许直接调用这些函数和方法类型。根据路线图,Spring AI 团队计划在 2024 年 12 月发布第五个里程碑版本,随后在 2025 年 1 月发布候选版本和最终的 GA 版本。
Spring AMQP
Spring AMQP 3.2.0发布,该版本提供了缺陷修复、文档改进、依赖关系升级和一项新特性,即因为RabbitMQ 4.0发布后x-death
头信息不再有效,所以在向死信队列交换机(Dead Letter Exchanges,DLX)队列重新发布消息之前,需要调用MessageProperties
类中的incrementRetryCount()
方法。关于该版本的更多详细信息,请参阅发布说明。
Spring for Apache Kafka
Spring for Apache Kafka 3.3.0发布,提供了缺陷修复、文档改进、依赖关系升级和新特性,比如,泛型优化,以修复MessagingMessageListenerAdapter
类中定义的testTransactionReplicationFactor()
方法中的警告;在使用嵌入式 Kafka 代理@EmbeddedKafka
注解进行测试时,为事务主题提供了副本因子的默认最小值。关于该版本的更多详细信息,请参阅发布说明。
Spring LDAP
Spring LDAP 2.4.4 和 3.2.8 版本发布,解决了CVE-2024-38829,大小写比较时,Spring LDAP敏感数据暴露(Spring LDAP Sensitive Data Exposure for Case-Sensitive Comparisons)的漏洞,该漏洞影响了 3.2.0 - 3.2.7、3.1.0 - 3.1.7、3.0.0 - 3.0.9 和 2.4.0 - 2.4.3 版本。在这些版本中,使用 Java String
中的toLowerCase()
和toUpperCase()
方法会引发Locale
相关的异常,这些异常可能会导致查询预料之外的列。关于这两个版本的更多详细信息,请参阅3.2.8版本和2.4.4版本的发布说明。
Spring for Apache Pulsar
Spring for Apache Pulsar 1.2.0 发布,提供了多项依赖关系升级,值得注意的包括 Spring Framework 6.2.0、Project Reactor 2024.0.0、Micrometer Metrics 1.14.1 和 Micrometer Tracing 1.4.0。有关该版本的更多详情,请参阅发布说明。
原文链接:
Spring News Roundup: Delivering GA Releases of Boot, Security, Auth Server, Integration, Modulith
评论