RATATOSKRATATOSK
Sign in

Dapr

v1.18.4Orchestration & Management
Sep 9, 2026

ACTION 1OTHER 18

A workflow-heavy maintenance release corrects reliability, state-management, signing, and pub/sub delivery defects. It also changes binary gRPC metadata filtering for output bindings, with no newly announced operator configuration requirements.

Action needed (1)

  • breakingBinary gRPC metadata propagation in InvokeBinding, removed

    Binary gRPC metadata with keys ending in -bin is no longer copied from incoming gRPC calls into output binding component metadata for InvokeBinding.

All 18 other recorded changesfixes 18

fixes (18)

  • Workflow reminder creation now retries every error with bounded exponential backoff
  • The Scheduler now returns etcd space-quota exhaustion with gRPC code ResourceExhausted instead of Unknown
  • The workflow actor now persists the ExecutionStarted inbox event first and creates the start reminder after the commit, under a deterministic name derived from the saved event.
  • Once the state is committed, a start or wake-up reminder registration that fails for any reason other than a permanent request error is handed to a detached retry on the runtime lifetime
  • That error faults the parent's child workflow task, so the parent either handles it or transitions to FAILED with a clear message
  • The force purge path now passes the signer and namespace to the state loader, matching the other call sites, so signed history verifies normally and the purge proceeds.
  • A completion referencing a task scheduled ID absent from signed history is now dropped without persisting anything, matching the non-signing behavior
  • When a delivered batch contains an ExecutionTerminated event and the executor does not complete the workflow, daprd discards the doomed execution's pending work and completes the instance as TERMINATED.
  • When a status watch finds the actor stalled, the stored workflow status is read directly from the state store
  • Workflow work items now carry the execution ID of the generation they belong to
  • The reconciler now compiles the prospective policy set and swaps it into enforcement before it updates the resource store
  • The synthesized child workflow failure and the synthesized activity failure now record the parent's application as their source
  • The child now commits its terminal state first, together with a durable marker recording that its parent has not yet acknowledged the completion
  • The child records the input it was created with at creation (signed children only, since only the attestation reads it) and attests its completion with that input across any number of ContinueAsNew calls.
  • Force purge now evicts the instance's workflow actor on the host that runs it before deleting the rows
  • An abandoned continued-as-new generation is now persisted exactly like a freshly created workflow
  • The execution now registers with the rendezvous before its work item is dispatched to the application
  • Messages are dispatched concurrently again, following the shape input bindings already use, so more than one message can be in flight per subscription.
Add Dapr to your stack

A weekly email arrives when a release needs action. Like the breaking changes in this release.

Add to stack