Commit Graph

3563 Commits

Author SHA1 Message Date
Chris Bono 8c70acc3c3 Add PropertyMapper.to(...) API designed for immutable instances
Add a new `to` method on `PropertyMapper` designed to work with
immutable instances. The new method takes an existing instance and
a mapping `BiFunction`.

See gh-31323

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2022-07-19 11:28:17 +01:00
Stephane Nicoll 69050a96d2 Merge branch '2.7.x'
Closes gh-31781
2022-07-18 11:49:31 +02:00
Stephane Nicoll 52d4dd9347 Merge branch '2.6.x' into 2.7.x
Closes gh-31780
2022-07-18 11:49:22 +02:00
Stephane Nicoll 4eb5037828 Update copyright year of changed files
See gh-31571
2022-07-18 11:48:35 +02:00
TheoCaldas 869ed4f71a Delimit output value in failure analysis
See gh-31571
2022-07-18 11:36:39 +02:00
Stephane Nicoll f52d00d9fa Merge branch '2.7.x'
Closes gh-31779
2022-07-18 11:30:45 +02:00
Stephane Nicoll 92a7af4038 Merge branch '2.6.x' into 2.7.x
Closes gh-31777
2022-07-18 11:30:36 +02:00
Johnny Lim f591c75ad7 Disable incompatible tests on macOS AArch64
This commit also updates related test support classes.

See gh-31539
2022-07-18 11:25:52 +02:00
Andy Wilkinson ccbd62fd82 Merge branch '2.7.x'
Closes gh-31733
2022-07-14 15:48:51 +01:00
Andy Wilkinson b6b4b3b5b6 Merge branch '2.6.x' into 2.7.x
Closes gh-31732
2022-07-14 15:39:15 +01:00
Andy Wilkinson 9443713c53 Disable Log4j2's shutdown hook with 2.18 and later
Closes gh-31719
2022-07-14 15:38:19 +01:00
Andy Wilkinson 3405a54f9e Exclude Jetty toolchain dependencies in favor of official API artifacts
Closes gh-31720
2022-07-14 13:55:26 +01:00
Andy Wilkinson 88ee31c422 Upgrade to R2DBC 1.0
With the 1.0 release of the SPI, R2DBC's bom is no longer published.
This commit updates Spring Boot's dependency management to no longer
use the bom. Tests have also been updated to adapt to slight changes
in R2DBC's configuration options and their default values.

Closes gh-31702
2022-07-13 12:09:56 +01:00
Stephane Nicoll 67b5f42769 Name RuntimeHintsRegistrar implementations consistently
Closes gh-31695
2022-07-12 19:50:26 +02:00
Oliver Drotbohm b10c57551c Upgrade to Hibernate 6.1.1.Final
This commit makes the following potentially breaking changes:

- Dependency management for modules that do not exist in Hibernate
  6.1 has been removed.
- Hibernate's modules are now in the org.hibernate.orm group. Users
  not using the starter or using modules that are not in the starter
  will have to update their build configuration accordingly.
- spring.jpa.hibernate.use-new-id-generator-mappings has been removed
  as Hibernate no longer supports switching back to the old ID
  generator mappings.

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

Closes gh-31674
2022-07-12 09:36:34 +01:00
Moritz Halbritter beb40eaaf6 Reduce visibility for ConfigDataLocationRuntimeHintsRegistrar 2022-07-12 09:22:19 +02:00
Andy Wilkinson fa43e1f378 Add support for deriving a DataSourceBuilder from a wrapped DataSource
Closes gh-31605
2022-07-08 17:24:37 +01:00
Moritz Halbritter 1e33b1a9da Polish "Add reflection hints for Jackson's basic serializers" 2022-07-08 09:29:34 +02:00
Moritz Halbritter 2dc0936db6 Add reflection hints for Jackson's basic serializers
Closes gh-31537
2022-07-07 16:09:25 +02:00
Moritz Halbritter 9e3c557992 Merge branch '2.7.x' 2022-07-07 15:21:12 +02:00
Moritz Halbritter d4b1c219ab Move test imports from main to test resources
They shouldn't have been in main resources in the first place, this was
an accident.
2022-07-07 15:15:34 +02:00
Moritz Halbritter 8ce3a1e51b Add resource hints for JavaLoggingSystem
See gh-31531
2022-07-07 14:31:17 +02:00
Moritz Halbritter dc5eee8f48 Polish JavaLoggingSystem 2022-07-07 14:20:13 +02:00
Moritz Halbritter 4921954200 Remove --allow-incomplete-classpath from native-image arguments
This parameter is now the default in GraalVM 22.1

Closes gh-31568
2022-07-07 14:01:18 +02:00
Andy Wilkinson eca9343675 Merge branch '2.7.x' 2022-06-26 08:19:34 +01:00
Andy Wilkinson 2f01739e0d Polish since date on new SslStoreProvider API
See gh-31253
2022-06-26 08:18:21 +01:00
Andy Wilkinson 543d9c6e66 Merge branch '2.7.x' 2022-06-25 13:47:45 +01:00
Andy Wilkinson 71526bf44f Polish
See gh-31253
2022-06-25 13:47:25 +01:00
Andy Wilkinson a28ca4594b Merge branch '2.7.x'
Closes gh-31529
2022-06-24 18:01:31 +01:00
Andy Wilkinson 7abc7df7b8 Allow PEM certificates to be used without a key store password
Closes gh-31253
2022-06-24 18:01:20 +01:00
dreis2211 458f989cf3 Use switch expressions where appropriate
See gh-31527
2022-06-24 16:19:28 +01:00
Andy Wilkinson 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2022-06-24 13:10:10 +01:00
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2022-06-24 13:05:06 +01:00
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2022-06-24 12:57:52 +01:00
Stephane Nicoll fe39598e81 Adapt to latest API change in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/28585
2022-06-23 16:30:34 +02:00
Andy Wilkinson a55560669b Remove YamlJsonParser
Closes gh-31498
2022-06-22 20:20:28 +01:00
Andy Wilkinson b07d5b0bb1 Merge branch '2.7.x'
Closes gh-31500
2022-06-22 19:50:01 +01:00
Andy Wilkinson 268f13dbd7 Merge branch '2.6.x' into 2.7.x
Closes gh-31499
2022-06-22 19:49:38 +01:00
Andy Wilkinson 522ea0a90e Handle malformed JSON more consistently
Closes gh-31301
2022-06-22 18:31:16 +01:00
Andy Wilkinson 965fbf4494 Polish "Use java.util.HexFormat where appropriate"
See gh-31477
2022-06-21 17:03:26 +01:00
dreis2211 f2101684b7 Use pattern matching for instanceof where appropriate
Closes gh-28181
2022-06-20 18:35:32 +01:00
dreis2211 5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2022-06-20 17:55:36 +01:00
dreis2211 3fcb6765b1 Fix checkstyle violation
See gh-31449
2022-06-18 11:06:33 +01:00
Johnny Lim 5d7d0d8047 Use 3.0.0 for Javadoc since tags
See gh-31448
2022-06-17 16:48:58 +02:00
Stephane Nicoll a957efbdc5 Add missing org.yaml.snakeyaml.Yaml reflection hint
Closes gh-31441
2022-06-17 15:50:24 +02:00
Phillip Webb 657fa3e64e Merge branch '2.7.x'
Closes gh-31409
2022-06-16 15:36:29 -07:00
Phillip Webb 7c91ebb1b0 Merge branch '2.6.x' into 2.7.x
Closes gh-31408
2022-06-16 15:36:00 -07:00
Phillip Webb ae6311ddda Prevent Logback from accidentally being used in Log4J2LoggingSystemTests
Update `Log4J2LoggingSystemTests` to exclude Logback and include
'log4j-slf4j-impl'. The `ModifiedClassPathClassLoader` has also been
updated so that it no longer automatically excludes `log4j` artifacts,
instead we now use `@ClassPathExclusions` on the relevant tests.

Fixes gh-19365
2022-06-16 15:35:32 -07:00
Andy Wilkinson 4f3180540c Use Framework's MockSpringFactoriesLoader
Closes gh-31406
2022-06-16 15:40:03 +01:00
Stephane Nicoll d5695c1931 Add resource hints for configuration properties
This commits introduces a RuntimeHintsRegistrar for configuration
properties. By default, it provides the necessary hint to load
application properties and yaml files in default locations.

Closes gh-31311
2022-06-15 10:15:27 +02:00
Stephane Nicoll b536b209ab Refine assertions on exception messages 2022-06-14 18:20:27 +02:00
Stephane Nicoll b0f5fb51fc Adapt to deprecation of NestedServletException 2022-06-14 17:45:31 +02:00
Andy Wilkinson b1ea82c1e2 Merge branch '2.7.x'
Closes gh-31380
2022-06-14 11:17:30 +01:00
Andy Wilkinson 6de4ade0cf Merge branch '2.6.x' into 2.7.x
Closes gh-31379
2022-06-14 11:16:57 +01:00
Andy Wilkinson 5d7cab09b8 Revert BindConverter changes that are now handled by Framework
See gh-28592 and spring-projects/spring-framework#28609

Closes gh-31343
2022-06-14 10:37:35 +01:00
Stephane Nicoll 063e56dbff Polish 2022-06-13 09:44:02 +02:00
Phillip Webb 380776a9b2 Merge branch '2.7.x' 2022-06-10 16:13:50 -07:00
Phillip Webb 7bf82b5349 Merge branch '2.6.x' into 2.7.x 2022-06-10 16:13:35 -07:00
Phillip Webb 63fdd729f5 Refine conversion service type check
Update fix to account for primitive types.

See gh-28592
2022-06-10 16:12:38 -07:00
Phillip Webb 8937924508 Merge branch '2.7.x'
Closes gh-31342
2022-06-10 14:30:28 -07:00
Phillip Webb beb1c15219 Merge branch '2.6.x' into 2.7.x
Closes gh-31341
2022-06-10 14:30:02 -07:00
Phillip Webb 31b0264d94 Ensure conversion service actually converts to the correct type
Update `BindConverter` with a guard to ensure that the resulting object
is the correct type.

Fixes gh-28592
2022-06-10 14:29:25 -07:00
Phillip Webb cb745b4259 Merge branch '2.7.x'
Closes gh-31340
2022-06-10 12:43:38 -07:00
Anthony Vanelverdinghe ed1e7382ab Fix typo in ImportCandidates javadoc
See gh-31277
2022-06-10 12:42:43 -07:00
Phillip Webb c56783064d Support management contexts with AOT
Refactor child management configuration and add AOT generation support.
A new `ChildManagementContextInitializer` class now performs the child
context initialization and also handles AOT processing concerns.

Closes gh-31163
2022-06-08 19:24:46 -07:00
Phillip Webb a729f71cba Polish LogbackRuntimeHintsRegistrar 2022-06-08 19:24:45 -07:00
Stephane Nicoll e30391ca7a Use Application as target for generated code
Closes gh-31274
2022-06-08 14:51:17 +02:00
Stephane Nicoll 8413002bcb Polish
See gh-31247
2022-06-07 20:02:06 +02:00
Andy Wilkinson 869bb91c80 Polish 2022-06-07 17:52:11 +01:00
Stephane Nicoll ac16432fad Add AOT support for immutable ConfigurationProperties bean definitions
This commit introduces a dedicated AotProcessors for immutable
configuration properties beans as their bean definition use an
instance supplier that needs special handling. If such a bean definition
is detected, dedicated code is generated that replicates the behavior
of the instance supplier.

