What dapr/dapr shipped
Written by FoxPlug from the repository's own releases; not affiliated with Dapr. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/dapr/dapr; Dapr did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- The scheduler now releases all concurrency gates before draining pending triggers, so a trigger holding both an actor-type gate and a per-name gate no longer stalls. Pull request #10956
- The scheduler now resolves a trigger when a sidecar returns a result status it does not recognize, instead of closing the stream and leaving the cron without an outcome. Pull request #11037
- Placement now ignores acks that do not belong to the current phase, fixing a disseminator stuck in the UNLOCK phase that left joining daprd instances without a placement table. Pull request #11059
- Staged workflow operations now return at once when no daprd of an app has a workflow worker, and they are counted. Pull request #10910
- Callers of workflow staged operations can now tell an operation that was staged apart from one that ran, instead of getting the same OK for both. Pull request #11061
- The remote gRPC connection pool is now keyed by address, namespace and app ID, since the mTLS dial credentials pin the peer's SPIFFE ID. Pull request #11025
- The MCP client falls back to the startup JWT SVID when Sentry cannot mint one on demand, so daprd can still connect to an MCPServer on a Sentry from 1.19 or earlier. Pull request #11066
- Daprd can now mint JWT SVIDs on demand from Sentry for audiences requested at runtime, instead of only the audiences fixed at startup. Pull request #11049
- Andybalholm/brotli is bumped to v1.2.7 to clear GO-2026-6888, which govulncheck was flagging in the dependency review job. Pull request #11067
- Images are now pushed only from master, main and release tags, so a branch push can no longer overwrite the edge image. Pull request #11036
Why it matters
This week's releases fix several ways the control plane could leave sidecars stuck: a scheduler trigger that never resolved, a placement disseminator stuck mid-phase, and staged workflow operations that looked the same as ones that ran. Security dependency bumps and a JWT SVID fallback keep existing Sentry versions working with the MCP client.
Changelog entry
- Scheduler: release all concurrency gates before draining pending triggers Pull request #10956
- Scheduler: resolve a trigger whose result has an unknown status Pull request #11037
- Placement: ignore acks that do not belong to the current phase Pull request #11059
- Workflow: return at once from staged operations and count them Pull request #10910
- Workflow: tell the caller when an operation was staged Pull request #11061
- Grpc: key the remote connection pool by address, namespace and app ID Pull request #11025
- Security: fall back to the startup JWT SVID when Sentry cannot mint on demand Pull request #11066
- Security: mint JWT SVIDs on demand from Sentry Pull request #11049
- Deps: bump andybalholm/brotli to v1.2.7 for GO-2026-6888 Pull request #11067
- Deps: bump github.com/go-jose/go-jose/v4 to v4.1.6 Pull request #10945
- Tests: fix timing flake in actors/deactivation/idle/global Pull request #11060
- Ci: push images only from master, main and release tags Pull request #11036
This week: scheduler no longer stalls on concurrency gates and resolves triggers with unknown result statuses, placement ignores out-of-phase acks, staged workflow ops now report when they are staged, and the remote gRPC pool is keyed by address, namespace and app ID.
Changes this week in Dapr: the scheduler releases all concurrency gates before draining pending triggers and now resolves a trigger when a sidecar returns an unknown result status. Placement ignores acks that do not belong to the current phase, which fixes a disseminator stuck in the unlock phase. Workflow staged operations return at once when no workflow worker is connected and tell the caller the operation was staged. The remote gRPC connection pool is keyed by address, namespace and app ID. The MCP client falls back to the startup JWT SVID when Sentry cannot mint on demand, and brotli is bumped to v1.2.7.
Week of October 26, 2026
What shipped
- Released Dapr Runtime v1.17.19 with security fixes for service invocation access control bypass and other issues. Release
- Released Dapr Runtime v1.18.10 with a connection leak fix when Placement is unreachable and multiple security fixes. Release
- Released Dapr Runtime v1.19.1 fixing leaked Placement connections, SQLite locked-database write failures and security issues. Release
- Applied ACL HTTP verb rules on CallLocal even when the internal request metadata is empty, closing a way to fall back to the default action. Pull request #11017
- Capped gRPC request headers at the configured read buffer size instead of 4 MiB, and compared API tokens in constant time. Pull request #11013
- Made the outbox subscriber reject forged messages on the internal outbox topic so other producers cannot delete arbitrary state keys. Pull request #11004
- Returned errors for malformed encrypted state values instead of panicking on missing separators, unknown keys or short ciphertexts. Pull request #11002
- Validated the OIDC X-Forwarded-Host before building discovery documents so hosts carrying userinfo are rejected. Pull request #10997
- Served only GET endpoints on the daprd public HTTP port, removing unauthenticated writes to extended metadata. Pull request #10975
- Added the trailing delimiter to scheduler job prefix delete keys so deleting one app's jobs no longer affects apps with longer IDs sharing the prefix. Pull request #10973
Why it matters
This week's releases and fixes close several security gaps that affect anyone running Dapr: access control on service invocation, forged outbox messages, unauthenticated metadata writes on the public port and scheduler job deletion across apps. The three patch releases (1.17.19, 1.18.10, 1.19.1) ship these fixes across supported lines, along with bug fixes such as leaked Placement connections, SQLite locked-database writes and unrecoverable workflows. Upgrading is the direct way to pick up the changes.
Changelog entry
- Dapr Runtime v1.17.19 released with security fixes for service invocation access control, scheduler workflow reminders and API token checks. Release
- Dapr Runtime v1.18.10 released, fixing sidecar connection leaks when Placement is unreachable plus security fixes. Release
- Dapr Runtime v1.19.1 released, fixing SQLite locked-database write failures after a cancelled read. Release
- CallLocal now applies ACL HTTP verb rules when the internal invoke request has no metadata. Pull request #11017
- GRPC servers now cap request header size at the read buffer size and compare API tokens in constant time. Pull request #11013
- Outbox subscriber now rejects forged messages on the internal outbox topic. Pull request #11004
- Malformed encrypted state values now return errors instead of panicking. Pull request #11002
- OIDC discovery now validates X-Forwarded-Host before building issuer and JWKS URIs. Pull request #10997
- Daprd public HTTP port now serves only GET endpoints. Pull request #10975
- Scheduler prefix deletes now delimit the app ID so other apps' jobs are not deleted. Pull request #10973
- Added the v1.19.1 release note for the SQLite driver update. Pull request #11009
- Fixed typos and grammar in CONTRIBUTING.md. Pull request #10181
Dapr 1.17.19, 1.18.10 and 1.19.1 are out. This week's fixes cover service invocation ACL handling, gRPC header limits, forged outbox messages, encrypted state errors, OIDC host validation, the public HTTP port and scheduler job deletion. Upgrade to pick them up.
Dapr 1.17.19, 1.18.10 and 1.19.1 are released. This week's work closes a set of security gaps: service invocation access control could be bypassed with percent-encoded characters and path parameters, CallLocal could skip ACL HTTP verb rules when metadata was empty, the internal outbox topic accepted forged messages, malformed encrypted state values could panic the sidecar, OIDC discovery did not reject forwarded hosts with userinfo, the public HTTP port accepted unauthenticated metadata writes, and scheduler prefix deletes could reach other apps' jobs. The releases also fix connection leaks while Placement is unreachable, SQLite writes failing with database is locked after a cancelled read, and permanently unrecoverable workflows. Upgrade to the latest patch on your release line.
Week of October 19, 2026
What shipped
- The operator now checks each resource's app scopes against the caller's app ID in ListHTTPEndpoints and ListMCPServers, and also enforces scoping in ListResiliency, GetResiliency, ListSubscriptions and ListWorkflowAccessPolicy. Pull request #10890
- Dapr 1.18.9 was released with a security fix for the operator returning HTTPEndpoints and MCPServers scoped to other apps. Release
- Dapr 1.17.18 was released with the same operator scope security fix. Release
- Dapr 1.16.21 was released with a security fix that stops trusting the compromised eMudhra intermediate CA keys for outbound TLS. Release
- A completed workflow now acknowledges the wake-ups from duplicate activity results instead of firing them against the finished instance and queueing on the actor lock. Pull request #10894
- A timed-out actor invocation over gRPC now returns DeadlineExceeded instead of being wrapped as an internal ERR_ACTOR_INVOKE_METHOD error. Pull request #10868
- The sidecar no longer opens and leaks a gRPC connection every second while no Scheduler host is reachable. Pull request #10878
- The scheduler's pod RBAC was narrowed to its own namespace instead of granting read access to every pod in the cluster. Pull request #10873
- Components-contrib is pinned to v1.19.0 for the Dapr 1.19 release. Pull request #10898
- Release notes for Dapr 1.19.0 were added, along with the list of pull requests in the release. Pull request #10899
Why it matters
This week brought a security fix for the operator disclosing resources and secrets scoped to other apps, shipped in patch releases across the supported lines. It also delivered practical runtime fixes: timed-out actor calls now report DeadlineExceeded, a completed workflow no longer piles up wake-ups, and the sidecar stops leaking connections while the Scheduler is unreachable. The 1.19 line moved through release candidates toward a documented 1.19.0.
Changelog entry
- Operator enforces app scopes and configuration assignment on endpoint, MCP server, resiliency, subscription and workflow access policy APIs. Pull request #10890
- Release 1.18.9 with the operator scope security fix. Release
- Release 1.17.18 with the operator scope security fix. Release
- Release 1.16.21 with the eMudhra intermediate CA TLS security fix. Release
- Completed workflows acknowledge wake-ups from duplicate results without a full reload. Pull request #10894
- GRPC actor invocations return DeadlineExceeded when the call times out. Pull request #10868
- Sidecar closes failed Scheduler connection attempts instead of leaking one per second. Pull request #10878
- Scheduler pod RBAC scoped to the scheduler's own namespace. Pull request #10873
- Components-contrib pinned to v1.19.0. Pull request #10898
- Added v1.19.0 release notes and the pull request list for the release. Pull request #10899
- CI fixes for integration flakes, the 1.18 version-skew run and push retries. Pull request #10869
- Go updated from 1.26.9 to 1.26.10. Pull request #10876
Patch releases for 1.16, 1.17 and 1.18 include a security fix for the operator returning resources scoped to other apps. Also this week: timed-out actor calls return DeadlineExceeded, completed workflows ack duplicate wake-ups, and the sidecar no longer leaks connections when the
This week Dapr shipped patch releases on the 1.16, 1.17 and 1.18 lines with a security fix for the operator disclosing resources and secrets scoped to other apps; the operator now checks resource scopes against the caller's app ID. On the runtime side, a timed-out actor invocation over gRPC now returns DeadlineExceeded, a settled completed workflow acknowledges duplicate wake-ups instead of firing them at the finished instance, and the sidecar stops leaking a connection each second while no Scheduler host is reachable. The scheduler's pod RBAC is now limited to its own namespace, and the 1.19 line moved through release candidates toward 1.19.0 with its release notes in place.
Week of October 12, 2026
What shipped
- Daprd now binds its internal gRPC port before making any outbound connection, so a connection to sentry, the operator or a scheduler can no longer take the default 50002 port as an ephemeral source port and break both binds. Pull request #10820
- The scheduler's embedded etcd now keeps 10,000 revisions instead of 1,000,000, so it no longer holds the payloads of the last million writes. Pull request #10818
- The scheduler now exits when it cannot bind its port instead of retrying the same failing bind in-process until a liveness probe restarts the replica. Pull request #10817
- Sentry's Kubernetes validator pod cache is now scoped to pods labelled dapr.io/sidecar-injected, so its memory use and startup sync time scale with Dapr usage rather than total cluster size. Pull request #10802
- A workflow result that duplicates one already in its history or inbox is now acked and its wake-up re-driven, and a completed workflow no longer processes its inbox again. Pull request #10819
- A workflow wake-up that finds an empty inbox now reloads state only when the cache is stale instead of dropping it and reloading every history row on each wake-up. Pull request #10823
- A streaming pubsub subscriber is now registered before it is acknowledged, so a message delivered in between is no longer dropped as non-retriable. Pull request #10793
- A declarative subscription added by hot reload is now listed by the metadata API only once the subscriber has started its consumer. Pull request #10796
- The SIGHUP reconciler no longer restarts daprd for an HTTPEndpoint that has not changed, so an endpoint with a secret reference stops causing spurious restarts. Pull request #10785
- An interrupt during the identity fetch is now treated as a shutdown rather than an error, so a cancelled SignCertificate call no longer fails the run. Pull request #10792
Why it matters
This week is mostly a set of correctness fixes that remove failure modes users hit under load: workflows that re-armed completed instances or reloaded all history on empty inboxes, pubsub subscriptions acknowledged before they were registered, and a scheduler database that retained a million revisions of job payloads. Several fixes address startup and shutdown behaviour, from port binding in daprd to scheduler and identity fetch errors, and the release candidate for the runtime is out.
Changelog entry
- Daprd binds the internal gRPC port before any outbound connection Pull request #10820
- Scheduler keeps 10,000 etcd revisions instead of 1,000,000 Pull request #10818
- Scheduler exits when the server cannot bind its port Pull request #10817
- Sentry scopes the Kubernetes validator pod cache to injected pods Pull request #10802
- Workflow does not re-arm a completed workflow for a duplicate result Pull request #10819
- Workflow reloads state on an empty inbox only when the cache is stale Pull request #10823
- Pubsub registers a streaming subscriber before acknowledging it Pull request #10793
- Pubsub lists a hot reloaded subscription only once it is subscribed Pull request #10796
- Hotreload does not restart daprd for an unchanged HTTPEndpoint Pull request #10785
- An interrupt during the identity fetch is a shutdown, not an error Pull request #10792
- Grpc proxy keeps each resiliency attempt's state local to that attempt Pull request #10797
- Scheduler reconnects job streams while a job is still running Pull request #10794
Release candidate 1.19.0-rc.4 is out. This week: daprd binds its internal gRPC port before outbound connections, the scheduler keeps 10,000 etcd revisions instead of 1,000,000, workflow duplicate results no longer re-arm completed workflows, and pubsub registers streaming subscri
Release candidate 1.19.0-rc.4 is out. This week's fixes mostly target failure modes that appear under load. daprd now binds its internal gRPC port before any outbound connection, so the default 50002 port cannot be taken as an ephemeral source port and break both binds. The scheduler's embedded etcd keeps 10,000 revisions instead of 1,000,000, so it no longer retains the payloads of a million writes, and the scheduler exits when it cannot bind its port rather than looping. Workflows no longer re-arm a completed instance for a duplicate result and reload state on an empty inbox only when the cache is stale. Pubsub registers a streaming subscriber before acknowledging it, and hot reloaded subscriptions are listed only once subscribed. Sentry's pod cache is now scoped to injected pods.
Week of October 5, 2026
What shipped
- Service invocation no longer forwards spoofed caller identity headers to the target app, closing a security gap where a caller could set dapr-caller-app-id, dapr-caller-namespace and dapr-callee-app-id itself. Pull request #10683
- The Scheduler now checks the actor type a reminder targets against the caller identity, so an app can no longer create reminders against another app's internal workflow actors. Pull request #10682
- Service invocation access control now treats percent-encoded slash, backslash and dot consistently with the target app, closing a bypass where a denied operation could still be reached. Pull request #10684
- With clustered workflow deployment enabled, another app in the same namespace can no longer forge workflow and activity task results through the reserved executor actor. Pull request #10685
- The app HTTP middleware pipeline no longer shares a single root handler between requests, fixing responses that could carry a concurrent request's result. Pull request #10677
- Activity executions no longer stay pending when a workflow instance ID is reused while a previous run's activity is still in flight on the same sidecar. Pull request #10671
- Sidecars with hot reload no longer log subscription INFO lines every 60 seconds for subscriptions scoped to other apps. Pull request #10696
- The workflow executor actor no longer panics with a WaitGroup reuse error when it is deactivated during an in-flight call. Pull request #10681
- Dapr 1.18.7 fixes a sidecar crash when a workflow executor actor was deactivated during a call, data races in shutdown and deactivation paths, and an actor that stopped accepting calls after a reentrant call. Release
- Data races in the sidecar's scheduler job stream, hot reload and actor placement connections were fixed, including concurrent CloseSend on scheduler disconnects. Pull request #10674
Why it matters
This week is mostly about security and stability: several fixes close ways one app could spoof another's identity, reach denied operations, or forge workflow results, and those fixes are backported across the supported release lines. Alongside them, a batch of race and lifecycle bugs found during chaos testing are fixed, including a sidecar crash on workflow executor deactivation and pending activities when instance IDs are reused. Users on 1.17, 1.18 and 1.19 should pick up the matching patch releases.
Changelog entry
- Service invocation no longer forwards caller-supplied dapr-caller-app-id, dapr-caller-namespace and dapr-callee-app-id values to the target app. Pull request #10683
- Scheduler validates the target actor type of reminder requests against the caller's identity. Pull request #10682
- Service invocation access control handles percent-encoded slash, backslash and dot the same way as the target application. Pull request #10684
- Clustered workflow deployments reject workflow and activity task results sent through the reserved executor actor by another app. Pull request #10685
- HTTP app requests each get their own middleware pipeline handler instead of sharing one root handler. Pull request #10677
- Activity executions no longer remain pending when a workflow instance ID is reused while a prior activity is in flight. Pull request #10671
- Sidecars with hot reload stop logging subscriptions scoped to other apps every 60 seconds. Pull request #10696
- Workflow executor actor no longer panics when deactivated during an in-flight call. Pull request #10681
- Data races in sidecar shutdown, actor and workflow deactivation, input bindings and pub/sub are fixed. Pull request #10678
- Data races in the sidecar's scheduler job stream, hot reload and actor placement connections are fixed. Pull request #10674
- Integration suite added for workflow Select, covering racing events, timers, activities, retry chains and child workflows. Pull request #10668
- Dapr 1.17.15 fixes Azure Event Hubs checkpointing messages regardless of whether the application processed them. Release
Security and stability updates are out: spoofed caller identity headers, a service invocation access control bypass, and forged workflow task results through the reserved executor actor are fixed. Also fixed: a sidecar crash on workflow executor deactivation, reused instance IDs
This week's releases focus on security and stability across the supported versions. Security fixes stop service invocation from delivering spoofed caller identity headers, close an access control bypass using percent-encoded path characters, prevent the Scheduler from accepting actor reminders targeting another app's internal workflow actors, and block another app from forging workflow task results through the reserved executor actor. Stability fixes cover a sidecar crash when a workflow executor actor is deactivated during a call, activities left pending when workflow instance IDs are reused, subscription log noise every 60 seconds for subscriptions scoped to other apps, shared middleware handlers across concurrent HTTP app requests, and data races in shutdown, deactivation, input binding
Week of September 28, 2026
What shipped
- Dapr Runtime v1.19.0-rc.1 released as the first release candidate for the 1.19 version. Release
- Workflow creation no longer reruns the entire workflow if the create request is retried after the workflow has already started execution. Pull request #10595
- Fixed pubsub tracestate and baggage propagation in both HTTP and gRPC delivery paths so CloudEvent metadata is preserved end-to-end. Pull request #10385
- Fixed duplicate traceparent headers in gRPC metadata for service invocation by avoiding duplicate append of W3C trace context. Pull request #10596
- Added gRPC keepalive to the sidecar's connection to the placement leader to prevent silent network partition issues. Pull request #10572
- Fixed sidecars incorrectly falling back to placement when the scheduler was still initializing on cold start. Pull request #10570
- Fixed scheduler crashing and rebuilding when a cron job is deleted or overwritten as it fires by bumping go-etcd-cron. Pull request #10560
- Fixed component hotreload resolving secrets twice, which caused parse errors on Kubernetes when secrets were already decoded. Pull request #10526
- Updated dependencies to address CVE security issues. Pull request #10599
- Dapr Runtime v1.18.5-rc.1 released as the first release candidate for the 1.18.5 patch version. Release
Why it matters
The 1.19.0-rc.1 release candidate includes significant stability improvements across workflows, pubsub tracing, scheduler placement, and cron job handling. Multiple fixes address production issues found through chaos testing and integration tests, particularly around workflow reruns, trace context propagation, and silent network partition handling. These changes aim to reduce deployment issues in scheduler and placement service scenarios.
Changelog entry
- Workflow: don't re-run a workflow when its create is retried Pull request #10595
- Fix pubsub tracestate and baggage propagation for HTTP and gRPC delivery Pull request #10385
- Fix: avoid duplicate traceparent in SpanContextToGRPCMetadata Pull request #10596
- Fix actors keepalive on the scheduler placement leader connection Pull request #10572
- Fix sidecars falling back to placement on scheduler cold start Pull request #10570
- Scheduler: fix self restart when a firing job is deleted or overwritten Pull request #10560
- Fix hotreload: resolve a component's secrets exactly once on update Pull request #10526
- Workflow: admit activity completions by what history proves Pull request #10578
- Workflow: retry a completion that arrives before its scheduling is durable Pull request #10581
- Update dependencies for CVE Pull request #10599
Dapr v1.19.0-rc.1 is out. Fixes for workflow creation retries, pubsub tracestate propagation, gRPC keepalive on placement leader connections, and scheduler cron job handling.
Dapr Runtime v1.19.0-rc.1 is now available. This release includes critical stability improvements: workflow creation no longer reruns on retries, pubsub now correctly propagates tracestate and baggage in both HTTP and gRPC, gRPC keepalive prevents silent connection drops to placement leader, and scheduler cron jobs handle deletion/overwrite without crashing. These fixes address production scenarios found through chaos testing.
Week of September 21, 2026
What shipped
- Placement authority detection cutover and rollback logic enables Scheduler to handle placement operations, allowing gradual migration from Placement to Scheduler. Pull request #10416
- Fixed duplicate Prometheus metric samples that appeared after sidecar runtime hot reload, which previously caused metric gathering errors. Pull request #10537
- Fixed nil pointer error when upgrading from v1.18 to v1.19 using helm upgrade --reuse-values. Pull request #10559
- Restricted file permissions on sentry's trust bundle Secret from 0644 to 0440 for tighter security. Pull request #10534
- Updated durabletask-go dependency with detached workflow function name change from ScheduleNewWorkflow to ScheduleNewDetachedWorkflow. Pull request #10544
- Added scheduler placement performance tests to daily nightly runs alongside regular placement tests. Pull request #10539
- Added comprehensive unit test coverage for dead-letter publish paths in both HTTP and gRPC subscription postmen. Pull request #10525
- Improved integration test output readability by reducing terminal spam from 25,444 lines to focus on actual failures. Pull request #10350
- Fixed Go module vulnerabilities in the v1.18 release branch. Pull request #10551
Why it matters
This week addresses critical issues in metrics collection, Helm upgrades, and security permissions that affect operators running Dapr in production. The Placement to Scheduler migration continues advancing with authority detection logic. Integration testing improvements help contributors debug failures faster.
Changelog entry
- Placement authority detection: cutover and rollback for Scheduler-based placement Pull request #10416
- Fixed duplicate Prometheus metric samples after sidecar runtime hot reload Pull request #10537
- Fixed nil pointer error when upgrading from v1.18 with helm upgrade --reuse-values Pull request #10559
- Restricted sentry trust bundle Secret file permissions to 0440 Pull request #10534
- Updated durabletask-go with detached workflow function name changes Pull request #10544
- Added scheduler placement performance testing to daily nightly runs Pull request #10539
- Added dead-letter publish path unit tests for subscription postmen Pull request #10525
- Improved integration test output readability Pull request #10350
This week's updates: fixed duplicate Prometheus metrics after hot reload, resolved v1.18→v1.19 Helm upgrade failures, tightened trust bundle permissions, and advanced Scheduler placement integration.
Dapr this week shipped improvements across stability, operations, and migration: fixed duplicate Prometheus metrics appearing after sidecar restarts, resolved Helm upgrade failures when moving from v1.18 to v1.19, enhanced security by restricting trust bundle file permissions, and continued the Placement to Scheduler migration with authority detection logic. Integration test improvements also make debugging faster for contributors.
Week of September 14, 2026
What shipped
- Daprd now receives actor placement from the Scheduler service instead of only from Placement, including the placement stream transport, dissemination handling, and runtime wiring. Pull request #10440
- Workflow test suite now runs as a combined matrix of clustered, fastpath, and signing modes together, exposing bugs that single-mode legs could not reach. Pull request #10491
- Fixed six workflow actor bugs including turn commit failures, lost results, and abandoned commits that only appeared when multiple modes ran together. Pull request #10490
- Workflow state is now tested across daprd upgrades to verify that history rows, run-activity reminders, and timer reminders survive version transitions. Pull request #10505
- Workflow activity actor IDs maintain their three-part format across releases from 1.15 through 1.18 and into master to ensure compatibility. Pull request #10504
- Added new Grafana dashboards for Workflow and Scheduler subsystems and extended coverage in the actor dashboard and system services. Pull request #10496
- Integration test harness now supports workflow history signing mode that composes with clustered and fastpath modes for comprehensive coverage. Pull request #10489
- Integration tests for actors, workflows, and placement now run against both Placement and Scheduler Placement authorities via a new scheduler-placement mode. Pull request #10492
- Fixed version-skew integration suite for release-1.18 by patching the bindings metadata component build tag configuration. Pull request #10506
Why it matters
The Scheduler service can now serve actor placement alongside Placement, and workflows are tested more thoroughly across version boundaries and with multiple execution modes combined. These changes ensure operators can migrate to Scheduler-based placement and that workflow state survives daprd upgrades without losing activity or timer state.
Changelog entry
- Daprd now accepts actor placement from Scheduler service via placement stream transport with dissemination handling and placement-leader connector Pull request #10440
- Workflow integration test matrix now runs all combinations of clustered, fastpath, and signing modes Pull request #10491
- Fixed six workflow actor bugs: turn commit failures, lost results, abandoned commits, and result handling issues Pull request #10490
- Added cross-version daprd upgrade tests for in-flight workflows to verify history and reminder persistence Pull request #10505
- Maintained three-part workflow activity actor ID format across releases 1.15-1.18 and master Pull request #10504
- Added Grafana dashboards for Workflow and Scheduler subsystems; extended actor and system services dashboards Pull request #10496
- Added workflow history signing mode to integration test harness composable with other execution modes Pull request #10489
- New scheduler-placement mode in integration tests runs actor, workflow, and placement suites against both Placement and Scheduler Placement Pull request #10492
Workflows now run across multiple modes together in CI, fixing six actor bugs. Daprd gets actor placement from Scheduler. State tested across daprd upgrades.
This week's Dapr release work focused on Scheduler integration and workflow reliability. Daprd can now receive actor placement from the Scheduler service, enabling migration paths away from Placement. The workflow test matrix now combines clustered, fastpath, and signing modes, surfacing and fixing six previously hidden actor bugs. Workflows are tested across daprd version upgrades to ensure history, reminders, and state survive transitions. These improvements strengthen the foundation for production workloads.