Skip to content

0.5.0: remove the deprecated authoring surface — converge on definition - #7

Merged
bweis merged 1 commit into
mainfrom
feat/0.5.0-remove-deprecated
Sep 11, 2026
Merged

0.5.0: remove the deprecated authoring surface — converge on definition#7
bweis merged 1 commit into
mainfrom
feat/0.5.0-remove-deprecated

Conversation

@bweis

@bweis bweis commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

What

The deletion release planned in 0.4.0's changelog. Everything deprecated there is gone; the API converges on definition + bundle + activities + client/engine-client + testing (+ wire and the engine-level corners of engine-sandbox).

  • Removed the typed-activity and versioning modules and package exports. deprecateVersion / deprecatePatch / patched (Temporal-only retirement step) now live in bundle.
  • Removed from engine-sandbox: callActivity, takeMailbox, pollMailbox, takeUpdate, setStateCell, sleepUntil, continueAsNew, the UpdateRequest<S, E, P> alias — now module-private machinery behind the Temporal WorkflowOps runtime. workflowBundle (import from bundle), callRawActivity, workflow→workflow offerMailbox, callNexusWorkflowOperation, SandboxRun remain.
  • Removed the mailbox / update / state-cell package exports and their make constructors; the modules stay in-tree as internal wire homes.
  • prefer-definition keeps its tables (message: "was removed in 0.5.0 — use …") so a stale import gets a pointer, and also reports workflowBundle from engine-sandbox. Deviation from the 0.4.0 plan (which said to empty the tables), noted in the changelog.

Wire safety

No wire change. replay-compat.test.ts now replays three recorded histories through this bundle: defOrder (0.3.0), and two recorded on 0.4.0 before this deletion — defDispatch (versioned marker + awaited executeChild) and defGrace (durable timer racing a mailbox take). The version-chain fixtures (generations 2 and 3) author with versioned; generation 1 stays pre-versioning code, so the three-generation replay drill still proves adoption is replay-safe.

Validation

  • typecheck, oxlint, build, docs build: clean
  • full suite: 25 files / 73 tests green
  • both examples typecheck and run end to end
  • no import of a removed symbol anywhere in src/ or examples/; examples/ has zero engine-sandbox imports

Delete typed-activity and versioning (modules and package exports); drop
the mailbox/update/state-cell exports and their make constructors (the
modules stay internal wire homes); privatize engine-sandbox's per-primitive
machinery (callActivity, takeMailbox, pollMailbox, takeUpdate,
setStateCell, sleepUntil, continueAsNew, the UpdateRequest alias) behind
the Temporal WorkflowOps runtime. deprecateVersion/deprecatePatch/patched
move to bundle.

prefer-definition keeps its tables so a stale import gets a pointer, and
now also flags workflowBundle imported from engine-sandbox.

Replay drill: two histories recorded on 0.4.0 (versioned + executeChild;
timer racing a mailbox take) replay alongside the 0.3.0 one. The
version-chain fixtures author with versioned; generation 1 stays
pre-versioning code.
@bweis
bweis added this pull request to the merge queue Sep 11, 2026
Merged via the queue into main with commit b89acd6 Sep 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant