Commit Graph
96 Commits
Author SHA1 Message Date
Andy Wilkinson 46f22b2374 Polish NativeImageRequirementsNotMetException
Closes gh-48307
2025-11-26 15:31:48 +00:00
Stéphane Nicoll f6a2cae2bb Merge branch '3.5.x'
Closes gh-48283
2025-11-25 10:01:24 +01:00
Stéphane Nicoll 949c227698 Restore ApplicationServletEnvironment in web deployments
Closes gh-48254
2025-11-24 15:34:05 +01:00
Phillip Webb d4b9786b8b Merge branch '3.5.x'
Closes gh-48177
2025-11-18 17:08:35 -08: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 8a52f4931b Merge branch '3.5.x'
Closes gh-48136
2025-11-14 09:10:21 +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 8584f604e3 Rename maxAttempts to maxRetries
Closes gh-48023
2025-11-11 10:22:08 +00:00
Phillip Webb 6158a52b8c Support deprecated EnvironmentPostProcessor arguments
Fixes gh-48047
2025-11-10 15:51:53 -08:00
Phillip Webb 08857b4c7f Cache SystemEnvironmentPropertyMapper configuration property names
Add a static cache to `SystemEnvironmentPropertyMapper` for property
source name to configuration property name conversion. This update
should help ease object allocations for system environment names which
are unlikely to change often.

Closes gh-14121
2025-11-05 14:30:31 -08:00
Stéphane Nicoll a3ba9e3bf4 Merge branch '3.5.x'
Closes gh-47906
2025-11-02 10:58:26 +01:00
Phillip Webb 0f3631b7cc Merge branch '3.5.x'
Closes gh-47899
2025-10-31 09:25:55 -07:00
Andy Wilkinson 578b199b6d Merge branch '3.5.x'
Closes gh-47860
2025-10-29 10:25:10 +00:00
Stéphane Nicoll 7bde0e65f1 Fix typos
Closes gh-47818
2025-10-27 14:55:39 +01:00
Stéphane Nicoll 87acda775d Merge branch '3.5.x'
Closes gh-47783
2025-10-24 09:22:53 +02: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
Andy Wilkinson f5dbd8550f Stop Log4j2 configuration to hopefully close the log file
See gh-47424
2025-10-23 12:06:43 +01:00
Andy Wilkinson 2c563004d5 Clean up logging system properties to avoid test pollution
See gh-47424
2025-10-23 11:04:01 +01:00
Andy Wilkinson a120ed4383 Stop logger context so that file handlers are not leaked
See gh-47424
2025-10-23 11:04:01 +01:00
Phillip Webb 1a8402e938 Polish 'Simplify Log4J2LoggingSystem'
See gh-47424
2025-10-22 23:46:21 -07:00
Piotr P. Karwasz 7d34320401 Simplify Log4J2LoggingSystem
Streamline and harden `Log4J2LoggingSystem` by delegating more
functionality. The commit makes updates in two key areas:

Previously, each method fetched the `LoggerContext` directly from
`LogManager` and cast it to `....core.LoggerContext`. This approach
has several issues:

