518 Commits
Author SHA1 Message Date
Moritz Halbritter 4a3cad7983 Add SSL support for LDAP in Docker Compose
Also fixes missing LDAP entries in the documentation.

See gh-51382
2026-08-26 11:53:08 +02:00
Moritz Halbritter 969f1c03bf Polish "Add SSL bundle support to LDAP auto-configuration"
Configure the SSL bundle through the context source's base environment
rather than a DirContextAuthenticationStrategy. The strategy is not
consulted when read-only operations use an anonymous environment,
which is the default when no username is set, so LDAPS connections
silently used the JVM's default trust material. It was also bypassed
entirely when a custom strategy bean was defined.
Register an SSL bundle update handler so that reloaded key and trust
material is used by subsequent connections.

Target LDAPS rather than StartTLS by setting the JNDI
java.naming.ldap.factory.socket property, and fail at startup if a
bundle is combined with a non-ldaps URL or with a socket factory that
has also been set through spring.ldap.base-environment. Delegate all
socket factory methods so that a configured connect timeout is
applied.

Add spring.ldap.ssl.enabled to use the platform's default trust and
key material without a bundle, default the URL to
ldaps://localhost:636 when SSL is enabled, and register the reflection
hint that JNDI needs to load the socket factory by name in a native
image. Cover the result with integration tests that search over LDAPS
against OpenLDAP and LLDAP containers, including certificates that are
untrusted or issued to a different host.

See gh-51382
2026-08-26 10:35:57 +02:00
Phillip Webb 42f06537c1 Merge branch '4.1.x'
Closes gh-51446
2026-08-25 12:08:57 -07:00
Phillip Webb 299c7d9125 Merge branch '4.0.x' into 4.1.x
Closes gh-51445
2026-08-25 12:08:53 -07:00
chisanw 857d1b7a8a Fix typos in service connection documentation
See gh-51431

Signed-off-by: chisanw <keuye06380618@gmail.com>
2026-08-25 12:07:13 -07:00
Moritz Halbritter 3f7cebd802 Polish "Allow configuring Micrometer Tracing MDC keys"
Derive logging.pattern.correlation from the configured MDC keys so that
log correlation keeps working when the keys are customized, instead of
silently rendering a blank correlation field.

Reject empty MDC keys and only clear Brave's default correlation fields
when the keys have been customized, so that applications using the
defaults are unaffected if Brave adds a default field.

Replace the tests that asserted on bean wiring with integration tests
covering the MDC contents, plus a smoke test for the log output.

See gh-50595
2026-08-25 13:54:00 +02:00
Moritz Halbritter 35cde22149 Merge branch '4.1.x'
Closes gh-51436
2026-08-25 09:20:30 +02:00
Moritz Halbritter ef58fa8080 Merge branch '4.0.x' into 4.1.x
Closes gh-51435
2026-08-25 09:20:21 +02:00
Alexander Makarov 768308ec74 Document SAML2 back-off in WebFlux security documentation
See gh-51421

Signed-off-by: Alexander Makarov <alexander.makarov@nightsong.li>
2026-08-25 09:16:39 +02:00
Moritz Halbritter 32a390e369 Add documentation for common OTLP properties
See gh-50461
2026-08-24 15:07:47 +02:00
Stéphane Nicoll 9ae9480c47 Merge branch '4.1.x'
Closes gh-51414
2026-08-24 08:03:39 +02:00
Stéphane Nicoll 43a9d265b7 Merge branch '4.0.x' into 4.1.x
Closes gh-51413
2026-08-24 08:03:19 +02:00
Stéphane Nicoll 083b4d3f0e Polish
See gh-51411
2026-08-24 08:01:15 +02:00
Alexander Makarov 13389a27e7 Remove reference to SpringBootWebSecurityConfiguration
Servlet web security moved to ServletWebSecurityAutoConfiguration, but
the MVC Security section still describes SecurityAutoConfiguration
importing SpringBootWebSecurityConfiguration, which no longer exists.

See gh-51411

Signed-off-by: Alexander Makarov <alexander.makarov@nightsong.li>
2026-08-24 07:57:21 +02:00
Stéphane Nicoll a603b33de0 Merge branch '4.1.x'
Closes gh-51177
2026-08-03 08:22:37 +02:00
Stéphane Nicoll be792dd0ea Merge branch '4.0.x' into 4.1.x
Closes gh-51176
2026-08-03 08:22:27 +02:00
Alexander Makarov b0fbbe736d Remove reference to removed InfluxDB auto-configuration
The auto-configuration for the InfluxDB client was removed in 3.4.0, but
the NoSQL section of the reference documentation still described it.

