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>
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
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
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>
This also removes the 'requiredVersion' setting from the
native-maven-plugin configuration, as this is deprecated in the native
build tools.
Close gh-47433
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>
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>
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
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
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
Move `DefaultPropertiesPropertySource` from
`org.springframework.boot` to `org.springframework.boot.env` since
it's not directly tied to `SpringApplication`.
See gh-47232