Spring Cloud 2025.0.0(代号 Northfields)已发布
Spring Cloud 2025.0.0 于 2025-05-29 正式发布。你可以在 Maven Central 中找到该版本。你可以查看 2025.0.0 发布说明 了解更多信息。
2025.0.0 中的显要变化
此版本兼容 Spring Boot 3.5.0。点击 此处 查看该版本中的所有问题和 PR。以下是 GA 发布前所有里程碑的亮点。
Spring Cloud Gateway
-
添加对 spring-cloud-function 和 spring-cloud-stream handler 的支持 #3646。
-
在服务器 webflux 中添加对 Bucket4jRateLimiter 的支持 #2955。
-
弃用
WebClientRouting
基础架构。这将在今年晚些时候的 5.0 中删除 #3680 -
创建了新的模块和 Starter 名称,旧名称已被弃用。#3645 的下表列出了新的和废弃的构件。这些新名称明确了网关的两种样式(Server 或 Proxy Exchange)以及 Spring 的两种 Web 技术栈(Web MCV 和 WebFlux)。使用过时的工件将在日志中添加警告信息。
已废弃 Artifact 新的 Artifact spring-cloud-gateway-server spring-cloud-gateway-server-webflux spring-cloud-gateway-server-mvc spring-cloud-gateway-server-webmvc spring-cloud-starter-gateway-server spring-cloud-starter-gateway-server-webflux spring-cloud-starter-gateway-server-mvc spring-cloud-starter-gateway-server-webmvc spring-cloud-gateway-mvc spring-cloud-gateway-proxyexchange-webmvc spring-cloud-gateway-webflux spring-cloud-gateway-proxyexchange-webflux -
迁移到新的属性前缀,以匹配新的模块名称:#3361、#3362、#3363、#3647。使用
spring-boot-properties-migrator
支持已废弃的前缀。下表列出了模块或 Starter、其旧前缀和新替换前缀。模块/Starter 废弃的前缀 新的前缀 spring-cloud-starter-gateway-server-webflux spring.cloud.gateway.* spring.cloud.gateway.server.webflux.* spring-cloud-starter-gateway-server-webmvc spring.cloud.gateway.mvc.* spring.cloud.gateway.server.webmvc.* spring-cloud-gateway-proxyexchange-webflux spring.cloud.gateway.proxy.* spring.cloud.gateway.proxy-exchange.webflux.* spring-cloud-gateway-proxyexchange-webmvc spring.cloud.gateway.proxy.* spring.cloud.gateway.proxy-exchange.webmvc.* -
修复版本默认禁用
X-Forwarded-*
和Forwarded
Header 功能。如果需要X-Forwarded-*
或Forwarded
Header 功能,请将spring.cloud.gateway.server.webflux.trusted-proxies
设置为 Java 正则表达式,指定你信任的代理 Header。如果你使用的是 Spring Cloud Gateway Server MVC(仅适用于 4.1.x 以后版本),请设置spring.cloud.gateway.mvc.trusted-proxies
。例如 Spring Cloud Gateway Server:spring.cloud.gateway.server.webflux.trusted-proxies=10\.0\.0\..*
例如,对于 Spring Cloud Gateway Server WebMVC:
spring.cloud.gateway.server.webmvc.trusted-proxies=10\.0\.0\..*
Spring Cloud Config
支持 AWS S3 Bucket 中的 YAML 特定 Profile(#2825)。
Spring Cloud Kubernetes
Spring Cloud Circuitbreaker
- 增加了对 reactive bulkhead 的支持 #231。
Spring Cloud Netflix
- 允许在
EurekaClientHttpRequestFactorySupplier
中自定义 Apache HTTP Client 5RequestConfig
#4391。
作为 2025.0.0 的一部分,更新了以下模块:
模块 | 版本 | Issues |
---|---|---|
Spring Cloud Config | 4.3.0 | (issues) |
Spring Cloud Build | 4.3.0 | (issues) |
Spring Cloud Openfeign | 4.3.0 | (issues) |
Spring Cloud Stream | 4.3.0 | (issues) |
Spring Cloud Netflix | 4.3.0 | (issues) |
Spring Cloud Commons | 4.3.0 | (issues) |
Spring Cloud Circuitbreaker | 3.3.0 | (issues) |
Spring Cloud Contract | 4.3.0 | (issues) |
Spring Cloud Consul | 4.3.0 | (issues) |
Spring Cloud Gateway | 4.3.0 | (issues) |
Spring Cloud Vault | 4.3.0 | (issues) |
Spring Cloud Starter Build | 2025.0.0 | (issues) |
Spring Cloud Function | 4.3.0 | (issues) |
Spring Cloud Task | 3.3.0 | (issues) |
Spring Cloud Kubernetes | 3.3.0 | (issues) |
Spring Cloud Bus | 4.3.0 | (issues) |
Spring Cloud Zookeeper | 4.3.0 | (issues) |
一如既往,我们欢迎在 GitHub、Gitter、Stack Overflow 或 X 上提出反馈意见。
Maven 初始配置(仅依赖管理):
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2025.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
...
</dependencies>
或者 Gradle:
plugins {
id 'java'
id 'org.springframework.boot' version '3.5.0'
id 'io.spring.dependency-management' version '1.1.7'
}
//...
ext {
set('springCloudVersion', "2025.0.0")
}
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
//...
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
//...
Ref:https://spring.io/blog/2025/05/29/spring-cloud-2025-0-0-is-abvailable