Commit Graph

681 Commits

Author SHA1 Message Date
Andy Wilkinson 9eb05ebb10 Create spring-boot-resttestclient and spring-boot-webtestclient modules
Create `spring-boot-resttestclient` and `spring-boot-webtestclient`
modules to hold test client auto-configuration and `TestRestTemplate`
code.

Previous these classes were contained in `spring-boot-resetclient-test`
and `spring-boot-webclient-test` which was incorrect since the `-test`
modules should hold code need to test the given modules, not supporting
test classes.

See gh-46356

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2025-10-09 22:12:39 -07:00
Andy Wilkinson 16d8878cd8 Support embedded web environment with @AutoConfigureWebTestClient
Simplify `WebTestClient` testing support by removing the direct
context customizer in favor of using `@AutoConfigureWebTestClient`.

See gh-46356
2025-10-09 22:11:44 -07:00
Andy Wilkinson 3bf53f8bf5 Introduce @AutoConfigureTestRestTemplate
Add `@AutoConfigureTestRestTemplate` which can be used to
auto-configure a `TestRestTemplate`.

See gh-46356
2025-10-09 22:09:36 -07:00
Andy Wilkinson da74dd92c9 Merge branch '3.5.x'
Closes gh-47439
2025-10-09 10:59:17 +01:00
Stéphane Nicoll 1754e2e909 Merge branch '3.5.x'
Closes gh-47440
2025-10-09 11:41:00 +02:00
Phillip Webb 2196f6da73 Revert "Ignore failing Spring Data JDBC tests"
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:25], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:25], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
This reverts commit c21293bb24.

Closes gh-47435
2025-10-08 18:20:16 -07:00
Phillip Webb c21293bb24 Ignore failing Spring Data JDBC tests
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:25], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:25], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
2025-10-08 13:10:17 -07:00
Stéphane Nicoll 6f1bcc4bfa Polish "Add support for Neo4j Java Driver 6.0.0"
See gh-47381
2025-10-07 11:37:25 +02:00
Gerrit Meier 2542430e5b Add support for Neo4j Java Driver 6.0.0
See gh-47381

Signed-off-by: Gerrit Meier <meistermeier@gmail.com>
2025-10-07 11:37:25 +02:00
Stéphane Nicoll 43b06ca9b9 Start building against Spring Data Bom 2025.1.0-RC1 snapshots
See gh-47394
2025-10-07 11:37:12 +02:00
Stéphane Nicoll 7db43ef820 Mark spring-web optional in spring-boot-rsocket
This commit moves the spring-web dependency from implementation to
optional. It also adds an api dependency to spring-web in the rsocket
starter.

The reasoning behind this change is that RSocket can be used without
spring-web, and we want to make sure that consumers of the dependency
can achieve that goal, as they were able to in previous versions.

However, we believe that most RSocket-based applications need spring-web
as, without it, only the simple and not efficient implementation of
RouterMatcher is available. With the addition of exception handling
using ControllerAdvice, this change makes also sure that it works out
of the box with the starter.

Closes gh-47409
2025-10-06 16:31:09 +02:00
Moritz Halbritter d97539bc46 Add nullability annotations to tests in module/spring-boot-data-couchbase-test
See gh-47263
2025-10-06 13:10:55 +02:00
Moritz Halbritter 8c25063273 Add nullability annotations to tests in module/spring-boot-liquibase
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter 489336255a Add nullability annotations to tests in module/spring-boot-ldap
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter fde0ae4ac9 Add nullability annotations to tests in module/spring-boot-kotlin-serialization
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter 643f6112c7 Add nullability annotations to tests in module/spring-boot-kafka
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter 4bf6fcefab Add nullability annotations to tests in module/spring-boot-jsonb
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter 9d85c379bd Add nullability annotations to tests in module/spring-boot-jpa-test
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter 9d63a74bbc Add nullability annotations to tests in module/spring-boot-jpa
See gh-47263
2025-10-06 13:07:58 +02:00
Moritz Halbritter f059a953d3 Add nullability annotations to tests in module/spring-boot-jooq-test
See gh-47263
2025-10-06 13:07:57 +02:00
Moritz Halbritter 1f293cc653 Add nullability annotations to tests in module/spring-boot-jooq
See gh-47263
2025-10-06 13:07:57 +02:00
Moritz Halbritter 49c7546662 Add nullability annotations to tests in module/spring-boot-jms
See gh-47263
2025-10-06 13:07:57 +02:00
Moritz Halbritter c92617a015 Add nullability annotations to tests in module/spring-boot-jetty
See gh-47263
2025-10-06 13:07:57 +02:00
Andy Wilkinson a9bf744b68 Fix Docker test configuration in spring-boot-data-couchbase-test
See gh-47322
2025-10-06 11:38:45 +01:00
Moritz Halbritter b503ad3a9a Add nullability annotations to tests in module/spring-boot-jdbc-test
See gh-47263
2025-10-06 12:03:58 +02:00
Moritz Halbritter a350ead232 Add nullability annotations to tests in module/spring-boot-data-redis-test
See gh-47263
2025-10-06 12:03:58 +02:00
Moritz Halbritter 55a97aa7ad Add nullability annotations to tests in module/spring-boot-data-r2dbc-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter 06dd6aec3c Add nullability annotations to tests in module/spring-boot-data-neo4j-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter a1038a5e64 Add nullability annotations to tests in module/spring-boot-data-mongodb-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter 99f8c4cd0d Add nullability annotations to tests in module/spring-boot-data-ldap-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter 2edd8f9d62 Add nullability annotations to tests in module/spring-boot-data-jpa-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter 3353090bc6 Add nullability annotations to tests in module/spring-boot-data-jdbc-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter ad22bc033f Add nullability annotations to tests in module/spring-boot-data-jdbc
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter dee42bfe2d Add nullability annotations to tests in module/spring-boot-data-elasticsearch-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter 307dc1c477 Add nullability annotations to tests in module/spring-boot-data-couchbase-test
See gh-47263
2025-10-06 12:03:57 +02:00
Moritz Halbritter 64aad6d060 Add nullability annotations to tests in module/spring-boot-data-cassandra-test
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter 0f41e906b9 Add nullability annotations to tests in module/spring-boot-cache-test
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter c65a259637 Add nullability annotations to tests in module/spring-boot-batch-jdbc
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter e4a58a53d0 Add nullability annotations to tests in module/spring-boot-jdbc
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter 34a8e1bd82 Improve null-safety of module/spring-boot-jdbc
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter af941e0a9a Add nullability annotations to tests in module/spring-boot-jackson
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter 7f225a8df5 Add nullability annotations to tests in module/spring-boot-integration
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter cae3fb578c Add nullability annotations to tests in module/spring-boot-http-converter
See gh-47263
2025-10-06 12:03:56 +02:00
Moritz Halbritter f175d132b3 Add nullability annotations to tests in module/spring-boot-http-codec
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter 2ca6703f55 Add nullability annotations to tests in module/spring-boot-http-client
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter f59fc4020a Add nullability annotations to tests in module/spring-boot-hibernate
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter 80c384e92c Add nullability annotations to tests in module/spring-boot-health
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter 0634c11eee Add nullability annotations to tests in module/spring-boot-hazelcast
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter bf075ec89c Add nullability annotations to tests in module/spring-boot-hateoas
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter f74ed943e5 Add nullability annotations to tests in module/spring-boot-h2console
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter 80436abbb6 Add nullability annotations to tests in module/spring-boot-gson
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter 09311ff44e Add nullability annotations to tests in module/spring-boot-groovy-templates
See gh-47263
2025-10-06 12:03:55 +02:00
Moritz Halbritter 9f1e033caf Add nullability annotations to tests in module/spring-boot-graphql-test
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter 4854fec275 Add nullability annotations to tests in module/spring-boot-graphql
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter e83ad75d3e Add nullability annotations to tests in module/spring-boot-freemarker
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter 657c537cc2 Add nullability annotations to tests in module/spring-boot-flyway
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter 1d4b9d372f Add nullability annotations to tests in module/spring-boot-elasticsearch
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter e878db0abf Add nullability annotations to tests in module/spring-boot-devtools
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter 58e2f9c872 Improve null-safety of module/spring-boot-devtools
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter 1023ed65a6 Add nullability annotations to tests in module/spring-boot-data-rest
See gh-47263
2025-10-06 12:03:54 +02:00
Moritz Halbritter 266f9c44e0 Add nullability annotations to tests in module/spring-boot-data-redis
See gh-47263
2025-10-06 12:03:53 +02:00
Moritz Halbritter 3fdc1db7ce Add nullability annotations to tests in module/spring-boot-data-r2dbc
See gh-47263
2025-10-06 12:03:53 +02:00
Stéphane Nicoll 485180df4f Polish "Register controller advices to RSocket messaging"
See gh-45360
2025-10-06 11:29:16 +02:00
Dmitry Sulman 94fce6f689 Register controller advices to RSocket messaging
See gh-45360