Closes gh-31247
2022-06-07 14:26:35 +02:00
Brian Clozel 3f0c14187a Register runtime hints for @ConfigurationProperties
Prior to this commit, the `@ConfigurationProperties` annotation would
not be registered for reflection hints: this means it could be missing
at runtime in a native image and would not be registered for JDK
proxying - this can fail the synthesized annotation resolution.

This commit ensures that hints are registered for this annotation if
configuration properties are declared in the bean factory.

Fixes gh-31227
2022-06-07 09:50:56 +02:00
Stephane Nicoll c996e4335a Fix singleton handling of ConfigurationProperties hints
Closes gh-31248
2022-06-04 12:29:45 +02:00
Stephane Nicoll 2a405c94a8 Add missing test
Closes gh-31249
2022-06-03 17:41:29 +02:00
Stephane Nicoll fb439b6824 Permit AOT-generated code to run on the JVM as well
This commit updates the codebase so that AOT-generated code can run on
the JVM in an opt-in fashion alongside the existing support of native
images.

When optimizations have been generated, setting the "spring.aot.enabled"
spring property (JVM or spring.properties) allows to opt-in for that
behavior on the JVM.

Closes gh-31244
2022-06-03 10:10:56 +02:00
Phillip Webb 13fba65638 Polish 2022-06-01 09:53:21 -07:00
Phillip Webb 6d80723598 Relocate AotProcessingHook
Relocate `AotProcessingHook` to be an static class of `AotProcessor`.
2022-05-31 15:51:12 -07:00
Andy Wilkinson 4385926df1 Ensure that the main application class can be deduced
Closes gh-31222
2022-05-31 12:06:56 +01:00
Andy Wilkinson 5f54289e97 Allow WebApplicationType to be deduced in a native image
Closes gh-31217
2022-05-31 11:39:42 +01:00
Stephane Nicoll 44a8e91b9e Prevent main method to continue once the AOT context has been optimized
This commit makes sure that processing of the main method upon
completion of SpringApplication#run. Previously, any instructions in
the user's main method were invoked, which is not suitable to build-time
processing.

Closes gh-31219
2022-05-31 12:34:37 +02:00
Andy Wilkinson d044eaf69d Merge branch '2.7.x'
Closes gh-31221
2022-05-31 11:21:52 +01:00
Andy Wilkinson 7f291f8da0 Merge branch '2.6.x' into 2.7.x
Closes gh-31220
2022-05-31 11:14:08 +01:00
Andy Wilkinson 348662b15e Remove unused deduceFromApplicationContext and supporting code
Closes gh-31218
2022-05-31 10:57:22 +01:00
Andy Wilkinson f433d250e1 Merge branch '2.7.x'
Closes gh-31189
2022-05-27 11:14:40 +01:00
Andy Wilkinson d2397bd34e Merge branch '2.6.x' into 2.7.x
Closes gh-31188
2022-05-27 11:14:29 +01:00
Andy Wilkinson 83e8c039b3 Add application/wasm to MIME mappings
Closes gh-30885
2022-05-27 11:14:04 +01:00
Andy Wilkinson df99ad17bd Merge branch '2.7.x'
Closes gh-31184
2022-05-27 10:09:28 +01:00
Andy Wilkinson 194e9f0f79 Merge branch '2.6.x' into 2.7.x
Closes gh-31183
2022-05-27 10:02:08 +01:00
Andy Wilkinson 56c3a5f0ab Polish "Assert that sources does not contain null elements"
See gh-30878
2022-05-27 10:01:06 +01:00
Guirong Hu ebf276c005 Assert that sources does not contain null elements
See gh-30878
2022-05-27 10:00:32 +01:00
Andy Wilkinson 4bb5ba2bd0 Merge branch '2.7.x' 2022-05-26 18:26:52 +01:00
Andy Wilkinson 935d1264e0 Merge branch '2.6.x' into 2.7.x 2022-05-26 18:13:08 +01:00
Andy Wilkinson 3d203d0215 Polish 2022-05-26 17:30:39 +01:00
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
2022-05-26 15:47:35 +01:00
Andy Wilkinson b3a4982f31 Merge branch '2.6.x' into 2.7.x
Closes gh-31174
2022-05-26 14:01:23 +01:00
Andy Wilkinson cbf42dea14 Update deprecation messages to change removal version from 2.8 to 3.0
Closes gh-30903
2022-05-26 13:59:03 +01:00
Phillip Webb f8a41d34aa Merge branch '2.7.x' 2022-05-17 22:22:08 -07:00
Phillip Webb 23eceb0d8a Merge branch '2.6.x' into 2.7.x 2022-05-17 22:21:41 -07:00
Phillip Webb ea41e89c6c Merge branch '2.5.x' into 2.6.x 2022-05-17 22:21:10 -07:00
Phillip Webb 7d2f1bafc0 Update copyright year of changed files 2022-05-17 22:20:05 -07:00
Phillip Webb ea881aadc6 Merge branch '2.7.x' 2022-05-17 22:19:08 -07:00
Phillip Webb 13670e556b Merge branch '2.6.x' into 2.7.x
Closes gh-31095
2022-05-17 22:18:53 -07:00
Phillip Webb 0beccde6ee Merge branch '2.5.x' into 2.6.x
Closes gh-31094
2022-05-17 22:18:38 -07:00
Phillip Webb 7da42d7139 Allow tests to pass when a NAME environment variable exists
Update `ConfigurationPropertiesTests` so that it will pass even if a
local `NAME` environment variable is declared.

Closes gh-31076
2022-05-17 22:16:24 -07:00
Phillip Webb e83ed4fe5e Merge branch '2.7.x' 2022-05-17 22:16:02 -07:00
Phillip Webb fbde59d635 Merge branch '2.6.x' into 2.7.x
Closes gh-31093
2022-05-17 22:14:40 -07:00
Phillip Webb 6bce0c5044 Merge branch '2.5.x' into 2.6.x
Closes gh-31092
2022-05-17 22:14:21 -07:00
Phillip Webb 44c979beb0 Reorder default property sources after @PropertySource processing
Update `SpringApplication` so that the `DefaultPropertiesPropertySource`
is moved to the end after `@PropertySource` annotations have been
processed. This restores functionality that used to be handled by
the `ConfigFileApplicationListener` and was inadvertently dropped
when the `ConfigDataEnvironmentPostProcessor` was developed.

Fixes gh-31068
2022-05-17 22:13:49 -07:00
Phillip Webb 06f8041e4d Merge branch '2.7.x' 2022-05-17 21:50:42 -07:00
Phillip Webb d5d5997be7 Merge branch '2.6.x' into 2.7.x 2022-05-17 21:49:20 -07:00
Phillip Webb 99f5c781a5 Merge branch '2.5.x' into 2.6.x 2022-05-17 21:48:50 -07:00
Phillip Webb 350d27fe50 Polish code to use method references when possible 2022-05-17 21:16:42 -07:00
Andy Wilkinson bcc27c5d22 Deleting existing output before running AOT processing
Closes gh-30981
2022-05-17 15:33:45 +01:00
izeye 74a8fffe9f Polish LogbackRuntimeHintsRegistrarTests
See gh-31074
2022-05-17 13:28:26 +02:00
Andy Wilkinson 6c4fedb4a4 Revert "Logback 1.3 and SLF4J 2.0"
This reverts commit f39a080a0e that was
pushed prematurely.
2022-05-13 16:23:48 +01:00
Andy Wilkinson f39a080a0e Logback 1.3 and SLF4J 2.0 2022-05-13 14:48:20 +01:00
Andy Wilkinson 4cb9d95b49 Use ProcessHandler to get the process ID
Closes gh-28178
2022-05-13 14:35:41 +01:00
Andy Wilkinson 48c948973d Polish 2022-05-12 12:12:22 +01:00
Andy Wilkinson d0e55643b1 Polish
Closes gh-30993
2022-05-12 12:11:51 +01:00
Andy Wilkinson 1fd9c4d82c Polish
Closes gh-30992
2022-05-12 12:10:52 +01:00
izeye 624c41c80e Polish
See gh-30862
2022-05-12 12:07:12 +01:00
Andy Wilkinson c2a3652709 Merge branch '2.7.x' 2022-05-12 11:53:46 +01:00
Andy Wilkinson 7e88daf288 Update messages for APIs deprecated in 2.7
In all likelihood there will not be a 2.9 release so this commit
updates the message for deprecations made in 2.7 to indicate that
removal will not occur until 3.0.

See gh-30903
2022-05-12 11:12:09 +01:00
Andy Wilkinson f6225fe98b Register reflection hints for Logback
Closes gh-30975
2022-05-11 12:34:47 +01:00
Andy Wilkinson 9a239c10b5 Align tests with changes to SpringApplicationHooks 2022-05-11 11:08:26 +01:00
Andy Wilkinson 2744649892 Update started log message as app may not be running on a JVM
Closes gh-30974
2022-05-11 11:08:25 +01:00
Phillip Webb c7590277a9 Polish 2022-05-10 19:03:57 -07:00
Phillip Webb 693941c2c2 Polish SpringFactories ArgumentResolver code
Update `ArgumentResolver` setup to use one statement per line
and throw an exception if `Log` parameter types are present.
2022-05-10 17:43:52 -07:00
Andy Wilkinson cffdee72ca Polish 2022-05-10 16:13:16 +01:00
Andy Wilkinson 566ed68403 Contribute reflection hints for configuration property binding
Closes gh-30916

Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-05-10 15:31:15 +01:00
Andy Wilkinson dbf0bcca63 Avoid reflection when Tomcat's configuring Context's ClassLoader
Closes gh-30904
2022-05-10 15:22:37 +01:00
Andy Wilkinson 87e78691c4 Use AOT-generated initialization when running in a native image
Closes gh-30915
2022-05-10 15:22:16 +01:00
Andy Wilkinson c91b787078 Uses non-AnnotationConfig contexts when using AOT-generated init
Closes gh-30914
2022-05-10 15:19:29 +01:00
Andy Wilkinson 770cb840c3 Use more flexible SpringFactoriesLoader
Closes gh-30235

Co-authored-by: Madhura Bhave <bhavem@vmware.com>
Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-05-09 14:13:04 +01:00
Andy Wilkinson 3980c5af48 Polish "Use Log4jBridgeHandler to route JUL-based logging into Log4j 2"
See gh-30003
2022-05-06 15:05:16 +01:00
Piotr P. Karwasz 728e27d193 Use Log4jBridgeHandler to route JUL-based logging into Log4j 2
Since version 2.15.0 `log4j-jul` contains a `Log4jBridgeHandler`,
that forwards JUL to Log4j 2.x and synchronizes the logger levels of
the two frameworks.

