69 Commits
Author SHA1 Message Date
Andy Wilkinson 57b44b0594 Merge branch '4.1.x'
Closes gh-51600
2026-09-07 08:27:14 +01:00
Andy Wilkinson ea613dc511 Merge branch '4.0.x' into 4.1.x
Closes gh-51599
2026-09-07 08:26:42 +01:00
Manu Sridharan 25a3f8feb9 Remove unnecessary NullAway suppressions
Signed-off-by: Manu Sridharan <msridhar@gmail.com>

See gh-51591
2026-09-07 08:18:11 +01:00
Andy Wilkinson 2772023050 Merge branch '4.1.x'
Closes gh-51545
2026-09-02 14:24:39 +01:00
Andy Wilkinson 8e7128730f Merge branch '4.0.x' into 4.1.x
Closes gh-51544
2026-09-02 14:18:14 +01:00
piyushrajyadav e161167450 Use constructor injection in classes that partipate in @Import
See gh-51490

Signed-off-by: piyushrajyadav <piyushyadavrajyadav@gmail.com>
2026-09-02 14:15:45 +01:00
Phillip Webb ef4f1404a1 Merge branch '4.1.x'
Closes gh-51455
2026-08-25 14:19:47 -07:00
Phillip Webb 914f39384c Merge branch '4.0.x' into 4.1.x
Closes gh-51454
2026-08-25 14:07:23 -07:00
Phillip Webb 5a21e0d698 Upgrade to spring-javaformat 0.0.48
Closes gh-51452
2026-08-25 13:58:58 -07: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
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
Stéphane Nicoll e7741bf152 Start building against Spring Framework 7.1.0-M1 snapshots
See gh-51123
2026-07-27 21:16:50 +02:00
Stéphane Nicoll 07f80348a5 Polish "Remove APIs that were deprecated for removal in 4.2"
See gh-50955
2026-07-24 15:57:23 +02:00
Stéphane Nicoll ca67fcb642 Merge branch '4.1.x'
Closes gh-51122
2026-07-24 15:19:38 +02:00
Stéphane Nicoll 9821dade80 Merge branch '4.0.x' into 4.1.x
Closes gh-51121
2026-07-24 15:19:14 +02:00
Stéphane Nicoll b9ebff0084 Use RestClient in tests and infrastructure code
Closes gh-51120
2026-07-24 15:10:43 +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
Brian Clozel f71e797761 Merge branch '4.0.x'
Closes gh-50790
2026-06-18 17:01:29 +02:00
Lee JiWon 4b542efc0c Only set Partitioned cookie attribute when true
The session cookie's Partitioned attribute was set to "" for any
non-null value, so an explicit `partitioned=false` was rendered the
same as `true`. PropertyMapper.to() only filters null, so
Boolean.FALSE reached the consumer and the attribute was always set.

Use whenTrue() so the attribute is set only when partitioned is true,
leaving false and unset to fall through to the container default.

Closes gh-50781

Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
2026-06-18 16:52:55 +02:00
Stéphane Nicoll 5bf2a32b11 Merge branch '4.0.x' 2026-05-30 14:39:57 +02:00
Stéphane Nicoll 98084aab2b Reformat additional-spring-configuration-metadata.json files 2026-05-30 14:28:53 +02:00
Andy Wilkinson 6a74bb85a3 Merge branch '4.0.x'
Closes gh-50440
2026-05-14 15:03:44 +01:00
Andy Wilkinson add52b6ccd Merge branch '3.5.x' into 4.0.x
Closes gh-50439
2026-05-14 15:02:24 +01:00
Andy Wilkinson c420d8e7fd Merge branch '4.0.x'
Closes gh-50204
2026-04-24 15:21:54 +01:00
Andy Wilkinson b02f7ddea3 Fix Partitioned session cooke attribute configuration with Tomcat
Fixes gh-50201
2026-04-24 15:06:38 +01:00
Andy Wilkinson cec1dd2530 Merge branch '4.0.x'
Closes gh-49005
2026-01-28 11:25:33 +00:00
Andy Wilkinson cbfbe59581 Upgrade to Nullability Plugin 0.0.11
In addition to the upgrade, this commit also fixes some contract
violations in non-public APIs that are now detected as the new
version of the plugin enables contract checking by default.

Closes gh-49000
2026-01-28 10:46:42 +00:00
Andy Wilkinson 27e3ddc7fb Merge branch '4.0.x'
Closes gh-48949
2026-01-23 10:36:38 +00:00
Yanming Zhou 5733ee723e Remove unnecessary @ConfigurationPropertiesSource
Remove @ConfigurationPropertiesSource from classes that reside in
the same module as all referencing @ConfigurationProperties classes.

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>

