Commit Graph

3838 Commits (e8c3157db577520029c16d18c0572d49a1671e3b)

Author SHA1 Message Date
Moritz Halbritter cf4117856b Extract Flyway configuration mapping in separate class
Closes gh-32849
2 years ago
Scott Frederick eeac08e50e Remove references to WebSecurityConfigurerAdapter from javadoc
Closes gh-32879
2 years ago
Phillip Webb a59b6cb1f3 Polish 2 years ago
Phillip Webb 0f405c06bf Merge branch '2.7.x' 2 years ago
Phillip Webb f44531a7a2 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 92b513dc8d Polish 2 years ago
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2 years ago
Andy Wilkinson 99edda735e Polish 2 years ago
Andy Wilkinson bed313746b Correct property names to align with changes in 3.0
See gh-32837
2 years ago
Andy Wilkinson a606b26920 Merge branch '2.7.x'
Closes gh-32837
2 years ago
Andy Wilkinson 032487117b Merge branch '2.6.x' into 2.7.x
Closes gh-32836
2 years ago
Andy Wilkinson fe51e03019 Support IPv6 addresses in spring.redis.sentinel.nodes
Fixes gh-32762
2 years ago
Phillip Webb ea094ddba6 Fix package tangles caused by ConfigurationProperties hints
Relocate `ConfigurationPropertiesReflectionHintsProcessor` and refactor
it to be a general purpose `BindableRuntimeHintsRegistrar`.

Prior to this commit, `ConfigurationPropertiesReflectionHintsProcessor`
was used to declare binding hints for classes that were bound, but
might be `@ConfigurationProperties`. By moving and renaming the class,
it's now better aligned to the way it's used.

Support for `@NestedConfigurationProperties` has been implemented by
adding a `@Nestable` meta-annotation. This allow us to create the
appropriate hints, without the `Binder` needing to be directly aware of
the `@NestedConfigurationProperties` annotation.

Closes gh-32815
2 years ago
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2 years ago
Phillip Webb 2e74878ba4 Downgrade to OpenSAML 4.0.1
See gh-32604
2 years ago
Madhura Bhave cedd553b83 Remove error page security filter
Spring Security now re-applies the authorization rules
to the error page by default. Additionally, it configures
RequestAttributeSecurityContextRepository as the default for
stateless applications allowing those applications to have access
to the original authentication during an error dispatch.

Closes gh-31703
2 years ago
Andy Wilkinson a87aca2744 Merge branch '2.7.x'
Closes gh-32782
2 years ago
Andy Wilkinson a19e394ebb Merge branch '2.6.x' into 2.7.x
Closes gh-32781
2 years ago
Henning Poettker 4ed072a06b Upgrade MySQL Connector/J and use new Maven identifiers
See gh-32747
2 years ago
Phillip Webb 02cd910f5a Merge branch '2.7.x'
Closes gh-32774
2 years ago
Phillip Webb fbd416adc6 Merge branch '2.6.x' into 2.7.x
Closes gh-32773
2 years ago
Phillip Webb b02c702ad1 Polish 'Use more specific bean method return types in KafkaAutoConfiguration'
See gh-32770
2 years ago
yuanhao18 c498ad0320 Use more specific bean method return types in KafkaAutoConfiguration
Update `KafkaAutoConfiguration` so that more specific bean types are
returned.

See gh-32770
2 years ago
Moritz Halbritter b986a9b12e Add Flyway native-image support
The ResourceProviderCustomizer, which is used by FlywayAutoConfiguration
gets replaced with NativeImageResourceProviderCustomizer when running
in AOT mode. The NativeImageResourceProvider does the heavy lifting when
running in a native image: it uses PathMatchingResourcePatternResolver
to find the migration files.

Closes gh-31999
2 years ago
Bertolt Meier 647a2905c8 Add checkstyle rule for List.of() / Set.of() / Map.of()
This commits adds a checkstyle rule to not use List.of(), Set.of()
and Map.of(), preferring Collections.emptyList(), emptySet(), and
emptyMap() respectively.

It replaces usages of these methods across the codebase.

