Commit Graph

851 Commits

Author SHA1 Message Date
Phillip Webb 32b9945632 Polish 2022-11-08 23:15:30 -08:00
Andy Wilkinson b357239861 Upgrade to Jakarta Activation 2.1.0
Closes gh-33045
2022-11-08 11:01:17 +00:00
Andy Wilkinson b67c427259 Upgrade to Servlet 6.0 and related EE 10 specs
Co-authored-by: Phillip Webb <pwebb@vmware.com>

Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2022-11-07 17:33:38 +00:00
Phillip Webb d7941c6315 Polish 2022-11-05 18:44:57 -07:00
Phillip Webb 9856286a2d Refine actuator httpexhanges naming
See gh-32885
2022-10-28 12:50:59 -07:00
Phillip Webb 3e50836b1a Rename httptrace endpoint and related classes to httpexchanges
Rename `/actuator/httptrace` to `/actuator/httpexchanges` to better
describe its purpose and to remove confusion with distribute tracing.

This change also takes the opportunity to improve the code by making
the `HttpExchange` class (previously `HttpTrace`) fully immutable.

Closes gh-32885

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
2022-10-27 16:34:42 -07:00
Johnny Lim 5067aab552 Polish
See gh-32840
2022-10-27 16:33:14 +02:00
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2022-10-25 15:48:26 -07:00
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2022-10-25 15:48:04 -07:00
Scott Frederick c22e76632c Add Build-Jdk-Spec to jar and war manifest when building with Gradle
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.

This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.

Fixes gh-32829
2022-10-25 15:48:05 -05:00
Andy Wilkinson 99edda735e Polish 2022-10-25 12:57:58 +01:00
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2022-10-19 11:46:27 -07:00
Phillip Webb 2e74878ba4 Downgrade to OpenSAML 4.0.1
See gh-32604
2022-10-19 11:46:27 -07:00
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
2022-10-19 11:46:27 -07:00
Andy Wilkinson 4f86f685c5 Reinstate support for Infinispan
Closes gh-32556
2022-10-04 11:32:56 +01:00
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
2022-10-04 00:29:22 -07:00
Brian Clozel a0735eb3fb Migrate remaining usage of httpclient API
This commit migrates our remaining usage of the httpclient 4.x to use
instead httpclient5, now that the 4.x support has been removed in
`RestTemplate`.

Closes gh-32461
2022-09-29 18:55:42 +02:00
Brian Clozel 5fb2a50ad0 Adapt build dependencies to httpclient5
As htttpclient 4.x is not supported anymore by `RestTemplate`, this
commit changes such dependencies to httpclient5 instead. In some cases,
the httpclient 4.x was transitively brought by a non-Spring dependency.

See gh-32461
2022-09-29 18:55:41 +02:00
Scott Frederick 2e4529df27 Remove image banner smoke test
See gh-28883
2022-09-29 09:59:27 -05:00
Stephane Nicoll 72fc1f0018 Merge branch '2.7.x'
Closes gh-32512
2022-09-27 08:30:44 +02:00
Stephane Nicoll 9a004a6508 Merge branch '2.6.x' into 2.7.x
Closes gh-32511
2022-09-27 08:30:37 +02:00
Johnny Lim 975affc497 Enable LoaderIntegrationTests with Java 19
See gh-32501
2022-09-27 08:30:13 +02:00
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
2022-09-22 13:53:54 +01:00
Scott Frederick f9c341c75a Revert "Generate the AutoConfiguration.imports file from annotations"
This reverts commit da4de7d67d.
2022-09-21 14:50:15 -05:00
Andy Wilkinson 2977373505 Polish "Add property to configure Spring Session Redis repository type"
See gh-32205
2022-09-21 17:16:29 +01:00
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
2022-09-21 17:13:58 +01:00
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
2022-09-20 15:42:52 +01:00
dreis2211 bac7d62476 Fix Spring Batch deprecations
See gh-32419
2022-09-19 14:31:54 +02:00
Madhura Bhave b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2022-09-15 16:48:22 -07:00
Phillip Webb 7f5785182d Switch @SpringBootTest to UseMainMethod.NEVER by default
See gh-22405
2022-09-15 12:37:26 -07:00
Phillip Webb 48f3cd75d4 Refine SpringBootTest.useMainMethod support
Refine `SpringBootContextLoader` so that calls to the main method do
not exit early and the hook is only used when necessary.

See gh-22405
2022-09-15 10:48:58 -07:00
Phillip Webb 41e0bbf4bb Add SpringBootTest.useMainMethod support
Add a new `useMainMethod` attribute to `SpringBootTest` which can be
used to determine how the test should run. The three available options
are:

	- `ALWAYS`
	- `NEVER`
	- `WHEN_AVAILABLE`

The default is `WHEN_AVAILABLE` which will attempt to launch the test
using the `main` method if there is one.

The `SpringBootContextLoader` has been updated to use the new
`SpringApplicationHook` interface when the main method is being used.

