Skip to content

chore: migrate to Spring Boot 4.0#1772

Open
javier-aliaga wants to merge 4 commits into
dapr:masterfrom
javier-aliaga:chore/springboot-4-migration
Open

chore: migrate to Spring Boot 4.0#1772
javier-aliaga wants to merge 4 commits into
dapr:masterfrom
javier-aliaga:chore/springboot-4-migration

Conversation

@javier-aliaga

@javier-aliaga javier-aliaga commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Description

Spring boot 3.x is about to reach EOL, moving default spring boot version to 4.0 for now, later we will introduce 4.1

Issue reference

We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.

Please reference the issue this PR will close: #[issue number]

Checklist

Please make sure you've completed the relevant tasks for this PR, out of the following list:

  • Code compiles correctly
  • Created/updated tests
  • Extended the documentation

Signed-off-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Javier Aliaga <javier@diagrid.io>
Signed-off-by: Javier Aliaga <javier@diagrid.io>
@javier-aliaga javier-aliaga marked this pull request as ready for review June 29, 2026 09:36
@javier-aliaga javier-aliaga requested review from a team as code owners June 29, 2026 09:36
@javier-aliaga

Copy link
Copy Markdown
Contributor Author

@dapr/maintainers-java-sdk would be nice to get feedback. I still need to decide what to do with the current 1.18

We deprecate SB 3.5 and we do updates on deps best effort and suggest people to move to SB 4. Shall we backport this to 1.18.x ?

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the repository’s Spring Boot integration surface to Spring Boot 4.x by consolidating previously SB4-suffixed packages/modules into the default Spring Boot path, updating example/test dependencies (including web + test client stacks), and adjusting CI to run the unified Spring Boot 4 integration suite.

Changes:

  • Consolidate Spring Boot 4 test/example code by removing SB4-specific module trees and renaming SB4-suffixed Java packages/artifacts to the default Spring Boot package names.
  • Update Spring Boot examples and SDK integration tests to use Spring Boot 4 dependency coordinates and newer testing/client APIs.
  • Update build pipeline to run integration tests against Spring Boot 4.0.5 and upload the correct reports.

Reviewed changes

