Commit Graph
495 Commits
Author SHA1 Message Date
Andy Wilkinson 52301d3f9f Merge branch '4.1.x'
Closes gh-51657
2026-09-10 15:35:52 +01:00
Oleksandr Shevchenko 020584c36a Document baggage propagation over gRPC
Baggage is already propagated over gRPC by the auto-configured
Micrometer observation interceptors: on the server side the
ObservationGrpcServerInterceptor hands the incoming metadata to the
tracing observation handlers, which extract the W3C baggage header as
well as the individual metadata keys listed in
management.tracing.baggage.remote-fields, and on the client side the
ObservationGrpcClientInterceptor writes them to the metadata of
outgoing calls. This was not documented, and it is easy to miss that
it requires micrometer-core on the classpath.

This commit adds an Observability section to the gRPC server
documentation, extends the gRPC client Observability section, and
mentions gRPC in the baggage section of the tracing documentation.

See gh-51597

Signed-off-by: Oleksandr Shevchenko <oleksandr.shevchenko@datarobot.com>
2026-09-10 15:33:57 +01:00
Wan bin yu 0d223cbc77 Filter additional configuration metadata from archives
Signed-off-by: Wan bin yu <3431359639@qq.com>

See gh-51386
2026-09-09 08:30:08 +01:00
Andy Wilkinson 85535ce81f Merge branch '4.1.x'
Closes gh-51607
2026-09-07 12:20:42 +01:00
Andy Wilkinson 50350d0c83 Merge branch '4.0.x' into 4.1.x
Closes gh-51606
2026-09-07 12:20:30 +01:00
Hyunwoo Jung 528c8bd1ea Fix typos
Signed-off-by: Hyunwoo Jung <hyunwoojung@kakao.com>

See gh-51590
2026-09-07 11:53:30 +01:00
Andy Wilkinson f50c8311b9 Move Servlet-specific Tomcat properties to server.tomcat.servlet
Closes gh-51603
2026-09-07 09:58:08 +01:00
Tiziano Basile f119e58767 Default use-relative-redirects to true
Spring Boot unconditionally set useRelativeRedirects on the Tomcat
Context, defaulting it to false. That overrode Tomcat's own default and
forced absolute Location headers on every sendRedirect.

Keep server.tomcat.use-relative-redirects a simple boolean, but default
it to true so that relative Location headers are used out of the box.
The property can still be set to false to opt back into absolute
redirects.

Smoke tests that asserted a port-qualified absolute Location are updated
to the relative form, and the proxy tip in the reference documentation is
qualified since the context root redirect no longer carries a scheme.

Signed-off-by: Tiziano Basile <tiz.basile@gmail.com>

See gh-51173
2026-09-07 08:50:09 +01:00
Phillip Webb e21c5c61c2 Merge branch '4.1.x'
Closes gh-51565
2026-09-03 17:49:38 -07:00
Phillip Webb 07a00e1e5b Merge branch '4.0.x' into 4.1.x
Closes gh-51564
2026-09-03 17:49:31 -07:00
Phillip Webb c121e09ece Remove references to Spring Data Geode
Closes gh-51563
2026-09-03 17:48:57 -07:00
Hyeongjun Cho 962ca36126 Add jarmode tools command to print the SBOM
Add an 'sbom' command to the tools jar mode which prints the SBOM
packaged in an uber jar or war. The SBOM is located using the
Sbom-Location manifest attribute and its bytes are copied verbatim to
the console, or to the file given by --destination.

See gh-51505

Signed-off-by: Hyeongjun Cho <ryuu.public@gmail.com>
2026-09-02 16:26:35 +02:00
henriquejsza 626d5fdf3c Add ResourceBasedMessageSourceConfigurer
Signed-off-by: henriquejsza <henriquejsza@gmail.com>

See gh-51484
2026-09-02 14:53:00 +01:00
Phillip Webb 32b235f4d7 Merge branch '4.1.x' 2026-08-31 21:25:00 -07:00
Phillip Webb 25a99a84c0 Merge branch '4.0.x' into 4.1.x 2026-08-31 21:24:40 -07:00
Phillip Webb 2e1502e5d7 Refactor BOM link DSL
Update link DSL with a new `Links` type and an enum for the type
rather than a name. This update also fixes Hibernate links which were
broken.

See gh-51498
2026-08-31 21:22:46 -07:00
Moritz Halbritter 99274e3143 Fix embedded LDAP SSL and reuse client auto-configuration
Replace the hand-rolled LdapContextSource of the embedded server
with an LdapConnectionDetails implementation, so that
LdapAutoConfiguration creates the context source for both the external
and the embedded case. Previously, the embedded context source derived
the URL scheme from spring.ldap.ssl and never applied an SSL bundle to
the JNDI environment, leaving an embedded LDAPS server unreachable. It
also ignored spring.ldap.anonymous-read-only, spring.ldap.referral,
spring.ldap.base-environment and any DirContextAuthenticationStrategy
bean, all of which now apply.

The embedded server provides everything that describes a connection to
it, so spring.ldap.urls, spring.ldap.username, spring.ldap.password and
spring.ldap.ssl are now ignored while it is used. A spring.ldap
configuration meant for a production server therefore no longer has to
be unset for a test to run against the embedded server. This is a
behavior change: spring.ldap.urls used to take precedence and silently
pointed the client away from the embedded server.

As spring.ldap.base-environment now applies to the embedded case, a
socket factory set there would be replaced by the one of the SSL
bundle. Startup fails instead of using either silently.

LdapProperties.determineUrls has been removed. Its local.ldap.port
handling only ever served the embedded case, which the embedded
connection details now cover, and the default URL derivation has moved
to PropertiesLdapConnectionDetails, its only caller.

Closes gh-51465
2026-08-27 09:32:13 +02:00
Moritz Halbritter bf1b583596 Fail fast if ssl.enabled = true without an SSL bundle
Setting spring.ldap.embedded.ssl.enabled without an SSL bundle started a
plain LDAP listener silently. It now fails at startup as a bundle is
required to provide the server's certificate and private key.

Closes gh-51471
2026-08-27 09:32:13 +02:00
Phillip Webb 8b35236d92 Merge branch '4.1.x' 2026-08-26 14:40:02 -07:00
Phillip Webb a63e99407e Merge branch '4.0.x' into 4.1.x 2026-08-26 14:08:23 -07:00
Phillip Webb 9c8bf507d4 Simplify documentation dependencies 2026-08-26 14:03:44 -07:00
Phillip Webb 293c56bf52 Merge branch '4.1.x' 2026-08-26 11:11:03 -07:00
Phillip Webb 25194625b5 Merge branch '4.0.x' into 4.1.x 2026-08-26 11:09:18 -07:00
Phillip Webb fd0f76304c Sort implementation dependencies in spring-boot-docs 2026-08-26 11:03:23 -07:00
Phillip Webb ffd9190409 Merge branch '4.1.x' 2026-08-26 10:48:37 -07:00
Phillip Webb 4cdd2015e7 Merge branch '4.0.x' into 4.1.x 2026-08-26 10:45:35 -07:00
Phillip Webb a1cc95e8a6 Polish gradle dependency declarations
Remove 'path:' prefix when possible.
2026-08-26 10:39:28 -07:00
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