Fetching from the wire…
Public story · 2026-08-24 · high
A status guard on run state blocks stale overwrites; outside orchestrators like Temporal can now drive the eval loop.
Why now: Mastra's 1.61.0 release notes carry no publish date, only a version tag, which makes August 24 the reference point for the fix.
Mastra closed a race condition in concurrent workflow resume calls in its 1.61.0 core release. For anyone running Mastra with multiple workers, the fix turns a silent overwrite into an HTTP 409 a client can catch and retry.
Concurrent calls to resume() on the same suspended run now resolve to exactly one winner. The other caller gets an HTTP 409 with the code WORKFLOW_RESUME_ALREADY_CLAIMED. The losing process can't write to a run it no longer owns.
State updates now carry an expectedStatus guard. An update fails if the run has already moved past the status the caller expected. That stops a stale process from overwriting progress another process already made.
Experiments changed too. They can now be caller-driven. That lets an external orchestrator like Temporal own the eval loop while Mastra stays the system of record for workflow state. The change implies the eval loop used to run inside Mastra itself.
Each link below shares sources, entities, or timing with this story.
Temporal partners with OpenAI / Shared entities / Same source domain / Earlier coverage
Linked by a graph relationship (Temporal partners with OpenAI); both cover HTTP, Mastra; reported by the same outlet (github.com).
Mastra uses MySQL / Shared entities / Same source domain / Earlier coverage
Linked by a graph relationship (Mastra uses MySQL); both cover GitHub, Mastra; reported by the same outlet (github.com).
Temporal partners with OpenAI / Shared entity: GitHub / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (Temporal partners with OpenAI); both cover GitHub; reported by the same outlet (github.com).
Temporal partners with OpenAI / Shared entity: GitHub / Same source domain / Earlier coverage
Linked by a graph relationship (Temporal partners with OpenAI); both cover GitHub; reported by the same outlet (github.com).
Linked by a graph relationship (Temporal partners with OpenAI); both cover GitHub; reported by the same outlet (github.com).
Temporal partners with OpenAI / Same source domain
Linked by a graph relationship (Temporal partners with OpenAI); reported by the same outlet (github.com).
Temporal partners with OpenAI / Shared entity: GitHub / Same source domain / Earlier coverage
Linked by a graph relationship (Temporal partners with OpenAI); both cover GitHub; reported by the same outlet (github.com).
Mastra supports MCP / Shared entity: GitHub / Same source domain / Earlier coverage
Linked by a graph relationship (Mastra supports MCP); both cover GitHub; reported by the same outlet (github.com).