Commit Graph

899 Commits (1ee5990e41e5ab4702743119b39a70d72824188e)

Author SHA1 Message Date
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
2 years ago
Phillip Webb d7941c6315 Polish 2 years ago
Phillip Webb 9856286a2d Refine actuator httpexhanges naming
See gh-32885
2 years ago
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>
2 years ago
Johnny Lim 5067aab552 Polish
See gh-32840
2 years ago
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2 years ago
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2 years ago
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
2 years ago
Andy Wilkinson 99edda735e Polish 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 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
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
2 years ago
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
2 years ago
Scott Frederick 2e4529df27 Remove image banner smoke test
See gh-28883
2 years ago
Stephane Nicoll 72fc1f0018 Merge branch '2.7.x'
Closes gh-32512
2 years ago
Stephane Nicoll 9a004a6508 Merge branch '2.6.x' into 2.7.x
Closes gh-32511
2 years ago
Johnny Lim 975affc497 Enable LoaderIntegrationTests with Java 19
See gh-32501
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 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
Madhura Bhave b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2 years ago
Phillip Webb 7f5785182d Switch @SpringBootTest to UseMainMethod.NEVER by default
See gh-22405
2 years ago
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
2 years ago
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
2 years ago
Stephane Nicoll 4f6c3ab2b0 Upgrade to JUnit Jupiter 5.9.0
Closes gh-32351
2 years ago
Andy Wilkinson 4e8e5f623b Adapt to recent deprecations in Spring Batch
See gh-32237
2 years ago
Andy Wilkinson a896fd0a36 Merge branch '2.7.x' 2 years ago
Andy Wilkinson dffce2553c Merge branch '2.6.x' into 2.7.x 2 years ago
Andy Wilkinson 9fe9f31af1 Polish 2 years ago
Andy Wilkinson 144abee80a Merge branch '2.7.x' 2 years ago
Andy Wilkinson b512083b3a Merge branch '2.6.x' into 2.7.x 2 years ago
Andy Wilkinson a262520f08 Disable LoaderIntegrationTests on Java 19 till it GAs
See gh-32280
2 years ago
Stephane Nicoll aa6e52f029 Merge branch '2.7.x' 2 years ago
Stephane Nicoll 71fa410929 Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll c3416ac97a Disable LoaderIntegrationTests with Java 19
See gh-32295
2 years ago
Phillip Webb 2f78d52c36 Merge branch '2.7.x' 2 years ago
Phillip Webb 55ad2b9371 Remove accidentally committed debug code 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 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
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
Brian Clozel 4aa1efa2d8 Fix build with latest Spring for GraphQL changes 2 years ago
Stephane Nicoll 50c099334b Adapt deprecated getIpAddress call with getHost in Redis Tests
Closes gh-32147
2 years ago
Stephane Nicoll b19f1cedb3 Merge branch '2.7.x'
Closes gh-32137
2 years ago
thegeekyasian 5b1c6381db Adapt deprecated getIpAddress call with getHost in Redis Tests
See gh-32131
2 years ago
Phillip Webb 4ec2e357d9 Merge branch '2.7.x'
See gh-32086
2 years ago
Phillip Webb 60e1cc510c Merge branch '2.6.x' into 2.7.x
See gh-32085
2 years ago
Phillip Webb bd74344025 Revert "Don't close jar files early"
This reverts commit b42f056ddb.
2 years ago
Andy Wilkinson 0b9c2025fb Fix handling of String Java version in cache smoke test 2 years ago
Andy Wilkinson f4ddd3b597 Fix EhCache smoke test when building with a toolchain 2 years ago
Stephane Nicoll 748a1c9dbf Revert "Add missing jaxb dependency for EhCache3 smoke test"
This revert a7f06e0 as the version of EhCache already depends on JAXB.
2 years ago
Stephane Nicoll a7f06e0989 Merge branch '2.6.x' into 2.7.x 2 years ago
Stephane Nicoll 22a5ccfca7 Add missing jaxb dependency for EhCache3 smoke test
See gh-31137
2 years ago
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2 years ago
Madhura Bhave 846340ad62 Fix redis prefix in tests
See gh-11574
2 years ago
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
2 years ago
Andy Wilkinson c481299002 Merge branch '2.7.x'
Closes gh-31990
2 years ago
Andy Wilkinson d8e6d9bed8 Merge branch '2.6.x' into 2.7.x
Closes gh-31989
2 years ago
Andy Wilkinson 329fa8d37d Run cache smoke tests against all cache providers
Closes gh-31137
2 years ago
Johnny Lim 6a4681baf5 Polish
See gh-31948
2 years ago
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
2 years ago
Phillip Webb 22144987e9 Update copyright year of changed files 2 years ago
Stephane Nicoll c413f9adbe Merge branch '2.7.x'
Closes gh-31884
2 years ago
Stephane Nicoll 53a652ec65 Merge branch '2.6.x' into 2.7.x
Closes gh-31883
2 years ago
Stephane Nicoll 59139e632b Polish "Disable auto-detection in tests that start Hazelcast"
See gh-31863
2 years ago
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
2 years ago
Andy Wilkinson 3405a54f9e Exclude Jetty toolchain dependencies in favor of official API artifacts
Closes gh-31720
2 years ago
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
2 years ago
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
2 years ago
Andy Wilkinson f83f1a5fff Start building against Spring Integration 6.0.0-M4 snapshots
See gh-31624
2 years ago
Andy Wilkinson e9136e023b Adapt to trailing slashes no longer being matched by default
See gh-31563
2 years ago
dreis2211 458f989cf3 Use switch expressions where appropriate
See gh-31527
2 years ago
Andy Wilkinson 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2 years ago
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2 years ago
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2 years ago
Stephane Nicoll 498f052a7a Fix deprecation warning 2 years ago
Phillip Webb e6352eee32 Fix import that should have been replaced during merge
See gh-31502
2 years ago
Phillip Webb b85469a5a5 Merge branch '2.7.x'
Closes gh-31502
2 years ago
Phillip Webb d64f601dfd Merge branch '2.6.x' into 2.7.x
Closes gh-31501
2 years ago
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
2 years ago
dreis2211 a639685053 Remove obsolete Java compatibility code
See gh-31452
2 years ago
Andy Wilkinson 3cf6dc25a8 Merge branch '2.7.x'
See gh-31403
2 years ago
Andy Wilkinson f285d9e7cf Merge branch '2.6.x' into 2.7.x
See gh-31402
2 years ago
Andy Wilkinson 252cf94332 Fix requiresUnpack following Bouncy Castle upgrade
See gh-31400
2 years ago
Andy Wilkinson d370d19e7a Merge branch '2.7.x'
Closes gh-31403
2 years ago
Andy Wilkinson 5e1cd28d3f Merge branch '2.6.x' into 2.7.x
Closes gh-31402
2 years ago
Lars Grefer e8a1a0399a Upgrade to Bouncycastle 1.71
Closes gh-31400
2 years ago
Phillip Webb d84557f1f9 Merge branch '2.7.x'
Closes gh-31396
2 years ago
Phillip Webb bcbcc53a09 Merge branch '2.6.x' into 2.7.x
Closes gh-31395
2 years ago
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
2 years ago
Stephane Nicoll b536b209ab Refine assertions on exception messages 2 years ago
Andy Wilkinson d4be484d27 Upgrade to AssertJ 3.23.1
Closes gh-31331
2 years ago
Andy Wilkinson ab93bc26c7 Merge branch '2.7.x'
Closes gh-31271
2 years ago
Andy Wilkinson a0fee42740 Merge branch '2.6.x' into 2.7.x
Closes gh-31270
2 years ago
Andy Wilkinson 0834dc5b01 Polish "Update smoke tests to avoid conflicts with NAME environment variable"
See gh-31267
2 years ago
Vedran Pavic 95e0d6c0f7 Update smoke tests to avoid conflicts with NAME environment variable
This commit updates several smoke tests in order to avoid conflicts
with NAME environment variable that is present in WSL and causes
project build to fail. Previous attempt to fix this in 7da42d71 was
incomplete.