This commmit adds support for the `Log4jBridgeHandler` and sets it as
the bridge handler for the Log4j 2.x stack, replacing the existing
JUL to SLF4J bridge that was used previously.

See gh-30003
2022-05-06 15:05:08 +01:00
Phillip Webb 8cf63a28b8 Update AOT work to latest Framework code 2022-05-05 15:19:33 -07:00
Madhura Bhave 7a0e5a032d Delete unused test configuration files
These files were used by the legacy ConfigFileApplicationListener tests
and are no longer needed
2022-05-05 11:57:37 -07:00
Madhura Bhave 8d6b442dc4 Remove support for spring.profiles
Closes gh-22523
2022-05-05 11:57:37 -07:00
Scott Frederick 2369ce4195 Remove dependency management for AppEngine SDK
Closes gh-30638
2022-05-04 16:31:00 -05:00
Scott Frederick 7dd8dfc197 Handle zero-offset timezone in logging test
See gh-28654
2022-05-03 17:48:09 -05:00
Scott Frederick 7f395941c7 Add timezone offset to default logging date format patterns
Closes gh-28654
2022-05-03 17:09:27 -05:00
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 2022-05-03 15:18:20 +01:00
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
2022-05-03 15:17:13 +01:00
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
2022-05-03 15:14:00 +01:00
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
2022-05-03 14:09:53 +01:00
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
2022-05-03 14:09:37 +01:00
Andy Wilkinson 096420cc4c Generate native image config data in recommended location
Closes gh-30827
2022-04-28 13:38:28 +01:00
Andy Wilkinson 97589d0465 Introduce Hook-based AOT processing
Closes gh-30555

Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-04-27 11:26:01 +01:00
Andy Wilkinson 9cd17f8a14 Introduce hooking of SpringApplication
Closes gh-30538
2022-04-27 10:53:54 +01:00
Andy Wilkinson 3987deccde Merge branch '2.7.x' 2022-04-25 14:11:40 +01:00
Andy Wilkinson 3c5cea47d0 Merge branch '2.6.x' into 2.7.x
Closes gh-30789
2022-04-25 14:11:21 +01:00
Andy Wilkinson 3f23c08268 Merge branch '2.5.x' into 2.6.x
Closes gh-30788
2022-04-25 14:11:08 +01:00
Andy Wilkinson ce788657ce Improve diagnostics for map binding failures
Closes gh-30281
2022-04-25 13:50:09 +01:00
Andy Wilkinson 4e193dc574 Merge branch '2.7.x' 2022-04-25 12:36:44 +01:00
Andy Wilkinson d0c9d5aabc Merge branch '2.6.x' into 2.7.x
Closes gh-30787
2022-04-25 12:36:30 +01:00
Andy Wilkinson 5c3be7c61e Merge branch '2.5.x' into 2.6.x
Closes gh-30786
2022-04-25 12:36:14 +01:00
Andy Wilkinson ffe0ec6d4d Use SearchStrategy in MethodValidationExcludeFilter byAnnotation
Closes gh-30631
2022-04-25 12:35:41 +01:00
Phillip Webb cd4ee99756 Merge branch '2.7.x' 2022-04-20 16:30:15 -07:00
Phillip Webb 504c4a33db Merge branch '2.6.x' into 2.7.x
Closes gh-30763
2022-04-20 16:29:58 -07:00
Phillip Webb c5d650a807 Merge branch '2.5.x' into 2.6.x
Closes gh-30762
2022-04-20 16:29:24 -07:00
Phillip Webb 77edb27a07 Fix package tangle caused by ApplicationContextFactory
Fix package tangle by changing `ApplicationContextFactory.DEFAULT` to
use `spring.factories` to discover implementations rather than needing
direct access to our own `ApplicationContext` classes.

Closes gh-30272
2022-04-20 16:28:46 -07:00
Phillip Webb 7a6ca8ce25 Merge branch '2.7.x' 2022-04-20 15:30:01 -07:00
Phillip Webb dd5696b59b Update copyright year of changed files 2022-04-20 15:26:30 -07:00
Stephane Nicoll a4cccc98c6 Merge branch '2.7.x' 2022-04-19 09:37:08 +02:00
Stephane Nicoll 61915aa4d5 Update copyright year of changed files
See gh-30695
2022-04-19 09:36:38 +02:00
izeye ed412af138 Polish
See gh-30695
2022-04-19 09:34:28 +02:00
Stephane Nicoll 6e846384df Merge branch '2.7.x' 2022-04-19 09:11:31 +02:00
Stephane Nicoll d7b23edf8b Merge branch '2.6.x' into 2.7.x
Closes gh-30739
2022-04-19 09:11:23 +02:00
Stephane Nicoll 91625207b2 Merge branch '2.5.x' into 2.6.x
Closes gh-30738
2022-04-19 09:11:01 +02:00
Stephane Nicoll 1fa4701d6d Polish "Validate overrides against CharsetMapperDefault.properties"
See gh-30692
2022-04-19 09:03:54 +02:00
Guirong Hu 407ae3b04f Validate overrides against CharsetMapperDefault.properties
See gh-30692
2022-04-19 09:03:40 +02:00
Stephane Nicoll 6cbb4a4f33 Merge branch '2.7.x' 2022-04-16 09:07:59 +02:00
Stephane Nicoll 73b98d0cb8 Polish 2022-04-16 09:07:46 +02:00
Stephane Nicoll c654638654 Polish "Add link to @Order annotation"
See gh-30572
2022-04-14 10:39:22 +02:00
prd c72f3d79af Add link to @Order annotation
See gh-30572
2022-04-14 10:36:33 +02:00
Scott Frederick f5f7fc8e9a Merge branch '2.7.x' 2022-04-13 16:29:00 -05:00
Scott Frederick d387b3fa81 Support configuration of web SSL using PEM-encoded certificates
This commit adds the ability to configure SSL in embedded web containers
using PEM-encoded certificate and private key files, as an alternative
to configuring SSL with Java KeyStore files.

Closes gh-29273
2022-04-13 16:28:04 -05:00
Andy Wilkinson c37857c6c6 Merge branch '2.7.x' 2022-04-13 14:20:27 +01:00
Andy Wilkinson 631b876165 Deprecate DatabaseDriver.GAE
Closes gh-29984
2022-04-13 14:19:09 +01:00
Brian Clozel 77b7f2f1ce Switch to Spring Framework SNAPSHOTs
See gh-30624
2022-04-12 17:02:03 +02:00
Andy Wilkinson b871a1e457 Merge branch '2.7.x' 2022-04-12 08:51:47 +01:00
Andy Wilkinson 48f8021d88 Migrate @Local*Port annotations to spring-boot-test
Closes gh-29589
2022-04-12 08:48:43 +01:00
Scott Frederick 0dd9493dc1 Merge branch '2.7.x' 2022-04-07 17:12:14 -05:00
Scott Frederick 90aee8ef2f Polish FailureAnalyzers deprecation message
Fixes gh-30578
2022-04-07 17:10:45 -05:00
Scott Frederick d67dcf16cd Migrate FailureAnalyzers to constructor injection
All `FailureAnalyzer` implementations should use constructor
injection for `BeanFactory` and `Environment` instead of implementing
`BeanFactoryAware` or `EnvironmentAware` interfaces.

Fixes gh-30585
2022-04-07 16:58:59 -05:00
Andy Wilkinson 41213a8c4e Merge branch '2.7.x' 2022-04-07 20:33:30 +01:00
Andy Wilkinson 5a26e936de Merge branch '2.6.x' into 2.7.x
Closes gh-30582
2022-04-07 20:31:46 +01:00
Andy Wilkinson a2c08f9f99 Merge branch '2.5.x' into 2.6.x
Closes gh-30581
2022-04-07 20:31:22 +01:00
Andy Wilkinson 35154a96f3 Polish "Fix NPE in configprops endpoint"
See gh-30068
2022-04-07 19:44:06 +01:00
qxo a1fe05f40b Fix NPE in configprops endpoint
This works around spring-projects/spring-framework#28298. The bug
means that when a @Configuration class is annotated with
@ConfigurationProperties any bean defined by a static @Bean method
is considered to be annotated with @ConfigurationProperties.