Copilot reviewed 227 out of 227 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflowsConfiguration.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflowsApplication.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflowPayload.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestWorkflow.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestNamedActivitiesWorkflow.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TestExecutionKeysWorkflow.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/TaskExecutionIdActivity.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/SecondActivity.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/WorkflowsMultiAppCallActivityIT.java Update packages/imports and worker main-class strings to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/MultiAppWorkflow.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/MultiAppWorker.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App3Worker.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App3FinalizeActivity.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App2Worker.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/multiapp/App2TransformActivity.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/KeyStore.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/FirstActivity.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/workflows/DaprWorkflowsIT.java Update package and static import paths to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/TestUtils.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/SubscriptionsRestController.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/spring/DaprSpringBootTest.java Update package and sidecar import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/spring/DaprSpringBootExtension.java Update package and sidecar import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/spring/DaprSpringBootContextInitializer.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/Retry.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/TestPubsubOutboxApplication.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/ProductWebhookController.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/Product.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/outbox/DaprPubSubOutboxIT.java Update package and imports (client factory/constants) to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/http/TestPubSubApplication.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/http/SubscriberController.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/pubsub/http/DaprPubSubIT.java Update package and imports (retry/utils/constants) to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/jobs/TestJobsApplication.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/jobs/DaprJobsIT.java Update package and imports (config/constants) to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprSidecarContainer.java Update package and annotation import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprPreviewClientConfiguration.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprContainerFactory.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprClientFactory.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/DaprClientConfiguration.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/crypto/DaprPreviewClientCryptoIT.java Update package and constants import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/core/DaprSchedulerContainerIT.java Update package and constants import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/core/DaprPlacementContainerIT.java Update package and constants import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/core/DaprContainerIT.java Update package and constants import to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/conversations/TestConversationApplication.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/conversations/DaprConversationIT.java Update package and imports (preview client config/constants) to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/conversations/DaprConversationAlpha2IT.java Update package and imports (preview client config/constants) to new springboot namespace.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/ContainerConstants.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestDaprActorsConfiguration.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestActorsApplication.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestActorImpl.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/TestActor.java Rename test package from springboot4 to springboot.
spring-boot-sdk-tests/src/test/java/io/dapr/it/springboot/testcontainers/actors/DaprActorsIT.java Update package/imports to new springboot namespace.
spring-boot-sdk-tests/pom.xml Rename module artifactId and switch dapr Spring Boot starter deps from *-4-* to unified artifacts.
spring-boot-examples/workflows/versioning/version-orchestrator/pom.xml Switch web dependency to Spring Boot 4 webmvc starter.
spring-boot-examples/workflows/versioning/patch-version-worker-two/pom.xml Switch web dependency to Spring Boot 4 webmvc starter.
spring-boot-examples/workflows/versioning/patch-version-worker-one/pom.xml Switch web dependency to Spring Boot 4 webmvc starter.
spring-boot-examples/workflows/versioning/full-version-worker-two/pom.xml Switch web dependency to Spring Boot 4 webmvc starter.
spring-boot-examples/workflows/versioning/full-version-worker-one/pom.xml Switch web dependency to Spring Boot 4 webmvc starter.
spring-boot-examples/workflows/patterns/src/test/java/io/dapr/springboot/examples/wfp/TestWorkflowPatternsApplication.java Adjust test bootstrap import/reference for SB4 migration.
spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/WorkflowPatternsConfiguration.java Update RestTemplateBuilder import for Spring Boot 4 API.
spring-boot-examples/workflows/patterns/README.md Update documentation references for SB4 migration (currently includes broken links).
spring-boot-examples/workflows/patterns/pom.xml Move to SB4 webmvc/restclient + updated test starter dependencies.
spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/WorkerTwoAppIT.java Replace RestAssured usage with Spring test REST client.
spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/TestWorkerTwoApplication.java Update test app bootstrap import/reference for SB4 migration.
spring-boot-examples/workflows/multi-app/worker-two/pom.xml Update description and switch to SB4 webmvc test dependencies (and remove RestAssured).
spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/WorkerOneAppIT.java Replace RestAssured usage with Spring test REST client.
spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/TestWorkerOneApplication.java Update test app bootstrap import/reference for SB4 migration.
spring-boot-examples/workflows/multi-app/worker-one/pom.xml Update description and switch to SB4 webmvc test dependencies (and remove RestAssured).
spring-boot-examples/workflows/multi-app/README.md Update multi-app example docs (currently includes broken links).
spring-boot-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/TestOrchestratorApplication.java Update test app bootstrap import/reference for SB4 migration.
spring-boot-examples/workflows/multi-app/orchestrator/pom.xml Update description and switch to SB4 webmvc test dependencies (and remove RestAssured).
spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/TestSubscriberRestController.java Add missing import for Order in test controller.
spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/TestProducerApplication.java Update test app bootstrap import/reference for SB4 migration.
spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/Jackson3SerializerConfiguration.java Consolidate package name and point to unified Jackson3 auto-config types.
spring-boot-examples/producer-app/pom.xml Update description and switch to SB4 webmvc test dependencies (and remove RestAssured).
spring-boot-examples/pom.xml Introduce SB4 BOM/JUnit override and manage SB4 starter versions (including Jackson 3 BOM).
spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/ConsumerAppIT.java Replace RestAssured calls with Spring test REST client assertions.
spring-boot-examples/consumer-app/pom.xml Update description and switch to SB4 webmvc test dependencies (and remove RestAssured).
spring-boot-4-examples/workflows/spotbugs-exclude.xml Remove legacy SB4 examples spotbugs exclusions.
spring-boot-4-examples/workflows/pom.xml Remove legacy SB4 workflows aggregator module.
spring-boot-4-examples/workflows/patterns/src/test/resources/third-parties/remote-http-service.yaml Remove legacy SB4 test resource.
spring-boot-4-examples/workflows/patterns/src/test/resources/application.properties Remove legacy SB4 test properties.
spring-boot-4-examples/workflows/patterns/src/test/java/io/dapr/springboot4/examples/wfp/TestWorkflowPatternsApplication.java Remove legacy SB4 test application.
spring-boot-4-examples/workflows/patterns/src/main/resources/application.properties Remove legacy SB4 main properties.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsConfiguration.java Remove legacy SB4 configuration class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsApplication.java Remove legacy SB4 application class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/ZonedDateTimeTimerWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/TimerLogService.java Remove legacy SB4 service class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/LogActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/DurationTimerWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/suspendresume/SuspendResumeWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/suspendresume/PerformTaskActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/RemoteEndpointWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/Payload.java Remove legacy SB4 model class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/CallRemoteEndpointActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/Result.java Remove legacy SB4 model class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/FanOutInWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/CountWordsActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/ExternalEventWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/DenyActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/Decision.java Remove legacy SB4 model class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/ApproveActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/ContinueAsNewWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/CleanUpLog.java Remove legacy SB4 model class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/CleanUpActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ReverseActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ParentWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ChildWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/chain/ToUpperCaseActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/chain/ChainWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/patterns/pom.xml Remove legacy SB4 patterns module POM.
spring-boot-4-examples/workflows/patterns/body.json Remove legacy SB4 sample payload file.
spring-boot-4-examples/workflows/multi-app/worker-two/src/test/resources/application.properties Remove legacy SB4 test properties.
spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/WorkerTwoAppIT.java Remove legacy SB4 integration test placeholder.
spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/TestWorkerTwoApplication.java Remove legacy SB4 test app class.
spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/DaprTestContainersConfig.java Remove legacy SB4 Testcontainers configuration.
spring-boot-4-examples/workflows/multi-app/worker-two/src/main/resources/application.properties Remove legacy SB4 app properties.
spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/WorkerTwoApplication.java Remove legacy SB4 application class.
spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/CustomerFollowupActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/Customer.java Remove legacy SB4 model class.
spring-boot-4-examples/workflows/multi-app/worker-two/pom.xml Remove legacy SB4 worker-two module POM.
spring-boot-4-examples/workflows/multi-app/worker-one/src/test/resources/application.properties Remove legacy SB4 test properties.
spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/WorkerOneAppIT.java Remove legacy SB4 integration test placeholder.
spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/TestWorkerOneApplication.java Remove legacy SB4 test app class.
spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/DaprTestContainersConfig.java Remove legacy SB4 Testcontainers configuration.
spring-boot-4-examples/workflows/multi-app/worker-one/src/main/resources/application.properties Remove legacy SB4 app properties.
spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/WorkerOneApplication.java Remove legacy SB4 application class.
spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/RegisterCustomerActivity.java Remove legacy SB4 activity class.
spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/Customer.java Remove legacy SB4 model class.
spring-boot-4-examples/workflows/multi-app/worker-one/pom.xml Remove legacy SB4 worker-one module POM.
spring-boot-4-examples/workflows/multi-app/spotbugs-exclude.xml Remove legacy SB4 examples spotbugs exclusions.
spring-boot-4-examples/workflows/multi-app/pom.xml Remove legacy SB4 multi-app aggregator module POM.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/resources/application.properties Remove legacy SB4 test properties.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/TestOrchestratorApplication.java Remove legacy SB4 test app class.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DockerImages.java Remove legacy SB4 test helper.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/resources/application.properties Remove legacy SB4 app properties.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/OrchestratorApplication.java Remove legacy SB4 application class.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomerWorkflow.java Remove legacy SB4 workflow sample class.
spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/Customer.java Remove legacy SB4 model class.
spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/TestSubscriberRestController.java Remove legacy SB4 producer test controller.
spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/TestProducerApplication.java Remove legacy SB4 producer test app.
spring-boot-4-examples/producer-app/src/main/resources/application.properties Remove legacy SB4 producer app properties.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/RegisterCustomerActivity.java Remove legacy SB4 workflow activity.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/CustomerWorkflow.java Remove legacy SB4 workflow definition.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/CustomerFollowupActivity.java Remove legacy SB4 workflow activity.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/ProducerApplication.java Remove legacy SB4 producer application.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/ProducerAppConfiguration.java Remove legacy SB4 configuration wiring.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrdersRestController.java Remove legacy SB4 REST controller.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrderRepository.java Remove legacy SB4 repository.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrderDTO.java Remove legacy SB4 DTO.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Order.java Remove legacy SB4 model.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/CustomerStore.java Remove legacy SB4 in-memory store.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/CustomersRestController.java Remove legacy SB4 REST controller.
spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Customer.java Remove legacy SB4 model.
spring-boot-4-examples/producer-app/pom.xml Remove legacy SB4 producer module POM.
spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/TestConsumerApplication.java Remove legacy SB4 consumer test app.
spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/ConsumerAppTestConfiguration.java Remove legacy SB4 consumer test config.
spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/ConsumerAppIT.java Remove legacy SB4 consumer integration test.
spring-boot-4-examples/consumer-app/src/main/resources/application.properties Remove legacy SB4 consumer app properties.
spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/SubscriberRestController.java Remove legacy SB4 consumer controller.
spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/Order.java Remove legacy SB4 model.
spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/ConsumerApplication.java Remove legacy SB4 consumer application.
spring-boot-4-examples/consumer-app/pom.xml Remove legacy SB4 consumer module POM.
sdk-tests/pom.xml Align test module to Spring Boot 4 BOM/JUnit versions for integration tests.
examples/src/main/java/io/dapr/examples/tracing/README.md Update tracing example docs to match new auto-configuration usage.
examples/src/main/java/io/dapr/examples/OpenTelemetryConfig.java Remove explicit DataSource/Hibernate auto-config exclusions.
dapr-spring/pom.xml Remove SB4-suffixed modules and consolidate onto unified Spring Boot autoconfigure/starter modules.
dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateBuilder.java Add import (currently redundant) and adjust Spring Data query parsing compatibility.
dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicate.java Update Spring Data PropertyPath import for SB4/Spring Data changes.
dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/EnableDaprRepositories.java Add import (currently redundant) and update registrar wiring.
dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DefaultIdentifierGenerator.java Update TypeInformation import for SB4/Spring Data changes.
dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/AbstractDaprKeyValueAdapter.java Tighten generic return type for getAllOf signature.
dapr-spring/dapr-spring-data/pom.xml Import Spring Boot 4 BOM for consistent dependency alignment.
dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml Import SB4 BOM and add missing dependency on dapr-spring-boot-properties.
dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml Import SB4 BOM for starter-test module build alignment.
dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter/pom.xml Remove legacy SB4 starter module POM.
dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter-test/pom.xml Remove legacy SB4 starter-test module POM.
dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/Jackson3ObjectSerializerTest.java Rename package from boot4 to unified boot namespace.
dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprJackson3AutoConfigurationTest.java Rename auto-config test class/refs to unified naming.
dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java Update test wiring for serializer injection via ObjectProvider.
dapr-spring/dapr-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports Register Jackson3 auto-configuration in unified module.
dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/Jackson3ObjectSerializer.java Rename package from boot4 to unified boot namespace.
dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprJackson3AutoConfiguration.java Rename package/class and update ordering vs DaprClientAutoConfiguration.
dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java Wire optional DaprObjectSerializer into the client builder.
dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/WorkflowTestApplication.java Remove legacy SB4 autoconfigure test application.
dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestWorkflow.java Remove legacy SB4 workflow test class.
dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestActivity.java Remove legacy SB4 activity test class.
dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprWorkflowsRegistrationTests.java Remove legacy SB4 registration test class.
dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports Remove legacy SB4 autoconfiguration imports.
dapr-spring/dapr-spring-bom/pom.xml Remove SB4-suffixed artifacts from BOM management.
dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicate.java Remove legacy Spring Data 6-specific module source.
dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoryConfigurationExtension.java Remove legacy Spring Data 6-specific module source.
dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoriesRegistrar.java Remove legacy Spring Data 6-specific module source.
dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/KeyValueAdapterResolver.java Remove legacy Spring Data 6-specific module source.
dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/GeneratingIdAccessor.java Remove legacy Spring Data 6-specific module source.
dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DefaultIdentifierGenerator.java Remove legacy Spring Data 6-specific module source.
dapr-spring/dapr-spring-6-data/pom.xml Remove legacy Spring Data 6-specific module POM.
.github/workflows/build.yml Update CI matrix to SB 4.0.5 and simplify to a single integration test invocation + correct report uploads.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