See gh-32655
2 years ago
Andy Wilkinson 3ab4606584 Make runScripts method of DB initializer more extensible
Closes gh-29137
2 years ago
Brian Clozel d870474fcd Remove spring.webflux.multipart.streaming property
As of spring-projects/spring-framework#29293, the streaming mode on the
`DefaultPartHttpMessageReader` is deprecated as hard limitations have
been found with the design and won't be fixed. Instead, developers
should use the `PartEvent` API and the `PartEventHttpMessageReader`
(which is configured by default with the codecs).

This commit removes the `spring.webflux.multipart.streaming` property
and applies all `spring.webflux.multipart.*` properties that are
applicable to `PartEventHttpMessageReader`.

Closes gh-32658
2 years ago
Madhura Bhave 263433cd81 Populate base for embedded LDAPContextSource
Fixes gh-23030
2 years ago
Andy Wilkinson 3eb3d79104 Log condition evaluation report during AOT processing
Closes gh-32109
2 years ago
Andy Wilkinson 8e35f2ae92 Separate report logging from context initialization and events
See gh-32109
2 years ago
Brian Clozel 23a9818e0d Auto-configure ProblemDetails support
This commit auto-configures ProblemDetails support for both Spring MVC
and Spring WebFlux, contributing a `@ControllerAdvice` annotated
`ResponseEntityExceptionHandler` bean if the
`spring.mvc.problemdetails.enabled` or
`spring.webflux.problemdetails.enabled` properties are set to `true`.

Closes gh-32634
2 years ago
Vedran Pavic e0a7bd8143 Fix deprecation warnings in Spring Session auto-configuration
This commit updates Spring Session auto-configuration to avoid usage of
deprecated methods, and moves to newly introduced Duration based
defaultMaxInactiveInterval setters across all session repository
implementations.

Additionally, this fixes several tests that are broken due to session
repository implementations now using Duration type for their
defaultMaxInactiveInterval fields.

See gh-32633
2 years ago
Brian Clozel da7128ce7e Upgrade to Thymeleaf 3.1.0-M3
See gh-32628
2 years ago
Brian Clozel 0f3b94592b Temporarily suppress warnings on R2DBC deprecation
See gh-32601
See spring-projects/spring-data-relational#1350
2 years ago
Andy Wilkinson 7e47d3bbd6 Polish "Rework Spring Session auto-configuration to use customizers"
See gh-32554
2 years ago
Vedran Pavic ad8753923a Rework Spring Session auto-configuration to use customizers
This commit reworks Spring Session auto-configuration to avoid
extending Spring Session's configuration classes. Instead, those
configuration classes are now imported and customizations are
applied using dedicated (Reactive)SessionRepositoryCustomizer beans.

See gh-32554
2 years ago
Brian Clozel c8c73b195d Switch to Spring Batch 5.0.0-SNAPSHOT
See gh-32618
2 years ago
Stephane Nicoll 4ffc421b3c Adapt to Spring Framework API change 2 years ago
Stephane Nicoll e94a1f7988 Replace outcome of JsonMixins scanning in AOT optimized contexts
This commit adds an AOT contribution that replaces the scanning of
@JsonMixin by a mapping in generated code. This makes sure that such
components are found in a native image.

Closes gh-32567
2 years ago
Andy Wilkinson 5199ffe6a9 Allow auto-configured Rabbit Stream Environment to be customized
Closes gh-32580
2 years ago
Andy Wilkinson 0ae7e935c3 Allow user to replace auto-configured Data JDBC beans
Closes gh-32571
2 years ago
Andy Wilkinson e6568596b9 Make max header size config consistent across web servers
Closes gh-29382
2 years ago
Andy Wilkinson 4f86f685c5 Reinstate support for Infinispan
Closes gh-32556
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Andy Wilkinson 803d353d49 Fix formatting of R2dbcDataAutoConfiguration
See c2b8d3d.
2 years ago
Stephane Nicoll c2b8d3de21 Declare beans that can be instantiated at build-time static
This commit updates the bean factory methods for beans that can be
instantiated at build-time to be static. Doing so makes sure that
the enclosing configuration class does not have to be resolved in
order to create the instance.

Closes gh-32570
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
Andy Wilkinson 0bfa9cd704 Upgrade to Logback 1.4 and SLF4J 2.0
Closes gh-12649
2 years ago
Andy Wilkinson 7d583939ff Auto-configure stream template and env irrespective of listener type
Closes gh-32477
2 years ago
Vedran Pavic 230f2cda84 Migrate to AuthorizationFilter in Spring Security auto-config
This commit updates Servlet based Spring Security auto-configuration
to use AuthorizationFilter, which is intended to supersede
FilterSecurityInterceptor.