See gh-30068
2022-04-07 19:40:29 +01:00
Andy Wilkinson fac2430dff Merge branch 'gh-30358' 2022-04-07 19:17:27 +01:00
Andy Wilkinson dbc59052ba Polish "Add failure analyzer for missing web factory bean"
See gh-30358
2022-04-07 18:55:04 +01:00
Guirong Hu dfafccaba5 Add failure analyzer for missing web factory bean
See gh-30358
2022-04-07 18:50:50 +01:00
Andy Wilkinson 95c8d7f79d Merge branch '2.7.x' 2022-04-07 18:50:13 +01:00
Andy Wilkinson febea4711e Make Reactive and ServletWebServerFactory extend marker interface
Closes gh-30579
2022-04-07 18:20:38 +01:00
Andy Wilkinson e6b485b317 Merge branch '2.7.x' 2022-04-07 16:31:58 +01:00
Andy Wilkinson 8727361221 Polish "Order ExitCodeGenerators and return first non-zero exit code"
See gh-30457
2022-04-07 16:31:19 +01:00
dugenkui 6718b10fa9 Order ExitCodeGenerators and return first non-zero exit code
See gh-30457
2022-04-07 16:30:09 +01:00
Moritz Halbritter 4307edbb1b Merge branch '2.7.x' 2022-04-06 10:28:35 +02:00
Moritz Halbritter 98bbbc910b Merge branch '2.6.x' into 2.7.x
Closes gh-30554
2022-04-06 10:28:24 +02:00
Moritz Halbritter c54b825a82 Merge branch '2.5.x' into 2.6.x
Closes gh-30553
2022-04-06 10:28:11 +02:00
dugenkui03 035a16278e Make ApplicationAvailabilityBean threadsafe
See gh-30489
2022-04-06 10:26:21 +02:00
Moritz Halbritter 43c647e898 Merge branch '2.7.x' 2022-04-05 14:17:14 +02:00
Moritz Halbritter f8c54655f6 Merge branch '2.6.x' into 2.7.x
Closes gh-30542
2022-04-05 14:17:00 +02:00
Moritz Halbritter 53b2c85df0 Merge branch '2.5.x' into 2.6.x
Closes gh-30541
2022-04-05 14:16:38 +02:00
Chris Hut 65d8c76ac3 Add Tomcat locale mapping for Japanese to preserve UTF-8 charset
See gh-30535
2022-04-05 14:15:40 +02:00
Scott Frederick 92936c6ed3 Merge branch '2.7.x' 2022-04-04 15:27:11 -05:00
Scott Frederick 103c2bdd7d Use Tomcat SSLHostConfig API for SSL configuration
Closes gh-30531
2022-04-04 15:22:43 -05:00
Moritz Halbritter 6fa696f13d Merge branch '2.7.x' 2022-04-04 14:23:24 +02:00
Moritz Halbritter bd1424b004 Merge branch '2.6.x' into 2.7.x
Closes gh-30528
2022-04-04 14:22:49 +02:00
Moritz Halbritter bf3c2d713d Merge branch '2.5.x' into 2.6.x
Closes gh-30526
2022-04-04 14:18:45 +02:00
izeye 09d6215b65 Polish documentation
See gh-30498
2022-04-04 14:09:28 +02:00
Andy Wilkinson fbb060e0fe Polish
See 5d8c1d9bd7.
2022-03-29 15:22:01 +01:00
Andy Wilkinson 5d8c1d9bd7 Merge branch '2.7.x' 2022-03-29 14:30:42 +01:00
Andy Wilkinson 2f3ae02385 Merge branch '2.6.x' into 2.7.x
Closes gh-30466
2022-03-29 14:24:42 +01:00
Andy Wilkinson 8f985474a6 Merge branch '2.5.x' into 2.6.x
Closes gh-30465
2022-03-29 14:24:25 +01:00
Andy Wilkinson d574563616 Document @ConstructorBinding and @DefaultValue with records
Closes gh-30460
2022-03-29 14:14:28 +01:00
Stephane Nicoll 6865f1f3d9 Merge branch '2.7.x' 2022-03-28 09:47:13 +02:00
Stephane Nicoll 5466444826 Merge branch '2.6.x' into 2.7.x
Closes gh-30450
2022-03-28 09:46:42 +02:00
Stephane Nicoll 5dc4ff5366 Update copyright year of changed file
See gh-30446
2022-03-28 09:46:21 +02:00
Vikey Chen f9d1c400a7 Remove redundant Javadoc
See gh-30446
2022-03-28 09:45:33 +02:00
Andy Wilkinson eabf6cd1d8 Merge branch '2.7.x' 2022-03-25 15:15:26 +00:00
Andy Wilkinson 685d2d4391 Polish
See gh-30152
2022-03-25 15:15:02 +00:00
Guirong Hu df417bf317 Simplify registration of Jackson mixin types
See gh-30152
2022-03-25 15:15:02 +00:00
Moritz Halbritter e431842668 Merge branch '2.7.x' 2022-03-25 14:56:49 +01:00
Moritz Halbritter 45f393b76b Merge branch '2.6.x' into 2.7.x
Closes gh-30437
2022-03-25 14:56:01 +01:00
Moritz Halbritter c003d5b533 Merge branch '2.5.x' into 2.6.x
Closes gh-30436
2022-03-25 14:55:31 +01:00
Moritz Halbritter 0ff8119a1b Sort entries in additional-spring-configuration metadata alphabetically
Closes gh-30434
2022-03-25 14:54:39 +01:00
Andy Wilkinson 3de024594f Merge branch '2.7.x' 2022-03-25 12:06:16 +00:00
Andy Wilkinson 64888b0deb Merge branch '2.6.x' into 2.7.x
Closes gh-30433
2022-03-25 12:03:24 +00:00
Andy Wilkinson 038428cb1a Merge branch '2.7.x' 2022-03-23 15:29:23 +00:00
Andy Wilkinson b911530c31 Merge branch '2.6.x' into 2.7.x
Closes gh-30393
2022-03-23 15:29:09 +00:00
Andy Wilkinson 9c128f1acc Merge branch '2.5.x' into 2.6.x
Closes gh-30392
2022-03-23 15:28:56 +00:00
Andy Wilkinson 73d9e0e0ed Fix equals when adapt removes trailing characters from element
Closes gh-30317
2022-03-23 14:55:00 +00:00
Stephane Nicoll af15a18e02 Upgrade to Tomcat 10.0.18
Closes gh-30320
2022-03-18 17:06:51 +01:00
Andy Wilkinson dd812a3f76 Upgrade to Groovy 4.0.1
Closes gh-30279
2022-03-18 12:38:41 +00:00
Stephane Nicoll 3d011fc2e6 Upgrade to Tomcat 9.0.60
Closes gh-30313
2022-03-18 09:49:28 +01:00
Andy Wilkinson 625ccc7c11 Merge branch '2.7.x' 2022-03-17 12:38:09 +00:00
Andy Wilkinson 4b318a76fa Merge branch '2.6.x' into 2.7.x
Closes gh-30271
2022-03-17 12:37:41 +00:00
Andy Wilkinson 0facba1f88 Merge branch '2.5.x' into 2.6.x
Closes gh-30270
2022-03-17 12:37:23 +00:00
Andy Wilkinson f342cec5cd Relocate ConnectorStartFailureAnalyzer to remove package tangle
Closes gh-30268
2022-03-17 11:48:49 +00:00
Stephane Nicoll 626cfff940 Merge branch '2.6.x' into 2.7.x 2022-03-16 18:17:27 +01:00
Stephane Nicoll 8e7f7d3c76 Merge branch '2.5.x' into 2.6.x 2022-03-16 18:17:17 +01:00
Stephane Nicoll b97a3ae07a Revert unnecessary suppress warnings
See https://github.com/spring-projects/spring-framework/issues/28079
2022-03-16 18:10:58 +01:00
Stephane Nicoll 9ccbfe52f8 Upgrade to Tomcat 9.0.60
Closes gh-30249
2022-03-16 14:45:30 +01:00
Stephane Nicoll 59f4004fa6 Upgrade to Tomcat 9.0.60
Closes gh-30230
2022-03-16 08:43:17 +01:00
Stephane Nicoll 6baa248228 Start building against Spring Framework 5.3.17 snapshots
See gh-30188
2022-03-12 12:01:44 +01:00
Stephane Nicoll 71e6a836a6 Start building against Spring Framework 5.3.17 snapshots
See gh-30177
2022-03-12 11:50:03 +01:00
Stephane Nicoll 2620710480 Start building against Spring Framework 5.3.17 snapshots
See gh-30170
2022-03-11 21:22:48 +01:00
Andy Wilkinson abcc246a38 Polish 2022-03-09 15:22:24 +00:00
Andy Wilkinson e9d2ec507e Merge branch '2.7.x' 2022-03-09 15:17:25 +00:00
Andy Wilkinson f5ca568014 Remove versions less than 17 from JavaVersion enum
Closes gh-29503
2022-03-09 15:16:59 +00:00
Andy Wilkinson a031c0c659 Merge branch '2.7.x' 2022-03-09 14:28:44 +00:00
Andy Wilkinson 881f2788ae Merge branch '2.6.x' into 2.7.x
Closes gh-30133
2022-03-09 14:28:31 +00:00
Andy Wilkinson b1be6ac271 Merge branch '2.5.x' into 2.6.x
Closes gh-30132
2022-03-09 14:28:01 +00:00
Andy Wilkinson 314acd3407 Add EIGHTEEN to JavaVersion
Closes gh-29524
2022-03-09 14:26:19 +00:00
Andy Wilkinson 20d21d4e58 Set up CI with JDK 18
Closes gh-30104
2022-03-09 12:28:34 +00:00
Stephane Nicoll cc3021d2df Start building against Spring Framework 6.0.0-M3 snapshots
See gh-29957
2022-03-08 12:49:37 +01:00
Stephane Nicoll 6f8ce3deb5 Avoid use of instance supplier for core infrastructure bean
Closes gh-30021
2022-03-07 21:09:41 +01:00
Moritz Halbritter a1b1377733 Merge branch '2.7.x' 2022-03-07 13:23:06 +01:00
Moritz Halbritter 50d766020c Merge branch '2.6.x' into 2.7.x
Closes gh-30084
2022-03-07 13:22:53 +01:00
Moritz Halbritter 564555347f Merge branch '2.5.x' into 2.6.x
Closes gh-30083
2022-03-07 13:22:34 +01:00
Moritz Halbritter be38311c5d Disable incompatible tests on Linux AArch64
- Adds a new @DisableOnOs annotation, which is inspired from JUnit5s
  @DisableOnOs annotation. This new annotation supports the architecture
  and is repeatable

Closes gh-30082
2022-03-07 13:22:17 +01:00
Andy Wilkinson 5ee3fdab77 Polish "Allow @DefaultValue to be used on record components"
See gh-29010
2022-03-04 14:52:20 +00:00
Pavel Anisimov 976ed90cd7 Allow @DefaultValue to be used on record components
See gh-29010
2022-03-04 12:12:08 +00:00
Andy Wilkinson bfe9dede5b Merge branch '2.7.x' 2022-03-02 20:30:30 +00:00
Andy Wilkinson 936998647e Work around Gradle changing line endings during property expansion
There's a known issue [1] where property expansion changes the input
files line endings to the operating system's default. This causes
problems for us on Windows as the line endings become \r\n which
breaks our formatting checks.

This commit tunes the checkFormatMain task to exclude the generated
source files from checking. In their place, the original templates
are added. This ensures that the inputs are correctly formatted and,
therefore, that the output should be too (other than the line endings
on Windows).

Closes gh-30039

[1] https://github.com/gradle/gradle/issues/1151
2022-03-02 20:26:15 +00:00
Stephane Nicoll 525d5fd6e5 Merge branch '2.6.x' into 2.7.x
Closes gh-29994
2022-02-24 15:12:36 +01:00
Stephane Nicoll 0941cfd5fe Merge branch '2.5.x' into 2.6.x
Closes gh-29993
2022-02-24 15:12:26 +01:00
Stephane Nicoll b60b5feefe Add explicit dependency on inject-api
This commit clarifies the build as a test needs inject-api and it works
only by side effect as another library has repackaged this API.

Closes gh-29990
2022-02-24 15:12:09 +01:00
Phillip Webb 5454e2e26a Merge branch '2.7.x' 2022-02-23 23:02:59 -08:00
Phillip Webb 9f00c3acf5 Polish 2022-02-23 21:44:43 -08:00
Phillip Webb adfaa8f778 Merge branch '2.6.x' into 2.7.x 2022-02-23 21:44:37 -08:00
Phillip Webb 9411fc264d Merge branch '2.5.x' into 2.6.x 2022-02-23 21:44:08 -08:00
Phillip Webb 57009d5623 Polish 2022-02-23 21:43:42 -08:00
Madhura Bhave a7c7a8ef2f Merge branch '2.7.x' into main 2022-02-23 15:30:51 -08:00
Madhura Bhave 729c6993e1 Merge branch '2.6.x' into 2.7.x
Closes gh-29981
2022-02-23 15:29:36 -08:00
Madhura Bhave acd1ba0eca Merge branch '2.5.x' into 2.6.x
Closes gh-29980
2022-02-23 15:28:17 -08:00
Madhura Bhave 67b13ee4c7 Document that placeholders in @DefaultValue annotations are not resolved
Closes gh-23164
2022-02-23 15:27:43 -08:00
Scott Frederick b64a6e6229 Merge branch '2.7.x' into main 2022-02-22 14:42:52 -06:00
Scott Frederick c1fec6967e Support constructor injection for FailureAnalyzers
This commit adds support for instantiating FailureAnalyzer
implementations with BeanFactory and/or an Environment constructor
arguments and deprecates support for setter injection of these values
using BeanFactoryAware and EnvironmentAware.