<!-- END_STEP -->

By running the `spring-boot:test-run` goal, the application is loaded using the [test configurations](src/test/java/io/dapr/springboot/examples/wfp/DaprTestContainersConfig.java)
By running the `spring-boot:test-run` goal, the application is loaded using the [test configurations](src/test/java/io/dapr/springboot4/examples/wfp/DaprTestContainersConfig.java)
Comment on lines 511 to +512
Workflow execution can be tested using Testcontainers and you can find all the tests for the patterns covered in this
application [here](src/test/java/io/dapr/springboot/examples/wfp/TestWorkflowPatternsApplication.java).
application [here](src/test/java/io/dapr/springboot4/examples/wfp/TestWorkflowPatternsApplication.java).
```

The workflow definition [`CustomerWorkflow`](orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/CustomerWorkflow.java) that you can find inside the `orchestrator` app,
The workflow definition [`CustomerWorkflow`](orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomerWorkflow.java) that you can find inside the `orchestrator` app,
we rely on [Testcontainers](https://testcontainers.com) to create the entire setup which enable us to run the workflow end to end.

You can find the end-to-end test in the [`OrchestratorAppIT.java`](orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/OrchestratorAppIT.java) class inside the `orchestrator` application.
You can find the end-to-end test in the [`OrchestratorAppIT.java`](orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/OrchestratorAppIT.java) class inside the `orchestrator` application.
Comment on lines +89 to 90
But the magic behind the test can be located in the [`DaprTestContainersConfig.class`](orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DaprTestContainersConfig.java) which defines the configuration for
all the Dapr containers and the `worker-one` and `worker-two` applications. Check this class to gain a deeper understand how to configure
Comment on lines +16 to 17
import io.dapr.spring.data.repository.query.DaprPredicate;
import org.springframework.data.repository.query.parser.Part;
Comment on lines +16 to 17
import io.dapr.spring.data.repository.config.DaprRepositoriesRegistrar;
import io.dapr.spring.data.repository.query.DaprPredicateQueryCreator;
@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.69%. Comparing base (0c4590c) to head (fb83e71).

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1772      +/-   ##
============================================
- Coverage     76.86%   76.69%   -0.18%     
+ Complexity     2298     2274      -24     
============================================
  Files           243      242       -1     
  Lines          7141     7088      -53     
  Branches        745      733      -12     
============================================
- Hits           5489     5436      -53     
  Misses         1287     1287              
  Partials        365      365              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants