Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
50771a9
Init 5.0.x.
OlgaMaciaszek Jun 6, 2025
56c43ac
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Jun 6, 2025
05b461f
Update dependabot.
OlgaMaciaszek Jun 6, 2025
9bca5bb
Update dependabot.
OlgaMaciaszek Jun 6, 2025
685251d
Bumping versions
spring-builds Jun 7, 2025
32a5938
Bump com.google.protobuf:protobuf-java from 3.25.8 to 4.31.1 (#1206)
dependabot[bot] Jun 10, 2025
5c6dc69
Bumping versions
spring-builds Jun 11, 2025
c53d556
Bumping versions
spring-builds Jun 17, 2025
566dae6
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Jun 30, 2025
0b062e7
Adjust to changes in Spring Security.
OlgaMaciaszek Jun 30, 2025
1ed5466
Adapt to restructuring changes in Spring Boot 4.0 (#1213)
wilkinsona Jul 1, 2025
28e3efd
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Jul 25, 2025
bd62012
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Jul 25, 2025
e3ef883
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Jul 25, 2025
77b80fa
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Jul 25, 2025
76c7c7e
Update SNAPSHOT to 5.0.0-M1
spring-builds Jul 29, 2025
8a30dba
Going back to snapshots
spring-builds Jul 29, 2025
282c602
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Aug 20, 2025
a586d34
Updates to new boot class locations
spencergibb Sep 9, 2025
5970e91
Update SNAPSHOT to 5.0.0-M2
spring-builds Sep 10, 2025
71c25e9
Going back to snapshots
spring-builds Sep 10, 2025
f22ef09
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Sep 12, 2025
baa5f1d
Update maven workflow.
OlgaMaciaszek Sep 12, 2025
5ba3f99
Upgrades to jackson 3
spencergibb Sep 15, 2025
609fb4f
Remove milestone repo references.
OlgaMaciaszek Sep 18, 2025
167a866
Removes okhttp support (#1258)
spencergibb Sep 22, 2025
73fcb6a
Bumping versions
spring-builds Sep 26, 2025
1365d98
Bumping versions
spring-builds Oct 1, 2025
86964d1
Update SNAPSHOT to 5.0.0-M3
spring-builds Oct 1, 2025
0abccf2
Going back to snapshots
spring-builds Oct 1, 2025
626627f
Merge remote-tracking branch 'origin/4.3.x'
OlgaMaciaszek Oct 7, 2025
0b995f7
Update terminology to HTTP Service Clients. (#1267)
OlgaMaciaszek Oct 9, 2025
6d9309d
Remove deprecations. (#1268)
OlgaMaciaszek Oct 10, 2025
0861914
Bumping versions
spring-builds Oct 14, 2025
46975c1
Update SNAPSHOT to 5.0.0-M4
spring-builds Oct 17, 2025
78cf5e6
Going back to snapshots
spring-builds Oct 17, 2025
23302b8
Updates for boot 4, framework 7, jackson 3
spencergibb Oct 23, 2025
b1d35f2
Update SNAPSHOT to 5.0.0-RC1
spring-builds Nov 12, 2025
e8b0336
Going back to snapshots
spring-builds Nov 12, 2025
5e4e00a
Bumping versions
spring-builds Nov 19, 2025
3012cfa
Updates for HttpMessageConverters changes in framework 7/boot 4. (#1277)
spencergibb Nov 20, 2025
ef222bc
Fixing checkstyle error
ryanjbaxter Nov 21, 2025
3a2e63b
Update SNAPSHOT to 5.0.0
spring-builds Nov 24, 2025
eeefc63
Going back to snapshots
spring-builds Nov 24, 2025
854eab8
Bumping versions to 5.0.1-SNAPSHOT after release
spring-builds Nov 24, 2025
51a9a3e
Bumping dependency versions after release
spring-builds Nov 24, 2025
ca9ceb5
Bump actions/checkout from 5 to 6 (#1278)
dependabot[bot] Nov 24, 2025
7fbe43c
Simplify dependabot.yml by removing duplicate entry
ryanjbaxter Nov 24, 2025
4c90dbf
Bump commons-io:commons-io from 2.19.0 to 2.21.0 (#1285)
dependabot[bot] Nov 25, 2025
613184e
Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile (#1284)
dependabot[bot] Nov 25, 2025
cb755fa
Bump io.micrometer:micrometer-docs-generator from 1.0.2 to 1.0.4 (#1283)
dependabot[bot] Nov 25, 2025
2c3fb97
Bump com.google.protobuf:protobuf-java from 4.31.1 to 4.33.1 (#1282)
dependabot[bot] Nov 25, 2025
eb9fffe
Merge branch '4.3.x'
ryanjbaxter Nov 25, 2025
0bcb831
Remove test class that is not needed on main
ryanjbaxter Nov 25, 2025
bce4197
Bump antora from 3.2.0-alpha.10 to 3.2.0-alpha.11 in /docs (#1295)
dependabot[bot] Dec 1, 2025
af621b6
Bump com.google.protobuf:protobuf-java from 4.33.1 to 4.33.2 (#1298)
dependabot[bot] Dec 8, 2025
8067e1d
Fix incorrect HttpHeader handling in RequestHeaderParameterProcessor …
alex-cova Dec 10, 2025
4267eac
Update dependabot.yml to ignore certain updates on main
ryanjbaxter Dec 15, 2025
ce2342d
Allow Customizer for HttpClientConnectionManager in HttpClient5FeignC…
kistlers Dec 18, 2025
9010b39
Bumping versions
spring-builds Dec 19, 2025
0e47f0f
Updates for HttpMessageConverters changes in framework 7/boot 4.
spencergibb Jan 7, 2026
8c81a64
Bump com.google.protobuf:protobuf-java from 4.33.2 to 4.33.4 (#1310)
dependabot[bot] Jan 12, 2026
97b2625
Merge branch '4.3.x'
ryanjbaxter Jan 15, 2026
bef5423
Bumping versions
spring-builds Jan 16, 2026
7570eb5
Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile (#1313)
dependabot[bot] Jan 20, 2026
39cb321
Update SNAPSHOT to 5.0.1
spring-builds Jan 28, 2026
ad919fb
Going back to snapshots
spring-builds Jan 28, 2026
b8d1daf
Bumping versions to 5.0.2-SNAPSHOT after release
spring-builds Jan 28, 2026
311b492
Bumping dependency versions after release
spring-builds Jan 28, 2026
dc03d6a
Bumping versions
spring-builds Jan 29, 2026
9f6f607
Bump com.google.protobuf:protobuf-java from 4.33.4 to 4.33.5 (#1318)
dependabot[bot] Jan 30, 2026
c14d43f
Bumping versions
spring-builds Feb 1, 2026
28ac5e2
Bumping versions
spring-builds Feb 13, 2026
58c3707
Update docs to specify the correct Boot dependency for Spring Data Co…
ryanjbaxter Feb 13, 2026
9110faa
Merge remote-tracking branch 'origin/main'
ryanjbaxter Feb 13, 2026
de86b7d
Merge branch '4.3.x'
ryanjbaxter Feb 18, 2026
01c0e2d
update io.github.openfeign:feign-bom to 13.8 (#1330)
maxl2287 Feb 20, 2026
8037531
Revert "update io.github.openfeign:feign-bom to 13.8 (#1330)"
ryanjbaxter Feb 20, 2026
4122b62
Merge branch '4.3.x'
ryanjbaxter Feb 20, 2026
9b60755
Merge branch '4.3.x'
ryanjbaxter Mar 2, 2026
61486d1
Bump @antora/collector-extension from 1.0.2 to 1.0.3 in /docs
dependabot[bot] Mar 9, 2026
0c9768a
Merge pull request #1337 from spring-cloud/dependabot/npm_and_yarn/do…
ryanjbaxter Mar 9, 2026
e4a37f4
Update dependabot.yml to remove 4.2.x branches
ryanjbaxter Mar 9, 2026
d2845f7
Update Maven workflow to remove push trigger
ryanjbaxter Mar 13, 2026
84b71d1
Remove 4.2.x branch from pull request triggers
ryanjbaxter Mar 13, 2026
99cd618
Create CI workflow for Spring Cloud OpenFeign
ryanjbaxter Mar 13, 2026
f03349b
Bump com.google.protobuf:protobuf-java from 4.33.5 to 4.33.6
dependabot[bot] Mar 19, 2026
d30e92a
Merge pull request #1345 from spring-cloud/dependabot/maven/main/com.…
ryanjbaxter Mar 19, 2026
c4923f9
Bump @springio/asciidoctor-extensions in /docs
dependabot[bot] Mar 23, 2026
1e1f9ee
Merge pull request #1347 from spring-cloud/dependabot/npm_and_yarn/do…
ryanjbaxter Mar 23, 2026
a0401d6
Bump @springio/antora-extensions from 1.14.7 to 1.14.9 in /docs
dependabot[bot] Mar 23, 2026
74ffd3c
Merge pull request #1349 from spring-cloud/dependabot/npm_and_yarn/do…
ryanjbaxter Mar 23, 2026
4a773bd
Add note about potential resource exhaustion when Client is not singl…
98001yash Mar 28, 2026
fb142c8
Merge branch '4.3.x'
ryanjbaxter Mar 30, 2026
c6e7b87
Bump @springio/antora-extensions from 1.14.9 to 1.14.10 in /docs
dependabot[bot] Mar 30, 2026
ac487b7
Merge pull request #1358 from spring-cloud/dependabot/npm_and_yarn/do…
ryanjbaxter Mar 30, 2026
d92cc04
Merge pull request #1356 from 98001yash/fix/feign-client-resource-exh…
ryanjbaxter Mar 30, 2026
21bacd8
Add WARN log and docs for Client bean Singleton requirement
Apr 1, 2026
a058941
Merge pull request #1360 from gokid96/fix/feign-client-warn-log
ryanjbaxter Apr 1, 2026
5e2bcc5
Add documentation for FeignClientBuilder
98001yash Apr 2, 2026
0386265
Removing newline
ryanjbaxter Apr 2, 2026
37c3b95
Merge pull request #1361 from 98001yash/docs/feign-client-builder
ryanjbaxter Apr 2, 2026
4083dbf
Fix issue#1198
ban-xiu Apr 3, 2026
2de4a61
Merge branch '4.3.x' into fix-issue-1204
ban-xiu Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 2 additions & 17 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "4.2.x"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "4.3.x"
Expand All @@ -19,7 +14,7 @@ updates:
directory: /
schedule:
interval: daily
target-branch: 4.2.x
target-branch: 4.3.x
ignore:
# only upgrade patch versions for maintenance branch
- dependency-name: "*"
Expand All @@ -30,18 +25,13 @@ updates:
directory: /
schedule:
interval: daily
target-branch: 4.3.x
target-branch: main
ignore:
# only upgrade patch versions for maintenance branch
- dependency-name: "*"
update-types:
- version-update:semver-major
- version-update:semver-minor
- package-ecosystem: maven
directory: /
schedule:
interval: daily
target-branch: main
- package-ecosystem: npm
target-branch: docs-build
directory: /
Expand All @@ -52,11 +42,6 @@ updates:
directory: /docs
schedule:
interval: weekly
- package-ecosystem: npm
target-branch: 4.2.x
directory: /docs
schedule:
interval: weekly
- package-ecosystem: npm
target-branch: 4.3.x
directory: /docs
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: Spring Cloud OpenFeign CI Job
on:
push:
branches:
- main
- 4.3.x

# Scheduled builds run daily at midnight UTC
Expand All @@ -15,7 +16,7 @@ on:
branches:
description: "Which branch should be built (can be a comma-separated list of branches)"
required: true
default: '4.3.x'
default: 'main'
type: string

jobs:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
name: Build

on:
push:
branches: [ main, 4.3.x, 4.2.x ]
pull_request:
branches: [ main, 4.3.x, 4.2.x ]
branches: [ main, 4.3.x ]

jobs:
build:
Expand Down
16 changes: 0 additions & 16 deletions .settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,6 @@
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone-local</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-releases</id>
<name>Spring Releases</name>
Expand All @@ -54,14 +46,6 @@
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone-local</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
Expand Down
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Edit the files in the src/main/asciidoc/ directory instead.

image::https://github.com/spring-cloud/spring-cloud-openfeign/actions/workflows/maven.yml/badge.svg?branch=main&style=svg[https://github.com/spring-cloud/spring-cloud-openfeign/actions/workflows/maven.yml/badge.svg?branch=main&style=svg[https://github.com/spring-cloud/spring-cloud-openfeign/workflows/Build/badge.svg?branch=main&style=svg]["Build",link="https://github.com/spring-cloud/spring-cloud-openfeign/actions"]

WARNING: As announced in https://spring.io/blog/2022/12/16/spring-cloud-2022-0-0-codename-kilburn-has-been-released#spring-cloud-openfeign-feature-complete-announcement[Spring Cloud 2022.0.0 release blog entry], we're now treating the Spring Cloud OpenFeign project as feature-complete. We are only going to be adding bugfixes and possibly merging some small community feature PRs. We suggest migrating over to https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-interface[Spring Interface Clients] instead.
WARNING: As announced in https://spring.io/blog/2022/12/16/spring-cloud-2022-0-0-codename-kilburn-has-been-released#spring-cloud-openfeign-feature-complete-announcement[Spring Cloud 2022.0.0 release blog entry], we're now treating the Spring Cloud OpenFeign project as feature-complete. We are only going to be adding bugfixes and possibly merging some small community feature PRs. We suggest migrating over to https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-service-client[Spring HTTP Service Clients] instead.


[[features]]
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/intro.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration
and binding to the Spring Environment and other Spring programming model idioms.

WARNING: As announced in https://spring.io/blog/2022/12/16/spring-cloud-2022-0-0-codename-kilburn-has-been-released#spring-cloud-openfeign-feature-complete-announcement[Spring Cloud 2022.0.0 release blog entry], we're now treating the Spring Cloud OpenFeign project as feature-complete. We are only going to be adding bugfixes and possibly merging some small community feature PRs. We suggest migrating over to https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-interface[Spring Interface Clients] instead.
WARNING: As announced in https://spring.io/blog/2022/12/16/spring-cloud-2022-0-0-codename-kilburn-has-been-released#spring-cloud-openfeign-feature-complete-announcement[Spring Cloud 2022.0.0 release blog entry], we're now treating the Spring Cloud OpenFeign project as feature-complete. We are only going to be adding bugfixes and possibly merging some small community feature PRs. We suggest migrating over to https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-service-client[Spring HTTP Service Clients] instead.

79 changes: 69 additions & 10 deletions docs/modules/ROOT/pages/spring-cloud-openfeign.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -138,22 +138,25 @@ Spring Cloud OpenFeign provides the following beans by default for feign (`BeanT
* `Client` feignClient: If Spring Cloud LoadBalancer is on the classpath, `FeignBlockingLoadBalancerClient` is used.
If none of them is on the classpath, the default Feign client is used.

NOTE: `spring-cloud-starter-openfeign` supports `spring-cloud-starter-loadbalancer`. However, as is an optional dependency, you need to make sure it has been added to your project if you want to use it.
WARNING: The `Client` bean must be configured as a Singleton.
If the `Client` bean is not a Singleton, a new connection pool may be created on each
`FeignClient` initialization, which can lead to connection pool exhaustion and resource leaks.
If you see a warning log about a `FeignClient` with a given `contextId` being initialized
more than once, verify that your custom `Client` bean is Singleton scoped.

To use OkHttpClient-backed Feign clients and Http2Client Feign clients, make sure that the client you want to use is on the classpath and set `spring.cloud.openfeign.okhttp.enabled` or `spring.cloud.openfeign.http2client.enabled` to `true` respectively.
NOTE: `spring-cloud-starter-openfeign` supports `spring-cloud-starter-loadbalancer`. However, as is an optional dependency, you need to make sure it has been added to your project if you want to use it.

When it comes to the Apache HttpClient 5-backed Feign clients, it's enough to ensure HttpClient 5 is on the classpath, but you can still disable its use for Feign Clients by setting `spring.cloud.openfeign.httpclient.hc5.enabled` to `false`.
You can customize the HTTP client used by providing a bean of either `org.apache.hc.client5.http.impl.classic.CloseableHttpClient` when using Apache HC5.

You can further customise http clients by setting values in the `spring.cloud.openfeign.httpclient.xxx` properties. The ones prefixed just with `httpclient` will work for all the clients, the ones prefixed with `httpclient.hc5` to Apache HttpClient 5, the ones prefixed with `httpclient.okhttp` to OkHttpClient and the ones prefixed with `httpclient.http2` to Http2Client. You can find a full list of properties you can customise in the appendix.
If you can not configure Apache HttpClient 5 by using properties, there is an `HttpClient5FeignConfiguration.HttpClientBuilderCustomizer` interface for programmatic configuration.
You can further customise http clients by setting values in the `spring.cloud.openfeign.httpclient.xxx` properties. The ones prefixed just with `httpclient` will work for all the clients, the ones prefixed with `httpclient.hc5` to Apache HttpClient 5, and the ones prefixed with `httpclient.http2` to Http2Client. You can find a full list of properties you can customise in the appendix.
If you can not configure Apache HttpClient 5 by using properties, there is an `HttpClient5FeignConfiguration.HttpClientBuilderCustomizer` interface for programmatic configuration. Similarly, to configure the `HttpClientConnectionManager`, you can use `HttpClient5FeignConfiguration.HttpClientConnectionManagerBuilderCustomizer`. Both usages are shown in the example below.

TIP: Apache HTTP Components `5.4` have changed defaults in the HttpClient relating to HTTP/1.1 TLS upgrades. Most proxy servers handle upgrades without issue, however, you may encounter issues with Envoy or Istio. If you need to restore previous behaviour, you can use `HttpClient5FeignConfiguration.HttpClientBuilderCustomizer` to do it, as shown in the example below.

[source,java,indent=0]
----
@Configuration
public class FooConfiguration {
public class HttpClientConfiguration {

@Bean
public HttpClient5FeignConfiguration.HttpClientBuilderCustomizer httpClientBuilder() {
Expand All @@ -166,6 +169,24 @@ public class FooConfiguration {
}
----

TIP: Apache HTTP Components `5.5.1` have changed defaults in the HttpClient relating to TLS handshake timeouts. An unset TLS handshake timeout is now implicitly bound by the `connectTimeout` while it was unbounded previously. To restore previous defaults, you can use `HttpClient5FeignConfiguration.HttpClientBuilderCustomizer` to do it, as shown in the example below.

[source,java,indent=0]
----
public class HttpClientConnectionManagerConfiguration {

@Bean
public HttpClient5FeignConfiguration.HttpClientConnectionManagerBuilderCustomizer httpClientConnectionManagerBuilder() {
return (httpClientConnectionManagerBuilder) -> {
TlsConfig.Builder tlsConfigBuilder = TlsConfig.custom();
// 0 seconds timeout means infinite
tlsConfigBuilder.setHandshakeTimeout(Timeout.of(0, TimeUnit.SECONDS));
httpClientConnectionManagerBuilder.setDefaultTlsConfig(tlsConfigBuilder.build());
};
}
}
----

TIP: Starting with Spring Cloud OpenFeign 4, the Feign Apache HttpClient 4 is no longer supported. We suggest using Apache HttpClient 5 instead.

Spring Cloud OpenFeign _does not_ provide the following beans by default for feign, but still looks up beans of these types from the application context to create the Feign client:
Expand Down Expand Up @@ -613,8 +634,6 @@ These properties allow you to be selective about the compressed media types and
When the request matches the mime type set in `spring.cloud.openfeign.compression.request.mime-types` and the size set in `spring.cloud.openfeign.compression.request.min-request-size`, `spring.cloud.openfeign.compression.request.enabled=true` results in compression headers being added to the request.
The functionality of the headers is to signal to the server that a compressed body is expected by the client. It is the responsibility of the server-side app to provide the compressed body based on the headers provided by the client.

TIP: Since the OkHttpClient uses "transparent" compression, that is disabled if the `content-encoding` or `accept-encoding` header is present, we do not enable compression when `feign.okhttp.OkHttpClient` is present on the classpath and `spring.cloud.openfeign.okhttp.enabled` is set to `true`.

[[feign-logging]]
=== Feign logging

Expand Down Expand Up @@ -866,11 +885,51 @@ protected interface DemoFeignClient {
}
----


=== FeignClientBuilder

`FeignClientBuilder` allows programmatic creation of Feign clients without using the `@FeignClient` annotation.

It builds clients in the same way as `@FeignClient`, but provides flexibility for dynamic use cases.

Unlike `@FeignClient`, which defines clients statically, `FeignClientBuilder` allows creating clients dynamically at runtime.

==== Basic Usage

[source,java,indent=0]
----
@Autowired
private ApplicationContext applicationContext;

FeignClientBuilder builder = new FeignClientBuilder(applicationContext);

MyClient client = builder
.forType(MyClient.class, "myClient")
.url("http://localhost:8080")
.build();
----

==== Configuration Options

* `url(String url)` - Sets the target URL
* `path(String path)` - Adds a base path
* `contextId(String contextId)` - Unique identifier
* `dismiss404(boolean)` - Ignore 404 errors
* `inheritParentContext(boolean)` - Inherit parent config
* `fallback(Class<? extends T>)` - Fallback class
* `customize(FeignBuilderCustomizer)` - Customize Feign builder

==== When to Use

* Dynamic client creation
* Runtime configuration
* When `@FeignClient` is not sufficient

[[reactive-support]]
=== Reactive Support
As at the time of active development of Spring Cloud OpenFeign, the https://github.com/OpenFeign/feign[OpenFeign project] did not support reactive clients, such as https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/reactive/function/client/WebClient.html[Spring WebClient], such support could not be added to Spring Cloud OpenFeign either.

Since Spring Cloud OpenFeign project is now considered feature-complete, we're not planning on adding support even if it becomes available in the upstream project. We suggest migrating over to https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-interface[Spring Interface Clients] instead. Both blocking and reactive stacks are supported there.
Since Spring Cloud OpenFeign project is now considered feature-complete, we're not planning on adding support even if it becomes available in the upstream project. We suggest migrating over to https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-service-client[Spring HTTP Service Clients] instead. Both blocking and reactive stacks are supported there.

[[early-initialization-errors]]
==== Early Initialization Errors
Expand All @@ -888,7 +947,7 @@ ObjectProvider<TestFeignClient> testFeignClient;
[[spring-data-support]]
=== Spring Data Support

If Jackson Databind and Spring Data Commons are on the classpath, converters for `org.springframework.data.domain.Page` and `org.springframework.data.domain.Sort` will be added automatically.
If Jackson Databind and `spring-boot-data-commons` are on the classpath, converters for `org.springframework.data.domain.Page` and `org.springframework.data.domain.Sort` will be added automatically.

To disable this behaviour set
[source,java]
Expand Down
12 changes: 8 additions & 4 deletions docs/modules/ROOT/partials/_configprops.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
|===
|Name | Default | Description

|spring.cloud.compatibility-verifier.compatible-boot-versions | `+++3.5.x+++` | Default accepted versions for the Spring Boot dependency. You can set {@code x} for the patch version if you don't want to specify a concrete value. Example: {@code 3.5.x}
|spring.cloud.compatibility-verifier.compatible-boot-versions | | Default accepted versions for the Spring Boot dependency. You can set {@code x} for the patch version if you don't want to specify a concrete value. Example: {@code 3.5.x}
|spring.cloud.compatibility-verifier.enabled | `+++false+++` | Enables creation of Spring Cloud compatibility verification.
|spring.cloud.config.allow-override | `+++true+++` | Flag to indicate that {@link #isOverrideSystemProperties() systemPropertiesOverride} can be used. Set to false to prevent users from changing the default accidentally. Default true.
|spring.cloud.config.initialize-on-context-refresh | `+++false+++` | Flag to initialize bootstrap configuration on context refresh event. Default false.
Expand Down Expand Up @@ -33,6 +33,13 @@
|spring.cloud.inetutils.preferred-networks | | List of Java regular expressions for network addresses that will be preferred.
|spring.cloud.inetutils.timeout-seconds | `+++1+++` | Timeout, in seconds, for calculating hostname.
|spring.cloud.inetutils.use-only-site-local-interfaces | `+++false+++` | Whether to use only interfaces with site local addresses. See {@link InetAddress#isSiteLocalAddress()} for more details.
|spring.cloud.loadbalancer.api-version.default | | Sets default version that should be used for each request.
|spring.cloud.loadbalancer.api-version.fallback-to-available-instances | `+++false+++` | Indicates whether all the available instances should be returned if no instances for the specified version are available.
|spring.cloud.loadbalancer.api-version.header | | Uses the HTTP header with the given name to obtain the version.
|spring.cloud.loadbalancer.api-version.media-type-parameters | | Uses the media type parameter with the given name to obtain the version.
|spring.cloud.loadbalancer.api-version.path-segment | | Uses the path segment at the given index to obtain the version.
|spring.cloud.loadbalancer.api-version.query-parameter | | Uses the query parameter with the given name to obtain the version.
|spring.cloud.loadbalancer.api-version.required | `+++false+++` | Indicates whether the API version is required with each request.
|spring.cloud.loadbalancer.call-get-with-request-on-delegates | `+++true+++` | If this flag is set to {@code true}, {@code ServiceInstanceListSupplier#get(Request request)} method will be implemented to call {@code delegate.get(request)} in classes assignable from {@code DelegatingServiceInstanceListSupplier} that don't already implement that method, with the exclusion of {@code CachingServiceInstanceListSupplier} and {@code HealthCheckServiceInstanceListSupplier}, which should be placed in the instance supplier hierarchy directly after the supplier performing instance retrieval over the network, before any request-based filtering is done, {@code true} by default.
|spring.cloud.loadbalancer.clients | |
|spring.cloud.loadbalancer.eager-load.clients | |
Expand Down Expand Up @@ -95,16 +102,13 @@
|spring.cloud.openfeign.httpclient.http2.version | `+++HTTP_2+++` | Configure the protocols used by this client to communicate with remote servers. Uses {@link String} value of {@link HttpClient.Version}.
|spring.cloud.openfeign.httpclient.max-connections | `+++200+++` |
|spring.cloud.openfeign.httpclient.max-connections-per-route | `+++50+++` |
|spring.cloud.openfeign.httpclient.ok-http.protocols | | Configure the protocols used by this client to communicate with remote servers. Uses {@link String} values of {@link Protocol}.
|spring.cloud.openfeign.httpclient.ok-http.read-timeout | `+++60s+++` | {@link OkHttpClient} read timeout; defaults to 60 seconds.
|spring.cloud.openfeign.httpclient.time-to-live | `+++900+++` |
|spring.cloud.openfeign.httpclient.time-to-live-unit | `+++seconds+++` |
|spring.cloud.openfeign.lazy-attributes-resolution | `+++false+++` | Switches @FeignClient attributes resolution mode to lazy.
|spring.cloud.openfeign.micrometer.enabled | `+++true+++` | Enables Micrometer capabilities for Feign.
|spring.cloud.openfeign.oauth2.client-registration-id | | Client registration id to be used to retrieve the OAuth2 access token. If not specified, the {@code serviceId} retrieved from the {@code url} host segment will be used. This is convenient for load-balanced Feign clients. For non-load-balanced clients, specifying the {@code clientRegistrationId} is recommended.
|spring.cloud.openfeign.oauth2.clientRegistrationId | | Provides a clientId to be used with OAuth2.
|spring.cloud.openfeign.oauth2.enabled | `+++false+++` | Enables feign interceptor for managing oauth2 access token.
|spring.cloud.openfeign.okhttp.enabled | `+++false+++` | Enables the use of the OK HTTP Client by Feign.
|spring.cloud.refresh.additional-property-sources-to-retain | | Additional property sources to retain during a refresh. Typically only system property sources are retained. This property allows property sources, such as property sources created by EnvironmentPostProcessors to be retained as well.
|spring.cloud.refresh.enabled | `+++true+++` | Enables autoconfiguration for the refresh scope and associated features.
|spring.cloud.refresh.extra-refreshable | `+++true+++` | Additional bean names or class names for beans to post process into refresh scope.
Expand Down
Loading