From 02183960fcd4134afd8bebabd32b19f4be685baa Mon Sep 17 00:00:00 2001 From: Albert Callarisa Date: Wed, 25 Mar 2026 12:59:02 +0100 Subject: [PATCH 1/5] fix cloudevents version Signed-off-by: Albert Callarisa --- dapr/version/version.py | 2 +- examples/demo_actor/demo_actor/requirements.txt | 2 +- examples/demo_workflow/demo_workflow/requirements.txt | 2 +- examples/invoke-simple/requirements.txt | 4 ++-- examples/w3c-tracing/requirements.txt | 4 ++-- examples/workflow/requirements.txt | 4 ++-- ext/dapr-ext-fastapi/dapr/ext/fastapi/version.py | 2 +- ext/dapr-ext-fastapi/setup.cfg | 4 ++-- ext/dapr-ext-grpc/dapr/ext/grpc/version.py | 2 +- ext/dapr-ext-grpc/setup.cfg | 6 +++--- ext/dapr-ext-workflow/dapr/ext/workflow/version.py | 2 +- ext/dapr-ext-workflow/setup.cfg | 4 ++-- ext/flask_dapr/flask_dapr/version.py | 2 +- ext/flask_dapr/setup.cfg | 2 +- 14 files changed, 21 insertions(+), 21 deletions(-) diff --git a/dapr/version/version.py b/dapr/version/version.py index d40dfd78d..942c3ff62 100644 --- a/dapr/version/version.py +++ b/dapr/version/version.py @@ -13,4 +13,4 @@ limitations under the License. """ -__version__ = '1.15.0' +__version__ = '1.15.1' diff --git a/examples/demo_actor/demo_actor/requirements.txt b/examples/demo_actor/demo_actor/requirements.txt index abb9aae78..22d882760 100644 --- a/examples/demo_actor/demo_actor/requirements.txt +++ b/examples/demo_actor/demo_actor/requirements.txt @@ -1 +1 @@ -dapr-ext-fastapi>=1.15.0 +dapr-ext-fastapi>=1.15.1 diff --git a/examples/demo_workflow/demo_workflow/requirements.txt b/examples/demo_workflow/demo_workflow/requirements.txt index 7e95391fa..58b956ade 100644 --- a/examples/demo_workflow/demo_workflow/requirements.txt +++ b/examples/demo_workflow/demo_workflow/requirements.txt @@ -1 +1 @@ -dapr-ext-workflow>=1.15.0 \ No newline at end of file +dapr-ext-workflow>=1.15.1 diff --git a/examples/invoke-simple/requirements.txt b/examples/invoke-simple/requirements.txt index 7abd0931d..0f668f88a 100644 --- a/examples/invoke-simple/requirements.txt +++ b/examples/invoke-simple/requirements.txt @@ -1,2 +1,2 @@ -dapr-ext-grpc >= 1.15.0 -dapr >= 1.15.0 +dapr-ext-grpc >= 1.15.1 +dapr >= 1.15.1 diff --git a/examples/w3c-tracing/requirements.txt b/examples/w3c-tracing/requirements.txt index aee0c8e85..ce98baeb4 100644 --- a/examples/w3c-tracing/requirements.txt +++ b/examples/w3c-tracing/requirements.txt @@ -1,5 +1,5 @@ -dapr-ext-grpc >= 1.15.0 -dapr >= 1.15.0 +dapr-ext-grpc >= 1.15.1 +dapr >= 1.15.1 opentelemetry-sdk opentelemetry-instrumentation-grpc opentelemetry-exporter-zipkin diff --git a/examples/workflow/requirements.txt b/examples/workflow/requirements.txt index 348ac2d5c..a8bb0a9a1 100644 --- a/examples/workflow/requirements.txt +++ b/examples/workflow/requirements.txt @@ -1,2 +1,2 @@ -dapr-ext-workflow>=1.15.0 -dapr>=1.15.0 +dapr-ext-workflow>=1.15.1 +dapr>=1.15.1 diff --git a/ext/dapr-ext-fastapi/dapr/ext/fastapi/version.py b/ext/dapr-ext-fastapi/dapr/ext/fastapi/version.py index d40dfd78d..942c3ff62 100644 --- a/ext/dapr-ext-fastapi/dapr/ext/fastapi/version.py +++ b/ext/dapr-ext-fastapi/dapr/ext/fastapi/version.py @@ -13,4 +13,4 @@ limitations under the License. """ -__version__ = '1.15.0' +__version__ = '1.15.1' diff --git a/ext/dapr-ext-fastapi/setup.cfg b/ext/dapr-ext-fastapi/setup.cfg index a50ac6e08..7a7d61343 100644 --- a/ext/dapr-ext-fastapi/setup.cfg +++ b/ext/dapr-ext-fastapi/setup.cfg @@ -24,7 +24,7 @@ python_requires = >=3.9 packages = find_namespace: include_package_data = True install_requires = - dapr >= 1.15.0 + dapr >= 1.15.1 uvicorn >= 0.11.6 fastapi >= 0.60.1 @@ -32,5 +32,5 @@ install_requires = include = dapr.* -exclude = +exclude = tests diff --git a/ext/dapr-ext-grpc/dapr/ext/grpc/version.py b/ext/dapr-ext-grpc/dapr/ext/grpc/version.py index d40dfd78d..942c3ff62 100644 --- a/ext/dapr-ext-grpc/dapr/ext/grpc/version.py +++ b/ext/dapr-ext-grpc/dapr/ext/grpc/version.py @@ -13,4 +13,4 @@ limitations under the License. """ -__version__ = '1.15.0' +__version__ = '1.15.1' diff --git a/ext/dapr-ext-grpc/setup.cfg b/ext/dapr-ext-grpc/setup.cfg index 4ad7170e4..a94d5e1b7 100644 --- a/ext/dapr-ext-grpc/setup.cfg +++ b/ext/dapr-ext-grpc/setup.cfg @@ -24,12 +24,12 @@ python_requires = >=3.9 packages = find_namespace: include_package_data = True install_requires = - dapr >= 1.15.0 - cloudevents >= 1.0.0 + dapr >= 1.15.1 + cloudevents >= 1.0.0, < 2.0.0 [options.packages.find] include = dapr.* -exclude = +exclude = tests diff --git a/ext/dapr-ext-workflow/dapr/ext/workflow/version.py b/ext/dapr-ext-workflow/dapr/ext/workflow/version.py index d40dfd78d..942c3ff62 100644 --- a/ext/dapr-ext-workflow/dapr/ext/workflow/version.py +++ b/ext/dapr-ext-workflow/dapr/ext/workflow/version.py @@ -13,4 +13,4 @@ limitations under the License. """ -__version__ = '1.15.0' +__version__ = '1.15.1' diff --git a/ext/dapr-ext-workflow/setup.cfg b/ext/dapr-ext-workflow/setup.cfg index 699c6ad09..4440aed6f 100644 --- a/ext/dapr-ext-workflow/setup.cfg +++ b/ext/dapr-ext-workflow/setup.cfg @@ -24,12 +24,12 @@ python_requires = >=3.9 packages = find_namespace: include_package_data = True install_requires = - dapr >= 1.15.0 + dapr >= 1.15.1 durabletask-dapr >= 0.2.0a7 [options.packages.find] include = dapr.* -exclude = +exclude = tests diff --git a/ext/flask_dapr/flask_dapr/version.py b/ext/flask_dapr/flask_dapr/version.py index d40dfd78d..942c3ff62 100644 --- a/ext/flask_dapr/flask_dapr/version.py +++ b/ext/flask_dapr/flask_dapr/version.py @@ -13,4 +13,4 @@ limitations under the License. """ -__version__ = '1.15.0' +__version__ = '1.15.1' diff --git a/ext/flask_dapr/setup.cfg b/ext/flask_dapr/setup.cfg index 7e270fc1f..07b73cb6b 100644 --- a/ext/flask_dapr/setup.cfg +++ b/ext/flask_dapr/setup.cfg @@ -26,4 +26,4 @@ include_package_data = true zip_safe = false install_requires = Flask >= 1.1 - dapr >= 1.15.0 + dapr >= 1.15.1 From 9168c8dcd8093115180c540fdacf32df153c4e65 Mon Sep 17 00:00:00 2001 From: Albert Callarisa Date: Wed, 25 Mar 2026 13:57:25 +0100 Subject: [PATCH 2/5] Fix: Run validations with a hardcoded cli and runtime versions Signed-off-by: Albert Callarisa --- .github/workflows/validate_examples.yaml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/.github/workflows/validate_examples.yaml b/.github/workflows/validate_examples.yaml index 9617223a4..fe20ff7d8 100644 --- a/.github/workflows/validate_examples.yaml +++ b/.github/workflows/validate_examples.yaml @@ -37,7 +37,8 @@ jobs: GOOS: linux GOARCH: amd64 GOPROXY: https://proxy.golang.org - DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/master/install/install.sh + DAPR_RUNTIME_VER: 1.15.13 + DAPR_CLI_VER: 1.15.2 DAPR_CLI_REF: ${{ github.event.inputs.daprcli_commit }} DAPR_REF: ${{ github.event.inputs.daprdapr_commit }} CHECKOUT_REPO: ${{ github.repository }} @@ -62,17 +63,6 @@ jobs: with: repository: ${{ env.CHECKOUT_REPO }} ref: ${{ env.CHECKOUT_REF }} - - uses: azure/setup-helm@v4 - - name: Determine latest Dapr Runtime version - run: | - helm repo add dapr https://dapr.github.io/helm-charts/ && helm repo update && export RUNTIME_VERSION=$(helm search repo dapr/dapr --devel --versions | awk '/dapr\/dapr/ {print $3; exit}' ) - echo "DAPR_RUNTIME_VER=$RUNTIME_VERSION" >> $GITHUB_ENV - echo "Found $RUNTIME_VERSION" - - name: Determine latest Dapr Cli version - run: | - export CLI_VERSION=$(curl "https://api.github.com/repos/dapr/cli/releases?per_page=1&page=1" --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' | jq '.[0].tag_name'| tr -d '",v') - echo "DAPR_CLI_VER=$CLI_VERSION" >> $GITHUB_ENV - echo "Found $CLI_VERSION" - name: Set up Python ${{ matrix.python_ver }} uses: actions/setup-python@v5 with: @@ -82,7 +72,7 @@ jobs: python -m pip install --upgrade pip pip install setuptools wheel twine tox - name: Set up Dapr CLI - run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }} + run: wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }} - name: Set up Go ${{ env.GOVER }} if: env.DAPR_REF != '' || env.DAPR_CLI_REF != '' uses: actions/setup-go@v5 From 954d7bf669ba86756a43ea568e80608fec30a6f8 Mon Sep 17 00:00:00 2001 From: Albert Callarisa Date: Wed, 25 Mar 2026 14:08:40 +0100 Subject: [PATCH 3/5] Removed dead link Signed-off-by: Albert Callarisa --- examples/error_handling/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/error_handling/README.md b/examples/error_handling/README.md index 067b3ed1a..ca3c755aa 100644 --- a/examples/error_handling/README.md +++ b/examples/error_handling/README.md @@ -1,6 +1,6 @@ # Example - Error handling -This guide demonstrates handling `DaprGrpcError` errors when using the Dapr python-SDK. It's important to note that not all Dapr gRPC status errors are currently captured and transformed into a `DaprGrpcError` by the SDK. Efforts are ongoing to enhance this aspect, and contributions are welcome. For detailed information on error handling in Dapr, refer to the [official documentation](https://docs.dapr.io/reference/errors). +This guide demonstrates handling `DaprGrpcError` errors when using the Dapr python-SDK. It's important to note that not all Dapr gRPC status errors are currently captured and transformed into a `DaprGrpcError` by the SDK. Efforts are ongoing to enhance this aspect, and contributions are welcome. The example involves creating a DaprClient and invoking the save_state method. It uses the default configuration from Dapr init in [self-hosted mode](https://github.com/dapr/cli#install-dapr-on-your-local-machine-self-hosted). From 8e196734ed923121f2db32859fac48247b0a12bb Mon Sep 17 00:00:00 2001 From: Albert Callarisa Date: Wed, 25 Mar 2026 14:10:13 +0100 Subject: [PATCH 4/5] Fix lint Signed-off-by: Albert Callarisa --- ext/dapr-ext-workflow/tests/test_workflow_client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ext/dapr-ext-workflow/tests/test_workflow_client.py b/ext/dapr-ext-workflow/tests/test_workflow_client.py index 984c97cdf..540c0e801 100644 --- a/ext/dapr-ext-workflow/tests/test_workflow_client.py +++ b/ext/dapr-ext-workflow/tests/test_workflow_client.py @@ -57,7 +57,6 @@ def schedule_new_orchestration( return mock_schedule_result def get_orchestration_state(self, instance_id, fetch_payloads): - global wf_status if wf_status == 'not-found': raise SimulatedRpcError(code='UNKNOWN', details='no such instance exists') elif wf_status == 'found': From 9c40b719354df23697e70ca665e10ab71509724e Mon Sep 17 00:00:00 2001 From: Albert Callarisa Date: Wed, 25 Mar 2026 14:15:21 +0100 Subject: [PATCH 5/5] Fix lint Signed-off-by: Albert Callarisa --- dapr/actor/runtime/state_manager.py | 2 +- dapr/clients/grpc/_request.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dapr/actor/runtime/state_manager.py b/dapr/actor/runtime/state_manager.py index dc7ec033f..26d391859 100644 --- a/dapr/actor/runtime/state_manager.py +++ b/dapr/actor/runtime/state_manager.py @@ -56,7 +56,7 @@ def ttl_in_seconds(self) -> Optional[int]: return self._ttl_in_seconds @ttl_in_seconds.setter - def ttl_in_seconds(self, new_ttl_in_seconds: int) -> None: + def ttl_in_seconds(self, new_ttl_in_seconds: Optional[int]) -> None: self._ttl_in_seconds = new_ttl_in_seconds diff --git a/dapr/clients/grpc/_request.py b/dapr/clients/grpc/_request.py index 570381214..91ad580bf 100644 --- a/dapr/clients/grpc/_request.py +++ b/dapr/clients/grpc/_request.py @@ -109,7 +109,7 @@ def __init__( super(InvokeMethodRequest, self).__init__(()) self._content_type = content_type - self._http_verb = None + self._http_verb: Optional[str] = None self._http_querystring: Dict[str, str] = {} self.set_data(data)