See gh-51172

Signed-off-by: Alexander Makarov <alexander.makarov@nightsong.li>
2026-08-03 08:14:32 +02:00
Brian Clozel 66a093dbfa Refine Forwarded headers configuration for Reactor servers
This commit introduces new properties for configuring the HTTP headers
that should be used for forward support.
The new `server.netty.forwarded-headers.header-format` property allows
"standard" or "x_forwarded" to select "Forwarded" or "X-Forwarded-*"
headers.

This aligns the behavior of Netty server with the "FRAMEWORK" strategy.

Closes gh-51031
2026-07-31 14:10:21 +02:00
Brian Clozel 941045a2f4 Refine Forwarded headers configuration for Jetty servers
This commit introduces new properties for configuring the HTTP headers
that should be used for forward support.
The new `server.jetty.forwarded-headers.header-format` property allows
"standard" or "x_forwarded" to select "Forwarded" or "X-Forwarded-*"
headers.

This aligns the behavior of Jetty server with the "FRAMEWORK" strategy.

Closes gh-51148
2026-07-30 15:12:48 +02:00
Stéphane Nicoll c4a1a0248d Merge branch '4.1.x'
Closes gh-51162
2026-07-30 08:52:15 +02:00
Stéphane Nicoll ae3788a3b4 Merge branch '4.0.x' into 4.1.x
Closes gh-51161
2026-07-30 08:52:09 +02:00
Alexander Makarov bb62e8c171 Use JacksonJsonSerde in Kafka Streams documentation
See gh-51152

Signed-off-by: Alexander Makarov <alexander.makarov@nightsong.li>
2026-07-30 08:46:31 +02:00
Brian Clozel b9fb384f8d Update Forwarded headers support for Framework
Prior to this commit, Spring Boot would auto-configure the
`ForwardedHeaderFilter`/`ForwardedHeaderTransformer` when the "NATIVE"
strategy is chosen.
Spring Framework now requires an explicit choice between the supported
HTTP header variants as of spring-projects/spring-framework#37072.

This commit adapts to this new behavior with the following:
* the "FRAMEWORK" strategy now only applies to Spring MVC and Spring
  WebFlux applications, since "NATIVE" strategies are now a good choice
  for most deployments.
* the format of HTTP headers is now configured with
  `spring.mvc.forwarded-headers.header-format` and
  `spring.webflux.forwarded-headers.header-format`, with additional
  options.

The default header format is now "X-Forwarded-*" for both NATIVE and
FRAMEWORK strategies. The reference documentation also reflects those
changes.

Closes gh-51030
2026-07-29 14:45:12 +02:00
Moritz Halbritter be35ff4149 Polish "Disable Micrometer global registry in tests by default"
See gh-51142
2026-07-29 11:37:35 +02:00
Stéphane Nicoll 297ee86945 Polish "Deprecate TestRestTemplate"
See gh-46632
2026-07-27 21:12:35 +02:00
Brian Clozel c539367ea2 Deprecate TestRestTemplate
Closes gh-46632
2026-07-27 16:55:39 +02:00
Stéphane Nicoll c731cfd892 Merge branch '4.1.x'
Closes gh-51130
2026-07-26 09:18:55 +02:00
Stéphane Nicoll 5bdc8982c4 Merge branch '4.0.x' into 4.1.x
Closes gh-51129
2026-07-26 09:18:17 +02:00
Alexander Makarov 0ddd846424 Document alternative to deprecated HttpMessageConverters
See gh-51124

Signed-off-by: Alexander Makarov <alexander.makarov@nightsong.li>
2026-07-26 09:08:33 +02:00
Stéphane Nicoll 3959c56bdd Deprecate RestTemplate support
With Spring Framework 7.1 deprecating RestTemplate for removal, this
commit deprecates our supporting infrastructure as well, and steers
users towards RestClient instead:

* RestTemplateAutoConfiguration and
  RestTemplateObservationAutoConfiguration
* RestTemplateBuilder, RestTemplateBuilderConfigurer, and
  RestTemplateBuilderClientHttpRequestInitializer
* RestTemplateCustomizer, RestTemplateRequestCustomizer, and
  ObservationRestTemplateCustomizer
* MockRestServiceServerAutoConfiguration,
  MockServerRestTemplateCustomizer, and RootUriRequestExpectationManager
  in the test support module

The reference documentation no longer covers RestTemplate and now
solely documents RestClient and WebClient. Code snippets and sample
tests that only existed to illustrate RestTemplate usage have been
removed accordingly.

