Commit Graph
58807 Commits
Author SHA1 Message Date
Phillip Webb d87aa53f12 Remove outdated modules section from README
Closes gh-48291
2025-12-01 11:04:11 -08:00
Stéphane Nicoll 70acb44d1b Polish 2025-12-01 17:00:23 +01:00
Brian Clozel 50f64f947a Separate client and server HttpMessageConverters
Prior to this commit, the  `HttpMessageConverters` auto-configuration
would pick up `HttpMessageConverter<?>` beans from the context and
broadly apply them to both server and client converters setup.

This can cause several types of problems.
First, specific configurations only meant for server setup will also be
applied to the client side. For example, the Actuator JSOn configuration
is only meant to be applied to the server infrastructure.

Also, picking up converters from the context does not convey whether
such converters are meant to override the default ones or should be
configured as custom, in addition to the defaults.
For example, a bean extending `JacksonJsonHttpMessageConverter` can be
both meant to override the default with `builder.withJsonConverter` or
meant as an additional converter with `builder.addCustomConverter`.

This commit ensures that the auto-configurations contribute
`ClientHttpMessageConvertersCustomizer` and
`ServerHttpMessageConvertersCustomizer` beans instead of converter beans
directly. Applications can still contribute such beans and those will be
used.

Fixes gh-48310
2025-12-01 15:17:31 +01:00
Andy Wilkinson c1e4375049 Merge branch '3.5.x'
Closes gh-48360
2025-12-01 12:01:30 +00:00
Andy Wilkinson 3e0c1a66c3 Merge branch '3.4.x' into 3.5.x
Closes gh-48359
2025-12-01 11:59:13 +00:00
Andy Wilkinson c4df126d75 Document need for aspectjweaver dependency
Closes gh-48358
2025-12-01 11:58:24 +00:00
Andy Wilkinson 2e80fe6e78 Merge pull request #48357 from hktechn0
* gh-48357:
  Change annotation from ConfigurationPropertiesScan to ConfigurationPropertiesSource

Closes gh-48357
2025-12-01 11:43:27 +00:00
Hirotaka Kawata 962ecfcf1d Change annotation from ConfigurationPropertiesScan to ConfigurationPropertiesSource
See gh-48357

Signed-off-by: Hirotaka Kawata <kawata.hirotaka@moneyforward.co.jp>
2025-12-01 11:43:19 +00:00
Andy Wilkinson e1d85b3678 Apply default property inclusion to content
Previously, the setting was only applied to values. This worked
for POJOs but had no effect on maps.

Fixes gh-48343
2025-12-01 10:57:11 +00:00
Stéphane Nicoll e5928f7d5b Merge branch '3.5.x'
Closes gh-48355
2025-12-01 11:46:19 +01:00
Stéphane Nicoll 6bdf47b421 Merge pull request #48139 from scottfrederick
* pr/48139:
  Polish "Improve testing of architecture checks"
  Improve testing of architecture checks

Closes gh-48139
2025-12-01 11:33:48 +01:00
Stéphane Nicoll d9bf31349a Polish "Improve testing of architecture checks"
See gh-48139
2025-12-01 11:27:16 +01:00
Scott Frederick 8e65122576 Improve testing of architecture checks
See gh-48139

Signed-off-by: Scott Frederick <scottyfred@gmail.com>
2025-12-01 11:20:14 +01:00
Stéphane Nicoll 811ddcd1b8 Merge branch '3.5.x'
Closes gh-48336
2025-11-28 16:05:30 +01:00
Stéphane Nicoll 5a20176331 Merge branch '3.4.x' into 3.5.x
Closes gh-48335
2025-11-28 16:04:30 +01:00
Stéphane Nicoll d6dc888e4a Focus examples on TestRestTemplate configuration
Closes gh-48334
2025-11-28 16:03:48 +01:00
Stéphane Nicoll c63dbe7eb8 Document LocalTestWebServer
Closes gh-48333
2025-11-28 15:14:54 +01:00
Stéphane Nicoll e9db595c67 Restore TestRestTemplate#getRootUri
This commit adapts TestRestTemplate#getRootUri to the recently
introduced LocalTestWebServer. The behavior invokes the
UriTemplateHandler to provide the value. If the implementation expands
full URL, then it will provide the expected behavior. If not, it should
return the empty string as before.