See gh-31267
2 years ago
Andy Wilkinson 4bb5ba2bd0 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 935d1264e0 Merge branch '2.6.x' into 2.7.x 3 years ago
Andy Wilkinson 3d203d0215 Polish 3 years ago
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
3 years ago
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
3 years ago
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
3 years ago
Scott Frederick 4a8e48f07a Merge branch '2.7.x' 3 years ago
Scott Frederick 108b3314db Merge branch '2.6.x' into 2.7.x
Closes gh-30889
3 years ago
Scott Frederick b0bedc332a Use Testcontainers in Spring Session Reactive smoke tests
Closes gh-30888
3 years ago
Scott Frederick 4f3771f88a Merge branch '2.7.x' 3 years ago
Scott Frederick 7f4b78469e Merge branch '2.6.x' into 2.7.x 3 years ago
Scott Frederick 51343139c2 Remove empty files
See gh-30875
3 years ago
Scott Frederick 03d17dd04a Merge branch '2.7.x' 3 years ago
Scott Frederick 576b72a7a1 Merge branch '2.6.x' into 2.7.x
Closes gh-30877
3 years ago
Scott Frederick 6098b0c91f Merge branch '2.5.x' into 2.6.x
Closes gh-30876
3 years ago
Scott Frederick 8fe47aaebd Remove smoke tests that do nothing without a server
Fixes gh-30875
3 years ago
Scott Frederick 7f395941c7 Add timezone offset to default logging date format patterns
Closes gh-28654
3 years ago
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 3 years ago
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
3 years ago
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
3 years ago
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
3 years ago
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
3 years ago
Moritz Halbritter 85a4c94dea Merge branch '2.7.x' 3 years ago
Moritz Halbritter b406971094 Remove hyphen from asserting-party
spring.security.saml2.relyingparty.registration.*.asserting-party.* is
now named spring.security.saml2.relyingparty.registration.*.assertingparty.*

