作者 | Michael Redlich
译者 | 张卫滨
策划 | 丁晓昀
最近,Spring 生态系统较为活跃,值得关注的内容包括 Spring Boot、Spring Data、Spring Cloud、Spring Security、Spring Authorization Server、Spring Session、Spring for Apache Kafka 和 Spring for Apache Pulsar 的小版本及里程碑版本发布。
Spring Boot
Spring Boot 3.4.0 的第二个里程碑版本发布,提供了缺陷修复、文档改善、依赖项升级和许多新特性,比如,更新@ConditionalOnSingleCandidate,以便于在存在单一常规 bean 的情况下处理后备 bean;在启用虚拟线程的情况下,配置SimpleAsyncTaskScheduler类。关于该版本的更多详情,请参阅 发布说明。
Spring Boot 的 3.3.3 和 3.2.9 版本发布,解决了 CVE-2024-38807,“Spring Boot Loader 中的签名伪造漏洞(Signature Forgery Vulnerability in Spring Boot's Loader)”,在该漏洞中,使用spring-boot-loader或spring-boot-loader-classic API 的应用程序包含了对嵌套 JAR 文件执行签名校验的自定义代码,这可能会导致受到签名伪造的攻击,即内容看上去可能是由某个签名者所签发的,但实际上却是另一个签名者签发的。使用较早版本 Spring Boot 的开发人员应该 升级 至 3.1.13、3.0.16 和 2.7.21 版本。
Spring Data
Spring Data 2024.0.3 和 2023.1.9 均是服务版本,其特性包括缺陷修复以及对如下子项目的依赖项升级,分别是 Spring Data Commons 3.3.3 和 3.2.9、Spring Data MongoDB 4.3.3 和 4.2.9、Spring Data Elasticsearch 5.3.3 和 5.2.9 以及 Spring Data Neo4j 7.3.3 和 7.2.9。这些版本分别可以通过 Spring Boot 3.3.3 和 3.2.9 来使用。
Spring Cloud
代号为 Mooregate 的 Spring Cloud 2024.0.0 发布了第一个里程碑版本,主要对子项目进行了缺陷修复和重要更新,包括 Spring Cloud Kubernetes 3.2.0-M1、Spring Cloud Function 4.2.0-M1、Spring Cloud OpenFeign 4.2.0-M1、Spring Cloud Stream 4.2.0-M1 和 Spring Cloud Gateway 4.2.0-M1。该版本与 Spring Boot 3.4.0-M1 兼容。关于该版本的更多信息,请参阅发布说明。
Spring Security
Spring Security 6.4.0 的第二个里程碑版本提供了缺陷修复、依赖项升级和新特性,比如,改进了对@AuthenticationPrincipal和@CurrentSecurityContext元注解的支持,以便更好地与方法安全性保持一致;保留了InMemoryUserDetailsManager类中的自定义用户类型,以便于更好地用于loadUserByUsername方法;在AuthorizationDeniedException类中添加了一个构造函数,以便为AuthorizationResult接口提供默认值。关于该版本的更多详细信息,请参阅发布说明和新特性页面。
与之类似,Spring Security 的 6.3.2、6.2.6 和 5.8.14 版本 发布,提供了缺陷修复、依赖项升级和一项新的特性,即在ActiveDirectoryLdapAuthenticationProvider类中实现了对多个 URL 的支持。关于这些版本的更多详情,请分别参阅 6.3.2 版本、6.2.6 版本和 5.8.14 版本的发布说明。
Spring Authorization Server
Spring Authorization Server 的 1.4.0-M1、1.3.2 和 1.2.6 版本发布,提供了缺陷修复、依赖项升级和新特性,比如,在OAuth2TokenRevocationEndpointFilter类中添加了新的authenticationDetailsSource方法,用于从 Jakarta Servlet HttpServletRequest接口的实例中构建验证详情信息;允许在OidcLogoutEndpointFilter类中自定义 Spring Security LogoutHandler接口的实例。关于这些版本的更多详细信息,请参阅 1.4.0-M1 版本、1.3.2 版本和 1.2.6 版本的发布说明。
Spring Session
Spring Session 3.4.0-M2 的第二个里程碑版本 提供了许多依赖项升级和一个新的RedisSessionExpirationStore接口,所以现在可以在RedisIndexedSessionRepository.RedisSession类的实例中自定义过期策略了。关于该版本的更多详细信息,请参阅发布说明和新特性页面。
与之类似,Spring Session 3.3.2 和 3.2.5发布,它们也进行了依赖项升级,并解决了AbstractSessionWebSocketMessageBrokerConfigurer类的实例由于 Spring Framework ApplicationListener接口的非静态声明所导致的SessionRepository接口立即实例化的问题。关于该版本的更多信息,请参阅 3.3.2 版本和 3.2.5 版本的发布说明。
Spring Modulith
Spring Modulith 的 1.3 M2、1.2.3 和 1.1.8 版本发布,提供了缺陷修复、依赖项升级和新的特性,比如,优化了基于事件和目标标识符的发布完成功能,使数据库能够优化查询计划;重构了EventPublication接口,将isPublicationCompleted方法重命名为isCompleted。关于这些版本的更多详细信息,请参阅 1.3.0-M2 版本、1.2.3 版本和 1.1.8 版本的发布说明。
Spring AI
Spring AI 的 第二个里程碑版本发布,主要提供了缺陷修复、文档改进和新特性,比如,改进了ChatClient接口、聊天模型、嵌入模型、图像生成模型和向量存储的可观测性特性;为 ETL 流水线提供了新的MarkdownDocumentReader;由 Cassandra 作为支撑的新ChatMemory接口。
Spring for Apache Kafka
Spring for Apache Kafka 的 3.3.0-M2、3.2.3 和 3.1.8 版本发布,其中包括缺陷修复、依赖项升级和新特性,比如,支持 Apache Kafka 3.8.0;改善了容错重试的错误处理。这些版本将分别包含在 Spring Boot 3.4.0-M2、3.3.3 和 3.2.9 中。有关这些版本的更多详细信息,请参阅 3.3.0-M2 版本、3.2.3 版本和 3.1.8 版本的发布说明。
Spring for Apache Pulsar
Spring for Apache Pulsar 1.2.0-M1 的第一个里程碑版本发布,提供了文档改善、依赖项升级和新特性,比如,能够配置默认主题和命名空间;能够为 JSON 模式使用自定义 Jackson ObjectMapper类的实例。该版本将包含在 Spring Boot 3.4.0-M2 中。有关该版本的更多详细信息,请参阅发布说明。
同样,Spring for Apache Pulsar 的 1.1.3 和 1.0.9 版本发布,进行了依赖项升级,它们将分别包含在 Spring Boot 3.3.3 和 3.2.9 中。关于这些版本的更多详情,请参阅 1.1.3 版本和 1.0.9 版本的发布说明。
查看英文原文:
Spring News Roundup: Milestone Releases for Spring Boot, Cloud, Security, Session and Spring AI (https://www.infoq.com/news/2024/08/spring-news-roundup-aug19-2024/)
剥离几百万行代码,复制核心算法去美国?TikTok 最新回应来了
C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
上6休3上3休2...AI大模型集体“翻车”,今年调休安排究竟有多烧脑?曝国产GPU独角兽全员被裁;阿里完成三年整改 | Q资讯
Runway“跑路”了?!全部开源模型删除,网友:名字果然没骗人!