Closes gh-48330
2025-11-28 14:44:50 +01:00
Andy Wilkinson c6c6ff0103 Merge branch '3.5.x'
Closes gh-48328
2025-11-28 10:09:05 +00:00
Andy Wilkinson 625abc5282 Merge branch '3.4.x' into 3.5.x
Closes gh-48326
2025-11-28 10:02:36 +00:00
Stéphane Nicoll 542c21869e Review "Creating Your Own Starter" section
Closes gh-48317
2025-11-28 11:00:59 +01:00
Andy Wilkinson 9eab00727d Merge pull request #48320 from youngledo
* gh-48320:
  Set the version to 'unknown' when redis_version is missing

Closes gh-48320
2025-11-28 09:55:15 +00:00
Huang Xiao 2b67bbe07d Set the version to 'unknown' when redis_version is missing
See gh-48320

Signed-off-by: Huang Xiao <youngledo@qq.com>
2025-11-28 09:54:09 +00:00
Andy Wilkinson 7946f0e831 Merge branch '3.5.x'
Closes gh-48325
2025-11-28 09:44:43 +00:00
Andy Wilkinson 7f2ffca789 Merge branch '3.4.x' into 3.5.x
Closes gh-48324
2025-11-28 09:42:28 +00:00
Andy Wilkinson 8becf59d34 Merge pull request #48319 from berry120
* gh-48319:
  Polish "Stop closing parent's MeterRegistry beans when child context closes"
  Stop closing parent's MeterRegistry beans when child context closes

Closes gh-48319
2025-11-28 09:42:10 +00:00
Andy Wilkinson e65baba3a7 Polish "Stop closing parent's MeterRegistry beans when child context closes"
See gh-48319
2025-11-28 09:26:29 +00:00
Michael Berry c89576d14d Stop closing parent's MeterRegistry beans when child context closes
See gh-48319

Signed-off-by: Michael Berry <berry120@gmail.com>
2025-11-28 09:13:19 +00:00
Andy Wilkinson c3e51d32b8 Allow a JwtTypeValidator bean to override Security's default
A change in Spring Security [1] means that type validation is now
performed by default by Spring Security. A breaking side-effect of
this is that setting validateTypes to false no longer has an effect
and the default JwtTypeValidator is still present. Its presence,
wrapped in a DelegatingOAuth2TokenValidator, prevents a user's
JwtTypeValidator bean from being used for type validation.

This commit updates Boot's auto-configuration to change how the
type validators are created. We avoid wrapping in a
DelegatingOAuth2TokenValidator so that the user's custom
JwtTypeValidator can be detected and used in place of the default.
This requires us to create the JwtIssuerValidator rather than using
the createDefaultWithIssuer method as it does not allow additional
validators to be provided.

Fixes gh-48301

[1] https://github.com/spring-projects/spring-security/commit/6d3b54df21ec0cffc30c8b3e0784220bd117a87d
2025-11-27 14:18:10 +00:00
Stéphane Nicoll a5a0ad2ab9 Merge pull request #48274 from Nhahan
* pr/48274:
  Polish "Relax conditions to create HttpService client with RestClient"
  Relax conditions to create HttpService client with RestClient

Closes gh-48274
2025-11-27 09:55:16 +01:00
Stéphane Nicoll 4feb1faf3a Polish "Relax conditions to create HttpService client with RestClient"
See gh-48274
2025-11-27 09:54:50 +01:00
Nhahan a2160f793b Relax conditions to create HttpService client with RestClient
Previously, HttpServiceClientAutoConfiguration used
NotReactiveWebApplicationCondition, which prevented
activation in reactive apps even when virtual threads
were enabled.

This commit removes the condition to follow suite with what was done in
gh-48308

See gh-48274

Signed-off-by: Nhahan <kisy324@naver.com>
2025-11-27 09:54:04 +01:00
Stéphane Nicoll 2336cddb1f Relax conditions to create RestClient infrastructure
Previously, the necessary infrastructure to create a RestClient was only
configured in a servlet-based application or in a reactive application
if virtual threads are enabled.

While this extra care was important in
Spring Boot 4 as the aut-configuration is always available, this is no
longer the case with Spring Boot 4. Indeed, an explicit module has to be
added to the classpath now.

This commit therefore relaxes the condition. If the module has been
added, then the infrastructure is auto-configured.