Signed-off-by: Dmitry Sulman <dmitry.sulman@gmail.com>
2025-10-06 11:24:35 +02:00
Stéphane Nicoll 3f2e1b2466 Polish "Include /fonts/** to common static locations"
See gh-46208
2025-10-06 08:51:17 +02:00
Shahab Kondri 74daedff76 Include /fonts/** to common static locations
This commit updates StaticResourceLocation to include a new entry for
the common locations of fonts. As a result,
StaticResourceRequest#atCommonLocations now includes /fonts/** as well.

See gh-46208

Signed-off-by: Shahab Kondri <shahab.kondri@gmail.com>
2025-10-06 08:40:57 +02:00
Stéphane Nicoll 169b1b10b0 Allow CodecCustomizer to be used out-of-the-box with WebFlux
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-47397
2025-10-05 08:55:19 +02:00
Stéphane Nicoll 1e4cc948f2 Polish "Validate node configuration with static master replica"
See gh-47401
2025-10-05 08:26:17 +02:00
NeatGuyCoding 4fd9626854 Validate node configuration with static master replica
See gh-47401

Signed-off-by: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com>
2025-10-05 08:20:38 +02:00
Stéphane Nicoll 871f82d116 Polish "Auto-configure observation of Redis with Lettuce"
See gh-46975
2025-10-03 14:45:12 +02:00
Đặng Minh Dũng 0187b77761 Auto-configure observation of Redis with Lettuce
See gh-46975

Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>
2025-10-03 14:26:19 +02:00
Andy Wilkinson 6ee519ec57 Disable test when Docker is not running 2025-10-03 12:29:30 +01:00
Andy Wilkinson 92fe4c55f7 Resolve MariaDB and MySQL dialects through DB query
Spring Data JDBC has deprecated its INSTANCE constants in its MariaDB
and MySQL dialects as the required configuration for the dialect
varies depending on the configuration of the DB.

This commit adapts to this deprecation by changing Boot's
DataJdbcDatabaseDialect to resolve the underlying dialect through a
DB query for its MARIA and MYSQL values.

Closes gh-46062
2025-10-03 09:37:56 +01:00
Stéphane Nicoll fbcc1fdec6 Polish "Add support for static master-replica with Lettuce"
See gh-46957
2025-10-03 10:03:54 +02:00
facewise c280fdefe8 Add support for static master-replica with Lettuce
See gh-46957

Signed-off-by: 용현 <dydguskim@gripcorp.co>
2025-10-03 09:05:14 +02:00
Brian Clozel 319e462cba Use new Jetty CompressionHandler
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Prior to this commit, our Jetty support for compression was using the
`GzipHandler` which is deprecated as of Jetty 12.1.
This commit adds two new dependencies to the module and uses the new
`CompressionHandler` with the `GzipCompression` algorithm.

Closes gh-47134
2025-10-02 22:02:49 +02:00
Moritz Halbritter aa06ab1e25 Add nullability annotations to tests in module/spring-boot-data-neo4j
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter 09967b1a5d Add nullability annotations to tests in module/spring-boot-data-mongodb
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter 5c0d2ee180 Add nullability annotations to tests in module/spring-boot-data-ldap
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter bb19585601 Add nullability annotations to tests in module/spring-boot-data-jpa
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter f2c2d19a9c Add nullability annotations to tests in module/spring-boot-data-jdbc
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter 3db8b5fb26 Add nullability annotations to tests in module/spring-boot-data-elasticsearch
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter e313624263 Add nullability annotations to tests in module/spring-boot-data-couchbase
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter af2436de84 Add nullability annotations to tests in module/spring-boot-data-commons
See gh-47263
2025-10-02 15:35:05 +02:00
Moritz Halbritter 4a62872d63 Add nullability annotations to tests in module/spring-boot-data-cassandra
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter f5d6bea934 Add nullability annotations to tests in module/spring-boot-couchbase
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter 419d78b359 Add nullability annotations to tests in module/spring-boot-cloudfoundry
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter b6950f8fb0 Add nullability annotations to tests in module/spring-boot-cassandra
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter f8ce17c751 Add nullability annotations to tests in module/spring-boot-cache
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter 4a30228978 Add nullability annotations to tests in module/spring-boot-batch
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter f3df45ace1 Add nullability annotations to tests in module/spring-boot-artemis
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter 3aaf4b7b0a Add nullability annotations to tests in module/spring-boot-amqp
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter 4af0d6d747 Add nullability annotations to tests in module/spring-boot-actuator-autoconfigure
See gh-47263
2025-10-02 15:35:04 +02:00
Moritz Halbritter 3c3726b89e Improve null-safety of module/spring-boot-actuator-autoconfigure
See gh-47263
2025-10-02 15:35:03 +02:00
Brian Clozel 92ee73df30 Deprecate HttpMessageConverters for Framework's
Prior to this commit, Spring Boot had an  `HttpMessageConverters` class
that allowed, to configure message converter instances for MVC server
applications and traditional Spring HTTP clients.

As of Spring Framework 7.0, Framework ships its own
`HttpMessageConverters` class, aligning with the existing codecs
configuration on the WebFlux side. As a result, a few methods taking
`List<HttpMessageConverter>` as arguments were deprecated in favor of
the new arrangement.

This commit adapts to the Framework changes by deprecating Boot's
`HttpMessageConverters` in favor of Framework's. This splits the client
and server configuration as they are meant to be managed separately.
Applications can still contribute `HttpMessageConverters` (Boot's
variant) beans but the type itself is now deprecated.
Instead, applications should now contribute
`ClientHttpMessageConvertersCustomizer` and
`ServerHttpMessageConvertersCustomizer` beans to customize message
converters.

Closes gh-46411
2025-10-02 15:22:13 +02:00
Moritz Halbritter 4c8cabcb3a Upgrade to JUnit Jupiter 6.0.0
Closes gh-47383
2025-10-02 14:20:04 +02:00
Moritz Halbritter 9bb62a074b Add nullability annotations to tests in module/spring-boot-actuator
See gh-47263
2025-10-02 11:59:32 +02:00
Moritz Halbritter fe975214cd Add nullability annotations to tests in module/spring-boot-activemq
See gh-47263
2025-10-02 11:58:23 +02:00
Andy Wilkinson ee2730ca8d Stop an ObjectMapper from causing JsonMapper auto-config to back off
Previously, the auto-configured JsonMapper would back off when any
type of ObjectMapper was defined. Updating this was missed as part
of the move to Jackson 3 where both Boot and Framework now intend to
use the more specific JsonMapper type.

This commit updates the condition such that a JsonMapper will still
be auto-configured when any other type of ObjectMapper is definied.
It will now only back off when a JsonMapper bean is defined.

Closes gh-47379
2025-10-02 09:30:26 +01:00
Stéphane Nicoll b28d390c69 Rationalize SSL bundles in RedisConnectionDetails
This commit exposes a single ssl bundle rather than a specific bundle
for each of the three supported modes.

Closes gh-47375
2025-10-02 10:00:07 +02:00
Stéphane Nicoll e7ffa33d65 Remove unused file 2025-10-02 09:44:38 +02:00
Phillip Webb dadfd9a35d Add classic test starter
See gh-46356
See gh-47322
2025-10-01 21:55:38 -07:00
Phillip Webb 0ae23de2b5 Refine test module dependencies
See gh-46356
See gh-47322
2025-10-01 21:55:14 -07:00
Phillip Webb 2a521ce4e9 Remove `spring-boot-web-server-test` module
Remove the `spring-boot-web-server-test` module, adding
`SpringBootTestRandomPortContextCustomizerFactory` to
`spring-boot-web-server` as a replacement for
`SpringBootTestRandomPortApplicationListener`.

See gh-46356
See gh-47322
2025-10-01 21:54:54 -07:00
Phillip Webb 3cced515ce Remove unused HTML Unit classes
Remove `LocalHostWebClient` and `LocalHostWebConnectionHtmlUnitDriver`
in favor of `BaseUrl` versions.

See gh-46356
See gh-47322
2025-10-01 21:54:44 -07:00
Phillip Webb 279de9e807 Migrate to `BaseUrlUriTemplateHandler`
Remove `LocalHostUriTemplateHandler` and migrate existing code to use
`BaseUrlUriTemplateHandler`.

See gh-46356
See gh-47322
2025-10-01 21:54:32 -07:00
Phillip Webb 97c89b480f Move `@LocalServerPort` and `@LocalManagementServerPort`
Move `@LocalServerPort` and `@LocalManagementServerPort` back to
`spring-boot-test`. The should help reduce upgrade pain since these
annotations are fairly commonly used. It also removes the need for
depending on `spring-boot-webserver-test`.

This is slight compromise with the module structure, since the
web-server module usually contributes the properties referenced
by the annotations.

See gh-46356
See gh-47322
2025-10-01 21:53:58 -07:00
Phillip Webb 82795f9966 Move `DisableReactorResourceFactory...` to spring-boot-test
Move `DisableReactorResourceFactoryGlobalResources...` support from
`spring-boot-web-server-test` back to `spring-boot-test` since it's
useful if Reactor Netty is being used directly and removes the need
for the `spring-boot-web-server-test` dependency.

See gh-46356
See gh-47322
2025-10-01 21:53:35 -07:00
Phillip Webb 7c8a15629b Remove `spring-boot-web-server-test` usage
Remove `spring-boot-web-server-test` usage from the
`spring-boot-webflux-test` module.

See gh-46356
See gh-47322
2025-10-01 21:52:55 -07:00
Phillip Webb ef37765625 Add `BaseUrl` backed HTTP Unit support classes
Add new HTML Unit support classes that use `BaseUrlProviders`
to find the `BaseUrl`.

See gh-46356
2025-10-01 21:51:58 -07:00
Phillip Webb bba56ffc8b Move `RestTestClientBuilderCustomizer` to `spring-boot-test`
Relocate `RestTestClientBuilderCustomizer` to `spring-boot-test`
and break the direct link to web-server by making use of
`spring.factories` and the new `BaseUrlProviders` class.

See gh-46356
2025-10-01 21:51:20 -07:00
Phillip Webb 6f909114e7 Move `WebTestClientBuilderCustomizer` to `spring-boot-test`
Relocate `WebTestClientBuilderCustomizer` to `spring-boot-test`
and break the direct link to web-server and http-codec by making
use of `spring.factories` and the new `BaseUrlProviders` class.

A new `spring-boot-test-integration-test` module has also been
added to ensure hold the previous tests.

See gh-46356
2025-10-01 21:50:13 -07:00
Phillip Webb 79091f926d Introduce `BaseUrl` and `BaseUrlProvider`
Add the concept of a `BaseUrl` to the core `spring-boot-test`
module for use when making test HTTP calls. The web server module
provides `BaseUrlProvider` implementations that provide the actual
base URL (usually `https://localhost:<local-server-port>`).

Test utilities will be able to use `BaseUrlProviders` to find the
`BaseUrl`.

See gh-46356
2025-10-01 21:46:28 -07:00
Phillip Webb 155e3bd5e6 Relocate `@AutoConfigureDataSourceInitialization`
Relocate `@AutoConfigureDataSourceInitialization` from
`spring-jdbc-test` to `spring-boot-test-autoconfigure`. This change
allows Flyway and Liquibase to respond to the annotation without
the user needing to remember the `spring-jdbc-test` dependency.

This is especially important for R2DB applications which may
still be using Flyway or Liquibase for migrations and will
want them to apply during tests.

See gh-46356
See gh-47322
2025-10-01 21:43:13 -07:00
Phillip Webb 8008076e04 Remove spring-boot-json-test module
Remove spring-boot-json-test module and spread code between
`spring-boot-test`, `spring-boot-test-autoconfigure` and JSON
technology modules.

See gh-46356
See gh-47322
2025-10-01 21:42:18 -07:00
Phillip Webb 4b2d358384 Refine spring-boot-test-autoconfigure dependencies
Make `spring-boot-test-autoconfigure` optionally depend on
`spring-boot-autoconfigure` so that it can be an `api` dependency
for `*-test` modules. Also relocate it to core.

See gh-47322
2025-10-01 21:41:55 -07:00
Phillip Webb 17e655b7e5 Relocate `@PropertyMapping` to spring-boot-test
Move `@PropertyMapping` and supporting code from the
`spring-boot-test-autoconfigure` module to `spring-boot-test`
since it's generally applicable.

See gh-46356
See gh-47322
2025-10-01 21:41:03 -07:00
Phillip Webb 2b3a8ff647 Relocate `@TypeExcludeFilters` to spring-boot-test
Move `@TypeExcludeFilters` and supporting code from the
`spring-boot-test-autoconfigure` module to `spring-boot-test`
since it's generally applicable.

See gh-46356
See gh-47322
2025-10-01 21:39:34 -07:00
Phillip Webb 36732bd74a Polish 2025-10-01 17:21:00 -07:00
Phillip Webb 352925bbe8 Polish @Since tags 2025-10-01 17:10:30 -07:00
Phillip Webb 08a641c1a2 Polish whitespace in gradle files 2025-10-01 11:40:03 -07:00
Andy Wilkinson 26364c27e2 Rename …DataAutoConfiguration to Data…AutoConfiguration
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-47049
2025-10-01 17:39:08 +01:00
Stéphane Nicoll 787840735b Add support for RestTestClient
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:25], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
This commit adds support for RestTestClient for MockMvc and integration
tests.

Closes gh-47335
2025-10-01 09:04:59 +02:00
Andy Wilkinson 7a595f1b83 Rename properties for Spring Session Data MongoDB and Data Redis
Closes gh-47333
2025-09-30 15:46:46 +01:00
Stéphane Nicoll 4f6bbac13e Add support for in-memory Batch infrastructure
This commit moves the existing JDBC-based Spring Batch infrastructure
to a new 'spring-boot-batch-jdbc' module, while the existing module
only offers in-memory (aka resourceless) support.

The commit also updates the reference guide to provide some more
information about what's available and how to use it.

Closes gh-46307
2025-09-29 15:00:52 +02:00
Stéphane Nicoll 8c5a25ee5c Merge branch '3.5.x'
Closes gh-47347
2025-09-29 10:23:29 +02:00
Andy Wilkinson 990644919a Make all TypeExcludeFilters package-private
Closes gh-47227
2025-09-26 11:08:53 +01:00
Andy Wilkinson 0959271061 Move jackson read and write to spring.jackson.json
The spring.jackson.read and spring.jackson.write properties are
JSON-specific. To make this more clear, this commit moves them
beneath spring.jackson.json. This also paves the way for
spring.jackson.cbor and spring.jackson.xml properties for CBOR- and
XML-specific settings should we add auto-configuration for XMLMapper
and/or CBORMapper in the future.

Closes gh-47328
2025-09-26 10:01:59 +01:00
Andy Wilkinson 8c7e0c675f Move Jackson datetime property beneath datatype
Closes gh-47327
2025-09-26 09:04:06 +01:00
Andy Wilkinson 0b601118bd Modularize spring-boot-test
Closes gh-46356
2025-09-25 17:24:12 +01:00
Andy Wilkinson 5348880b69 Modularize spring-boot-test-autoconfigure
This commit modularizes spring-boot-test-autoconfigure. It now
contains only the code that's central to test auto-configuration.
Feature-specific functionality has moved out into -test modules,
some existing and some newly created. For example, `@DataJpaTest` can
now be found in spring-boot-data-jpa-test.

Closes gh-47322
2025-09-25 13:11:35 +01:00
Brian Clozel 1cd14c96a5 Configure ProblemDetailJacksonMixin on JsonMapper
Prior to this commit, Spring Boot would use Framework's
`Jackson2ObjectMapperBuilder` to configure the `ObjectMapper` instance.
This builder would configure the `ProblemDetail` mixin automatically.

With the introduction of Jackson 3.x support, Spring Framework removed
its builder in favor of the native Jackson builder. As a result, the
mixin is not registered with the `JsonMapper` aymore.

This commit ensures that the mixin is registered if the `ProblemDetail`
class is present in the classpath.

Closes gh-47298
2025-09-24 14:29:09 +02:00
Andy Wilkinson 51b606e941 Polish 2025-09-24 12:47:09 +01:00
Phillip Webb dc341edfdd Add config prop to enabled/disable Elasticsearch sniffer
Closes gh-47301

Co-Authored-By: Andy Wilkinson <andy.wilkinson@broadcom.com>
2025-09-23 08:28:51 +01:00
Stéphane Nicoll 14703cbafd Revert "Remove mentions of JUnit 4"
This reverts commit 3b98af30f5.

See gh-47228
2025-09-19 17:05:00 +02:00
Stéphane Nicoll 3b98af30f5 Remove mentions of JUnit 4
This commit removes all mentions of JUnit 4 from the Javadoc and
reference documentation. It also harmonizes to simply refers to JUnit.

Closes gh-47228
2025-09-19 15:29:11 +02:00
Phillip Webb c1d51f8687 Remove Bitnami support
Closes gh-47267
2025-09-18 14:41:16 -07:00
Phillip Webb 255ea92a57 Add `HttpClientTransport` factory support
Update `JettyClientHttpRequestFactoryBuilder` and
`JettyClientHttpConnectorBuilder` with support for create the
`HttpClientTransport` from a factory function.

Closes gh-47251
2025-09-18 14:02:18 -07:00
Phillip Webb 2cf854c5b6 Polish 2025-09-18 13:29:47 -07:00
Stéphane Nicoll 2e76cda4ba Upgrade to Flyway 11.13.1
Closes gh-47261
2025-09-18 03:36:34 +02:00
Phillip Webb fc68b001d8 Remove `isImmutable` and `getPrefix` from `OriginLookup`
Drop `isImmutable` and `getPrefix` from `OriginLookup` since
they're not really Origin concerns. Now that `env` is a
foundational layer we can add a dedicated `PropertySourceInfo`
interface and add that to the `o.s.b.env` package without
creating a package tangle.

Closes gh-45547
2025-09-17 14:57:33 -07:00
Phillip Webb 1acda68d39 Relocate `AnsiOutputApplicationListener`
Move `AnsiOutputApplicationListener` from `o.s.b.context.config`
to `o.s.b.support` since it's more of a supporting class than a
context concern.

See gh-47232
2025-09-17 14:57:32 -07:00
Phillip Webb 6c84674c33 Relocate `EnvironmentPostProcessor` and implementations out of `env`
Move the `EnvironmentPostProcessor` from `org.springframework.boot.env`
to `org.springframework.boot` so that we can make the `env` package
foundational.

Most `EnvironmentPostProcessor` implementation has also been relocated
to a new `org.springframework.boot.support` package.

See gh-47232
2025-09-17 14:57:10 -07:00
Phillip Webb 4ebf09ad12 Restructure bootstrap classes to a foundational layer
Move bootstrap code from `org.springframework.boot` to
`org.springframework.boot.bootstrap` and make them a foundational
layer.

This move helps reduce `org.springframework.boot.context.config`
dependencies to `org.springframework.boot`.

See gh-47232
2025-09-17 14:57:10 -07:00
Stéphane Nicoll 35bceeead2 Merge branch '3.5.x'
Closes gh-47254
2025-09-17 15:36:10 +02:00
Stéphane Nicoll aebecb3007 Polish contribution
See gh-47229
2025-09-17 15:04:35 +02:00
Kevin Zittritsch 2314d15430 Add configuration property for Tomcat's static resource cache max size
See gh-47229

Signed-off-by: Kevin Zittritsch <kevin.zittritsch@vtinfo.com>
2025-09-17 15:02:32 +02:00
Stéphane Nicoll cdd39bafd7 Introduce spring-boot-persistence
This commit adds a spring-boot-persistence module with data technology
independent features. This provides a better home for EntityScan and
PersistenceExceptionTranslationAutoConfiguration.

Closes gh-45328
2025-09-17 14:42:22 +02:00
Stéphane Nicoll 297b4dfe70 Upgrade to Flyway 11.13.0
Closes gh-47239
2025-09-17 08:51:14 +02:00
Phillip Webb ff83fea96e Adapt to upstream Spring Batch changes
See gh-47001
2025-09-16 11:32:15 -07:00
Phillip Webb 74a5d13fe9 Polish HTTP Service client auto-configuration 2025-09-16 09:08:34 -07:00
Moritz Halbritter 96afc3f944 Introduce specialized interfaces in PropertiesConfigAdapter
Closes gh-47226
2025-09-16 10:18:21 +02:00
Moritz Halbritter 641b72db65 Make SanitizableData.key non-nullable
Closes gh-47220
2025-09-16 08:48:01 +02:00
Phillip Webb 8651e971ea Replace `TomcatStarter` to break servlet dependency
Replace `TomcatStarter` with a `DeferredStartupExceptions` interface
to break the direct dependency on `Servlet`.

Closes gh-44325
2025-09-15 20:03:05 -07:00
Phillip Webb 336e7de9fc Add `with` methods to apply pre-packaged customizations
Add `with` methods to `HttpRequestFactoryBuilder` and
`ClientHttpConnectorBuilder` that operate in a similar way to the
`WebClient.Builder.apply(...)` method.

Closes gh-47205
2025-09-15 16:45:10 -07:00
Phillip Webb e9c08b8dcc Merge branch '3.5.x'
Closes gh-47214
2025-09-15 13:59:16 -07:00
Stéphane Nicoll 4f18e5f1a8 Reinstate GraphQL tests
Closes gh-45392
2025-09-15 13:50:33 +02:00
Stéphane Nicoll 83ad15ba3b Enable liveness and readiness by default
Closes gh-22825
2025-09-15 11:33:34 +02:00
Stéphane Nicoll 07c18ea9f1 Migrate dependency management for Spring Authorization Server
With Spring Authorization Server migrating to Spring Security proper as
of v7, this commit removes dependency management for it and adapt to
changes in recent snapshots

Closes gh-47174
2025-09-14 06:43:54 +02:00
Stéphane Nicoll b3c38a30ae Start building against Spring Security 7.0.0-M3 snapshots
See gh-47199
2025-09-13 18:39:20 +02:00
Brian Clozel a6cf0365ce Revisit Kotlin Serialization integration
This commit removes the "kotlin-serialization" option from the
`spring.http.converters.preferred-json-mapper` and configures the kotlin
serialization http message converter ahead of the preferred JSON
converter.

This effectively makes Kotlin Serialization a converter that is
considered first for JSON support, and then Jackson/Jsonb/Gson is
considered as fallback.

Closes gh-47178
2025-09-12 18:05:23 +02:00
Andy Wilkinson 2dc80b4047 Move Prometheus code from s-b-actuator to s-b-micrometer-metrics
Closes gh-47175
2025-09-12 15:19:34 +01:00
Stéphane Nicoll 2532ae7e22 Adapt to snapshot change in Spring Data MongoDB
See https://github.com/spring-projects/spring-data-mongodb/issues/5054
See gh-47041
2025-09-12 11:41:24 +02:00
Stéphane Nicoll 629777b7c7 Upgrade to Pulsar 4.1.0
Closes gh-47170
2025-09-12 11:41:23 +02:00
Brian Clozel 6a55d7b49b Polishing contribition
Closes gh-46546
2025-09-10 20:53:40 +02:00
Dmitry Sulman c7621bb6be Introduce Kotlin Serialization auto-configuration
See gh-46546

Signed-off-by: Dmitry Sulman <dmitry.sulman@gmail.com>
2025-09-10 20:53:40 +02:00
Andy Wilkinson 4b0b9e5e36 Merge branch '3.5.x'
Closes gh-47151
2025-09-10 17:16:52 +01:00
Andy Wilkinson 652401b76c Polish message converter references relating to Jackson 3 upgrade
See gh-45535
2025-09-10 15:23:22 +01:00
Stéphane Nicoll d7c482aa16 Replace @OptionalParameter with JSpecify's @Nullable
This commit removes OptionalParameter in favor of the nullness support
introduced in Spring Framework 7. The parameter of an action can now
be flagged as optional using JSpecify's @Nullable, and simplifies the
setup for those who are using JSpecify as only a single annotation is
required.

Closes gh-45390
2025-09-10 15:01:43 +02:00
Stéphane Nicoll ee83ff5f6a Revert "Only support `@OptionalParameter` annotation with endpoint methods"
This reverts commit 450eb48303.

See gh-47136
2025-09-10 14:31:35 +02:00
Andy Wilkinson d0c742bc7b Merge branch '3.5.x'
Closes gh-47146
2025-09-10 12:51:51 +01:00
Andy Wilkinson d3a9bc54a7 Merge branch '3.5.x'
Closes gh-47143
2025-09-10 11:18:42 +01:00
Phillip Webb 450eb48303 Only support `@OptionalParameter` annotation with endpoint methods
Remove `@Nullable` support for optional endpoint method parameters in
favor of only supporting `@OptionalParameter`. The annotation processor
now also only supports `@OptionalParameter` detection.

Closes gh-47136
2025-09-09 13:00:50 -07:00
Andy Wilkinson e764878b6d Address some missed parts of the Jackson 3 migration
See gh-45535
2025-09-09 18:09:35 +01:00
Andy Wilkinson c86eb5298a Add configuration property for Jackson's DateTimeFeature
See gh-45535
2025-09-09 17:58:16 +01:00
Stéphane Nicoll 7a73925c90 Adapt AMQP auto-configuration to core retry semantics
This commit adapts the auto-configuration of AMQP message listeners
and RabbitTemplate moving away from Spring Retry.

One important change is that message listeners now only require a
RetryPolicy. To make the callback explicit, two customizers have been
introduced to clearly separate the scope of the customization:

* RabbitTemplateRetrySettingsCustomizer for the client-side and usage
of RabbitTemplate.
* RabbitListenerRetrySettingsCustomizer for message listeners.

Closes gh-47122
2025-09-09 16:55:34 +02:00
Stéphane Nicoll 4dc1b644fe Adapt to change in MongoDB's BigDecimal and UUID default representations
See https://github.com/spring-projects/spring-data-mongodb/issues/5037
See gh-47041
2025-09-09 16:25:26 +02:00
Moritz Halbritter 0fc1a40f3b Polish nullability annotations
See gh-46926
2025-09-09 15:08:44 +02:00
Moritz Halbritter 2e8428b760 Remove NullAway suppressions where possible
See gh-46926
2025-09-09 12:02:19 +02:00
Stéphane Nicoll 5ca904c17a Adapt to latest change in Spring Batch snapshots
See https://github.com/spring-projects/spring-batch/issues/4971
2025-09-09 10:36:55 +02:00
Stéphane Nicoll 5da4913122 Adapt Kafka auto-configuration to core retry semantics
This commit adapts the auto-configuration of retry topics to Spring
Kafka moving away from Spring Retry. The random property has been
removed in favor of the new jitter value and default values have been
made more explicit.

Closes gh-47125
2025-09-09 10:27:43 +02:00
Stéphane Nicoll 3e0e7cde68 Upgrade to Jetty 12.1.1
Closes gh-47131
2025-09-09 09:52:47 +02:00
Jonatan Ivanov 9e9e412335 Use isNoop() instead of Observation.NOOP
See gh-47072
2025-09-09 08:58:17 +02:00
Stéphane Nicoll 6207e41473 Remove auto-configuration support for '@HttpServiceClient'
This reverts commit 7a8b337b1c.

Closes gh-47123
2025-09-08 16:13:38 +02:00
Phillip Webb 239f384ac0 Update PropertyMapper to better support nullability
Refactor `PropertyMapper` so that it no longer calls adapter or
predicate methods by default when the source value is `null`. This
effectively makes all default calls the same as using
`alwaysWhenNotNull` in the previous generation of the code.

For the limited times when you do need to deal with `null` values, the
new `always()` method can be used.

For example,

	map.from(source::method).to(destination::method);

Will not call `destination.method(...)` if `source.method()` returns
`null`.

Where as:

	map.from(source::method).always().to(destination::method);

Will call  `destination.method(null)` if `source.method()` returns
`null`.

This update provides clearer semantics for the API and allows for better
JSpecify nullability annotations. It has also simplified much of our
existing property mapper code.

Closes gh-47024

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
2025-09-05 14:43:33 -07:00
Andy Wilkinson 8d2c090af8 Move MongoDB health support into spring-boot-mongodb
Previously the MongoDB health indicates used Spring Data's templates
(imperative and reactive) to access MongoDB. This prevented health
information from being available in apps using Mongo's Java Driver
directly.

This commit updates the health indicates so that they no longer
depend upon Spring Data MongoDB and instead using MongoDB's Java
Driver directly. As they no longer depend on Spring Data MongoDB,
the indicators have also moved from spring-boot-data-mongodb to
spring-boot-mongodb.

Closes gh-47051
2025-09-05 15:07:52 +01:00
Andy Wilkinson a977d260bd Add a property for Data MongoDB's BigDecimal representation
Closes gh-47041
2025-09-05 15:07:52 +01:00
Andy Wilkinson 1554c74c2a Rename spring.data.mongodb.uuid-representation
Closes gh-47052
2025-09-05 15:07:52 +01:00
Andy Wilkinson ab9feff7fa Use mongodb consistently in property names
Closes gh-47050
2025-09-05 15:07:52 +01:00
Andy Wilkinson 08c42701d9 Rename MongoDB properties that don't require Spring Data MongoDB
Previously, all configuration properties for MongoDB used the
prefix spring.data.mongodb irrespective of whether or not they
required Spring Data MongoDB.

This commit renames the properties that do not require Spring Data
MongoDB to use the prefix spring.mongodb.

Closes gh-34954
2025-09-05 15:07:52 +01:00
Moritz Halbritter 63adb82145 Merge branch '3.5.x'
Closes gh-47055
2025-09-05 14:17:39 +02:00
Maziyar Bahramian 4a888ca1db Rename ConditionalOnEnabledTracing to ConditionalOnEnabledTracingExport
See gh-47029

Signed-off-by: Maziyar Bahramian <maziyar.bahramian@gmail.com>
2025-09-05 13:36:16 +02:00
Phillip Webb 92c3d1835a Adapt to Spring Kafka BackOff updates
See gh-47004
2025-09-04 15:53:38 -07:00
Andy Wilkinson aa3bed5e28 Remove GridFS from MongoConnectionDetails
GridFS is a concept specific to Spring Data MongoDB while
MongoConnectionDetails provides general details for connecting to
MongoDB, with or without Spring Data MongoDB. As such GridFS does not
belong on MongoConnectionDetails and this commit removes it.

Support for configuring GridFS through properties remains.

Closes gh-47044
2025-09-04 18:01:18 +01:00
Andy Wilkinson 42c494caa2 Rename …DataProperties to Data…Properties
Closes gh-47043
2025-09-04 17:47:18 +01:00
Andy Wilkinson b888ba46da Revert "Merge branch '3.5.x'"
This reverts commit fc2700674e, reversing
changes made to b1b5880f48.

See gh-47038
2025-09-04 16:03:50 +01:00
Andy Wilkinson 86deef6abf Polish "Add support for Elasticsearch API-key-based authentication"
See gh-46167
2025-09-04 12:08:25 +01:00
Laura Trotta 9a70591f31 Add support for Elasticsearch API-key-based authentication
See gh-46167

Signed-off-by: Laura Trotta <laura.trotta@elastic.co>
2025-09-04 12:01:28 +01:00
Andy Wilkinson fc2700674e Merge branch '3.5.x'
Closes gh-47038
2025-09-04 11:05:08 +01:00
Andy Wilkinson b1b5880f48 Merge branch '3.5.x'
Closes gh-47036
2025-09-04 09:56:46 +01:00
Andy Wilkinson 023cbd42f0 Adapt to changes in Spring Integration's Graph
See gh-47010
2025-09-04 08:02:33 +01:00
Moritz Halbritter 96d096e2f9 Improve null-safety of module/spring-boot-micrometer-metrics
See gh-46926
2025-09-03 15:12:20 +02:00
Moritz Halbritter 8001061a3c Improve null-safety of module/spring-boot-cache
See gh-46926
2025-09-03 15:12:06 +02:00
Moritz Halbritter f51f872c28 Improve null-safety of module/spring-boot-actuator
See gh-46926
2025-09-03 15:11:53 +02:00
Andy Wilkinson d353038c58 Update Jackson support to require Jackson 3
Closes gh-45535
2025-09-02 11:37:09 +01:00
Andy Wilkinson 8bfb170ebc Remove support for Jersey
Spring Boot 4 requires Jakarta EE 11. Jersey 4 will support EE 11 but
its release schedule is uncertain. Furthermore, Jersey does not yet
support Jackson 3 and there's no clear timeline for when Jackson 3
will be supported.

In light of the above, this commit removes support for Jersey.
Reinstating support can be considered once there's a Jersey GA that
supports Jakarta EE 11 or its clear that one will be available in
time for Boot's GA in November. Ideally, support for Jackson 3 would
also be available before reinstating Jersey support.

Closes gh-47017
2025-09-02 11:36:52 +01:00
Maziyar Bahramian 6d3cb8eff7 Rename ScheduledTasksObservabilityAutoConfiguration to ScheduledTasksObservationAutoConfiguration
See gh-46995

Signed-off-by: Maziyar Bahramian <maziyar.bahramian@gmail.com>
2025-09-01 16:57:00 +02:00
Moritz Halbritter d618f6b1ec Merge branch '3.5.x'
Closes gh-47014
2025-09-01 16:10:16 +02:00
Moritz Halbritter 71ff804717 Adapt to Neo4j image changes
The image has been switched in 4761e13228
2025-09-01 15:51:00 +02:00
Moritz Halbritter 2c4d162f40 Polish "Optimize DevTools resource lookup performance"
See gh-46289
2025-09-01 10:52:38 +02:00
DongHoon Lee 3e41807e1d Optimize DevTools resource lookup performance
The resource resolver in DevTools can cause performance degradation
during application restarts in large projects. Key methods like
isDeleted() and getAdditionalResources() rely on nested loops, leading
to O(n*m) complexity.

This commit refactors ClassLoaderFiles to use a pre-computed, flattened
map. This provides O(1) complexity for direct lookups and allows for
efficient single-loop iteration.

The ClassLoaderFilesResourcePatternResolver is updated to leverage this
new, efficient structure:

- getFile() and size() are improved from O(n) to O(1).
- isDeleted() and getAdditionalResources() are improved from O(n*m) to
  O(m) by eliminating nested loops.
- Data consistency is maintained across all operations.

This optimization significantly improves restart performance with a
minimal memory footprint, while preserving the existing API and
exception handling behavior.

See gh-46289

Signed-off-by: DongHoon Lee <dhl1924@naver.com>
2025-09-01 10:52:37 +02:00
Andy Wilkinson fe371aba17 Start building against Spring Framework 7.0.0-M9 snapshots
See gh-47008
2025-08-29 17:19:34 +01:00
Moritz Halbritter db5680a79c Merge branch '3.5.x' 2025-08-28 14:04:26 +02:00
Moritz Halbritter 12bf4507d8 Remove suppressions for module/spring-boot-graphql
See gh-46926
2025-08-28 09:44:25 +02:00
Moritz Halbritter 3dba915c01 Improve null-safety of module/spring-boot-webflux
See gh-46926
2025-08-28 09:40:23 +02:00
Moritz Halbritter 89c64ef443 Only apply properties to GroovyMarkupConfigurer which are not null 2025-08-27 15:29:15 +02:00
Moritz Halbritter 011d42cb2a Improve null-safety of module/spring-boot-hibernate
See gh-46926
2025-08-27 15:18:29 +02:00
Moritz Halbritter f272fb6659 Improve null-safety of module/spring-boot-webclient
See gh-46926
2025-08-27 14:20:11 +02:00
Moritz Halbritter bab9cdb47f Improve null-safety of module/spring-boot-restclient
See gh-46926
2025-08-27 14:20:11 +02:00
Moritz Halbritter 3c01fdfeaa Improve null-safety of module/spring-boot-flyway
See gh-46926
2025-08-27 14:20:11 +02:00
Moritz Halbritter 303d4910bd Improve null-safety of module/spring-boot-webmvc
See gh-46926
2025-08-26 14:22:57 +02:00
Moritz Halbritter 74320454c9 Improve null-safety of module/spring-boot-graphql
See gh-46926
2025-08-26 14:22:57 +02:00
Moritz Halbritter 0d192347fd Improve null-safety of module/spring-boot-webflux
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 76157c77fa Improve null-safety of module/spring-boot-web-server
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 007720d28d Improve null-safety of module/spring-boot-tomcat
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter dcd25abcce Improve null-safety of module/spring-boot-security
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 99629d0d32 Improve null-safety of module/spring-boot-security-oauth2-resource-server
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 72e6ddd919 Improve null-safety of module/spring-boot-rsocket
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 26a35c9012 Improve null-safety of module/spring-boot-reactor-netty
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 6c288c9def Improve null-safety of module/spring-boot-r2dbc
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter 1157a30d06 Improve null-safety of module/spring-boot-pulsar
See gh-46926
2025-08-26 14:22:56 +02:00
Moritz Halbritter d744d8c497 Improve null-safety of module/spring-boot-observation
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 55443f7c44 Improve null-safety of module/spring-boot-mustache
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter eb14624047 Improve null-safety of module/spring-boot-mongodb
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 49d3bd32c4 Improve null-safety of module/spring-boot-metrics
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter f1ed5098a3 Improve null-safety of module/spring-boot-liquibase
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 3fa7c3a521 Improve null-safety of module/spring-boot-ldap
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 369b1e92f9 Improve null-safety of module/spring-boot-kafka
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 9d1b4897f1 Improve null-safety of module/spring-boot-jdbc
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 09b631d6c0 Improve null-safety of module/spring-boot-http-client
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 5f5443ea67 Improve null-safety of module/spring-boot-flyway
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter d9750462bc Improve null-safety of module/spring-boot-devtools
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 05ba546a09 Improve null-safety of module/spring-boot-cloudfoundry
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 31a9958a06 Improve null-safety of module/spring-boot-cassandra
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 39a91dda9d Improve null-safety of module/spring-boot-amqp
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 2907fec181 Improve null-safety of module/spring-boot-actuator
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 2e09df4e1a Improve null-safety of module/spring-boot-actuator-autoconfigure
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 43f5eb5f79 Improve null-safety of core/spring-boot
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 7ad90fb963 Improve null-safety of core/spring-boot-docker-compose
See gh-46926
2025-08-26 14:22:53 +02:00
Andy Wilkinson b42a060d0a Merge branch '3.5.x'
Closes gh-46943
2025-08-22 11:59:17 +01:00
Phillip Webb 7140be8751 Rename metrics, observation, and tracing modules
Rename modules to include 'micrometer'.

Closes gh-46925
2025-08-20 16:05:11 -07:00
Moritz Halbritter bd1df38ce0 Back off if spring-boot-opentelemetry is missing
Closes gh-46303
2025-08-20 13:52:38 +02:00
Andy Wilkinson 37342aff69 Merge branch '3.5.x'
Closes gh-46923
2025-08-20 11:32:02 +01:00
Brian Clozel 8c0051a02e Drop Undertow support
Spring Framework 7.0 requires a Servlet 6.1 baseline for Servlet containers.

Partial Servlet 6.1 support is available on the `main` Undertow branch,
but there isn't any milestone version available for the undertow 2.4
generation. At this stage of our 4.0 schedule, we think it's safer to drop
Undertow support now.

Closes: gh-46917
2025-08-20 09:30:40 +02:00
Phillip Webb 09eac5f7b4 Polish 'Support virtual threading with JDK HTTP clients'
See gh-46404
2025-08-19 22:26:39 -07:00
Sangmin Park e32e3359c2 Support virtual threading with JDK HTTP clients
Update JDK HTTP Clients so that the use virtual threads when
`Threading.VIRTUAL` is active.

See gh-46404

Signed-off-by: Sangmin Park <sangmins930@gmail.com>
2025-08-19 22:24:22 -07:00
Sangmin Park 53ff2de58e Use `Threading` for virtual thread support
See gh-46404

Signed-off-by: Sangmin Park <sangmins930@gmail.com>
2025-08-19 21:44:20 -07:00
Phillip Webb 7098c8e766 Fix types used in connector tests 2025-08-19 21:35:30 -07:00
Phillip Webb d307d57617 Apply HTTP Service Client properties and use fallback beans
Update service client configuration so that properties are always
applied when present. Any settings and factory/connector beans that
are present are now only used as fallbacks.

Fixes gh-46915
2025-08-19 17:21:22 -07:00
Andy Wilkinson fb8a8e5bb0 Make WebTestClient auto-config back off without CodecCustomizer
Fixes gh-46678
2025-08-19 17:46:06 +01:00
Stéphane Nicoll d3df5e4ef1 Merge branch '3.5.x'
Closes gh-46910
2025-08-19 16:35:49 +02:00
Stéphane Nicoll 088ef836c1 Polish "Upgrade to Jetty 12.1.0"
See https://github.com/jetty/jetty.project/issues/13483
See gh-46906
2025-08-19 15:08:31 +02:00
Stéphane Nicoll 4a8dc3efd2 Upgrade to Jetty 12.1.0
Closes gh-46906
2025-08-19 14:29:50 +02:00
Andy Wilkinson 7666a02247 Make default management security back off with Authorization server
Fixes gh-46841
2025-08-19 12:07:11 +01:00
Andy Wilkinson c762ba7264 Merge branch '3.5.x'
Closes gh-46892
2025-08-19 07:40:33 +01:00
Johnny Lim 12a99b0ca7 Polish
See gh-46878

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-08-18 18:11:50 +02:00
Stéphane Nicoll 4e425a9b4d Adapt to latest changes in Spring Security snapshots
See https://github.com/spring-projects/spring-security/issues/17746
2025-08-18 16:28:07 +02:00
Stéphane Nicoll 95c70324cf Fix order of additional metadata 2025-08-18 13:13:30 +02:00
Stéphane Nicoll b5b95b88c9 Review configuration properties
This commit reviews the configuration properties to fix a number of
oddities found in the first milestone:

* Additional configuration metadata file in the wrong location.
* Missing manual error metadata for removed properties

Closes gh-46535
2025-08-18 11:41:07 +02:00
Stéphane Nicoll 0da6bc5723 Ignore new property that can't be bound
See gh-46739
2025-08-18 11:03:29 +02:00
Phillip Webb 7a8b337b1c Add `@HttpServiceClient` scanning auto-configuration
Refactor `HttpServiceClientAutoConfiguration` and
`ReactiveHttpServiceClientAutoConfiguration` to support scanning for
`@HttpServiceClient` annotated interfaces.

Closes gh-46782
2025-08-15 18:48:38 -07:00
Phillip Webb 11c5a8c404 Upgrade to OpenSAML 5
Remove OpenSAML 4 build overrides and add Shibboleth Releases maven
repository so we can build against OpenSAML 5.

Closes gh-46851
2025-08-15 09:38:58 -07:00
Phillip Webb 094a8610da Merge branch '3.5.x'
Closes gh-46845
2025-08-14 14:46:33 -07:00
Moritz Halbritter 81d196bd9b Fix NullAway suppression in EntityManagerFactoryBuilder
See gh-46587
2025-08-13 14:46:32 +02:00
Moritz Halbritter fb429bcc1f Fix NullAway suppression in PulsarConfiguration
See gh-46587
2025-08-13 14:33:30 +02:00
Moritz Halbritter 7766ea5a7d Fix NullAway suppression in DataSourceHealthIndicator
See gh-46587
2025-08-13 14:26:20 +02:00
Stéphane Nicoll 8f44c89850 Merge branch '3.5.x'
Closes gh-46801
2025-08-12 11:27:56 +02:00
Stéphane Nicoll 94349f87e7 Use Nullness to determine if an endpoint parameter is optional
Closes gh-46593
2025-08-11 16:24:02 +02:00
Stéphane Nicoll f00dc9753b Drop support for javax.annotation.NonNull
Closes gh-46773
2025-08-11 15:18:10 +02:00
Dmytro Nosan 8fbceffd15 Use StringUtils.uriDecode where feasible
See gh-46751

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-11 10:58:11 +02:00
Stéphane Nicoll 0950e9d459 Merge branch '3.5.x'
Closes gh-46759
2025-08-10 16:13:42 +02:00
Stéphane Nicoll ad8ca01ca4 Upgrade to Pulsar 4.0.6
Closes gh-46745
2025-08-08 16:21:13 +02:00
Stéphane Nicoll e37dbf81eb Upgrade to Jetty 12.0.24
Closes gh-46741
2025-08-08 16:21:12 +02:00
Moritz Halbritter 17601b4fb0 Add nullability annotations to module/spring-boot-jackson
See gh-46587
2025-08-07 11:49:33 +02:00
Moritz Halbritter 3db5b57b86 Add nullability annotations to module/spring-boot-test-autoconfigure
See gh-46587
2025-08-07 11:49:33 +02:00
Moritz Halbritter 4d76f204e3 Add nullability annotations to module/spring-boot-devtools
See gh-46587
2025-08-07 10:48:45 +02:00
Moritz Halbritter b23a53020d Add nullability annotations to module/spring-boot-zipkin
See gh-46587
2025-08-07 10:48:45 +02:00
Moritz Halbritter 40a1429dea Add nullability annotations to module/spring-boot-websocket
See gh-46587
2025-08-07 10:48:45 +02:00
Moritz Halbritter 3998915359 Add nullability annotations to module/spring-boot-webservices
See gh-46587
2025-08-07 10:48:44 +02:00
Moritz Halbritter 279258f699 Add nullability annotations to module/spring-boot-webmvc
See gh-46587
2025-08-07 10:48:44 +02:00
Moritz Halbritter 9e63ff7005 Add more nullability annotations to module/spring-boot-cloudfoundry
See gh-46587
2025-08-07 10:48:44 +02:00
Moritz Halbritter 3dd8bf98bc Add nullability annotations to module/spring-boot-webflux
See gh-46587
2025-08-07 10:48:44 +02:00
Moritz Halbritter 840fc57d7a Add nullability annotations to module/spring-boot-webclient
See gh-46587
2025-08-07 10:48:43 +02:00
Stéphane Nicoll a648d9ede5 Polish "Use Kafka's StreamsBuilderFactoryBeanConfigurer"
See gh-46675
2025-08-07 09:53:50 +02:00
Dmytro Nosan a6668ca22e Use Kafka's StreamsBuilderFactoryBeanConfigurer
This commit removes Boot's StreamBuilderFactoryBeanCustomizer and
updates KafkaStreamsAnnotationDrivenConfiguration to use
Kafka's StreamsBuilderFactoryBeanConfigurer instead of the
nested class KafkaStreamsFactoryBeanConfigurer.

This aligns more closely with how configuration is typically applied.

See gh-46675

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-07 09:48:20 +02:00
Stéphane Nicoll d5f7423ba2 Merge branch '3.5.x'
Closes gh-46684
2025-08-06 16:43:29 +02:00
Moritz Halbritter 0479d6fd8a Add nullability annotations to module/spring-boot-web-server-test
See gh-46587
2025-08-06 13:55:38 +02:00
Moritz Halbritter 9a485959c4 Add nullability annotations to module/spring-boot-validation
See gh-46587
2025-08-06 13:40:40 +02:00
Moritz Halbritter e327eb7b45 Add nullability annotations to module/spring-boot-undertow
See gh-46587
2025-08-06 13:36:11 +02:00
Moritz Halbritter 89a5bfd607 Add nullability annotations to module/spring-boot-tracing
See gh-46587
2025-08-06 10:55:00 +02:00