Dapr v1.18.2

This release focuses on hardening the actor and workflow engines, improving sidecar stability in Kubernetes, and resolving critical authentication and security vulnerabilities. Highlights include the removal of port requirements for streaming actors, per-actor timer isolation, and more granular control over Kafka and SPIFFE identity propagation.

Independent Actor Timer Execution — Previously, slow actor timers would block all other actors on the same sidecar from firing their timers. Now, timers are handled per-actor, meaning one slow process won't impact the reliability or timing of unrelated services.

Workflow Reliability and Crash Protection — Dapr now prevents parent workflows from becoming stuck when child IDs collide or are still active from a previous run. It also prevents the sidecar from crashing when querying history without an actor store, making the workflow engine significantly more stable.

Eliminated Spurious Sidecar Restarts in Kubernetes — Sidecars will no longer restart when unrelated configuration files in the same Kubernetes namespace are updated. This prevents unnecessary downtime and "flapping" for applications that share a namespace.

Expanded Character Support for Actor Reminders — If you use actor reminders or scheduled jobs, you can now use special characters like @ or | in names and IDs. This aligns the scheduler with the existing Dapr API standards, preventing registration failures for complex IDs.

Reliable Sidecar Startup via Early Port Reservation — The sidecar now binds its internal gRPC port immediately upon startup. This eliminates a common "address already in use" race condition where component connections would accidentally "steal" the port, causing the sidecar to fail to boot.