100 Commits
Author SHA1 Message Date
Andy Wilkinson c63eba32f9 Revert "Publish releases using Central Portal"
This reverts commit 8681b9445b.

See gh-46012
2025-06-19 07:27:29 +01:00
Andy Wilkinson 8681b9445b Publish releases using Central Portal
Closes gh-46012
2025-06-18 17:46:24 +01:00
Andy Wilkinson 13d265c282 Merge pull request #46016 from davidlj95
* gh-46016:
  Fix Docker security options broken link in OCI images packaging docs

Closes gh-46016
2025-06-18 17:38:41 +01:00
Andy Wilkinson bab9071539 Revert "Work around Spring Framework cache pollution bug"
This reverts commit 4af0ee20d1.

Closes gh-45984
2025-06-18 16:10:05 +01:00
Andy Wilkinson d9e4b66eee Add properties for new max part count and max part header size
To address CVE-2025-48976 and CVE-2025-48988, Tomcat 10.1.42 has
introduced two new configuration settings – maxPartCount and
maxPartHeaderSize. The default values for these configuration
settings have proven hard to get right and some applications have
had to increase the default limits. To ease their configuration in
Spring Boot, this commit introduces configuration properties for
the new settings:

-  server.tomcat.max-part-count (maxPartCount)
-  server.tomcat.max-part-header-size (maxPartHeaderSize)

The defaults are aligned with those of Tomcat 10.1.42
(10 and 512 bytes respectively).

Closes gh-45869
2025-06-18 09:46:09 +01:00
Andy Wilkinson c13dc92286 Test against Gradle 7.6.5
Closes gh-45998
2025-06-17 20:05:03 +01:00
Andy Wilkinson a6ac444aba Use fixed timestamp so included snippets match accompanying text
Closes gh-45995
2025-06-17 19:06:41 +01:00
Andy Wilkinson fdbddcf606 Work around unwanted side-effect of getCredentials()
Previously, we called getCredentials() to determine whether or not a
repository requires authentication. Unfortunately, the method has the
unwanted side-effect of assigning empty username and password
credentials to a repository that previously did not require
authentication and did not, therefore, have any credentials. These
empty credentials can then cause subsequent failures because
"Username must not be null!".

There's no side-effect-free public API for accessing a repository's
credentials. Instead, we're using some internal API on
AuthenticationSupportedInternal. If this causes problems when
upgrading to a new version of Gradle a different approach will be
required. For example, we could pass in the repositories in two
separate collections: those that require authentication and those
that don't.