Closes gh-29811
2022-02-22 14:24:59 -06:00
Andy Wilkinson 132bf686f8 Merge branch '2.7.x' 2022-02-22 20:13:28 +00:00
Andy Wilkinson 2d9177dd9d Merge branch '2.6.x' into 2.7.x
Closes gh-29955
2022-02-22 20:11:47 +00:00
Andy Wilkinson 3614c8d1f8 Merge branch '2.5.x' into 2.6.x
Closes gh-29954
2022-02-22 20:08:31 +00:00
Andy Wilkinson 1e8d29f7aa Configure Kotlin compilation JVM target by convention
Closes gh-29952
2022-02-22 18:11:51 +00:00
Andy Wilkinson 1940f7a5d9 Merge branch '2.7.x' 2022-02-21 14:04:54 +00:00
Andy Wilkinson 6493c7c561 Merge branch '2.6.x' into 2.7.x
Closes gh-29922
2022-02-21 14:01:58 +00:00
Andy Wilkinson fcd52c02a7 Merge branch '2.5.x' into 2.6.x
Closes gh-29921
2022-02-21 14:01:47 +00:00
Andy Wilkinson 55f68989d8 Remove redundant action to make plugins dat file reproducible
Closes gh-29917
2022-02-21 14:01:04 +00:00
Moritz Halbritter d42f675959 Merge branch '2.7.x' 2022-02-21 10:36:05 +01:00
Moritz Halbritter d7b229d3c7 Rename AutoConfigurationLoader to ImportCandidates
Move the class to a more suitable package, and load the files from
META-INF/spring/<fqn>.imports

See gh-29872
2022-02-21 10:34:38 +01:00
Stephane Nicoll d59b89cd82 Merge branch '2.7.x' 2022-02-21 09:25:57 +01:00
Stephane Nicoll c5307a8bfe Merge branch '2.6.x' into 2.7.x
Closes gh-29916
2022-02-21 09:25:21 +01:00
Stephane Nicoll c52f6f09ad Merge branch '2.5.x' into 2.6.x
Closes gh-29915
2022-02-21 09:25:08 +01:00
Stephane Nicoll 92cd51e6b0 Polish "Clarify log message with a profile containing a comma"
See gh-29896
2022-02-21 09:00:27 +01:00
gcoppex c8466a14e9 Clarify log message with a profile containing a comma
See gh-29896
2022-02-21 08:28:10 +01:00
Andy Wilkinson 8209980ca0 Merge branch '2.7.x' 2022-02-18 19:02:54 +00:00
Andy Wilkinson 027093d852 Use a templated source file for SpringBootVersion
Closes gh-29670
2022-02-18 18:08:09 +00:00
Brian Clozel 78dde15da4 Merge branch '2.7.x' 2022-02-18 13:56:11 +01:00
Brian Clozel 940558c2a6 Merge branch '2.6.x' into 2.7.x
Closes gh-29906
2022-02-18 13:55:53 +01:00
Brian Clozel 16c47595e7 Merge branch '2.5.x' into 2.6.x
Closes gh-29905
2022-02-18 13:55:27 +01:00
Brian Clozel 00114f9d61 Deregister failed contexts from SpringApplicationShutdownHook
Prior to this change, SpringApplication would register contexts to
SpringApplicationShutdownHook and only deregister them when they're
properly closed. A failed refresh attempt does not deregister the
context from the shutdown hook.
When a test suite runs lots of tests failing because of failed contexts,
this can build up and consume lots of resources.

This commit fixes this leak and deregisters failed contexts.

Fixes gh-29874
2022-02-18 13:54:14 +01:00
Andy Wilkinson 2145396841 Merge branch '2.7.x' 2022-02-18 10:18:17 +00:00
Andy Wilkinson fc8f55fbf4 Upgrade to OkHTTP 4.9.3
Closes gh-18506
2022-02-18 10:05:54 +00:00
Phillip Webb ff4b92a3ba Update copyright year of changed files 2022-02-16 20:44:54 -08:00
Phillip Webb 37263ea7dd Merge branch '2.7.x' 2022-02-16 20:43:21 -08:00
Phillip Webb c0ffb35668 Update copyright year of changed files 2022-02-16 20:43:10 -08:00
Madhura Bhave bf1ed5f2f8 Update copyright header on changed files 2022-02-16 14:24:22 -08:00
Madhura Bhave 44b88cc88c Allow @ConstructorBinding to be optional
This commit makes @ConstructorBinding optional for a type
that has a single parameterized constructor. An @Autowired annotation
on any of the constructors indicates that the type should not be constructor
bound.

Since @ConstructorBinding is now deduced for a single parameterized constructor,
the annotation is no longer needed at the type level.

Closes gh-23216
2022-02-16 13:47:26 -08:00
Andy Wilkinson 2305b583f1 Merge branch '2.7.x' 2022-02-16 11:56:03 +00:00
Andy Wilkinson 18e49b0269 Fix H2 R2DBC URL on Windows
Closes gh-29875
2022-02-16 11:55:11 +00:00
Stephane Nicoll 7e1f17e5a6 Merge branch '2.7.x' 2022-02-15 16:21:08 +01:00
Stephane Nicoll 197203968a Merge branch '2.6.x' into 2.7.x
Closes gh-29823
2022-02-15 16:20:45 +01:00
Stephane Nicoll f59e442978 Merge branch '2.5.x' into 2.6.x
Closes gh-29822
2022-02-15 16:19:59 +01:00
Stephane Nicoll f3af035941 Remove usage of SocketUtils in tests
Closes gh-29821
2022-02-15 16:17:21 +01:00
Stephane Nicoll 527fca8bdb Revert change in toString
This commit reverts the change in test as it only applies to the
snapshot of Spring Framework.
2022-02-13 18:44:04 +01:00
Stephane Nicoll 686591bf24 Merge branch '2.7.x' 2022-02-13 18:16:03 +01:00
Stephane Nicoll 00279b6928 Merge branch '2.6.x' into 2.7.x 2022-02-13 18:15:57 +01:00
Stephane Nicoll bd6cb5c915 Merge branch '2.5.x' into 2.6.x 2022-02-13 18:15:48 +01:00
Stephane Nicoll 1f01345057 Fix assertion due to toString change in Spring Framework 2022-02-13 18:01:00 +01:00
Scott Frederick 79e5d3a2d0 Merge branch '2.7.x' into main 2022-02-11 14:45:00 -06:00
Scott Frederick f80490bafb Precompute Spring Boot version at build time
Closes gh-29670
2022-02-11 14:44:28 -06:00
Andy Wilkinson a41316d386 Merge branch '2.7.x' 2022-02-11 14:15:13 +00:00
Andy Wilkinson 197112e1bc Merge branch '2.6.x' into 2.7.x
Closes gh-29751
2022-02-11 14:14:59 +00:00
Andy Wilkinson 4b33ea733e Merge branch '2.5.x' into 2.6.x
Closes gh-29750
2022-02-11 14:14:43 +00:00
Andy Wilkinson 387795d4db Remove trailing space from media type for ots mapping
The regular expression in the new test is intended to match the
documented [1] ABNF for a media type:

    type-name = reg-name
    subtype-name = reg-name

    reg-name = 1*127reg-name-chars
    reg-name-chars = ALPHA / DIGIT / "!" /
                     "#" / "$" / "&" / "." /
                     "+" / "-" / "^" / "_"

Closes gh-29746

[1] https://datatracker.ietf.org/doc/html/rfc4288#section-4.2
2022-02-11 14:09:53 +00:00
Stephane Nicoll 3b4832445b Merge branch '2.7.x' 2022-02-05 14:02:00 +01:00
Stephane Nicoll 098a57affb Upgrade to R2DBC Borca-RELEASE
See gh-28524
2022-02-05 13:37:20 +01:00
Stephane Nicoll b22e3d51dc Merge branch '2.7.x' 2022-02-04 10:10:29 +01:00
Henning Poettker e3d0f1feee Adjust IDENTITY in DDLs for H2 2.x compatibility
See gh-29200
2022-02-04 09:57:59 +01:00
Phillip Webb a282f912e6 Organize imports
Organize imports according to updated checkstyle rules.
2022-02-02 19:16:13 -08:00
Phillip Webb 501d174db0 Merge branch '2.7.x' 2022-02-02 10:38:46 -08:00
Phillip Webb ce08b519b1 Merge branch '2.6.x' into 2.7.x 2022-02-02 10:37:55 -08:00
Phillip Webb 50e0e28155 Merge branch '2.5.x' into 2.6.x 2022-02-02 10:37:32 -08:00
Phillip Webb 2b40ce09d8 Update copyright year of changed files 2022-02-02 10:35:40 -08:00
Andy Wilkinson f88b502f7e Remove support for image banners
Closes gh-28883
2022-02-02 14:40:24 +00:00
Stephane Nicoll 41fb9cf562 Merge branch '2.7.x' 2022-02-01 11:15:49 +01:00
Stephane Nicoll f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
2022-02-01 11:07:31 +01:00
Stephane Nicoll 136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
2022-02-01 10:59:08 +01:00
Stephane Nicoll 7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
2022-02-01 10:03:18 +01:00
Yanming Zhou b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
2022-02-01 09:37:15 +01:00
Stephane Nicoll 42df01f193 Merge branch '2.7.x' 2022-01-29 15:44:55 +01:00
Stephane Nicoll 0c0ec64ed4 Polish "Use existing constant rather than "spring.beaninfo.ignore""
See gh-29592
2022-01-29 15:39:43 +01:00
minkyu-jo 1a558292a8 Use existing constant rather than "spring.beaninfo.ignore"
See gh-29592
2022-01-29 15:39:28 +01:00
Phillip Webb c820ad01a1 Fix checkstyle error 2022-01-25 14:52:30 -08:00
Phillip Webb e19fa140e7 Fix merge conflict mistake 2022-01-25 13:34:10 -08:00
Phillip Webb 8ab87ace24 Merge branch '2.7.x' 2022-01-25 13:18:33 -08:00
Phillip Webb bb024211f6 Merge branch '2.6.x' into 2.7.x
Closes gh-29565
2022-01-25 13:17:22 -08:00
Phillip Webb df9cf6b726 Make ErrorPageSecurityFilter compatible with Servlet 3.1
Ensure that all default methods are implemented so that the
filter is compatible with Servlet 3.1 environments.

Fixes gh-29558
2022-01-25 13:15:59 -08:00
Brian Clozel 03da915f56 Merge branch '2.7.x' 2022-01-25 09:22:49 +01:00
Brian Clozel 24c5f4b7ea Merge branch '2.6.x' into 2.7.x
Closes gh-29557
2022-01-25 09:22:19 +01:00
Brian Clozel 1204c1aa32 Merge branch '2.5.x' into 2.6.x
Closes gh-29556
2022-01-25 09:21:49 +01:00
Lachlan Roberts f1bbce1aac Do not modify AliasChecks list from Jetty WebAppContext
Closes gh-29555
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-01-25 08:58:42 +01:00
Andy Wilkinson 7b35fabf07 Upgrade to Derby 10.15.2.0
Closes gh-29509
2022-01-20 17:37:01 +00:00
Andy Wilkinson 35b5b5672d Merge branch '2.7.x' 2022-01-20 12:37:16 +00:00
Andy Wilkinson 2c049f2b40 Merge branch '2.6.x' into 2.7.x
Closes gh-29501
2022-01-20 12:36:49 +00:00
Madhura Bhave 3460c24a16 Ignore context path when calling privilege evaluator
Previously, the error page security filter passed the request's URI
to the privilege evaluator. This was incorrect in applications with
a custom context path as the privilege evaluator must be passed a
path that does not include the context path and the request URI
includes the context path.

