From f0ca696bdd01e3df8be2bb9bfef43fe991c5483a Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Wed, 12 Aug 2026 10:37:38 -0400 Subject: [PATCH] @deltic/protocol 0.2.0: A10 renamed its exports; the JSR package must move too A10 (#114) renamed WitError/isWitError/WIT_ERROR to ComponentException/ isComponentException/COMPONENT_EXCEPTION in @deltic/protocol's export surface without bumping the package version. JSR versions are immutable and the release workflow deliberately skips already-published versions, so every post-A10 prerelease (runtime@0.1.0-pre.g{3c8c0e9..b297834}) resolves jsr:@deltic/protocol@^0.1.0 to the pre-A10 0.1.0 content and fails at module load: SyntaxError: The requested module 'jsr:@deltic/protocol@^0.1.0' does not provide an export named 'isComponentException' Found by all six polymorph consumer-migration tracks simultaneously. Fix: bump protocol to 0.2.0 (semver-honest: exports were removed). deno publish rewrites the workspace dep to ^0.2.0 at the next prerelease, which consumers then pin. Immutable 0.1.0 keeps serving pre-A10 prereleases correctly (^0.1.0 never resolves across 0.2.0). Release note recorded in the contract's A10 status entry. --- contracts/embedder-api.md | 6 +++++- protocol/deno.json | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/contracts/embedder-api.md b/contracts/embedder-api.md index 0fdf6a8..3cc44e0 100644 --- a/contracts/embedder-api.md +++ b/contracts/embedder-api.md @@ -36,7 +36,11 @@ exception naming) while it is still cheap — semantics unchanged (payloadless cases still omit `value`); the **wire vocabulary is untouched**: the brand key stays `deltic.witError/1` (an opaque constant, CEWD-style, so pre-A10 copies and hand-rolled brands keep interoperating) -and plan-format op discriminants (a different contract) keep `tag`.** +and plan-format op discriminants (a different contract) keep `tag`; +A10 release note (2026-08-12): the rename changes `@deltic/protocol`'s +export surface, so the JSR package moves to **0.2.0** — immutable `0.1.0` +keeps the pre-A10 names for pre-A10 runtime prereleases (`^0.1.0` never +resolves across), and post-A10 workspace publishes depend on `^0.2.0`.** This document supersedes `descriptor-ir.md`'s interim "host value mapping" table as the destination for host-facing value shapes. The runtime's *raw* boundary (`instance.exports`, `HostImports`) keeps the diff --git a/protocol/deno.json b/protocol/deno.json index e485a6d..edd0f6b 100644 --- a/protocol/deno.json +++ b/protocol/deno.json @@ -1,6 +1,6 @@ { "name": "@deltic/protocol", - "version": "0.1.0", + "version": "0.2.0", "exports": { ".": "./src/mod.ts" },