Closes gh-45950
2025-06-13 09:34:25 +01:00
Andy Wilkinson ca21600fae Use Framework's StreamUtils instead of Commons Compress's IOUtils
Closes gh-45911
2025-06-12 10:00:30 +01:00
Andy Wilkinson aa7e2fc0a3 Polish 2025-06-12 09:26:25 +01:00
Andy Wilkinson 8fa7843d71 Remove dependency management for Micrometer Context Propagation
It's now managed as part of Micrometer's bom so we no longer need to
manage it separately (and our separate management was being overriden
by Micrometer's bom anyway).

Closes gh-45852
2025-06-09 16:25:20 +01:00
Andy Wilkinson de54d4df89 Improve linking to Testcontainers' javadoc
Closes gh-45802
2025-06-06 11:10:01 +01:00
Andy Wilkinson 34905267be Start building against Spring WS 4.0.15 snapshots
See gh-45762
2025-06-04 10:57:13 +01:00
Andy Wilkinson 451c76e0dc Start building against Spring Security 6.3.10 snapshots
See gh-45761
2025-06-04 10:57:09 +01:00
Andy Wilkinson 479b7337cb Start building against Spring RESTDocs 3.0.4 snapshots
See gh-45760
2025-06-04 10:57:05 +01:00
Andy Wilkinson cb0b7efc89 Start building against Spring Pulsar 1.1.13 snapshots
See gh-45759
2025-06-04 10:57:00 +01:00
Andy Wilkinson 37a6c6dcfb Start building against Spring LDAP 3.2.13 snapshots
See gh-45758
2025-06-04 10:56:56 +01:00
Andy Wilkinson a497d953ce Start building against Spring Kafka 3.2.10 snapshots
See gh-45757
2025-06-04 10:56:52 +01:00
Andy Wilkinson b045c05ff5 Start building against Spring Integration 6.3.11 snapshots
See gh-45756
2025-06-04 10:56:48 +01:00
Andy Wilkinson 9b046b5246 Start building against Spring Framework 6.1.21 snapshots
See gh-45755
2025-06-04 10:56:43 +01:00
Andy Wilkinson 2095e83c27 Start building against Spring Data Bom 2024.0.13 snapshots
See gh-45754
2025-06-04 10:56:39 +01:00
Andy Wilkinson 7bdd3df7e1 Start building against Spring Authorization Server 1.3.7 snapshots
See gh-45753
2025-06-04 10:56:35 +01:00
Andy Wilkinson 869a05c768 Start building against Spring AMQP 3.1.12 snapshots
See gh-45752
2025-06-04 10:56:30 +01:00
Andy Wilkinson d05295df9f Start building against Reactor Bom 2023.0.19 snapshots
See gh-45751
2025-06-04 10:56:26 +01:00
Andy Wilkinson f9f14af13a Start building against Micrometer Tracing 1.3.13 snapshots
See gh-45750
2025-06-04 10:56:22 +01:00
Andy Wilkinson 3d510b2ed5 Start building against Micrometer 1.13.15 snapshots
See gh-45749
2025-06-04 10:56:17 +01:00
Andy Wilkinson 76caa3cb29 Fix problems found by improved auto-configuration checks 2025-06-02 17:15:50 -07:00
Andy Wilkinson 5464812f80 Improve checking of auto-configuration 2025-06-02 13:45:16 -07:00
Andy Wilkinson 5b2cb79bb1 Configure more version alignment for Spring Data dependencies
Closes gh-45698
2025-05-27 13:56:00 +01:00
Andy Wilkinson 425af4b5a9 Merge pull request #45642 from quaff
* gh-45642:
  Reuse properties from field

Closes gh-45642
2025-05-23 15:56:07 +01:00
Andy Wilkinson cd6b0fe7c3 Add to javadoc how applications can use Configurer classes
Closes gh-42878
2025-05-23 14:34:55 +01:00
Andy Wilkinson 1e47eb621e Merge pull request #45640 from ngocnhan-tran1996
* gh-45640:
  Make all @ConfigurationPropertiesBinding @Bean methods static
  Enforce static @ConfigurationPropertyBinding @Bean methods

Closes gh-45640
2025-05-23 14:19:07 +01:00
Andy Wilkinson 9a2d8c589e Clarify how to use Pushgateway auto-configuration
Closes gh-44392
2025-05-23 12:30:08 +01:00
Andy Wilkinson 7628ae8503 Check Kotlin code using Detekt
Closes gh-45583
2025-05-23 09:22:08 +01:00
Andy Wilkinson bdf0ef19a4 Correct docs for use of static with @ConfigurationPropertiesBinding
Closes gh-45621
2025-05-21 08:39:10 +01:00
Andy Wilkinson 5ed981df9c Migrate from gcr.io to docker.io for Paketo images
Closes gh-45609
2025-05-20 11:23:28 +01:00
Andy Wilkinson 13b95a5da8 Polish Cassandra health auto-configuration
The indicators that require Spring Data were removed. This commit
updates the auto-configuration ordering as there's no longer a need
for Spring Data Cassandra to have been auto-configured first. It also
simplifies the tests as Spring Data no longer needs to be considered.

Closes gh-45585
2025-05-16 12:46:32 +01:00
Andy Wilkinson 2bb4278f96 Use Framework's ResolvableType
Replace accidental use of Lettuce's class of the same name.

Closes gh-45561
2025-05-15 08:25:14 +01:00
Andy Wilkinson fe6f0a5905 Stop leaking a cache in Cache2kCacheMeterBinderProviderTests
Closes gh-45469
2025-05-09 14:30:28 +01:00
Andy Wilkinson 0ef29f002f Use junit-bom in buildSrc
Closes gh-45408
2025-05-09 08:43:16 +01:00
Andy Wilkinson 9582ac7991 Update test to check for correct health indicator type
Closes gh-45395
2025-05-08 15:57:16 +01:00
Andy Wilkinson a37d06a83f Remove unused config class from RestClientAutoConfigurationTests
Closes gh-45372
2025-05-06 13:36:43 +01:00
Andy Wilkinson 03d5c32ef4 Register for reflection fields backing JavaBean properties
Previously, the fields that back JavaBean properties were not
registered for reflection. In a native image, this meant that the
binding process did not find any annotations such as `@DataSizeUnit`
and `@DurationUnit` so any custom default unit was ignored.

Fixes gh-45343
2025-05-01 10:02:22 +01:00
Andy Wilkinson 669909efc0 Remove use of Security's FieldUtils
Closes gh-45322
2025-04-29 12:54:42 +01:00
Andy Wilkinson 44ce018d16 Merge pull request #45267 from yybmion
* gh-45267:
  Polish "Fix changelog generator missing directly removed properties"
  Fix changelog generator missing directly removed properties

Closes gh-45267
2025-04-25 15:52:55 +01:00
Andy Wilkinson 8869f769c1 Polish "Fix changelog generator missing directly removed properties"
See gh-45267
2025-04-25 15:51:29 +01:00
Andy Wilkinson c8c7632c1b Merge pull request #45286 from ahrytsiuk
* gh-45286:
  Update link to "Parameter Name Retention" wiki

Closes gh-45286
2025-04-25 15:11:36 +01:00
Andy Wilkinson f1fefc5ff6 Only set init param to disable Jersey when Jersey is present
Fixes gh-45289
2025-04-25 14:45:50 +01:00
Andy Wilkinson c420786eed Upgrade to Gradle 8.14 2025-04-25 14:33:32 +01:00
Andy Wilkinson 52c0e0af08 Ensure resolved bom is available before using it for Javadoc links 2025-04-24 16:41:34 +01:00
Andy Wilkinson 3aa352a2cd Merge pull request #45202 from nosan
* gh-45202:
  Polish "Use ClassLoader with ArchitectureCheck"
  Use ClassLoader with ArchitectureCheck

Closes gh-45202
2025-04-17 15:47:15 +01:00
Andy Wilkinson 927e7dbf00 Polish "Use ClassLoader with ArchitectureCheck"
See gh-45202
2025-04-17 15:46:59 +01:00
Andy Wilkinson 6d18ea5e11 Merge pull request #45223 from ngocnhan-tran1996
* gh-45223:
  Polish "Avoid eager creation of aggregatedJavadoc task"
  Avoid eager creation of aggregatedJavadoc task

Closes gh-45223
2025-04-17 14:12:03 +01:00
Andy Wilkinson 21a9f4bbc5 Polish "Avoid eager creation of aggregatedJavadoc task"
See gh-45223
2025-04-17 14:11:54 +01:00
Andy Wilkinson b218e9d3db Merge pull request #45212 from nosan
* gh-45212:
  Polish "Fix parameter replacement when message matches its code"
  Fix parameter replacement when message matches its code

Closes gh-45212
2025-04-16 14:53:55 +01:00
Andy Wilkinson 9c5e608f50 Polish "Fix parameter replacement when message matches its code"
See gh-45212
2025-04-16 14:45:52 +01:00
Andy Wilkinson 3233341d45 Improve class conditions on auth server JWT auto-config
Prior to this change, introspection of the auto-configuration could
fail due to insufficient protection against missing classes.

This commit introduces an extra class-level check for Nimbus's
JWKSource which ensures that the auto-configuration backs off if
nimbus-jose-jwt has been excluded. It also introduces an inner-class
for the case where spring-security-oauth2-jose is not on the
classpath. This ensures that the method defining the jwtDecoder bean
does not cause an introspection failure when JwtDecoder is missing.

Closes gh-45177
2025-04-14 11:51:49 +01:00
Andy Wilkinson 4cfc3b0735 Add the use of token properties in documentation
Closes gh-44990
2025-04-14 10:37:57 +01:00
Andy Wilkinson 3580f1aa36 Polish "Add details of the purpose of the metrics endpoint"
See gh-44767
2025-04-10 10:08:02 +02:00
Andy Wilkinson 3e9dddb42c Allow data source class name to be specified when using Hikari
Closes gh-44938
2025-04-04 11:14:47 +01:00
Andy Wilkinson e9fff8150d Avoid triggering NPE in Hikari with null driverClassName
Previously, the post-processing of HikariDataSource to apply custom
connection details would trigger an NPE in Hikari if those details
supplied a null driverClassName.

This commit avoids the problem by only setting the driverClassName
when it is non-null.

Closes gh-44997
2025-04-04 09:14:44 +01:00
Andy Wilkinson cae3a92ead Fix NPE with Hikari when DatabaseDriver has null driverClassName
Fixes gh-44994
2025-04-04 08:38:27 +01:00
Andy Wilkinson 47ace6d49a Merge pull request #44951 from ali-jalaal
* gh-44951:
  Add reference to Styra (OPA) Spring Boot SDK

Closes gh-44951
2025-04-02 13:40:26 +01:00
Andy Wilkinson d36876752f Merge pull request #44942 from nosan
* gh-44942:
  Fix CassandraRepositoriesAutoConfigurationTests

Closes gh-44942
2025-04-02 11:24:24 +01:00
Andy Wilkinson f2f0b0cbcf Merge pull request #44949 from izeye
* gh-44949:
  Polish

Closes gh-44949
2025-04-02 10:16:15 +01:00
Andy Wilkinson a8381e7cbd Ensure that only spring-core's ReflectionUtils is used
Closes gh-44837
2025-04-01 10:30:58 +01:00
Andy Wilkinson d07cc59907 Polish security documentation
This commit updates the WebFlux security documentation, primarily to
link to reactive types rather than their Servlet-based equivalents.
It also attempts to clarify when a user details service is
auto-configured.

Closes gh-44955
2025-04-01 10:05:25 +01:00
Andy Wilkinson 6ad48639c2 Back port 246c4a2 to 3.3.x
The changes do not apply cleanly when cherry-picked so they
have been redone manually.

Closes gh-44941
2025-03-28 16:48:50 +00:00
Andy Wilkinson bed6ad3c43 Polish UserDetailsServiceAutoConfigurationTests
Closes gh-44939
2025-03-28 16:26:47 +00:00
Andy Wilkinson aab929d029 Polish ReactiveUserDetailsServiceAutoConfigurationTests
Closes gh-44934
2025-03-28 14:49:21 +00:00
Andy Wilkinson d1345c4d9e Address javadoc warnings in FileWatcherTests 2025-03-28 09:10:19 +00:00
Andy Wilkinson 7b29e6535d Move ErrorAttributesOptionsTests to correct package
Closes gh-44920
2025-03-27 19:52:44 +00:00
Andy Wilkinson 86d11c90e2 Allow dockerTest tasks to be run in parallel through configuration
Closes gh-44913
2025-03-26 19:25:05 +00:00
Andy Wilkinson 2f7d598f41 Check imported boms for unwanted dependency management
Closes gh-42523
2025-03-26 10:52:30 +00:00
Andy Wilkinson 9cd6af9ecf Polish CheckBom task 2025-03-26 09:15:01 +00:00
Andy Wilkinson 46a30e98bb Use ResolvedBom for bom checks
Closes gh-44897
2025-03-25 18:37:28 +00:00
Andy Wilkinson 95d89fba94 Remove no-longer-used effective bom artifact
Closes gh-44894
2025-03-25 17:53:23 +00:00
Andy Wilkinson 17be4bdb5f Use ResolvedBom as a source for AntoraAsciidocAttributes
Closes gh-44891
2025-03-25 17:30:28 +00:00
Andy Wilkinson 4f91d41666 Source version properties for Maven plugin tests from resolved bom
Closes gh-44886
2025-03-25 17:05:45 +00:00
Andy Wilkinson 7d9bbb685e Remove unused dependenciesBom configuration
Closes gh-44883
2025-03-25 16:34:34 +00:00
Andy Wilkinson 1047c2158a Use resolved bom as source of javadoc links
Closes gh-44878
2025-03-25 16:28:27 +00:00
Andy Wilkinson 7b2d90811d Rewrite process for documenting managed dependencies
Previously, managed dependencies were documented using Gradle's
dependency constraints. This has proven to be non-deterministic for
reasons that are not fully understood. The working theory is that
the constraints that are documented vary depending on the tasks
that the build has run at the point at which the constraints are
being examined and documented.

This commit replaces approach with one that builds a model of a
resolved bom by examining the configured bom extension and the
XML of the Maven boms that it imports. This model is written to
disk from where it can then be consumed as a dependency on other
projects. The existing tasks for documenting the constrained
versions and version properties have been rewritten to use the
resolved bom model instead.

Closes gh-44855
2025-03-25 14:44:34 +00:00
Andy Wilkinson 5f11a6d42e Upgrade to Spring WS 4.0.12
Closes gh-44564
2025-03-19 07:40:12 +00:00
Andy Wilkinson bffbf84354 Upgrade to Spring Security 6.3.8
Closes gh-44563
2025-03-19 07:40:12 +00:00
Andy Wilkinson 2fdbc037b1 Upgrade to Spring Kafka 3.2.8
Closes gh-44772
2025-03-19 07:40:12 +00:00
Andy Wilkinson a8e91fd885 Upgrade to Spring Integration 6.3.9
Closes gh-44771
2025-03-19 07:40:12 +00:00
Andy Wilkinson ee901486dc Upgrade to Logback 1.5.18
Closes gh-44770
2025-03-19 07:40:11 +00:00
Andy Wilkinson afce8b9a10 Upgrade to Jetty 12.0.18
Closes gh-44769
2025-03-19 07:40:11 +00:00
Andy Wilkinson a3a6a5ead9 Upgrade to Jetty Reactive HTTPClient 4.0.9
Closes gh-44768
2025-03-19 07:39:09 +00:00
Andy Wilkinson 6105c5e50f Polish javadoc of SqlR2dbcScriptDatabaseInitializer
Closes gh-44763
2025-03-18 19:26:14 +00:00
Andy Wilkinson 9b15b4bce9 Consolidate mock web server factories
Closes gh-44674
2025-03-12 15:26:47 +00:00
Andy Wilkinson 3a6e4e9e58 Add checks for factories files
META-INF/spring.factories and META-INF/spring/aot.factories in the
main source set are now checked. The checks verify that:

- Each class listed in the values exists in the source set's output
- The classes are listed alphabetically
- Nested classes are identified using their binary name

Closes gh-44676
2025-03-12 12:44:18 +00:00
Andy Wilkinson ad9f0a6164 Make logging system factory ordering more robust
Closes gh-44689
2025-03-12 12:42:28 +00:00
Andy Wilkinson 6f04cf032b Adapt test to change in Neo4j driver's internals
See gh-44690
2025-03-12 12:02:28 +00:00
Andy Wilkinson a35c04aad6 Upgrade to Neo4j Java Driver 5.28.3
Closes gh-44690
2025-03-12 11:51:00 +00:00
Andy Wilkinson e30ae372e3 Move resources into same packages as documentation tests
See gh-44639
2025-03-07 17:01:58 +00:00
Andy Wilkinson edf3cb1421 Position endpoint documentation tests alongside endpoint's auto-config
Closes gh-44639
2025-03-07 10:28:04 +00:00
Andy Wilkinson 67b0a26474 Improve structure of test resources in Actuator modules
Closes gh-44632
2025-03-06 18:31:35 +00:00
Andy Wilkinson c849cafc1b Further improve independence of core auto-configuration tests
See gh-44513
2025-03-06 11:12:49 +00:00
Andy Wilkinson 60624e8a56 Avoid problems with platform-specific line endings
See gh-44512
2025-03-05 20:07:43 +00:00