最近,Spring 生态系统的活动较为频繁,重点发布了如下项目的候选版本:Spring Boot、Spring Security、Spring Authorization Server、Spring Integration、Spring Modulith、Spring Batch、Spring AMQP、Spring for Apache Kafka 和 Spring for Apache Pulsar。
Spring Boot
Spring Boot 3.4.0 的第一个发布候选版本提供了缺陷修复、文档改进、依赖性升级和许多新特性,比如,通过新的构建器和额外的定制功能改进了对 Spring Framework ClientHttpRequestFactory
接口的支持;Paketo Buildpack for Spring Boot支持了 ARM 和 x86 架构。关于该版本的更多详细信息,请参阅发布说明。
同样,Spring Boot 3.3.5和3.2.11发布,提供了文档改进、依赖性升级并修正了一些值得关注的缺陷,比如,删除了DataSourceProperties
类中定义的driverClassIsLoadable()
方法在出现异常时向错误流中打印堆栈跟踪信息的功能,因为这已被确认是没有必要的;解决了ArtemisConnectionFactoryFactory
类的实例在构建原生镜像时失败的问题。关于这两个版本的更多详细信息,请参阅3.3.5版本和3.2.11版本的发布说明。
Spring Framework
在 Spring Boot 3.4.0-RC1 发布的同时,Spring Framework 6.2.0 的第三个发布候选版本也提供了缺陷修复、文档改进和新功能,例如,删除了新@MockitoSpyBean
注解中的proxyTargetAware
属性,因为它被认为是不必要的;重构了RestClient
接口中定义的retrieve()
方法,以便执行请求并在必要时提取响应,从而消除了在此工作流中调用两个方法的必要性。有关该版本的更多详细信息,请参阅发布说明。
Spring Security
Spring Security 6.4.0 的第一个发布候选版本提供了缺陷修复、依赖性升级和新特性,比如,支持Passkeys;新的authorize()
方法替换了AuthorizationManager
接口中定义的现已废弃的authorize()
方法,该方法会返回AuthorizationResult
接口的实例;重构了AuthorizationEventPublisher
接口中定义的publishAuthorizationEvent(Supplier<Authentication>, T, AuthorizationDecision)
方法,该方法现在接受的是AuthorizationResult
接口的实例,替换了参数列表中的AuthorizationDecision
类。关于该版本的更多详细信息,请参阅 发布说明和新特性页面。
同样,Spring Security 的 6.3.4、6.2.7 和 5.8.1 版本发布,其中包括缺陷修复、依赖性升级并修正了一些值得关注的缺陷,比如,虽然eraseCredentialsAfterAuthentication
字段设置为false
,但AuthenticationManager
接口的自定义实例中的凭据信息依然会被擦除;@PostFilter
注解标注的方法会被PostFilterAuthorizationMethodInterceptor
类处理两次。关于这些版本的更多详细信息,请分别参阅6.3.4版本、6.2.7版本和5.8.15版本的发布说明。
Spring Authorization Server
Spring Authorization Server 1.4.0 的第一个发布候选版本提供了依赖性升级和新特性,比如,用 Spring Security 中定义的类似的DelegatingAuthenticationConverter
类替换了认证服务器中同名的DelegatingAuthenticationConverter
类;使用 Spring Security HttpSecurity
类中定义的with()
方法简化了专用授权服务器的配置。关于该版本的更多详细信息,请参阅发布说明。
同样,Spring Authorization Server 的 1.3.3 和 1.2.7 版本发布,其中包括依赖性升级和一项修复,以便于更高效地利用JdbcOAuth2AuthorizationService
类定义的子类注册 AOT contribution。关于这两个版本的更多详细信息,请参阅1.3.3版本和1.2.7版本的发布说明。
Spring for GraphQL
Spring for GraphQL的 1.3.3 和 1.2.9 版本发布,包括了缺陷修复、依赖性升级和新特性,比如,能够为服务器端事件设置超时值;用@BatchMapping
注解标注的方法应该从BatchLoaderEnvironment
类的实例传递localContext
字段(定义在 GraphQL for Java DataFetcherResult
类中)。关于这些版本的更多详细信息,请参阅1.3.3版本和1.2.9版本的发布说明。
Spring Integration
Spring Integration的第一个发布候选版本提供了缺陷修复、文档改进、依赖性升级和新特性,比如,现在可以通过 Spring Framework TaskScheduler
接口的实例来配置RedisLockRegistry
类,以更新存储中的自动锁;迁移 Python 脚本以支持 Python 3 和GraalPy。有关该版本的更多详细信息,请参见发布说明和新特性页面。
同样,Spring Integration 的 6.3.5 和 6.2.10 版本发布,其中包括错误修复、依赖性升级和新特性,比如,在上述RedisLockRegistry
类中添加了一个新属性idleBetweenTries
,用于指定锁尝试之间的休眠时间;在使用@SpringIntegrationTest
注解时改进了对 JUnit @Nested
注解的支持。有关这两个版本的更多详细信息,请参与6.3.5版本和6.2.10版本的发布说明。
Spring Modulith
Spring Modulith 1.3.0 的第一个发布候选版本提供了缺陷修复、文档改进、依赖性升级和新特性,比如,在 JDBC 事件发布注册中心中支持 Oracle 数据库类型;支持 MariaDB 数据库驱动程序。关于该版本的更多详情,请参阅发布说明。
同样,Spring Modulith 的 1.2.5 和 1.1.10 版本也已发布,其中包括缺陷修复、依赖性升级和参考文档的各种改进。关于这些版本的更多详细信息,请参阅1.2.5版本和1.1.10版本的发布说明。
Spring Batch
Spring Batch 5.2.0 的第一个发布候选版本提供了缺陷修复、文档改进、依赖性升级和一项新特性,即允许对CompositeItemReader
类进行子类化,从而降低了泛型的严格程度。关于此版本的更多详情,请参阅发布说明。
Spring AMQP
Spring AMQP 3.2.0 的第一个发布候选版本提供了文档改进、依赖性升级和新特性,例如,通过 RabbitTemplate
类的实例和@RabbitListener
注解暴露额外的 Open Telemetry 语义标记;RabbitTemplate
类中的新方法getBeforePublishPostProcessors()
,它是现有addBeforePublishPostProcessors()
方法的补充,允许开发人员动态访问和修改这些处理器。关于此版本的更多详细信息,请参阅发布说明。
Spring for Apache Kafka
Spring for Apache Kafka 3.3.0 的第一个发布候选版本提供了缺陷修复、文档改进、依赖性升级和新特性,比如,新的KafkaMetricsSupport
类,用于改进对度量指标的支持;在KafkaAdmin
类中定义的createAdmin()
方法上使用 Java @Override
注解的特性,以使用其他实现了 Apache Kafka Admin
接口的类。该版本还提供了与 Spring Boot 3.4.0-RC1 的完全集成。有关该版本的更多详细信息,请参阅发布说明。
Spring for Apache Pulsar
Spring for Apache Pulsar 1.2.0 的第一个发布候选版本提供了依赖性升级和功能改进,例如,确保对 Java String
类中定义的toLowerCase()
和toUpperCase()
方法的所有调用均指定一个 Java Locale
类的实例,默认为Locale.ROOT
;当使用 lambda 生产者定制器(lambda producer customizer)时,提供新日志以警告开发人员,从而提高他们的意识。有关此版本的更多详细信息,请参阅发布说明。
同样,Spring for Apache Pulsar 的 1.1.5 和 1.0.11 版本也已发布,其中包括依赖性升级以及前面提到的对toLowerCase()
和toUpperCase()
方法的使用。关于这些版本的更多详细信息,请参阅1.1.5版本和1.0.11版本的发布说明。
原文链接:
Spring News Roundup: Release Candidates for Spring Boot, Security, Auth Server, Modulith
评论