This commit upgrades to Kotlin 2.1.0. Two related dependencies have been
updated as well: Kotlin Coroutines to 1.10, and Kotlin Serialization to
1.8.
As of Kotlin 2, it is no longer possible to have a Java type and a
Kotlin type with the same name. As our code samples follow that
unfortunate pattern, this commit makes sure that the Kotlin sample code
does not depend on any of the Java counterpart and configure the kotlin
compilation plugin to ignore Java sources.
The minimum version of Gradle is 7.6.4. It bundles a version of Kotlin
that cannot compile a Kotlin build script when spring-core, compiled
with Kotlin 2.1, is on the classpath. Using Gradle 8.12 to run the DSL
tests avoids the problem.
Closes gh-45486
Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Update the reference documentation to provide more details about the
three supported methods of starting Testcontainer containers.
See gh-44187
Signed-off-by: Vanio Begic <vanio.begic123@gmail.com>
Document that `applicationTaskExecutor` as a bootstrap executor for the
context if no `bootstrapExecutor` bean is defined.
See gh-45232
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
This commit clarifies the semantic of declaring multiple profile
expression with the "spring.config.activate.on-profile" property.
See gh-44866
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
This commit adds support for the standard 'optional:' prefix in Log4j2
override file locations, ensuring missing files are ignored without
throwing exceptions.
See gh-44488
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Update `OtlpMetricsExportAutoConfiguration` to use the new
`OtlpMetricsSender`interface that allows users to customize the
sending of OTLP metrics using the `OtlpMeterRegistry`.
See gh-45204
Update `ElasticCommonSchemaStructuredLogFormatter` implementations so
that nested JSON is used for entries that previous has a '.' in the
name. This format follows the ECS specification and should be compatible
with more backends.
Fixes gh-45063
Show the use of token properties in authorization server clients
configuration example
See gh-45019
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
@ServletRegistration and @FilterRegistration can be used as an
annotation-based alternative to ServletRegistrationBean and
FilterRegistrationBean.
Closes gh-16500
Add a new `ClientHttpConnectorBuilder` interface to support the
creation of `ClientHttpConnector` instances. The new code is similar
to the `ClientHttpRequestFactoryBuilder` interface that was added to
Spring Boot 3.4.
The `ClientHttpConnectorBuilder` is a functional interface with
additional static factory methods for the various supported
`ClientHttpConnector` types. Each type has it's own builder
which to support client specific customization.
The previous auto-configuration has been relocated to the
`org.springframework.boot.autoconfigure.http.client.reactive`
package and updated to make use of the builder.
Closes gh-43079
This commit updates the WebFlux security documentation, primarily to
link to reactive types rather than their Servlet-based equivalents.
It also attempts to clarify when a user details service is
auto-configured.
Closes gh-44955
This commit updates `TaskExecutionAutoConfiguration` to permit the
auto-configuration of a `TaskExecutor` even if a user-defined `Executor`
bean is present.
Such `Executor` may have been created for totally unrelated reason, and
it may or may not be an `AsyncTaskExecutor`. The default behavior has
not changed, but this commit provides a new property,
`spring.task.execution.mode` that can be set to `force` to
auto-configure the `TaskExecutor` anyway.
Because this mode made it so that two `Executor` will be present in the
context, this commit also automatically configures an `AsyncConfigurer`
if none is present already to make sure task processing uses the
auto-configured TaskExecutor.
Closes gh-44659
This commit adds customizers for both OtlpHttpSpanExporterBuilder
and OtlpGrpcSpanExporterBuilder.
See gh-44900
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
This commit harmonizes the behavior of the native and nativeTest Maven
profiles. Previously, enabling the nativeTest profile would
automatically add an execution of the Spring Boot and Native Build Tools
plugins, even in a module that doesn't represent an application or a
Spring Boot-related module.
With this commit, the native testing feature is only enabled if the
plugins are defined in the project, either directly, or in a parent.
The documentation has been updated as the behavior of both profiles is
now much more consistent.
Closes gh-44696