* ClassCastException risks:
  - When Log4j Core is on the classpath but not the active implementation
    (e.g. when `log4j-to-slf4j` is used).
  - During shutdown, when `LogManager` may return a `SimpleLoggerContext`
    (see spring-projects/spring-boot#26953).

* Unexpected reinitialization:
  - If the logger context had already been stopped, `Log4J2LoggingSystem`
    would trigger creation of a new context, even mid-shutdown.

Configuration file detection was previously hardcoded in
`Log4J2LoggingSystem`, which limited flexibility:

* Harder to support additional configuration formats.

* Coupled Spring Boot to internal Log4j Core classes such as
  `AuthorizationProvider`.

This change now delegates configuration resolution to Log4j. This reduces
reliance on internal APIs and allows Log4j Core to handle configuration
formats and factories more naturally.

Signed-off-by: Piotr P. Karwasz <piotr@github.copernik.eu>

See gh-47424
2025-10-22 23:41:11 -07:00
Varun Patni f84b17c751 Migrate from Dokkatoo to Dokka
This commit migrates from Dokkatoo to Dokka for generation of Kotlin
API documentation.

See gh-47706

Signed-off-by: Varun Patni <varun.patni1@gmail.com>
2025-10-22 15:50:29 +01:00
Stéphane Nicoll dfb4213f33 Stop using LoggerContext#start
Closes gh-46035
2025-10-20 14:58:44 +02:00
Stéphane Nicoll f1b1183098 Polish "Use JsonMapper instead of ObjectMapper where feasible"
See gh-47503
2025-10-20 13:21:47 +02:00
Yanming Zhou 609b0b444e Use JsonMapper instead of ObjectMapper where feasible
See gh-47503

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-10-20 13:16:52 +02:00
Phillip Webb 069809505e Drop SharedMetadataReaderFactoryContextInitializer
Closes gh-47687
2025-10-17 19:46:42 -07:00
Moritz Halbritter 57532c62be Fix tests regarding Native Image baseline on JDKs < 25
See gh-47433
2025-10-15 12:17:37 +02:00
Moritz Halbritter e1f9116684 Raise GraalVM baseline to 25
This also removes the 'requiredVersion' setting from the
native-maven-plugin configuration, as this is deprecated in the native
build tools.

Close gh-47433
2025-10-15 09:59:03 +02:00
Vedran Pavic c6397305bb Add AWS ECS to cloud platforms
This commit adds support for detecting AWS ECS to `CloudPlatform`. The
detection is based on presence of `AWS_EXECUTION_ENV` environment
variable with value starting with `AWS_ECS`.

See gh-47482

Signed-off-by: Vedran Pavic <vedran@vedranpavic.com>
2025-10-15 08:15:29 +02:00
Moritz Halbritter 0c7e49ebd1 Merge branch '3.5.x'
Closes gh-47621
2025-10-14 13:05:03 +02:00
Moritz Halbritter 54d60da47b Merge branch '3.5.x' 2025-10-14 11:30:00 +02:00
Moritz Halbritter 85082ac8ae Merge branch '3.5.x'
Closes gh-47616
2025-10-14 11:07:18 +02:00
Stéphane Nicoll e20e2393c9 Polish "Add runtime hints for Log4j Core 2"
See gh-46410
2025-10-08 10:41:40 +02:00
Piotr P. Karwasz a2d4ecf8ac Add runtime hints for Log4j Core 2
This change introduces runtime hints for Log4j Core 2 to support its
integration with Spring Boot native images.

Starting with Log4j 2.25.x, Log4j includes built-in GraalVM reachability
metadata, allowing native image generation without requiring additional
manual configuration.

This contribution complements that by adding Spring Boot–specific
metadata:

* Registers default Spring Boot configuration files.
* Registers classes referenced via `ClassUtils.isPresent(...)` checks.

See gh-46410

Signed-off-by: Piotr P. Karwasz <piotr@github.copernik.eu>
2025-10-08 10:39:24 +02:00
Stéphane Nicoll da8eac3483 Update RetryPolicySettings to configure exception policy as well
Closes gh-47264
2025-10-07 14:07:17 +02:00
Moritz Halbritter 418e057afc Add nullability annotations to tests in core/spring-boot
See gh-47263
2025-10-02 14:34:34 +02:00
Stéphane Nicoll eb307b91ec Merge branch '3.5.x'
Closes gh-47359
2025-09-30 07:50:09 +02:00
Andy Wilkinson 51b606e941 Polish 2025-09-24 12:47:09 +01:00
Stéphane Nicoll c4cace3f74 Upgrade to Log4j2 2.25.2
See gh-46334
2025-09-24 12:14:32 +02:00
Stéphane Nicoll b7695200a9 Re-apply the upgrade to Log4j2 2.25.1
See gh-46372
See gh-46334
2025-09-24 12:13:54 +02:00
Phillip Webb 3a9ab15696 Reintroduce previous EnvironmentPostProcessor in deprecated form
Restore previous `EnvironmentPostProcessor` in deprecated form to help
lessen upgrade pain.

Closes gh-47272
2025-09-22 11:25:23 -07:00
Stéphane Nicoll 14703cbafd Revert "Remove mentions of JUnit 4"
This reverts commit 3b98af30f5.

See gh-47228
2025-09-19 17:05:00 +02:00
Stéphane Nicoll 3b98af30f5 Remove mentions of JUnit 4
This commit removes all mentions of JUnit 4 from the Javadoc and
reference documentation. It also harmonizes to simply refers to JUnit.

Closes gh-47228
2025-09-19 15:29:11 +02:00
Phillip Webb 2cf854c5b6 Polish 2025-09-18 13:29:47 -07:00
Moritz Halbritter aac1845cac Improve null-safety of core/spring-boot
See gh-46926
2025-09-18 11:35:52 +02:00
Phillip Webb fc68b001d8 Remove isImmutable and getPrefix from OriginLookup
Drop `isImmutable` and `getPrefix` from `OriginLookup` since
they're not really Origin concerns. Now that `env` is a
foundational layer we can add a dedicated `PropertySourceInfo`
interface and add that to the `o.s.b.env` package without
creating a package tangle.

Closes gh-45547
2025-09-17 14:57:33 -07:00
Phillip Webb 1acda68d39 Relocate AnsiOutputApplicationListener
Move `AnsiOutputApplicationListener` from `o.s.b.context.config`
to `o.s.b.support` since it's more of a supporting class than a
context concern.

See gh-47232
2025-09-17 14:57:32 -07:00
Phillip Webb c53ea0a08c Relocate DefaultPropertiesPropertySource to env
Move `DefaultPropertiesPropertySource` from
`org.springframework.boot` to `org.springframework.boot.env` since
it's not directly tied to `SpringApplication`.

See gh-47232
2025-09-17 14:57:32 -07:00