Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6fde99e
feat: Add compensation workflow pattern to Spring Boot examples
Mar 13, 2026
80d09f8
Apply suggestions from code review
siri-varma Mar 13, 2026
06e07f9
Refactor BookTripWorkflow to use CompensationHelper
siri-varma Mar 20, 2026
3226038
Add CompensationHelper class for managing compensations
siri-varma Mar 20, 2026
95f62fe
Add baggage support (#1659)
siri-varma Mar 16, 2026
d3fcd02
fix: adapt to durabletask-protobuf proto file split (#1702)
javier-aliaga Mar 26, 2026
53e8c32
Create the release + release notes automatically (#1689)
cicoyle Mar 26, 2026
dd88887
fix: adapt to Orchestration→Workflow proto renames (durabletask-proto…
javier-aliaga Mar 26, 2026
c2dccea
chore: Deprecate invoke methods (#1666)
javier-aliaga Mar 27, 2026
a0fcd2b
fix: upgrade dependencies to address critical CVEs (#1706)
javier-aliaga Mar 31, 2026
61b9e61
chore(deps): Bump codecov/codecov-action from 5.5.2 to 5.5.3 (#1700)
dependabot[bot] Mar 31, 2026
0a9fae8
Generate updated javadocs for 1.17.1
dapr-bot Apr 2, 2026
c7e9592
fix(deps): Upgrade dependencies to address critical CVEs (#1716)
javier-aliaga Apr 7, 2026
dcba7cc
chore(deps): Bump fossas/fossa-action from 1.8.0 to 1.9.0 (#1712)
dependabot[bot] Apr 8, 2026
5e78f17
chore(deps): Bump codecov/codecov-action from 5.5.3 to 6.0.0 (#1711)
dependabot[bot] Apr 8, 2026
d5f0750
Adding sdk tracing capabilities on spring (#1713)
salaboy Apr 9, 2026
4e74d77
chore: bump minimum Java version from 11 to 17 (#1721)
javier-aliaga Apr 9, 2026
8c051dd
Generate updated javadocs for 1.17.2
dapr-bot Apr 10, 2026
aa25ef2
chore(deps): Bump actions/github-script from 8 to 9 (#1726)
dependabot[bot] Apr 13, 2026
93bc1f3
feat: publish dapr-sdk-bom artifact for transitive dependency managem…
javier-aliaga Apr 13, 2026
ccb87fe
Adding trace propagation to local observations (#1724)
salaboy Apr 15, 2026
961631c
chore: Add test to verify workflow reconnection logic (#1692)
javier-aliaga Apr 17, 2026
738250f
Await cancellation activities in BookTripWorkflow
siri-varma Apr 20, 2026
6710ca8
fix(durabletask): detect shutdown and break gRPC worker loop (#1727)
javier-aliaga Apr 20, 2026
06510a4
feat(durabletask): implement timer origin and backwards-compatible op…
javier-aliaga Apr 25, 2026
1fc0653
Update github runners to oci gh arc runners (#1326)
koksay Apr 27, 2026
8e8fead
feat: upgrade Testcontainers from 1.21.4 to 2.0.5 and migrate JUnit 4…
artur-ciocanu Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/scripts/update_sdk_version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -DprocessDependencies=true
mvn versions:set-property -Dproperty=dapr.sdk.alpha.version -DnewVersion=$DAPR_JAVA_SDK_ALPHA_VERSION
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-tests/pom.xml
# BOMs are standalone (no parent), so versions:set skips them — update explicitly.
mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-bom/pom.xml
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-bom/pom.xml
mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f dapr-spring/dapr-spring-bom/pom.xml
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f dapr-spring/dapr-spring-bom/pom.xml
mvn versions:set-property -Dproperty=dapr.sdk.alpha.version -DnewVersion=$DAPR_JAVA_SDK_ALPHA_VERSION -f sdk-tests/pom.xml


Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Run tests
run: ./mvnw clean install -B -q -DskipITs=true
- name: Codecov
uses: codecov/codecov-action@v5.5.2
uses: codecov/codecov-action@v6.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload test report for sdk
Expand Down
16 changes: 15 additions & 1 deletion .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,18 @@ jobs:
git remote set-url origin https://x-access-token:${{ secrets.DAPR_BOT_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git
# Copy first to allow automation to use the latest version and not the release branch's version.
cp -R ./.github/scripts ${RUNNER_TEMP}/
${RUNNER_TEMP}/scripts/create-release.sh ${{ inputs.rel_version }}
${RUNNER_TEMP}/scripts/create-release.sh ${{ inputs.rel_version }}
- name: Create GitHub Release with auto-generated notes
if: ${{ !endsWith(inputs.rel_version, '-SNAPSHOT') && !contains(inputs.rel_version, '-rc-') }}
env:
GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }}
REL_VERSION: ${{ inputs.rel_version }}
run: |
# Normalize release version by stripping an optional leading 'v'
REL_VERSION="${REL_VERSION#v}"
TAG="v${REL_VERSION}"
if gh release view "${TAG}" >/dev/null 2>&1; then
echo "Release ${TAG} already exists, skipping creation."
else
gh release create "${TAG}" --generate-notes
fi
2 changes: 1 addition & 1 deletion .github/workflows/dapr_bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Comment analyzer
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
github-token: ${{secrets.DAPR_BOT_TOKEN}}
script: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fossa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ jobs:
uses: actions/checkout@v5

- name: "Run FOSSA Scan"
uses: fossas/fossa-action@v1.8.0 # Use a specific version if locking is preferred
uses: fossas/fossa-action@v1.9.0 # Use a specific version if locking is preferred
with:
api-key: ${{ env.FOSSA_API_KEY }}

- name: "Run FOSSA Test"
uses: fossas/fossa-action@v1.8.0 # Use a specific version if locking is preferred
uses: fossas/fossa-action@v1.9.0 # Use a specific version if locking is preferred
with:
api-key: ${{ env.FOSSA_API_KEY }}
run-tests: true
4 changes: 2 additions & 2 deletions .github/workflows/validate-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ on:
jobs:
build:
name: "Validate Javadocs generation"
runs-on: linux-arm64-latest-4-cores
timeout-minutes: 30
runs-on: oracle-vm-4cpu-16gb-arm64
timeout-minutes: 60
env:
JDK_VER: 17
steps:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,7 @@ hs_err_pid*

# macOS
.DS_Store

# Claude Code / OMC
.omc/
.omx/
128 changes: 112 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,47 +59,143 @@ For the full list of available APIs, see the [Dapr API reference](https://docs.d
If using [SDKMAN!](https://sdkman.io), execute `sdk env install` to install the required JDK.

### Importing Dapr's Java SDK
For a Maven project, add the following to your `pom.xml` file:

#### Using a BOM (recommended)

Two BOMs are published:

- **`io.dapr:dapr-sdk-bom`** — core SDK modules (`dapr-sdk`, `dapr-sdk-actors`, `dapr-sdk-workflows`, `dapr-sdk-autogen`, `durabletask-client`, `testcontainers-dapr`) plus security-patched transitive dependencies (Netty, Jackson, commons-compress, commons-codec).
- **`io.dapr.spring:dapr-spring-bom`** — Spring-specific modules (`dapr-sdk-springboot`, `dapr-spring-*`). Imports `dapr-sdk-bom` transitively, so Spring users only need this single BOM.

Pick the one that matches your project. Importing a BOM ensures you inherit security fixes for transitive dependencies like the Netty CVEs.

##### Core (non-Spring) projects

For Maven:
```xml
<project>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-bom</artifactId>
<version>1.18.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
...
<!-- Dapr's core SDK with all features, except Actors. -->
<!-- Dapr's core SDK with all features, except Actors. -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
<version>1.17.0</version>
</dependency>
<!-- Dapr's SDK for Actors (optional). -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-actors</artifactId>
<version>1.17.0</version>
</dependency>
<!-- Dapr's SDK integration with SpringBoot (optional). -->
</dependencies>
...
</project>
```

For Gradle:
```groovy
dependencies {
implementation platform('io.dapr:dapr-sdk-bom:1.18.0')

// Dapr's core SDK with all features, except Actors.
implementation 'io.dapr:dapr-sdk'
// Dapr's SDK for Actors (optional).
implementation 'io.dapr:dapr-sdk-actors'
}
```

##### Spring Boot projects

For Maven:
```xml
<project>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-bom</artifactId>
<version>1.18.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<!-- Dapr's SDK integration with Spring Boot. -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
<version>1.17.0</version>
</dependency>
...
<!-- Optional Spring Boot starter. -->
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-starter</artifactId>
</dependency>
</dependencies>
...
</project>
```

For a Gradle project, add the following to your `build.gradle` file:
For Gradle:
```groovy
dependencies {
implementation platform('io.dapr.spring:dapr-spring-bom:1.18.0')

// Dapr's SDK integration with Spring Boot.
implementation 'io.dapr:dapr-sdk-springboot'
// Optional Spring Boot starter.
implementation 'io.dapr.spring:dapr-spring-boot-starter'
}
```

#### Without the BOM

If you prefer to manage versions manually, specify the version on each dependency:

For Maven:
```xml
<project>
...
<dependencies>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-actors</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
<version>1.17.2</version>
</dependency>
</dependencies>
...
</project>
```

For Gradle:
```groovy
dependencies {
...
// Dapr's core SDK with all features, except Actors.
compile('io.dapr:dapr-sdk:1.17.0')
// Dapr's SDK for Actors (optional).
compile('io.dapr:dapr-sdk-actors:1.17.0')
// Dapr's SDK integration with SpringBoot (optional).
compile('io.dapr:dapr-sdk-springboot:1.17.0')
implementation 'io.dapr:dapr-sdk:1.17.2'
implementation 'io.dapr:dapr-sdk-actors:1.17.2'
implementation 'io.dapr:dapr-sdk-springboot:1.17.2'
}
```

Expand Down
4 changes: 2 additions & 2 deletions dapr-spring/dapr-spring-6-data/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
<packaging>jar</packaging>

<properties>
<springboot4.version>4.0.2</springboot4.version>
<!-- Override JUnit version to align with Spring Boot 4.0.2 -->
<springboot4.version>4.0.5</springboot4.version>
<!-- Override JUnit version to align with Spring Boot 4.x -->
<junit-bom.version>6.0.2</junit-bom.version>
</properties>

Expand Down
Loading
Loading