Skip to content

feat!: migrate to unthrown 2.0.0#273

Merged
btravers merged 1 commit into
mainfrom
feat/unthrown-v2
Jun 30, 2026
Merged

feat!: migrate to unthrown 2.0.0#273
btravers merged 1 commit into
mainfrom
feat/unthrown-v2

Conversation

@btravers

Copy link
Copy Markdown
Collaborator

Summary

Upgrades to unthrown 2.0.0, following the 0.x → 1.0 migrations (#263, #265, all merged).

unthrown 2.0.0 is a major release, but its breaking change does not touch anything temporal-contract uses — the public API surface we depend on is identical. So this is effectively a version bump with no source changes.

What changed

  • unthrown + @unthrown/vitest catalog entries → 2.0.0.
  • Published packages' unthrown peer range → ^2.
  • Migration-guide install snippet → ^2.
  • major changeset (requiring unthrown ^2 is breaking for consumers still on 1.x).

Unchanged (verified against the new .d.ts)

The Ok / Err / Defect constructors, TaggedError, matchTags, fromPromise / fromSafePromise, result.match({ ok, err, defect }), .toAsync(), and result.isOk() / isErr() / isDefect() narrowing — all identical to 1.0. @unthrown/vitest's matchers (toBeOk/toBeOkWith/toBeErr/toBeDefect) are unchanged too. 2.0.0's additions (isResult, flatTapErr, the AsyncResult companion value) are purely additive.

Verification

typecheck · oxlint · oxfmt · knip · 271 unit tests · integration tests (exit 0) · docs build — all green, with no code changes required.

🤖 Generated with Claude Code

unthrown 2.0.0 is API-compatible for everything temporal-contract uses (the
`Ok` / `Err` / `Defect` constructors, `TaggedError`, `matchTags`, `fromPromise`
/ `fromSafePromise`, `result.match({ ok, err, defect })`, `.toAsync()`, and the
`result.isOk()` / `isErr()` / `isDefect()` narrowing are all unchanged), so no
source changes were needed — only the `unthrown` / `@unthrown/vitest` catalog
entries bump to 2.0.0 and the published packages' `unthrown` peer range moves
to `^2`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 30, 2026 01:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the repo’s unthrown dependency family to 2.0.0 (and aligns published packages’ unthrown peer dependency range to ^2), reflecting the new major version in the workspace catalog, lockfile, docs, and release notes via a changeset.

Changes:

  • Bump unthrown and @unthrown/vitest catalog versions to 2.0.0 and refresh pnpm-lock.yaml.
  • Update published packages’ unthrown peer dependency range from ^1^2.
  • Update the migration guide install snippet and add a major changeset covering the package group.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-workspace.yaml Updates workspace catalog entries for unthrown and @unthrown/vitest to 2.0.0.
pnpm-lock.yaml Lockfile update reflecting unthrown@2.0.0 and @unthrown/vitest@2.0.0.
packages/worker/package.json Updates unthrown peer dependency range to ^2.
packages/contract/package.json Updates unthrown peer dependency range to ^2.
packages/client/package.json Updates unthrown peer dependency range to ^2.
docs/guide/migrating-to-unthrown.md Updates install snippet to unthrown: ^2.
.changeset/unthrown-v2.md Adds a major changeset documenting the unthrown ^2 peer requirement.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

@btravers btravers merged commit 224e1ae into main Jun 30, 2026
10 checks passed
@btravers btravers deleted the feat/unthrown-v2 branch June 30, 2026 01:34
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.

2 participants