Commit Graph

141 Commits

Author SHA1 Message Date
Phillip Webb ee72caf7dc Drop `spring-boot-rest-client-test` dependency from test starter
See gh-46356
See gh-47322
2025-10-01 21:55:25 -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 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 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 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 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
Andy Wilkinson e2ba4dad2a Correct property in Session Data Redis smoke test
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
2025-09-30 17:03:55 +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
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
Andy Wilkinson 51b606e941 Polish 2025-09-24 12:47:09 +01:00
Stéphane Nicoll b7695200a9 Re-apply the upgrade to Log4j2 2.25.1
See gh-46372
See gh-46334
2025-09-24 12:13:54 +02:00
Moritz Halbritter 7689389349 Use correct nullable annotations in smoke tests
See gh-46926
2025-09-18 11:35:51 +02: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 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 8f0d87a964 Rename spring-boot-starter-aop to spring-boot-starter-aspectj
Closes gh-42948
2025-09-15 11:19:05 +02:00
Moritz Halbritter 634933b3e5 Polish nullability annotations
See gh-46926
2025-09-09 11:34:35 +02:00
Hyunsang Han 1b7d0b5755 Replace deprecated @Temporal with LocalDate
See gh-47015

Signed-off-by: Hyunsang Han <gustkd3@gmail.com>
2025-09-05 14:00:19 +02:00
Andy Wilkinson 7f7d5b157f Upgrade Kafka smoke test to use Jackson 3-based SerDe components
See gh-45535
2025-09-02 13:56:10 +01: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
Andy Wilkinson fe371aba17 Start building against Spring Framework 7.0.0-M9 snapshots
See gh-47008
2025-08-29 17:19:34 +01:00
Andy Wilkinson 50e5421467 Roll back to Log4j 2.24
This reverts:

 - 7a5e77fe67
 - 1590e4d2b3
 - 8cf0d17fbc

See gh-46334, gh-46372
2025-08-21 18:23:35 +01:00
Stéphane Nicoll 8cf0d17fbc Upgrade to Log4j2 2.25.1
Closes gh-46334
2025-08-21 16:54:01 +02:00
Phillip Webb ac2e6972d7 Provide configuration property to disable console logging
Add `logging.console.enabled` which when set will cause the
`logging.threshold.console` property to be set to `OFF`.

Closes gh-46592
2025-08-20 19:17:30 -07: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
Stéphane Nicoll 4a8dc3efd2 Upgrade to Jetty 12.1.0
Closes gh-46906
2025-08-19 14:29:50 +02: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
Moritz Halbritter c211b88594 Check for @NullMarked on packages
Projects which don't have JSpecify nullability annotations can opt out
by using

architectureCheck {
	nullMarked = false
}

in their build.gradle script.

See gh-46587
2025-08-13 13:27:48 +02:00
Moritz Halbritter 968b878752 Add nullability annotations to smoke-test/spring-boot-smoke-test-xml
See gh-46587
2025-08-13 11:50:57 +02:00
Moritz Halbritter 961f8e5e92 Add nullability annotations to smoke-test/spring-boot-smoke-test-websocket-undertow
See gh-46587
2025-08-13 11:50:57 +02:00
Moritz Halbritter 9dc74d5b23 Add nullability annotations to smoke-test/spring-boot-smoke-test-websocket-tomcat
See gh-46587
2025-08-13 11:50:57 +02:00
Moritz Halbritter 5c44a56ff4 Add nullability annotations to smoke-test/spring-boot-smoke-test-websocket-jetty
See gh-46587
2025-08-13 11:50:57 +02:00
Moritz Halbritter f6be051e78 Add nullability annotations to smoke-test/spring-boot-smoke-test-webservices
See gh-46587
2025-08-13 11:50:57 +02:00
Moritz Halbritter 342cd3603b Add nullability annotations to smoke-test/spring-boot-smoke-test-webflux
See gh-46587
2025-08-13 11:50:57 +02:00
Moritz Halbritter 31d8faa520 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-thymeleaf
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter e94cee4860 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-static
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 1981a9541b Add nullability annotations to smoke-test/spring-boot-smoke-test-web-secure-jdbc
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 8c7861f563 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-secure-custom
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 2a90172e7d Add nullability annotations to smoke-test/spring-boot-smoke-test-web-secure
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 097b0e9900 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-mustache
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 3b5bc3d4a9 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-method-security
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 0b83a73812 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-jsp
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 118cf3ac77 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-groovy-templates
See gh-46587
2025-08-13 11:50:56 +02:00
Moritz Halbritter 7810de86e1 Add nullability annotations to smoke-test/spring-boot-smoke-test-web-freemarker
See gh-46587
2025-08-13 11:50:56 +02:00