Description
Summary
Track cross-SDK rollout of Durable Task middleware support after the .NET reference implementation.
Reference spec: https://github.com/microsoft/durabletask-dotnet/blob/feature/durable-task-middleware/doc/cross-sdk-middleware.md
.NET user guide: https://github.com/microsoft/durabletask-dotnet/blob/feature/durable-task-middleware/doc/durable-task-middleware.md
.NET feature branch: https://github.com/microsoft/durabletask-dotnet/tree/feature/durable-task-middleware
Motivation: Azure/azure-functions-durable-extension#3054
The .NET implementation is the reference for the v1 behavior and API contract. Other SDKs should use language-idiomatic names and shapes while preserving the durable middleware model described in the spec.
Child issues
- JavaScript / TypeScript: Add Durable Task middleware support durabletask-js#242
- Python: Add Durable Task middleware support durabletask-python#136
- Java: Add Durable Task middleware support durabletask-java#285
- Go: Add Durable Task middleware support durabletask-go#132
PowerShell is not tracked as a separate SDK target because it inherits applicable .NET behavior.
Shared v1 scope
- Orchestration middleware.
- Activity middleware.
- Per-worker or per-builder registration.
- Type/class and/or delegate/function middleware registration where idiomatic.
- Host feature collection for per-work-item host context.
- Orchestration replay-determinism guidance and illegal non-durable await guard expectations where feasible.
- Activity short-circuiting through an explicit result-setting API.
Out of scope for v1
- Entity middleware.
- Wire protocol or protobuf changes.
- Replacing host worker middleware abstractions such as Azure Functions worker middleware.
Completion criteria
Close this issue when each child SDK issue has a merged implementation or the owning SDK has explicitly decided to track or defer the work elsewhere.
Activity
github-actions commentedon May 6, 2026
Issue Triage
Classification:
triage/too-largeReasoning:
This is a cross-SDK tracking issue for middleware support across JavaScript/TypeScript, Python, Java, and Go SDKs. It is a meta-issue that coordinates work across multiple separate repositories and cannot be addressed by changes in this repository alone.
Automated fix candidate: No
andystaples commentedon Nov 11, 2026
Python middleware support (microsoft/durabletask-python#136) is being deferred pending approval of the cross-SDK middleware contract and landing of the .NET reference implementation proposed in #721. The draft design is useful, but Python should not independently commit to a public middleware API while the shared contract remains unsettled.
Once those milestones are reached, please make reopening or creating parity issues for Python, JavaScript/TypeScript, Java, and Go an explicit follow-up of this tracker. Each issue should link to the approved specification and merged reference implementation and carry the agreed v1 scope and acceptance criteria; closed language trackers should be revisited rather than assumed to establish feature availability.
This is a sequencing decision, not a rejection of middleware support. Reopening the language issues should not require every SDK to have shipped first.