This commit updates the filter to use UrlPathHelper's
pathWithinApplication instead. The path within the application does
not include the context path. In addition, pathWithinAppliation
also correctly handles applications configured with a servlet
mapping other than the default of /.

Closes gh-29299

Co-Authored-By: Andy Wilkinson <wilkinsona@vmware.com>
2022-01-20 12:36:18 +00:00
Andy Wilkinson de3b9a4910 Remove code deprecated for removal in 2.x
Closes gh-29482
2022-01-19 17:25:14 +00:00
Stephane Nicoll 0d2e3bc4c9 Merge branch '2.7.x' 2022-01-19 12:24:47 +01:00
Stephane Nicoll f510805f00 Merge branch '2.6.x' into 2.7.x
Closes gh-29479
2022-01-19 12:24:32 +01:00
Stephane Nicoll d92939e773 Merge branch '2.5.x' into 2.6.x
Closes gh-29478
2022-01-19 12:24:15 +01:00
Stephane Nicoll 4eb458f7d8 Prevent early resolution of factory beans
This commit updates DatabaseInitializationDependencyConfigurer so that
it does not inject the Environment anymore. Doing so in such a low-level
callback can lead to early resolution of factory beans. Rather, this
commit uses the EnvironmentAware callback that short-circuit dependency
resolution.

Closes gh-29475
2022-01-19 11:49:56 +01:00
Stephane Nicoll 4d03f89a55 Harmonize dependency upgrades with Spring Boot 2.7.0-M1
Closes gh-29476
2022-01-19 10:39:18 +01:00
Phillip Webb e4b398769f Merge branch '2.7.x' 2022-01-18 16:16:59 -08:00
Phillip Webb a77411ebd8 Merge branch '2.6.x' into 2.7.x
Closes gh-29460
2022-01-18 16:16:18 -08:00
Phillip Webb 3b4409305a Merge branch '2.5.x' into 2.6.x
Closes gh-29459
2022-01-18 16:15:20 -08:00
Phillip Webb 3d46b06e8d Fix config data placeholder resolution active document logic
Update `ConfigDataEnvironmentContributor.isActive` so that unbound
imports are no longer considered active. Prior to this commit, any
`ConfigDataEnvironmentContributor` that had `null` properties was
considered active. This is incorrect for `Kind.UNBOUND_IMPORT`
contributors since we haven't yet bound the `spring.config.*`
properties.

The `ConfigDataEnvironmentContributorPlaceholdersResolver` has been
updated to handle the refined logic. A placeholder can now be resolved
from the current contributor, or from an unbound contributor by binding
it on the fly.

Fixes gh-29386
2022-01-18 16:14:52 -08:00
Andy Wilkinson d04ece044a Merge branch '2.7.x' 2022-01-18 20:35:20 +00:00
Andy Wilkinson 654d142c95 Merge branch '2.6.x' into 2.7.x
Closes gh-29455
2022-01-18 20:35:06 +00:00
Andy Wilkinson 4ee260aa8c Merge branch '2.5.x' into 2.6.x
Closes gh-29454
2022-01-18 20:34:51 +00:00
Andy Wilkinson 1c6471ef60 Register AprLifecycleListener with Server not Context
Fixes gh-28814
2022-01-18 20:34:08 +00:00
Phillip Webb 3146465d25 Merge branch '2.7.x' 2022-01-14 22:56:52 -08:00
Phillip Webb a2e473ec31 Merge branch '2.6.x' into 2.7.x 2022-01-14 22:56:43 -08:00
Phillip Webb 6afd9b665d Merge branch '2.5.x' into 2.6.x 2022-01-14 22:56:30 -08:00
Phillip Webb bccc9c1861 Refine ConfigurationPropertySources attach logic
Refine `ConfigurationPropertySources.attach` logic to endure that
the attached or reattached source is always first.

See gh-29409
2022-01-14 22:55:26 -08:00
Phillip Webb d0e7ab3b70 Merge branch '2.7.x'
Closes gh-29412
2022-01-14 20:33:42 -08:00
Phillip Webb e4e16f81ec Merge branch '2.6.x' into 2.7.x
Closes gh-29411
2022-01-14 20:33:19 -08:00
Phillip Webb 28cf6f5c59 Merge branch '2.5.x' into 2.6.x
Closes gh-29410
2022-01-14 20:33:05 -08:00
Phillip Webb 79d9549805 Fix ConfigurationPropertySources attach logic
Fix `ConfigurationPropertySources.attach` so that repeated calls to the
same source no longer create a new instance.

Fixes gh-29409
2022-01-14 20:32:34 -08:00
Phillip Webb 0367e13d90 Merge branch '2.7.x' 2022-01-14 17:38:49 -08:00
Phillip Webb 9c481952d8 Remove deprecated convertEnvironment method 2022-01-14 17:38:23 -08:00
Phillip Webb 13f257a706 Merge branch '2.7.x' 2022-01-12 15:44:47 -08:00
Phillip Webb 8147eb6d6d Merge branch '2.6.x' into 2.7.x 2022-01-12 15:43:44 -08:00
Phillip Webb e7fe371927 Merge branch '2.5.x' into 2.6.x 2022-01-12 15:43:11 -08:00
Phillip Webb 27ad0804f5 Update copyright year of changed files 2022-01-12 15:42:25 -08:00
Phillip Webb 3d6840e715 Merge branch '2.7.x'
Closes gh-29376
2022-01-12 15:32:51 -08:00
Phillip Webb fee45e056a Merge branch '2.6.x' into 2.7.x
Closes gh-29375
2022-01-12 15:32:34 -08:00
Phillip Webb 91d2b1b988 Merge branch '2.5.x' into 2.6.x
Closes gh-29374
2022-01-12 15:32:00 -08:00
Phillip Webb eb6b48fff0 Use side-effect free environment with tests rather than converting
Refine the logic introduced in 64270eca to use a side-effect free
Environment implementation rather than converting the Environment early.

Early conversion can cause condition evaluation issues if
`src/test/resources/application.properties` files are bound to the
`SpringApplication`. Specifically the `spring.main.web-application-type`
property can change the `Environment` type which must happen before
conditions are evaluated.

Fixes gh-29169
2022-01-12 14:21:52 -08:00
Stephane Nicoll 0af6761993 Merge branch '2.7.x' 2022-01-10 10:29:58 +01:00
Stephane Nicoll 270e162479 Stop aliasing MariaDB to MySQL
Closes gh-28728
2022-01-10 10:29:49 +01:00
Stephane Nicoll 11e604af41 Merge branch '2.7.x' 2022-01-07 14:43:19 +01:00
Stephane Nicoll 9821cdfd8b Remove deprecated code
Closes gh-29290
2022-01-07 14:42:14 +01:00
Andy Wilkinson c2e86096cd Reinstate support for jOOQ as it now supports Jakarta EE 9
Closes gh-29271
2022-01-05 15:46:54 +00:00
Phillip Webb 06398eabed Merge branch '2.7.x' 2022-01-04 12:26:24 -08:00
Phillip Webb b25e92f3e2 Merge branch '2.6.x' into 2.7.x 2022-01-04 12:24:34 -08:00
Phillip Webb 99a683dffb Merge branch '2.5.x' into 2.6.x 2022-01-04 12:24:02 -08:00
Phillip Webb 9a6f35cd8e Update copyright year of changed files 2022-01-04 12:23:53 -08:00
Phillip Webb 760dcffd8b Merge branch '2.7.x' 2022-01-04 12:22:54 -08:00
Phillip Webb f09bde2b60 Merge branch '2.6.x' into 2.7.x 2022-01-04 12:20:31 -08:00
Phillip Webb 81266ca806 Merge branch '2.5.x' into 2.6.x 2022-01-04 12:17:35 -08:00
Phillip Webb 0fcdab3936 Update copyright year of changed files 2022-01-04 12:17:10 -08:00
Stephane Nicoll b214841e2c Merge branch '2.7.x' 2022-01-04 16:14:28 +01:00
Stephane Nicoll 605ec2fb0e Polish "Add vendor version to JavaInfo"
See gh-29090
2022-01-04 16:10:02 +01:00
Jonatan Ivanov c6e6d109ad Add vendor version to JavaInfo
See gh-29090
2022-01-04 16:09:45 +01:00
Stephane Nicoll abb622023d Merge branch '2.7.x' 2022-01-04 14:23:48 +01:00
Stephane Nicoll d24720d958 Polish "Expose OS information as an InfoContributor"
See gh-28907
2022-01-04 14:08:24 +01:00
Jonatan Ivanov c700f686c6 Expose OS information as an InfoContributor
See gh-28907
2022-01-04 13:58:39 +01:00
Scott Frederick 938d58f32c Merge branch '2.7.x' 2021-12-20 14:00:47 -06:00
Scott Frederick 29ad84714a Merge branch '2.6.x' into 2.7.x
Closes gh-29144
2021-12-20 14:00:24 -06:00
Scott Frederick b3a304fbe7 Merge branch '2.5.x' into 2.6.x
Closes gh-29143
2021-12-20 14:00:06 -06:00
Scott Frederick e4b0575a12 Do not consider bridge methods when binding java bean properties
Fixes gh-28917
2021-12-20 13:57:36 -06:00
Stephane Nicoll d271e76b48 Merge branch '2.7.x' 2021-12-20 18:08:10 +01:00
Stephane Nicoll 83d732823d Merge branch '2.6.x' into 2.7.x
Closes gh-29136
2021-12-20 18:08:00 +01:00
Stephane Nicoll 653fdbd0a4 Configure comment prefixes
Closes gh-29095
2021-12-20 17:47:50 +01:00
Madhura Bhave 48a6470ddb Merge branch '2.7.x' into main 2021-12-17 17:51:48 -08:00
Madhura Bhave 764531c326 Merge branch '2.6.x' into 2.7.x
Closes gh-29108
2021-12-17 17:51:29 -08:00
Madhura Bhave d9d161cd6b Allow previously authorized users to access the error page
Prior to this commit, the `ErrorPageSecurityFilter` verified if
access to the error page was allowed by invoking the
`WebInvocationPrivilegeEvaluator` with the Authentication from the
`SecurityContextHolder`.
This meant that access to the error page was denied for a `null` Authentication
 or `AnonymousAuthenticationToken` in cases where the error page required
authenticated access. This prevented authorized users from accessing the
error page in case the Authentication wasn't retrievable for the error dispatch,
which is the case for `@Transient` authentication or stateless session policy.

This commit updates the `ErrorPageSecurityFilter` to check access to the error page
only if the error is an authn or authz error in cases where an authentication object
is not found in the SecurityContextHolder. This makes the error response consistent
when bad credentials or no credentials are used while also allowing access to previously
authorized users.