See gh-31255
2 years ago
Scott Frederick 08022ba86e Remove support for locating imports using spring.factories
With this commit, loading `@AutoConfiguration`,
`@ImportAutoConfiguration`, and `@ManagementContextConfiguration`
classes is supported with `.imports` files only. Support for loading
these classes with `spring.factories` is removed.

Closes gh-29699
2 years ago
Scott Frederick f9c341c75a Revert "Generate the AutoConfiguration.imports file from annotations"
This reverts commit da4de7d67d.
2 years ago
Andy Wilkinson 2977373505 Polish "Add property to configure Spring Session Redis repository type"
See gh-32205
2 years ago
Vedran Pavic 3093380e35 Add property to configure Spring Session Redis repository type
With Spring Session moving to RedisSessionRepository as the preferred
session repository, Spring Boot auto-configuration should make it
possible to easily switch back to the previous default
(RedisIndexedSessionRepository).

This commit introduces spring.session.redis.repository configuration
property that allows selecting the desired Redis-backed session
repository implementation.

See gh-32205
2 years ago
Andy Wilkinson 64f4da80cb Align with breaking changes in latest Batch snapshots
Batch is now auto-configured to use the context's
PlatformTransactionManager and DataSource or `@BatchDataSource`.
When this does not meet the user's needs, they can use
`@EnableBatchProcessing` or sub-class `DefaultBatchConfiguration` to
take complete control with the auto-configuration backing off.

Closes gh-32330
2 years ago
dreis2211 bac7d62476 Fix Spring Batch deprecations
See gh-32419
2 years ago
Andy Wilkinson 2b3ef96156 Merge branch '2.7.x'
Closes gh-32407
2 years ago
Andy Wilkinson a800f7d77c Merge branch '2.6.x' into 2.7.x
Closes gh-32406
2 years ago
Andy Wilkinson 61e11cd361 Ensure that TCCL is clean when DataSource is accessed
Previously, when using Tomcat, its web app class loader was the thread
context class loader when H2ConsoleAutoConfiguration triggered
initialization of Hikari's pool. This was the case because it's done
in the bean method of a ServletRegistrationBean. Such Servlet-related
beans are intentionally created with Tomcat's web app classloader as
the TCCL. This arrangement results in the pool's threads using
Tomcat's web app class loader as their TCCL which is not desirable.
One consequence of this was that Tomcat could log a warning at
shutdown about the thread being left running when it will, in fact,
be stopped as part of the context being closed.

This commit updates H2ConsoleAutoConfiguration to set the TCCL to its
own ClassLoader while the DataSource information is being logged.

Closes gh-32382
2 years ago
Phillip Webb db89ee6904 Deprecate spring.mvc.ignore-default-model-on-redirect property
Closes gh-32381
2 years ago
Stephane Nicoll bcb5f048d2 Upgrade to Liquibase 4.16.0
Closes gh-32354
2 years ago
Andy Wilkinson 6d2a1d3f3b Adapt to breaking changes in Batch's transaction management
See gh-32237
2 years ago
Stephane Nicoll d4a88041dc Upgrade to R2DBC Bom Borca-SR2
Closes gh-32328
2 years ago
Andy Wilkinson c6990a34f9 Merge branch '2.7.x' 2 years ago
Andy Wilkinson a533f4fa32 Polish 2 years ago
Andy Wilkinson 4e8e5f623b Adapt to recent deprecations in Spring Batch
See gh-32237
2 years ago
Phillip Webb aa62e3d1bd Fix deprecation issues in WebMvcAutoConfigurationTests 2 years ago
Phillip Webb fc279b7083 Deprecate ThemeResolver auto-configuration
Update `WebMvcAutoConfiguration` to deprecate the `ThemeResolver` bean
to align with recent Spring Framework changes.
2 years ago
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2 years ago
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2 years ago
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2 years ago
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2 years ago
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 85697ac482 Update copyright year of changed files 2 years ago
Phillip Webb 6e239d551a Update Spring Batch to upstream API changes
Fix Spring Batch tests following upstream changes related to Spring
Batch issue 4130.

