This commit ensures that XML and JSON converters on both client and
server are configured using the dedicated methods on
`HttpMessageConverters`, instead of pushing them ahead of default
converters.
Closes gh-47917
Fixes gh-48096
Tomcat 11 will [1] send a response as soon as Content-Length bytes has
been written. This initiates a race between the timer being registered
on the server side and the test receiving the response and looking for
the timer.
Rather than sleeping for a fix period of time, we now use Awaitility
to await the availability of the timer.
Closes gh-48049
[1] 69eff83577
Previously, Kotlin Serialization would be used too aggressively then
an alternative JSON converter was available. This could lead to
unwanted results when a response should have been serialized using
Jackson, for example, rather than Kotlin Serialization.
This commit addresses this by only allowing Kotlin Serialization to
serialize types that are not annotated with @Serializable when no
alternative JSON converter is available.
Fixes gh-48070
As of As of spring-projects/spring-framework#35733, Spring Framework has
a dedicated method for configuring a Kotlin Serialization converter
specifically.
This commit uses this method instead of configuring the Kotlin
Serialization JSON support as a custom converter. This also removes the
`@Order` on the Kotlin converter bean itself, as there is no need to
order it in the list of custom converters anymore.
Closes gh-47917
This auto-configuration configures OpenTelemetry logging. The existing
OpenTelemetrySdkAutoConfiguration now only configures the OpenTelemetry
SDK, but no individual subsystems (logging, metrics, tracing).
Closes gh-47963
Update `@AutoConfigureMockMvc` to move HtmlUnit configuration under
a dedicated attribute and provide support for configuring the URL
that is used.
Closes gh-47857
This commit polishes the renaming of JsonComponent to JacksonComponent
and the use of JacksonModule instead of Module in Jackson 2.
This also adds integration tests that use a JacksonComponent with
WebMvcTest and WebFluxTest.
Closes gh-47864
This commit configures the new Jackson 3 support for Elasticsearch if
available. As for other auto-configurations, Jackson 2 is still
supported in a deprecated fashion.
Closes gh-47847
Previously, the default client and server HTTP message converter
customizers were ordered with lowest precedence. This made it
impossible to guarantee that another customizer would be able to go
after the default customizers, preventing their customizations from
being reliably overridden.
This commit updates the definitions of the default customizers to
order them at 0. This allows additional customizers to be ordered
either before or after them. Usage of the customizers is now always
ordered (previously Spring MVC's was not).
See gh-47798
This commit is a follow-on from 14c5ac0. It fixes a similar problem
with @AutoConfigureJsonTesters that is also apparent when using
@JsonTest.
Fixes gh-47811
The org.springframework.boot.test-auto-configuration plugin has been
added so that test auto-configuration imports files are checked at
build time, hopefully catching this sort of problem earlier in the
future.
Closes gh-47812
This commit restore the service connection support for Testcontainers
implementations that were deprecated as part of TC 2.0. Previously,
only the new location was taken into account.
Closes gh-47796
Previously, if Actuator was being used in a non-web app such that
spring-web was not on the classpath, the app would fail to start
if Jackson 2 was present. This occured as the auto-configuration
for the EndpointJackson2ObjectMapper tried to use spring-web's
Jackson2ObjectMapperBuilder that was not present.
This commit updates the auto-configuration to back off when
Jackson2ObjectMapperBuilder is absent, aligning it with the
behavior of JacksonEndpointAutoConfiguration in 3.5.
Fixes gh-47788