Closes gh-48308
2025-11-27 09:38:24 +01:00
Andy Wilkinson 46f22b2374 Polish NativeImageRequirementsNotMetException
Closes gh-48307
2025-11-26 15:31:48 +00:00
Stéphane Nicoll 72eaeecd5c Allow other configures to run before PropertiesRestClientHttpServiceGroupConfigurer
Closes gh-48296
2025-11-26 16:06:24 +01:00
Stéphane Nicoll 8eb90644a6 Merge branch '3.5.x'
Closes gh-48306
2025-11-26 16:02:42 +01:00
Stéphane Nicoll 8881d38202 Merge branch '3.4.x' into 3.5.x
Closes gh-48305
2025-11-26 16:00:19 +01:00
Stéphane Nicoll 06055f45a3 Merge pull request #48297 from geopark021
* pr/48297:
  Remove unnecessary cast

Closes gh-48297
2025-11-26 15:59:29 +01:00
geopark021 6b60d89b28 Remove unnecessary cast
Replace explicit casts with pattern variables to improve readability and
remove redundancy.

See gh-48297

Signed-off-by: geopark021 <geobrown021@gmail.com>
2025-11-26 15:55:47 +01:00
Andy Wilkinson b5703eaa4c Merge branch '3.5.x'
Closes gh-48300
2025-11-26 12:43:51 +00:00
Andy Wilkinson bd6049dde6 Merge pull request #48295 from arey
* gh-48295:
  Update references for RestTemplateBuilder and Customizer

Closes gh-48295
2025-11-26 10:58:02 +00:00
Antoine Rey 53a765ac5c Update references for RestTemplateBuilder and Customizer
Starting from Spring Boot 4, the RestTemplateBuilder and
RestTemplateCustomizer classes have been moved from the
org.springframework.boot.web.client package to the
org.springframework.boot.restclient package. This commit updates
the javadoc links in the reference documentation to match

Signed-off-by: Antoine Rey <antoine.rey@free.fr>

See gh-48295
2025-11-26 10:56:29 +00:00
Andy Wilkinson 7b1b834fce Merge branch '3.4.x' into 3.5.x
Closes gh-48299
2025-11-26 10:45:02 +00:00
Andy Wilkinson 710e567ba5 Check javadoc macros in adoc files
Closes gh-48298
2025-11-26 10:41:49 +00:00
Andy Wilkinson cf1ecca81c Add missing spring-boot-restclient for Docker-based test
See gh-48253
2025-11-25 15:30:48 +00:00
Andy Wilkinson 3e82ede609 Require spring-boot-restclient dependency to use TestRestTemplate
Previously, spring-boot-restclient was a required dependency of
spring-boot-resttestclient. This had the unwanted side-effect of
increasing the risk of the test classpath enabling auto-configuration
for RestClient.Builder when it was main code that needed such a bean.
This could lead to integration tests passing but the application
itself failing to start when its run through its main method.

This commit makes spring-boot-restclient an optional dependency of
spring-boot-resttestclient. As a result, a dependency on
spring-boot-resttestclient is no longer sufficient to auto-configure
a RestClient.Builder bean, although it is still sufficient to
auto-configure a RestTestClient bean.

Those that wish to use TestRestTemplate rather than migrating to
RestTestClient will now have to add a dependency on
spring-boot-restclient. This makes it presence more obvious. It now
has to be declared directly rather than being somewhat hidden due to
being pulled in transitively. The hope is that this will reduce the
chances of the dependency being accidentially on the test classpath
when main code requires it to be on the runtime classpath.

Fixes gh-48253
2025-11-25 14:38:33 +00:00
Stéphane Nicoll 0e56cd08ea Fix inconsistency in Graceful Shutdown section
See gh-46917
Closes gh-48284
2025-11-25 11:19:19 +01:00
Stéphane Nicoll f6a2cae2bb Merge branch '3.5.x'
Closes gh-48283
2025-11-25 10:01:24 +01:00
Stéphane Nicoll e3af93f0f7 Merge pull request #48282 from banseok1216
* pr/48282:
  Polish "Fix typo in ContextPairs"
  Fix typo in ContextPairs

Closes gh-48282
2025-11-25 10:00:58 +01:00
Stéphane Nicoll 0b6303abc8 Polish "Fix typo in ContextPairs"
See gh-48282
2025-11-25 09:57:18 +01:00