Closes gh-32237
2 years ago
Phillip Webb d4ed2bd47a Support import into Eclipse 2022-06
Fix a few issues preventing clean project import into Eclipse 2022-06:

  - `buildSrc` need to limit module imports to prevent clashes
    with those in the gradle API jar.

  - The CLI app needs some classpath changes in order to allow
    compileOnly project dependencies to resolve.

  - `AbstractJpaAutoConfigurationTests` needs some minor refactoring
    in order for generic captures to work with the Eclipse compiler.
2 years ago
Andy Wilkinson 5470a6b349 Call FlywayConfigurationCustomizers after applying all other config
Closes gh-32070
2 years ago
Vedran Pavic 94f42d11e5 Add support for customizing WebJars resource handler path pattern
At present, both Spring MVC and Spring WebFlux auto-configurations
hardcode the path pattern for WebJars resource handlers to
"/webjars/**", which means users are unable to change the path.

This commit introduces "spring.mvc.webjars-path-pattern" and
"spring.webflux.webjars-path-pattern" configuration properties that
allow customization of WebJars resource handler path pattern.

See gh-31769
2 years ago
Stephane Nicoll ec63a981d0 Merge branch '2.7.x'
Closes gh-32248
2 years ago
Stephane Nicoll 2fb257ad22 Merge branch '2.6.x' into 2.7.x
Closes gh-32247
2 years ago
Stephane Nicoll 19c69ff743 Polish "Add support for detecting .yml Hazelcast config files"
See gh-32142
2 years ago
Neil Stevenson 5eaafdee9a Add support for detecting .yml Hazelcast config files
See gh-32142
2 years ago
Stephane Nicoll 9fb0ecdae9 Merge branch '2.7.x'
Closes gh-32246
2 years ago
Stephane Nicoll 960b034875 Polish "Make sure Hazelcast shutdown logs are available"
See gh-32184
2 years ago
Łukasz Dziedziul 24f3b2b1b7 Make sure Hazelcast shutdown logs are available
See gh-32184
2 years ago
Johnny Lim 2273191c03 Polish
See gh-32215
2 years ago
Scott Frederick da4de7d67d Generate the AutoConfiguration.imports file from annotations
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.

Closes gh-31228
2 years ago
Sébastien Deleuze 138c55ee11 Refine ConfigurationPropertiesReflectionHintsProcessor
This commit refines ConfigurationPropertiesReflectionHintsProcessor
Java bean properties handling in order to register reflection hints
only for getters and setters, not for all methods.

It avoids including unconditionally method like SpringApplication#load
which in turn avoids shipping BeanDefinitionLoader and related transitively
used classes in the native image.

The gain is significant: it allows to remove up to 700 classes
(when no XML parser is used elsewhere) and to reduce the memory footprint
by 2M of RSS.

Closes gh-32186
2 years ago
Brian Clozel 4aa1efa2d8 Fix build with latest Spring for GraphQL changes 2 years ago
Phillip Webb c524f8c665 Merge branch '2.7.x' 2 years ago
Phillip Webb 13c0cf7e2a Refine Javadoc to use @AutoConfiguration
See gh-32166
2 years ago
Phillip Webb b2be193908 Merge branch '2.7.x' 2 years ago
Phillip Webb e31c295ee9 Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb adc4e05eff Polish 2 years ago
Phillip Webb a993731ee8 Merge branch '2.7.x'
Closes gh-32168
2 years ago
Phillip Webb 10ded39217 Merge branch '2.6.x' into 2.7.x
Closes gh-32167
2 years ago
Phillip Webb 24c2daa99d Improve javadoc regarding use on @Bean methods
Closes gh-32166
2 years ago
Phillip Webb 6db88e12c8 Polish 'Allow multiple hosts to be set in MongoProperties'
See gh-32125
2 years ago
thegeekyasian e0d40009f3 Allow multiple hosts to be set in MongoProperties
Update `MongoProperties` with an `additional-hosts` property which
can be used to configure MongoDB in a multi-host environment.

See gh-32125
2 years ago
Moritz Halbritter 0cc0b48a67 Add runtime hints for freemarker
Registers reflection hints for the FreeMarkerTemplateAvailabilityProperties
class.

Closes gh-32052
2 years ago