{"version":"2.1.217","anchor":"bug-fixes","canonical_anchor":"bug-fixes","heading":"","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.217\/e\/bug-fixes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.217","markdown":"- Fixed resume attachment validation: malformed or missing attachment payloads in saved transcripts are now dropped with an error log rather than causing resume to fail (search for `\"the session transcript appears partially corrupt\"`)\n\n- Fixed the workflow VM sandbox to properly handle `MCP`-thrown errors in `resolveDeep`'s auto-await loop \u2014 a script ending on an unawaited MCP call no longer silently swallows the error (search for `\"mcpToolError: true\"`)\n\n- Fixed request cancellation in the load-balancing request router: when a request can't be sent and falls back to local handling, the outstanding remote request slot is now explicitly cancelled via `cancelRequest()` (search for `\"i.cancelRequest(a)\"`)\n\n- Fixed the bridge `prependUserMessage` method: adding a prepended message now wakes the async input reader immediately rather than waiting for the next chunk, which fixes a race in remote workflow dispatch (search for `\"prependWaker\"`)\n\n- Fixed fleet view: deleting a pinned background agent now also unpins it before deletion, preventing stale pin state (search for `\"Gos(o.id, !1).catch\"`)\n\n- Fixed `skills\/list` validation to also reject oversized fields (previously only checked for malformed\/missing required fields) (search for `\"malformed, missing, or oversized fields\"`)\n\n- Fixed `discoveryCache` leaking into serialized MCP server config: the field is now deleted before the config is stored (search for `\"delete a.discoveryCache\"`)\n\n- Fixed injectControlResponse to return a boolean indicating whether the response was consumed \u2014 previously it always returned void, making it impossible for callers to detect no-op responses (search for `\"injectControlResponse\"`)\n\n- Fixed word-wrap rendering in the terminal output renderer to use the correct source array (`E` vs `v`) when iterating tokens without wrapping (search for `\"R = E.map\"`)\n\n- Fixed the workflow VM context builder to use the correct `budget_usd` registration path, ensuring budget tracking is available in the right VM scope (search for `\"ab(\\\"budget_usd\\\"\"`)"}