Closes gh-30785
3 years ago
Andy Wilkinson 061d86e037 Reinstate Session Redis smoke test
See gh-30673
3 years ago
Phillip Webb c7374fd415 Update copyright year of changed files 3 years ago
Moritz Halbritter 1950d06585 Merge branch '2.7.x' 3 years ago
Moritz Halbritter 6c400daa48 Rename 'identityprovider' property to 'asserting-party'
Rename spring.security.saml2.relyingparty.registration.*.identity-provider.*
to spring.security.saml2.relyingparty.registration.*.asserting-party.*

The old property names are still supported, but will lead to a warning
in the logs.

Closes gh-30642
3 years ago
Brian Clozel 21eab010de Disable Redis Session smoke test
This commit temporarily disables the Redis Session smoke test, as it
relies on the Session Actuator endpoint being present.

Since spring-projects/spring-session#1711, the default session
repository contributed is not of type `FindByIndexNameSessionRepository`
and thus cannot support the Session endpoint use case.

Until gh-30673 is resolved, this test is disabled.

See gh-30673
3 years ago
Andy Wilkinson 9658661bd4 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 7789a18d23 Merge branch '2.6.x' into 2.7.x
Closes gh-30667
3 years ago
Andy Wilkinson d4348279a7 Merge branch '2.5.x' into 2.6.x
Closes gh-30666
3 years ago
Andy Wilkinson 8f1b8622ba Ensure that webEnvironment=NONE creates non-web context
Previously, if spring.main.web-application-type was configured in
application.properties to servlet or reactive, setting
webEnvironment=NONE on @SpringBootTest would not work correctly and
a servlet or reactive web application context would be created
based on the value of spring.main.web-application-type.

This commit updates the test context bootstapper to set
spring.main.web-application-type to none when webEnvironment has been
set to none. This is done in the merged context configuration's
property source properties which are applied to the environment in a
high-precedence test property source that will override configuration
in application.properties.

Closes gh-29695
3 years ago
Andy Wilkinson b871a1e457 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 48f8021d88 Migrate @Local*Port annotations to spring-boot-test
Closes gh-29589
3 years ago
Brian Clozel d476d8e37b Move GraphQL test document files
After changes performed in spring-projects/spring-graphql#338, GraphQL
test documents now have a different test location.
3 years ago
dreis2211 eea4611553 Fix references to JDK 1.8 in READMEs
See gh-30447
3 years ago
Andy Wilkinson a59f60c614 Merge branch '2.7.x' 3 years ago
Andy Wilkinson aad59efef2 Merge branch '2.6.x' into 2.7.x
Closes gh-30430
3 years ago
Andy Wilkinson 344aa405ae Merge branch '2.5.x' into 2.6.x
Closes gh-30429
3 years ago
Andy Wilkinson e36ac6c155 Polish "Enable Java 18 for LoaderIntegrationTests"
See gh-30422
3 years ago
Eddú Meléndez e9c433a0b7 Enable Java 18 for LoaderIntegrationTests
See gh-30422
3 years ago
Moritz Halbritter 1d29081e61 Merge branch '2.7.x' 3 years ago
Moritz Halbritter 3e26c584fd Merge branch '2.6.x' into 2.7.x 3 years ago
Moritz Halbritter 27ddcbd551 Merge branch '2.5.x' into 2.6.x 3 years ago
Moritz Halbritter cd5d3dbf8d Disable SampleSessionWebFluxApplicationTests on Linux aarch64
These tests use embedded mongo under the hood.

See gh-30082
3 years ago
Moritz Halbritter 1cd16f6718 Merge branch '2.7.x' 3 years ago
Moritz Halbritter 1fec2f0e9b Merge branch '2.6.x' into 2.7.x 3 years ago