Closes gh-51118
2026-07-25 08:32:32 +02:00
Stéphane Nicoll 6970fa5156 Merge branch '4.1.x'
Closes gh-51114
2026-07-24 08:48:55 +02:00
Stéphane Nicoll 6ae046cf2c Merge branch '4.0.x' into 4.1.x
Closes gh-51113
2026-07-24 08:48:47 +02:00
wantaek cb6e22eb46 Fix package of AutoConfigureCache in caching documentation
See gh-51111

Signed-off-by: wantaek <wantaekchoi@gmail.com>
2026-07-24 08:48:12 +02:00
Stéphane Nicoll a9d1c4b684 Merge branch '4.1.x'
Closes gh-51103
2026-07-23 12:09:49 +02:00
Stéphane Nicoll e42c01e101 Merge branch '4.0.x' into 4.1.x
Closes gh-51102
2026-07-23 12:09:41 +02:00
Stefano Cordio 834f7e7197 Adapt examples in the metadata section to new package structure
See gh-51097

Signed-off-by: Stefano Cordio <stefano.cordio@gmail.com>
2026-07-23 11:48:38 +02:00
Moritz Halbritter 16246c9792 Merge branch '4.1.x'
Closes gh-51001
2026-07-20 10:13:32 +02:00
Moritz Halbritter 49a48c330c Merge branch '4.0.x' into 4.1.x
Closes gh-51000
2026-07-20 10:13:24 +02:00
Moritz Halbritter b635877c67 Add link from AOT Cache documentation to the how-to guide
Closes gh-50996
2026-07-20 10:13:06 +02:00
Stéphane Nicoll aba84a3850 Remove deprecated code
Closes gh-50955
2026-07-15 20:19:19 +02:00
Stéphane Nicoll 21f7390944 Polish "Add AMQP 1.0 RabbitMQ auto-configuration"
See gh-49857
2026-07-15 18:11:53 +02:00
Eddú Meléndez 0ed57a6109 Add AMQP 1.0 RabbitMQ auto-configuration
See gh-49857

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2026-07-15 18:11:45 +02:00
Stéphane Nicoll b5ba1ec85c Add AMQP 1.0 generic auto-configuration
This commit adds auto-configuration for the generic AMQP 1.0 client
in Spring AMQP 4.1, using Qpid ProtonJ. Support for connection factory,
client and listener endpoints are available.

The "spring.amqp" namespace exposes settings to connect to an AMQP 1.0
compliant broker and customize client and listeners settings. Docker
compose and testcontainers support using RabbitMQ, ActiveMQ, and Artemis
have been added too.

Closes gh-49678
2026-07-15 15:21:10 +02:00
Stéphane Nicoll f48cc3ac10 Move Spring AMQP 0.9 support to spring-boot-rabbitmq
Now that Spring AMQP supports AMQP 1.0 as well, we need to straighten
out our existing support. AMQP 0.9 is RabbitMQ specific, so we can no
longer refer it to "amqp". This commit migrates the existing support
to spring-boot-rabbitmq and renames the starters as well.

For continuity, users should migrate from "spring-boot-starter-amqp"
to "spring-boot-starter-rabbitmq". While the root package has been
changed for consistency, most names are the same, including
configuration properties still in the "spring.rabbitmq" namespace.

Keys to configure the version of the RabbitMQ clients have migrated to
'rabbitmq.client' and 'rabbitmq.stream.client' respectively.

Closes gh-49677
2026-07-15 15:10:09 +02:00
Venkata Naga Sai Srikanth Gollapudi 87c4755a86 Harmonize use of Collections and Maps in configuration properties
See gh-50367

Signed-off-by: Venkata Naga Sai Srikanth Gollapudi <42247688+gollapudisrikanth@users.noreply.github.com>
2026-07-15 11:37:31 +02:00
Stéphane Nicoll 1fb29ef797 Merge branch '4.0.x'
Closes gh-50940
2026-07-14 08:12:44 +02:00
Tran Ngoc Nhan c463dd033b Fix key for the MongoDB health indicator in reference guide
See gh-50931

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2026-07-14 08:07:07 +02:00
Stéphane Nicoll e44b486a00 Merge branch '4.0.x' 2026-06-30 10:10:35 +02:00
Stéphane Nicoll 22eef97293 Add missing or outdated copyright headers
See gh-50894
2026-06-30 10:04:39 +02:00
Andy Wilkinson b140c8d0fa Align docs with changes to Gradle gRPC configuration
Closes gh-50822
2026-06-28 18:18:39 +01:00