chore: release packages (beta) - #419
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (9)
Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe change documents the worker saga API and advances the client, contract, testing, and worker packages from beta.7 to beta.8 with aligned changelogs and dependencies. ChangesSaga release documentation
Package beta.8 alignment
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This PR publishes beta package versions and updates their changelogs and dependency metadata; no actionable merge-blocking risk remains beyond normal release checks. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The PR changes only package metadata, changelogs, and release notes. They do not include the Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (9 skipped: 9 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🟢 Approval recommended
The changes are limited to consistent version bumps and changelog/changeset updates with no functional code modifications in this PR.
Pull request overview
This Changesets-generated release PR prepares the monorepo packages for publishing 8.0.0-beta.8, including a new @temporal-contract/worker minor prerelease that documents the new context.saga() API behavior and updates dependent package versions/changelogs.
Changes:
- Bump package versions to
8.0.0-beta.8for@temporal-contract/{worker,client,contract,testing}. - Update changelogs to include the
8.0.0-beta.8release notes and dependency bump notes. - Add the prerelease changeset entry for the workflow saga feature.
File summaries
| File | Description |
|---|---|
| packages/worker/package.json | Bumps @temporal-contract/worker version to 8.0.0-beta.8. |
| packages/worker/CHANGELOG.md | Adds 8.0.0-beta.8 release notes for context.saga() and dependency bump. |
| packages/testing/package.json | Bumps version and updates peer dependency ranges to ^8.0.0-beta.8. |
| packages/testing/CHANGELOG.md | Adds 8.0.0-beta.8 entry noting updated internal dependencies. |
| packages/contract/package.json | Bumps @temporal-contract/contract version to 8.0.0-beta.8. |
| packages/contract/CHANGELOG.md | Adds 8.0.0-beta.8 header entry for the prerelease. |
| packages/client/package.json | Bumps @temporal-contract/client version to 8.0.0-beta.8. |
| packages/client/CHANGELOG.md | Adds 8.0.0-beta.8 entry noting the contract dependency bump. |
| .changeset/pre/workflow-saga.md | Adds the prerelease changeset describing the saga/compensation behavior. |
Review details
- Files reviewed: 8/9 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
mainis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonmain.Releases
@temporal-contract/worker@8.0.0-beta.8
Minor Changes
274e340:
context.saga(): steps with compensating undos, unwound LIFO — with themachinery failures exempt by default.
declareWorkflowhanded a workflowcontext.activitiesandcontext.errorsand nothing for the walk-back, so every saga wrote its own. The LIFO machinery
is now
@unthrown/saga's. What this adds is the decision that belongs toTemporal rather than to a
Resultcombinator: which failures compensate.The undos run on a declared contract error — a permanent domain answer,
where what the step did before saying no is knowable. They do not run on an
ActivityError, aChildWorkflowErroror a defect: a step that failedunmodelled left state nobody can see, and un-deciding what you cannot see is a
second bug. That failure propagates untouched, so
propagateActivityFailurestill re-raises Temporal's original failure — which deletes the per-step
arm that had to be repeated, was easy to omit, and was invisible when omitted.
Cancellation is the one case a caller may opt back in to, with
saga({ compensateOnCancellation: true }). Every undo runs inside anon-cancellable scope: a cancelled scope schedules no activity at all, so
without one that opt-in could never compensate for the failure it exists for.
A compensation that itself fails
becomes a defect carrying its own failure, which outranks the failure that
triggered the unwind — a refund that never happened is worse news than the order
that could not ship — and the remaining undos still run first.
workflowSagais the same function, exported from@temporal-contract/worker/workflowfor a workflow that composes its steps in ahelper.
Closes feat(worker): compensation in
declareWorkflow— the saga, with the machinery tags exempt by default #413.Patch Changes
@temporal-contract/client@8.0.0-beta.8
Patch Changes
@temporal-contract/testing@8.0.0-beta.8
Patch Changes
@temporal-contract/contract@8.0.0-beta.8
Summary by CodeRabbit
New Features
Documentation
Release Updates