Closes gh-22405
2022-09-14 22:37:37 -07:00
Stephane Nicoll 4f6c3ab2b0 Upgrade to JUnit Jupiter 5.9.0
Closes gh-32351
2022-09-14 15:18:40 +02:00
Andy Wilkinson 4e8e5f623b Adapt to recent deprecations in Spring Batch
See gh-32237
2022-09-13 17:44:50 +01:00
Andy Wilkinson a896fd0a36 Merge branch '2.7.x' 2022-09-10 09:38:18 +01:00
Andy Wilkinson dffce2553c Merge branch '2.6.x' into 2.7.x 2022-09-10 09:38:09 +01:00
Andy Wilkinson 9fe9f31af1 Polish 2022-09-10 09:38:03 +01:00
Andy Wilkinson 144abee80a Merge branch '2.7.x' 2022-09-10 09:35:08 +01:00
Andy Wilkinson b512083b3a Merge branch '2.6.x' into 2.7.x 2022-09-10 09:34:57 +01:00
Andy Wilkinson a262520f08 Disable LoaderIntegrationTests on Java 19 till it GAs
See gh-32280
2022-09-10 09:34:51 +01:00
Stephane Nicoll aa6e52f029 Merge branch '2.7.x' 2022-09-10 10:32:20 +02:00
Stephane Nicoll 71fa410929 Merge branch '2.6.x' into 2.7.x 2022-09-10 10:32:12 +02:00
Stephane Nicoll c3416ac97a Disable LoaderIntegrationTests with Java 19
See gh-32295
2022-09-10 10:31:48 +02:00
Phillip Webb 2f78d52c36 Merge branch '2.7.x' 2022-09-08 19:52:40 -07:00
Phillip Webb 55ad2b9371 Remove accidentally committed debug code 2022-09-08 19:52:01 -07:00
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2022-09-08 19:38:18 -07:00
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2022-09-08 19:37:52 -07:00
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
2022-09-08 19:35:27 -07:00
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
2022-09-02 15:10:22 -05:00
Brian Clozel 4aa1efa2d8 Fix build with latest Spring for GraphQL changes 2022-09-01 11:26:04 +02:00
Stephane Nicoll 50c099334b Adapt deprecated getIpAddress call with getHost in Redis Tests
Closes gh-32147
2022-08-23 08:25:52 +02:00
Stephane Nicoll b19f1cedb3 Merge branch '2.7.x'
Closes gh-32137
2022-08-22 16:09:07 +02:00
thegeekyasian 5b1c6381db Adapt deprecated getIpAddress call with getHost in Redis Tests
See gh-32131
2022-08-22 16:06:21 +02:00
Phillip Webb 4ec2e357d9 Merge branch '2.7.x'
See gh-32086
2022-08-17 12:49:52 -07:00
Phillip Webb 60e1cc510c Merge branch '2.6.x' into 2.7.x
See gh-32085
2022-08-17 12:48:21 -07:00
Phillip Webb bd74344025 Revert "Don't close jar files early"
This reverts commit b42f056ddb.
2022-08-17 11:38:42 -07:00
Andy Wilkinson 0b9c2025fb Fix handling of String Java version in cache smoke test 2022-08-10 11:49:21 +01:00
Andy Wilkinson f4ddd3b597 Fix EhCache smoke test when building with a toolchain 2022-08-09 21:58:35 +01:00
Stephane Nicoll 748a1c9dbf Revert "Add missing jaxb dependency for EhCache3 smoke test"
This revert a7f06e0 as the version of EhCache already depends on JAXB.
2022-08-09 09:37:09 +02:00
Stephane Nicoll a7f06e0989 Merge branch '2.6.x' into 2.7.x 2022-08-09 09:26:17 +02:00
Stephane Nicoll 22a5ccfca7 Add missing jaxb dependency for EhCache3 smoke test
See gh-31137
2022-08-09 09:25:59 +02:00
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2022-08-08 15:45:20 +01:00
Madhura Bhave 846340ad62 Fix redis prefix in tests
See gh-11574
2022-08-05 14:32:39 -07:00
Madhura Bhave 0991bd3983 Harmonize data configuration
Any classes that rely on Spring Data being on the classpath
have been moved under a data package.

Certain configuration properties have also been updated to
accurately reflect whether Spring Data is required for the
auto-configuration to work.

Closes gh-11574
2022-08-05 13:32:25 -07:00
Andy Wilkinson c481299002 Merge branch '2.7.x'
Closes gh-31990
2022-08-04 15:46:44 +01:00
Andy Wilkinson d8e6d9bed8 Merge branch '2.6.x' into 2.7.x
Closes gh-31989
2022-08-04 15:40:48 +01:00
Andy Wilkinson 329fa8d37d Run cache smoke tests against all cache providers
Closes gh-31137
2022-08-04 15:39:36 +01:00
Johnny Lim 6a4681baf5 Polish
See gh-31948
2022-08-02 15:14:23 +02:00
Brian Clozel 38f1bc9793 Reinstate Spring for GraphQL auto-configuration
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.