Fixes gh-28953
2021-12-17 16:58:58 -08:00
Stephane Nicoll c975fbc286 Merge branch '2.7.x' 2021-12-17 16:38:15 +01:00
Stephane Nicoll 64dd1f86c0 Merge branch '2.6.x' into 2.7.x
Closes gh-29104
2021-12-17 16:38:07 +01:00
Stephane Nicoll c077ebecf7 Merge branch '2.5.x' into 2.6.x
Closes gh-29103
2021-12-17 16:37:53 +01:00
Andy Wilkinson 2fec06ac7e Find annotation without initializing factory beans
Closes gh-28977
2021-12-17 16:08:30 +01:00
Phillip Webb 1015df088d Merge branch '2.6.x' into 2.7.x 2021-12-16 13:55:55 -08:00
Phillip Webb 587d6fa309 Polish 2021-12-16 13:55:42 -08:00
Phillip Webb 003fb229fd Merge branch '2.7.x' 2021-12-16 13:07:22 -08:00
Phillip Webb f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
Scott Frederick b4cdd37e63 Merge branch '2.7.x' 2021-12-16 12:24:25 -06:00
Scott Frederick 4cad4851da Merge branch '2.6.x' into 2.7.x
Closes gh-29088
2021-12-16 12:24:12 -06:00
Scott Frederick 92b096abbf Fix message interpolation when code is used as default message
When `setUseCodeAsDefaultMessage(true)` was set on a message source,
attempting to interpolate the default message returned from the message
source would result in the code being unusable by upstream message
resolvers.

Fixes gh-28930
2021-12-16 12:20:37 -06:00
Stephane Nicoll cd69781457 Merge branch '2.7.x' 2021-12-14 15:32:22 +01:00
Stephane Nicoll 9ca1cffab7 Merge branch '2.6.x' into 2.7.x
Closes gh-29016
2021-12-14 15:32:13 +01:00
Stephane Nicoll ba60e3d358 Merge branch '2.5.x'
Closes gh-29002
2021-12-14 15:31:45 +01:00
Stephane Nicoll c83ab9bbc5 Merge branch '2.7.x' 2021-12-09 15:51:29 +01:00
Stephane Nicoll 89635eafa3 Update copyright year of changed files
See gh-28862
2021-12-09 15:48:47 +01:00
Stefano Cordio a5c56043b9 Simplify AssertJ usage
See gh-28862
2021-12-09 15:39:02 +01:00
Artur Signell ad754abba3 Make ErrorPageSecurityFilter compatible with Servlet 3.1
See gh-28902
2021-12-09 12:36:35 +00:00
Scott Frederick 33953823fc Replace usage of deprecated Spring Framework methods
See gh-28642
2021-12-06 16:12:34 -06:00
Andy Wilkinson fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
2021-11-30 20:32:16 +00:00
Andy Wilkinson 4a8904aaa9 Drop support for jOOQ until its dependencies are Jakarta EE 9 compatible
Closes gh-28821
2021-11-30 15:55:48 +00:00
Andy Wilkinson 8bf2ffd93c Drop support for Jersey until jersey-spring6 is available
Closes gh-28808
2021-11-30 15:39:39 +00:00
Andy Wilkinson ef02cc9bff Remove support for Atomikos
Closes gh-28589
2021-11-30 15:38:01 +00:00
Andy Wilkinson 900085628a Raise the minimum supported version of Java to 17
Closes gh-28101
2021-11-30 15:37:40 +00:00
Andy Wilkinson 99f33ede14 Remove SecurityManager support
Closes gh-28213
2021-11-30 15:37:15 +00:00
Stephane Nicoll 46a8673bf8 Merge branch '2.5.x'
Closes gh-28839
2021-11-29 09:44:31 +01:00
Stephane Nicoll 1876b4bcd7 Update copyright year of changed files
See gh-28809
2021-11-29 09:43:44 +01:00
Leo Li f3c93d30a8 Fix reference to matching-strategy property
See gh-28809
2021-11-29 09:39:40 +01:00
izeye c7921468fc Polish
See gh-28836
2021-11-29 09:38:07 +01:00
Phillip Webb beb68671bb Update copyright year of changed files 2021-11-24 10:23:32 -08:00
Madhura Bhave e6b5be900a Make ErrorPageSecurityFilter Servlet 3.1 compatible
Restore Servlet 3.1 compatibly by implementing `Filter` rather
than extending the 4.0 `HttpFilter` type.

Fixes gh-28790
2021-11-24 09:59:27 -08:00
Madhura Bhave f621937d3b Skip error page security filter for non-error dispatch type
Update `ErrorPageSecurityFilter` to defensively check that the
`DispatcherType` is `ERROR`. Although this check isn't necessary
for regular applications, it is needed if MockMvc is being used.

Fixes gh-28759
2021-11-24 09:55:59 -08:00
Madhura Bhave dd1d1482dc Deny unauthorized access to the error page
Fixes gh-26356

Co-authored-by Andy Wilkinson <wilkinsona@vmware.com>
2021-11-18 15:41:38 -08:00
Madhura Bhave 6b79d2860f Merge branch '2.5.x' into main
Closes gh-28724
2021-11-17 16:41:23 -08:00
Madhura Bhave 64270eca51 Convert environment used by SpringBootTestContextLoader
This commit aligns `SpringBootTest`s to also use `ApplicationEnvironment`
instead of `StandardEnvironment`. This prevents the side-effect of active
profiles from `@ActiveProfiles` from being added to the environment when
doGetActiveProfiles is called. In this case, calling `addActiveProfiles()`
in the environment post processor would result in `@ActiveProfiles` being
added to the environment first, resulting in the wrong order.

The additional call to `setActiveProfiles()` is also not necessary when using
ApplicationEnvironment because that call was put in place to prevent the side-effect
which `ApplicationEnvironment` does not have.

Fixes gh-28530
2021-11-17 16:40:53 -08:00
Andy Wilkinson 2a342ef416 Merge branch '2.5.x'
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
2021-11-12 20:04:35 +00:00
izeye 5d8dce70dc Polish
See gh-28494
2021-11-01 08:58:40 +01:00
Andy Wilkinson e54b876536 Merge branch '2.5.x'
Closes gh-28487
2021-10-29 15:50:01 +01:00
Andy Wilkinson 5e42f27b36 Merge branch '2.4.x' into 2.5.x
Closes gh-28486
2021-10-29 15:49:49 +01:00
Andy Wilkinson e4e1958b65 Make Logback fall back to JVM's default charset
The charset "default" is an alias for US-ASCII, not the JVM's default
charset. This commit updates the built-in Logback configuration to
use Charset.defaultCharset().name() in place of "default" in the
Java-based configuration. In the XML-based configuration where
Charset.defaultCharset().name() cannot be called, we emulate its
behaviour [1] by using the file.encoding system property, falling back
to UTF-8 when it's not set.

Fixes gh-27230

[1] 19be6113dd/jdk/src/share/classes/java/nio/charset/Charset.java (L604-L617)
2021-10-29 14:40:05 +01:00
Stephane Nicoll ea8a8ecd0e Merge branch '2.5.x'
Closes gh-28467
2021-10-28 11:53:34 +02:00
Stephane Nicoll ce38d592f9 Merge branch '2.4.x' into 2.5.x
Closes gh-28466
2021-10-28 11:53:19 +02:00
Guillaume Husta a05b2207f8 Fix description of "logging.logback.rollingpolicy.max-history"
See gh-28448
2021-10-28 11:45:42 +02:00
Phillip Webb e25f216eab Merge branch '2.5.x'
Closes gh-28425
2021-10-21 11:28:33 -07:00
Phillip Webb daf36dff55 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
2021-10-21 11:27:29 -07:00
Phillip Webb 2f6651c3cb Don't use markdown syntax in javadoc or error messages
Closes gh-28408
2021-10-21 11:24:54 -07:00
Phillip Webb ec79f14639 Drop AbstractJettyServletWebServerFactoryTests
Drop `AbstractJettyServletWebServerFactoryTests` and merge the existing
code into `JettyServletWebServerFactoryTests`.
2021-10-20 22:58:46 -07:00
Phillip Webb cf9156e497 Add SameSite cookie support for servlet web servers
Update Tomcat, Jetty and Undertow `ServletWebServerFactory`
implementations so that they can write SameSite cookie attributes.

The session cookie will be customized whenever the
`server.servlet.session.cookie.same-site` property is set.

Other cookies can be customized with the new `CookieSameSiteSupplier`
interface which can be registered using `@Bean` methods.

Closes gh-20971

Co-authored-by Andy Wilkinson <wilkinsona@vmware.com>
2021-10-20 22:58:31 -07:00
Phillip Webb b72ff25220 Relocate and unify reactive cookie properties
Relocate the recently introduced `spring.webflux.session` properties
to `server.reactive.session` and create a unified `Cookie` properties
class.

Reactive session properties now mirror the existing
`server.servlet.session` properties and better reflect the fact that
they are related to the server and not just for WebFlux.

See gh-26714
2021-10-20 22:09:33 -07:00
Phillip Webb 3c71637fa2 Polish 'Add more session properties for reactive web servers'
See gh-26714
2021-10-20 22:09:30 -07:00
Andy Wilkinson 6c43914652 Merge branch '2.5.x'
Closes gh-28383
2021-10-19 17:43:40 +01:00
Andy Wilkinson 76272ffb62 Merge branch '2.4.x' into 2.5.x
Closes gh-28382
2021-10-19 17:43:30 +01:00
Andy Wilkinson 54ce51e43c Polish "Fix typos in EnvironmentPostProcessor javadoc"
See gh-28376
2021-10-19 17:43:16 +01:00
fml2 ded396b728 Fix typos in EnvironmentPostProcessor javadoc
See gh-28376
2021-10-19 17:41:46 +01:00
Andy Wilkinson 89b40e1e00 Add support for Log4j2's composite configuration
Closes gh-27110
2021-10-19 10:01:30 +01:00
Phillip Webb 04123e0a0e Merge branch '2.5.x'
Closes gh-28377
2021-10-18 21:47:07 -07:00
Phillip Webb 19d3007806 Polish 2021-10-18 21:44:56 -07:00
Andy Wilkinson 31d88c3d3c Improve failure analysis action when circular references are allowed
Closes gh-27735
2021-10-18 16:02:13 +01:00
Phillip Webb 2034ad4827 Merge branch '2.5.x' 2021-10-13 18:48:18 -07:00
Phillip Webb 02b577390f Merge branch '2.4.x' into 2.5.x 2021-10-13 18:47:51 -07:00
Phillip Webb 0561992c2a Update copyright year of changed files 2021-10-13 18:45:38 -07:00
Stephane Nicoll cc8d7fc605 Polish contribution
See gh-28239
2021-10-13 09:10:11 +02:00
Leo Li 1770f065a5 Polish
See gh-28239
2021-10-13 09:07:33 +02:00
Andy Wilkinson 1a505964ee Merge branch '2.5.x'
Closes gh-28207
2021-10-06 10:03:24 +01:00
Andy Wilkinson 1931104d13 Merge branch '2.4.x' into 2.5.x
Closes gh-28206
2021-10-06 09:57:19 +01:00
Andy Wilkinson 9c9fbf400e Upgrade to Spring Java Format 0.0.29
Closes gh-28205
2021-10-06 09:52:45 +01:00
dreis2211 c5088a3bd3 Avoid explicit initialization of Atomics with their default values
See gh-28162
2021-10-05 15:37:00 +02:00
Stephane Nicoll 5d17257a52 Polish "Add Java InfoContributor"
See gh-28136
2021-10-05 15:11:58 +02:00
Madhura Bhave fb9f1eba41 Merge branch '2.5.x' into main
Closes gh-28172
2021-10-01 15:55:06 -07:00
Madhura Bhave 3249d05464 Merge branch '2.4.x' into 2.5.x
Closes gh-28171
2021-10-01 15:54:49 -07:00
Susmitha f94caed7e9 Update ConstructorBinding javadoc with usage information
See gh-28168
2021-10-01 15:53:43 -07:00
Andy Wilkinson 2d2cbff504 Avoid NoSuchMethodError from UCP's PoolDataSource.getPassword()
While still present and marked as deprecated, the getPassword()
method on UCP's PoolDataSource has been implemented to throw a
NoSuchMethodError making it useless for our purposes.