See gh-48934
2026-01-23 10:33:35 +00:00
jdsalasca b1e9fdc3ec Provide support for adding to the mime types that are compressed
Signed-off-by: jdsalasca <jdsalasc@unal.edu.co>

See gh-48930
2026-01-23 09:25:12 +00:00
Moritz Halbritter c9be84af6e Delete web server's temporary directories when the context is closed
Closes gh-9983
2026-01-20 10:16:54 +01:00
Andy Wilkinson 3d6671d47a Merge branch '4.0.x'
Closes gh-48701
2026-01-08 12:14:50 +00:00
Andy Wilkinson ef1f4e2fa2 Merge branch '4.0.x'
Closes gh-48700
2026-01-08 12:01:09 +00:00
Andy Wilkinson 0ffffee4bf Upgrade to Nullability Plugin 0.0.9
Closes gh-48638
2026-01-08 11:59:51 +00:00
Andy Wilkinson 9bd1a460a1 Correct packaging of test code
Closes gh-48699
2026-01-08 11:43:43 +00:00
Phillip Webb 21cf377f7e Add 'WAR_SOURCE_DIRECTORY' environment variable support
Add an escape hatch for users that deviate from the standard
`src/main/webbapp` directory structure.

Fixes gh-23829
2026-01-05 16:44:45 -08:00
Stéphane Nicoll 1f4a8dff98 Restore RANDOM_PORT handing in tests with a separate management port
This commit fixes a regression where RANDOM_PORT was no longer honored
if a defined management port is set. Due to the modularization efforts,
the code has moved from an EnvironmentPostProcessor to an
ApplicationListener. Unfortunately, the listener is registered too
late to handle the event it is listening to. While the event type could
have been changed, the listener was added on the ApplicationContext
which are not honored before the ApplicationContext is in a state to be
used.

The contract of ContextCustomizerFactory is already giving us everything
we need. While the environment is post-processed later than we would
like, it is still post-processed before the refresh state so that the
additional property is honored.

This commit also adds an integration test to cover this scenario.

Closes gh-48653
2025-12-31 17:10:39 +01:00
Stéphane Nicoll d489aa685c Polish "Update AOT tests to fail if deprecated code is not suppressed"
Include use of API that has been marked for removal.

See gh-48566
2025-12-17 15:41:26 +01:00
Stéphane Nicoll 8e895b3bc0 Update AOT tests to fail if deprecated code is not suppressed
Closes gh-48566
2025-12-17 15:30:44 +01:00
Stéphane Nicoll 14a67f7c6e Polish "Upgrade to Tomcat 11.0.15"
See gh-48467
2025-12-08 17:42:49 +01:00
Andy Wilkinson 3becdc7d47 Move server.error properties to spring.web.error
Closes gh-48201
2025-11-20 11:55:23 +00:00
Stefan Würsten 9ccec12506 Move mime-mappings.properties to spring-boot-web-server
This commit moves mime-mapping.properties in the module that actually
uses it, rather than in the top-level spring-boot module.

See gh-48138

Signed-off-by: Stefan Würsten <stefan@wuersten.ch>
2025-11-14 14:52:54 +01:00
Andy Wilkinson b65fe6520a Merge branch '3.5.x'
Closes gh-48134
2025-11-14 08:57:57 +00:00
Stéphane Nicoll 3d23261f87 Merge branch '3.5.x'
Closes gh-48122
2025-11-13 14:55:19 +01:00
Stéphane Nicoll d1e5fe3248 Merge branch '3.5.x'
Closes gh-48106
2025-11-13 10:31:25 +01:00
Stéphane Nicoll 728cb95a17 Fix formatting 2025-10-23 14:12:50 +02:00
Andy Wilkinson aa95282290 Polish @since tags
Closes gh-47779
2025-10-23 12:48:58 +01:00
Stéphane Nicoll aceaee89ee Polish "Replace BaseUrl with LocalTestWebServer"
See gh-47680
2025-10-21 11:08:48 +02:00
Phillip Webb 41a399c5ae Replace BaseUrl with LocalTestWebServer
Replace `BaseUrl` and `BaseUrlProvider` provider code with a more
targeted `LocalTestWebServer` class.

The `LocalTestWebServer` can be used to obtain the url of the locally
running server, or provide `UriBuilderFactory` or `UriBuilder`
instances base on it.

This commit also updates the MockMVC HTML Unit auto-configuration to
directly use `localhost` as the base URL.

Closes gh-47680
2025-10-20 17:44:51 -07:00
Moritz Halbritter 64136a9901 Remove public modifier from referenced configurations in auto-configurations
Closes gh-47715
2025-10-20 15:18:11 +02:00