Closes gh-31809
2022-08-01 14:33:25 +02:00
Phillip Webb 22144987e9 Update copyright year of changed files 2022-07-29 12:10:03 +01:00
Stephane Nicoll c413f9adbe Merge branch '2.7.x'
Closes gh-31884
2022-07-27 09:23:39 +02:00
Stephane Nicoll 53a652ec65 Merge branch '2.6.x' into 2.7.x
Closes gh-31883
2022-07-27 09:23:05 +02:00
Stephane Nicoll 59139e632b Polish "Disable auto-detection in tests that start Hazelcast"
See gh-31863
2022-07-27 08:30:17 +02:00
Stephane Nicoll 782e3f75b6 Polish Hazelcast configuration
This commit updates the XSD to 4.2 and removes the "tcp-ip" network
option as it is disabled by default.

See gh-31863
2022-07-27 08:15:53 +02: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 4bd3534b7d Adapt to change in Security's filtering behavior
Spring Security now filters every dispatch by default and not only
once-per-request. Security configuration has been updated in a number of
places to restore the old behavior as needed for the tests to pass.
gh-31703 has been opened to review this and to investigate if we can
now remove the error page security filter and rely on the filtering of
every dispatch instead.

In addition to switching to once-per-request filtering where needed,
this commit also restructures the configuration of the error page
security filter. The restructuring was necessary to ensure that the
privilege evaluator bean has been defined before the conditions on the
error page security filter are evaluated. Without the change, the filter
was no longer being configured as the privilege evaluator hadn't been
defined before the on bean condition was evaluated. We may want to back
port this change as the ordering doesn't appear to have been defined
before and we were just getting lucky.

See gh-31622
See spring-projects/spring-security#11466
2022-07-13 12:09:46 +01: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
Andy Wilkinson f83f1a5fff Start building against Spring Integration 6.0.0-M4 snapshots
See gh-31624
2022-07-08 12:39:14 +01:00
Andy Wilkinson e9136e023b Adapt to trailing slashes no longer being matched by default
See gh-31563
2022-07-07 14:16: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 498f052a7a Fix deprecation warning 2022-06-23 11:53:56 +02:00
Phillip Webb e6352eee32 Fix import that should have been replaced during merge
See gh-31502
2022-06-22 16:55:50 -07:00
Phillip Webb b85469a5a5 Merge branch '2.7.x'
Closes gh-31502
2022-06-22 16:33:42 -07:00
Phillip Webb d64f601dfd Merge branch '2.6.x' into 2.7.x
Closes gh-31501
2022-06-22 16:31:52 -07:00
Guirong Hu 3592292e4b Use ExceptionHandler when Spring MVC uses a different management port
Update `CompositeHandlerExceptionResolver` to search for beans in
all contexts. Note that `BeanFactoryUtils.beansOfTypeIncludingAncestors`
cannot not be used since we need to pick up all beans, even if they
have the same name.

See gh-31495
2022-06-22 16:13:26 -07:00
dreis2211 a639685053 Remove obsolete Java compatibility code
See gh-31452
2022-06-19 10:22:23 +02:00
Andy Wilkinson 3cf6dc25a8 Merge branch '2.7.x'
See gh-31403
2022-06-16 17:34:23 +01:00
Andy Wilkinson f285d9e7cf Merge branch '2.6.x' into 2.7.x
See gh-31402
2022-06-16 17:33:53 +01:00
Andy Wilkinson 252cf94332 Fix requiresUnpack following Bouncy Castle upgrade
See gh-31400
2022-06-16 17:32:40 +01:00
Andy Wilkinson d370d19e7a Merge branch '2.7.x'
Closes gh-31403
2022-06-16 12:14:52 +01:00
Andy Wilkinson 5e1cd28d3f Merge branch '2.6.x' into 2.7.x
Closes gh-31402
2022-06-16 12:14:28 +01:00
Lars Grefer e8a1a0399a Upgrade to Bouncycastle 1.71
Closes gh-31400
2022-06-16 12:14:06 +01:00
Phillip Webb d84557f1f9 Merge branch '2.7.x'
Closes gh-31396
2022-06-15 10:53:17 -07:00
Phillip Webb bcbcc53a09 Merge branch '2.6.x' into 2.7.x
Closes gh-31395
2022-06-15 10:51:40 -07:00
Phillip Webb b42f056ddb Don't close jar files early
Update `JarFile` and related classes so that `close()` is not longer
called early.

Prior to this commit, we would always immediately close the underlying
jar file to prevent file locking issues with our build. This causes
issues on certain JVMs when they attempt to verify a signed jar.

The file lock issues have now been solved by returning a custom input
stream from `JarUrlConnection` which captures and delegates the close
method.

Fixes gh-29356
2022-06-15 10:51:01 -07:00
Stephane Nicoll b536b209ab Refine assertions on exception messages 2022-06-14 18:20:27 +02:00
Andy Wilkinson d4be484d27 Upgrade to AssertJ 3.23.1
Closes gh-31331
2022-06-10 13:44:21 +01:00