# Faster engine calls and two runtime stacks

**Version:** v0.38.0

**Published:** November 10, 2026

Workflows 0.38 makes engine calls in most workflows about three times faster, moves the generated heartbeat into its own organization stack, and checks definitions more strictly. Several changes need action, so read [Before you upgrade](https://www.sanity.io/docs/workflows/release-notes) in the release notes before you install.

## Faster engine calls

Instance commits return without waiting for the query index. In our measurements, `fireAction` in a workflow that commits asynchronously takes about 1.0 s instead of about 3-4 s. Pass `visibility: 'sync'` when you query the result with GROQ right away. See [commit visibility](https://www.sanity.io/docs/workflows/engine).

## Two stacks for the generated runtime

The generated document functions deploy to a project-scoped stack with a project token, and the heartbeat deploys to its own organization stack with an organization deploy token. Regenerate and deploy both stacks when you upgrade. See [deploy definitions and Functions](https://www.sanity.io/docs/workflows/generate-functions).

## Stricter checks

A condition reference that can’t resolve fails when the definition loads. The `setStage` override and `sanity workflows set-stage` are removed, so every stage move goes through a declared transition. See [condition variables](https://www.sanity.io/docs/workflows/workflow-authoring-reference).

## Coming in 0.39: four packages

In 0.39, the Workflows packages become four: `@sanity/workflows`, `@sanity/workflows-ui`, `@sanity/workflows-cli`, and `@sanity/workflows-test`. Only package names and import paths change, and `npx @sanity/workflows-cli codemod packages` rewrites them in your project.

