Dapr v1.18.1 is a focused bug-fix release for the workflow engine, patching five issues including reminder leaks, permanent sidecar unavailability after config reload, and stuck workflows.
breakingHelm users: workflow concurrency limits were silently ignored before this release
If you set globalMaxConcurrentWorkflowInvocations, globalMaxConcurrentActivityInvocations, or the per-name limit fields on a Configuration resource and installed via Helm, those limits were never enforced. After upgrading to 1.18.1 the CRD schema is correct and limits will actually take effect. Review your configured values before upgrading in production — limits that were previously ignored will now be applied, which could throttle throughput if the values are too conservative.
enhancementUpgrade if you run agentic or long-running loop workflows
Three bugs in this release specifically affect workflows that loop via ContinueAsNew or repeatedly await the same external event name — patterns common in agentic workloads. The reminder leak accumulates garbage reminders over a workflow's lifetime; the ContinueAsNew deadlock causes indefinite hangs with no timeout or error. Both are fixed here. If you see workflows stuck in RUNNING or observe spurious wake-ups in loop workflows, upgrade to 1.18.1.
enhancementConfig hot-reload now works reliably for workflow sidecars
Before this fix, any SIGHUP-triggered config reload on a sidecar hosting workflow workers could permanently break the sidecar — port 50001 stops accepting connections and the only recovery was a pod restart. This is now fixed. If your team uses config hot-reload in any workflow-hosting deployment, 1.18.1 should be treated as a required upgrade.
Key changes (5)
- Workflow timer reminders no longer leak when the same external event name is awaited multiple times in a loop
- Config hot-reload (SIGHUP) no longer leaves workflow sidecars permanently stuck — streaming workers now close cleanly on shutdown
- Sidecars no longer restart on Kubernetes operator resync events that carry no actual config change
- Child workflow completions crossing a ContinueAsNew boundary no longer cause parent workflows to hang forever in RUNNING state
- Helm chart CRD for Configuration now includes the workflow/activity concurrency limit fields introduced in v1.18.0