
最近,Spring 生态社区活动较为活跃,重点发布了如下产品的里程碑版本:Spring Boot、Spring Security、Spring Authorization Server、Spring Integration、Spring AI 和 Spring AMQP。
很多版本已经包含在了 Spring Boot 3.5.0-M2、3.4.3 和 3.3.9 中。
Spring Boot
Spring Boot 3.5.0 的第二个里程碑版本提供了缺陷修复、文档改进、依赖关系升级和新功能,比如,通过 actuator 端点按需触发 Quartz job 的能力;通过更新PrometheusPushGatewayManager
类以支持Prometheus Client。关于此版本的更多详情,请参阅发布说明。
同样,Spring Boot 的 3.4.3 和 3.3.9 版本也已发布(发布新闻分别参见此处和此处),其中包括缺陷修复、文档改进、依赖关系升级以及在JavaVersion
枚举类中添加了TWENTY_FOUR
。关于这些版本的更多详细信息,请分别参见3.4.3版本和3.3.9版本的发布说明。
Spring Security
Spring Security 6.5.0 的第二个里程碑版本提供了缺陷修复、依赖关系升级和新特性,比如,新的HttpStatusAccessDeniedHandler
类可将 HTTP 状态码设置为响应;新接口GenerateOneTimeTokenRequestResolver
和ServerGenerateOneTimeTokenRequestResolver
,能够分别解析来自 Jakarta Servlet HttpServletRequest
和 Spring Framework ServerWebExchange
接口的GenerateOneTimeTokenRequest
类实例的策略。关于此版本的更多详细信息,请参阅发布说明。
同样,Spring Security 的 6.4.3 版本和 6.3.7 版本也发布了缺陷修复、依赖关系升级和新特性,比如,重构了s101
Gradle 任务,现在它依赖于assemble
任务而不是check
任务,以提高稳定性;在WebAuthnDsl
类中添加了disableDefaultRegistrationPage
布尔型字段,以禁用默认的WebAuthn
注册页面。有关这些版本的更多详细信息,请参见6.4.3版本和6.3.7版本的发布说明。
Spring Authorization Server
Spring Authorization Server 1.5.0 的首个里程碑式版本进行了依赖关系升级,并支持互联网工程任务组(Internet Engineering Task Force,IETF)的 RFC 9449,即OAuth 2.0展示持有证明(OAuth 2.0 Demonstrating Proof of Possession,DPoP),这是一种 “通过应用层上的持有证明机制来限制 OAuth 2.0 令牌的发送方”的机制。有关此版本的更多详细信息,请参阅发布说明。
同样,Spring Authorization Server 的 1.4.2 和 1.3.5 版本已发布,包含缺陷修复、依赖关系升级和 1.4.2 版本中的新特性,比如,在许多与 OAuth2、OIDC 和 JWT 相关的类中添加了 Java 的@Override
注解;在AuthorizationServerContextFilter
类中用首选的fromUriString()
方法替换了 Spring 框架UriComponentsBuilder
类中定义的过时的fromHttpUrl()
方法。关于这些版本的更多详细信息,请参见1.4.2版本和1.3.5版本的发布说明。
Spring for GraphQL
Spring for GraphQL 1.3.4 版本发布,包含了缺陷修复、文档改进、依赖关系升级和新功能,例如,Spring Framework WebSocketHandler
接口的实现现在可记录未处理的错误;BearerTokenAuthenticationExtractor
类中的授权密钥的查找应区分大小写。关于该版本的更多详细信息,请参阅发布说明。
Spring Session
Spring Session的 3.4.2 和 3.3.6 版本发布,其中包括值得关注的依赖关系升级,如 Spring Boot 3.3.8、Spring Framework 6.2.3 和 Project Reactor 2023.0.15。关于这些版本的更多详细信息,请参阅3.4.2版本和3.3.6版本的发布说明。
Spring Integration
Spring Integration 6.5.0 的第二个里程碑版本提供了缺陷修复、依赖关系升级和新功能,例如,一旦资源关闭,StreamTransformer
类的实例必须从输出消息中移除IntegrationMessageHeaderAccessor
类中定义的CLOSEABLE_RESOURCE
头信息;Apache Kafka 的入站通道适配器现在默认生成 Spring Framework MessageHeaders
类中定义的ID
和TIMESTAMP
头信息,以便与 Spring Integration 其他类似通道适配器保持一致。关于此版本的更多详细信息,请参阅发布说明。
同样,Spring Integration 的 6.4.2 和 6.3.8 版本发布,其中包括依赖关系升级和一些值得关注的问题的解决,例如,使用DelayerEndpointSpec
类中定义的taskScheduler()
方法无法指定自定义任务调度器;如果目录路径是符号链接,SftpInboundFileSynchronizer
的实例无法同步文件。关于这些版本的更多详细信息,请参阅6.4.2版本和6.3.8版本的发布说明。
Spring AI
Spring AI 1.0.0 的第六个里程碑版本聚焦于继续“从设计角度审查代码库”。新特性包括:利用新注解@Tool
和@ToolParam
以及新类 MethodToolCallback
和FunctionToolCallback
实现声明式、编程式和函数式定义工具的能力;集成新的模型上下文协议(Model Context Protocol)Java SDK;增强了Vector Store API。有关此版本的更多详细信息,包括破坏性变更,请参见升级说明。
Spring AMQP
Spring AMQP 4.0.0 的第一个里程碑版本提供了缺陷修复、文档改进、依赖关系升级和新功能,例如,使用JSpecify和NullAway实现了全面的空安全性迁移;改进了AbstractMessageListenerContainer
类,将getMessageAckListener()
从protected
变为public
(与对应的setMessageAckListener()
方法保持一致),并增加了一个缺失的getErrorHandler()
方法。有关该版本的更多详细信息,请参阅发布说明。
同样,Spring AMQP 的 3.2.3 和 3.1.9 版本发布,提供了缺陷修复、依赖关系升级以及对上述AbstractMessageListenerContainer
类改进的回传。有关这些版本的更多详细信息,请参阅3.2.3版本和3.1.9版本的发布说明。
Spring for Apache Kafka
Spring for Apache Kafka发布 3.3.3 和 3.2.7版本,提供了缺陷修复、依赖关系升级以及对MessagingMessageListenerAdapter
类的优化,该类在DelegatingInvocableHandler
类中定义的invoke()
方法中会返回null
。关于这些版本的更多详细信息,请参阅3.3.3版本和3.2.7版本的发布说明。
Spring for Apache Pulsar
Spring for Apache Pulsar的 1.2.3 和 1.1.9 版本已发布,分别升级了对 Spring Framework 6.2.3 和 6.1.17、Micrometer 1.14.4 和 1.13.11、Micrometer Tracing1.4.3 和 1.3.9 以及 Project Reactor 2024.0.3 和 2023.0.15 的依赖关系。关于这些版本的更多详细信息,请参阅1.2.3版本和1.1.9版本的发布说明。
原文链接:
Spring News Roundup: Milestone Releases of Boot, Security, Auth Server, Integration, AI and AMQP
评论