This commit updates DataSourceBuilder to avoid using the getter. This
means that a password must now be provided when trying to derive a
new DataSource from an existing PoolDataSource.

Closes gh-28127
2021-09-24 10:10:15 +01:00
Andy Wilkinson 5e426394db Add exception and analyzer for mutually exclusive config props
Add `MutuallyExclusiveConfigurationPropertiesException` and a related
failure analyzer so that a nice message can be displayed if more than
one mutually exclusive property is defined.

Closes gh-28121

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-09-23 16:18:03 -07:00
Phillip Webb 528ced4f0d Rename 'running' to 'ready' for ApplicationStartup
Rename 'spring.boot.application.running' to
'spring.boot.application.ready' to better align with `ReadinessState`.

Closes gh-28080
2021-09-23 12:54:22 -07:00
Andy Wilkinson 4fa61cbc60 Merge branch '2.5.x' 2021-09-22 18:37:11 +01:00
Andy Wilkinson 2ba593328f Order detector for AbstractDataSourceInitializers
Previously, the detector for AbstractDataSourceInitializers used the
default detector order. This resulted in the initializers detected
initializers running before Flyway. Constrastingly, the detector for
DataSourceScriptDatabaseInitializers uses a custom order so its
detected initializers would run after Flyway.

This commit aligns the order of the detector for
AbstractDataSourceInitializers with the order of the detector for
DataSourceScriptDatabaseInitializers. This ensures that script-based
initialization runs in the same order with respect to Flyway,
irrespective of which initializer implementation is driving it.

Fixes gh-28079
2021-09-22 18:30:44 +01:00
Phillip Webb 98a0e07dd5 Polish "Add startup time metrics"
See gh-27878
2021-09-21 14:45:00 -07:00
Phillip Webb 55a1ec72cc Update copyright year of changed files 2021-09-21 11:25:50 -07:00
Phillip Webb 5ba69634c9 Merge branch '2.4.x' into 2.5.x 2021-09-21 11:17:55 -07:00
Phillip Webb dfd36673f7 Update copyright year of changed files 2021-09-21 11:17:19 -07:00
Stephane Nicoll e0465f7357 Use RootBeanDefinition consistently
Closes gh-28077
2021-09-21 16:36:45 +02:00
Stephane Nicoll d68b6bb2f1 Polish "Add testing for AbstractFailureAnalyzer.findCause"
See gh-27862
2021-09-21 10:05:15 +02:00
smoothbear a2eed676a2 Add testing for AbstractFailureAnalyzer.findCause
See gh-27862
2021-09-21 09:52:10 +02:00
dreis2211 cf0fcafd13 Polish
See gh-27940
2021-09-21 08:08:29 +02:00
Andy Wilkinson b69ef0c881 Upgrade to Oracle Database 21.3.0.0
Closes gh-28054
2021-09-20 17:44:57 +01:00
Stephane Nicoll c62a6819fe Polish "Add startup time metrics"
See gh-27878
2021-09-16 13:33:08 +02:00
bono007 2e67963bfe Add startup time metrics
See gh-27878
2021-09-16 13:19:20 +02:00
Andy Wilkinson 358ab2a8d5 Merge branch '2.5.x'
Closes gh-28034
2021-09-16 10:51:14 +01:00
Andy Wilkinson a4f1d32203 Register application shutdown hook lazily
Previously, SpringApplicationShutdownHook would always register a
shutdown hook, even if SpringApplication was configured not to
use a shutdown hook, such as in a war deployment. This could
result in a memory leak when the war was undeployed. The shutdown
hook registered by SpringApplicationShutdownHook would remain
registered, pinning the web application's class loader in memory.

This commit updates SpringApplicationShutdownHook so that it
registers a shutdown hook with the JVM lazily, upon registeration
of the first application context.

Fixes gh-27987
2021-09-16 10:38:29 +01:00
Andy Wilkinson 69e793ab37 Merge branch '2.5.x'
Closes gh-28033
2021-09-16 09:56:26 +01:00
Andy Wilkinson afb81f14ea Merge branch '2.4.x' into 2.5.x
Closes gh-28032
2021-09-16 09:55:45 +01:00
Andy Wilkinson 1900a11f8a Fix Undertow's resource loading when filename contains reserved chars
Fixes gh-9283
2021-09-16 09:55:26 +01:00
Stephane Nicoll 8c819c94d6 Upgrade to Tomcat 9.0.53
Closes gh-27964
2021-09-13 11:04:57 +02:00
Stephane Nicoll 2004c062df Upgrade to Tomcat 9.0.53
Closes gh-27963
2021-09-13 11:04:02 +02:00
Stephane Nicoll ab81e3c05c Upgrade to Tomcat 9.0.53
Closes gh-27961
2021-09-13 10:28:42 +02:00
dreis2211 e1afc91ae2 Polish javadoc comments
See gh-27925
2021-09-10 07:53:49 +02:00
dreis2211 242d730f51 Deprecate DataSourceInitializationMode
See gh-27926
2021-09-10 07:51:32 +02:00
Stephane Nicoll e10ebb17e0 Polish "Fix tests on non English systems"
See gh-27887
2021-09-08 08:07:09 +02:00
dreis2211 32e51966dd Fix tests on non English systems
See gh-27887
2021-09-08 07:59:35 +02:00
Stephane Nicoll b4b71ec015 Add bind method to ConfigurationProperties bean definition
This commit reworks the configuration properties registrar to use
RootBeanDefinition and a standard attribute rather than relying on
a package private sub-class. This allows other components to inspect
the metadata if necessary.

Closes gh-27821
2021-09-06 10:28:03 +02:00
Stephane Nicoll 542e6ab0d3 Merge branch '2.5.x'
Closes gh-27879
2021-09-06 08:33:14 +02:00
Stephane Nicoll d6cc1f6d7d Polish "Use more precise variables to detect Azure App Service"
See gh-27819
2021-09-06 08:28:58 +02:00
Julien Dubois 69b23470c7 Use more precise variables to detect Azure App Service
See gh-27819
2021-09-06 08:12:22 +02:00
Stephane Nicoll e25553e3c3 Merge branch '2.5.x'
Closes gh-27874
2021-09-05 17:02:43 +02:00
Stephane Nicoll 3dab5ff2c0 Merge branch '2.4.x' into 2.5.x
Closes gh-27873
2021-09-05 17:02:17 +02:00
Henning Pöttker 831e28b001 Fix typo in javadoc
See gh-27856
2021-09-05 17:01:31 +02:00
Phillip Webb b01fa6a899 Merge branch '2.5.x'
Closes gh-27860
2021-09-02 11:17:06 -07:00
Phillip Webb 1215bbc10b Merge branch '2.4.x' into 2.5.x
Closes gh-27859
2021-09-02 11:16:42 -07:00
Phillip Webb 61764389c2 Merge branch '2.3.x' into 2.4.x
Closes gh-27858
2021-09-02 11:15:32 -07:00
Phillip Webb 44eb8c39d2 Align ApplicationTemp with Files.createTempDirectory
Update `ApplicationTemp` to align the way that it creates temp folders
with the way that `Files.createTempDirectory` works.

Closes gh-27857
2021-09-02 11:13:26 -07:00
Madhura Bhave 253f98c3e7 Add pluggable abstraction for applying custom sanitization rules
Closes gh-27840
2021-08-30 21:31:15 -07:00
Phillip Webb 211532f08d Exclude CustomNumberEditor and CustomBooleanEditor
Add `CustomNumberEditor` and `CustomBooleanEditor` to the editor
exclusions sine the regular `ConversionService` should be able to
handle them.

Closes gh-27829
2021-08-27 23:15:23 -07:00
Phillip Webb 8db82f02fc Merge branch '2.5.x'
Closes gh-27831
2021-08-27 22:49:39 -07:00
Phillip Webb 15d0078eca Merge branch '2.4.x' into 2.5.x
Closes gh-27830
2021-08-27 22:40:56 -07:00
Phillip Webb 87dbda2339 Ensure TypeConverterConverter is thread safe
Update `TypeConverterConverter` do that a new `SimpleTypeConverter` is
obtained for each `convert` operation. Prior to this commit the same
`SimpleTypeConverter` could be accessed concurrently from multiple
threads which is not allowed.

Fixes gh-27829
2021-08-27 22:08:40 -07:00
izeye e147cae84c Fix typo in action for bean currently in creation failure analysis
See gh-27781
2021-08-23 13:36:59 +01:00
Andy Wilkinson fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
2021-08-18 18:28:34 +01:00
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
2021-08-18 17:56:32 +01:00
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
2021-08-18 17:52:42 +01:00
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
2021-08-18 17:38:40 +01:00
Andy Wilkinson 01e741d703 Prohibit circular references by default
Closes gh-27652
2021-08-17 14:51:39 +01:00
dreis2211 d5e1edae9f Use Pattern for Groovy closure checks
See gh-27661
2021-08-16 08:13:49 +02:00
Andy Wilkinson 9bfe3c8cff Merge branch '2.5.x'
Closes gh-27639
2021-08-12 12:33:08 +01:00
Andy Wilkinson aafa21686a Merge branch '2.4.x' into 2.5.x
Closes gh-27638
2021-08-12 12:32:56 +01:00
Andy Wilkinson 3bed23d9dc Replace PropertyMapper.CachingSupplier with use of SingletonSupplier
Closes gh-27635
2021-08-12 12:04:18 +01:00
Stephane Nicoll 57050fade4 Fix typo 2021-08-12 11:32:18 +02:00
Madhura Bhave 49c86e6e1b Allow health groups to be configured at an additional path
Closes gh-25471

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-08-11 19:25:25 -07:00
Stephane Nicoll 94c347c64d Merge branch '2.5.x'
Closes gh-27619
2021-08-10 10:04:09 +02:00