From 1f93ee12f965d91c345d207a0b42d93080bf74f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 14:54:53 +0000 Subject: [PATCH 1/2] chore(release): version packages --- .changeset/automated-release-publishing.md | 4 ---- .changeset/stable-failure-contracts.md | 9 --------- bench/CHANGELOG.md | 7 +++++++ bench/package.json | 2 +- docs/CHANGELOG.md | 11 +++++++++++ docs/package.json | 2 +- packages/core/CHANGELOG.md | 6 ++++++ packages/core/package.json | 2 +- packages/react/CHANGELOG.md | 11 +++++++++++ packages/react/package.json | 2 +- packages/svelte/CHANGELOG.md | 11 +++++++++++ packages/svelte/package.json | 2 +- packages/vue/CHANGELOG.md | 11 +++++++++++ packages/vue/package.json | 2 +- packages/xlsx/CHANGELOG.md | 11 +++++++++++ packages/xlsx/package.json | 2 +- 16 files changed, 75 insertions(+), 20 deletions(-) delete mode 100644 .changeset/automated-release-publishing.md delete mode 100644 .changeset/stable-failure-contracts.md diff --git a/.changeset/automated-release-publishing.md b/.changeset/automated-release-publishing.md deleted file mode 100644 index 59538f20..00000000 --- a/.changeset/automated-release-publishing.md +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -Automate stable tag releases with canonical tarball verification, npm provenance, public registry checks, and GitHub release notes. diff --git a/.changeset/stable-failure-contracts.md b/.changeset/stable-failure-contracts.md deleted file mode 100644 index d7eb5600..00000000 --- a/.changeset/stable-failure-contracts.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@sheetwrite/core": minor -"@sheetwrite/react": minor -"@sheetwrite/vue": minor -"@sheetwrite/svelte": minor -"@sheetwrite/xlsx": minor ---- - -Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. diff --git a/bench/CHANGELOG.md b/bench/CHANGELOG.md index 3738699d..e1118813 100644 --- a/bench/CHANGELOG.md +++ b/bench/CHANGELOG.md @@ -1,5 +1,12 @@ # @sheetwrite/bench +## 0.0.2 + +### Patch Changes + +- Updated dependencies [e551eb0] + - @sheetwrite/core@0.4.0 + ## 0.0.1 ### Patch Changes diff --git a/bench/package.json b/bench/package.json index 77228cfc..ae54bd59 100644 --- a/bench/package.json +++ b/bench/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/bench", - "version": "0.0.1", + "version": "0.0.2", "private": true, "type": "module", "description": "Performance comparison benchmarks: Sheetwrite vs Handsontable.", diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 4bc358c1..5fd43e97 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,16 @@ # @sheetwrite/docs-start +## 0.0.2 + +### Patch Changes + +- Updated dependencies [e551eb0] + - @sheetwrite/core@0.4.0 + - @sheetwrite/react@0.4.0 + - @sheetwrite/vue@0.4.0 + - @sheetwrite/svelte@0.4.0 + - @sheetwrite/xlsx@0.4.0 + ## 0.0.1 ### Patch Changes diff --git a/docs/package.json b/docs/package.json index 1a20971b..9ba78720 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/docs-start", - "version": "0.0.1", + "version": "0.0.2", "private": true, "type": "module", "scripts": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index b2e40f6d..3ada9873 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,11 @@ # @sheetwrite/core +## 0.4.0 + +### Minor Changes + +- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. + ## 0.2.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index ef646225..b6988411 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/core", - "version": "0.3.0", + "version": "0.4.0", "type": "module", "description": "Framework-agnostic, canvas-rendered spreadsheet grid core.", "license": "MIT", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index aaaa6d92..55950b3e 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,16 @@ # @sheetwrite/react +## 0.4.0 + +### Minor Changes + +- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. + +### Patch Changes + +- Updated dependencies [e551eb0] + - @sheetwrite/core@0.4.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index 63db135d..9932deee 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/react", - "version": "0.3.0", + "version": "0.4.0", "type": "module", "description": "React adapter for Sheetwrite.", "license": "MIT", diff --git a/packages/svelte/CHANGELOG.md b/packages/svelte/CHANGELOG.md index 63fe37d8..99d5dda5 100644 --- a/packages/svelte/CHANGELOG.md +++ b/packages/svelte/CHANGELOG.md @@ -1,5 +1,16 @@ # @sheetwrite/svelte +## 0.4.0 + +### Minor Changes + +- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. + +### Patch Changes + +- Updated dependencies [e551eb0] + - @sheetwrite/core@0.4.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 3fa41423..1b930525 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/svelte", - "version": "0.3.0", + "version": "0.4.0", "type": "module", "description": "Svelte adapter for Sheetwrite.", "license": "MIT", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index e09f16c3..1fc7d30c 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,16 @@ # @sheetwrite/vue +## 0.4.0 + +### Minor Changes + +- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. + +### Patch Changes + +- Updated dependencies [e551eb0] + - @sheetwrite/core@0.4.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index b21e67dd..c3f5567e 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/vue", - "version": "0.3.0", + "version": "0.4.0", "type": "module", "description": "Vue adapter for Sheetwrite.", "license": "MIT", diff --git a/packages/xlsx/CHANGELOG.md b/packages/xlsx/CHANGELOG.md index db6f9722..855bd8cd 100644 --- a/packages/xlsx/CHANGELOG.md +++ b/packages/xlsx/CHANGELOG.md @@ -1,5 +1,16 @@ # @sheetwrite/xlsx +## 0.4.0 + +### Minor Changes + +- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. + +### Patch Changes + +- Updated dependencies [e551eb0] + - @sheetwrite/core@0.4.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/xlsx/package.json b/packages/xlsx/package.json index d81d8f5d..6c9e23b4 100644 --- a/packages/xlsx/package.json +++ b/packages/xlsx/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/xlsx", - "version": "0.3.0", + "version": "0.4.0", "type": "module", "description": "Optional XLSX table and workbook backends for Sheetwrite.", "license": "MIT", From c303efeec07357899702d25ee6bb32bd01cc818a Mon Sep 17 00:00:00 2001 From: chh-ay Date: Thu, 23 Jul 2026 22:03:02 +0700 Subject: [PATCH 2/2] fix(release): keep generated metadata at v0.3.0 --- .github/workflows/ci.yml | 3 +++ .github/workflows/release.yml | 2 +- bench/CHANGELOG.md | 2 +- docs/CHANGELOG.md | 10 +++++----- packages/core/CHANGELOG.md | 4 ++-- packages/core/package.json | 2 +- packages/react/CHANGELOG.md | 6 +++--- packages/react/package.json | 2 +- packages/svelte/CHANGELOG.md | 6 +++--- packages/svelte/package.json | 2 +- packages/vue/CHANGELOG.md | 6 +++--- packages/vue/package.json | 2 +- packages/xlsx/CHANGELOG.md | 6 +++--- packages/xlsx/package.json | 2 +- scripts/release-workflow.test.ts | 2 ++ scripts/workflow-contract.test.ts | 17 +++++++++++++++++ scripts/workspace-tooling.test.ts | 1 + 17 files changed, 49 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7fad125f..48ef44d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,10 +61,13 @@ jobs: test "$(npm --version)" = "$NPM_VERSION" test "$(rustc --version | cut -d' ' -f2)" = "$RUST_VERSION" - name: Changeset status + if: github.event_name != 'pull_request' || github.head_ref != 'changeset-release/develop' run: bun run changeset:status -- --since=origin/develop - name: Install checksum-pinned wasm-pack run: bun scripts/install-wasm-pack.ts - name: Tooling contracts + env: + SKIP_CHANGESET_STATUS: ${{ github.event_name == 'pull_request' && github.head_ref == 'changeset-release/develop' }} run: bun run test:tooling - name: Import cycles run: bun run check:cycles diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c570824d..bab729c6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -105,7 +105,7 @@ jobs: id: size-history if: steps.publish.outputs.verified != '[]' run: | - VERSION="$(node -p "require('./package.json').version")" + VERSION="$(node -p "require('./packages/core/package.json').version")" echo "version=$VERSION" >> "$GITHUB_OUTPUT" bun run size:record --version="$VERSION" bun run docs:generate diff --git a/bench/CHANGELOG.md b/bench/CHANGELOG.md index e1118813..4b1013cb 100644 --- a/bench/CHANGELOG.md +++ b/bench/CHANGELOG.md @@ -5,7 +5,7 @@ ### Patch Changes - Updated dependencies [e551eb0] - - @sheetwrite/core@0.4.0 + - @sheetwrite/core@0.3.0 ## 0.0.1 diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 5fd43e97..16d48911 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -5,11 +5,11 @@ ### Patch Changes - Updated dependencies [e551eb0] - - @sheetwrite/core@0.4.0 - - @sheetwrite/react@0.4.0 - - @sheetwrite/vue@0.4.0 - - @sheetwrite/svelte@0.4.0 - - @sheetwrite/xlsx@0.4.0 + - @sheetwrite/core@0.3.0 + - @sheetwrite/react@0.3.0 + - @sheetwrite/vue@0.3.0 + - @sheetwrite/svelte@0.3.0 + - @sheetwrite/xlsx@0.3.0 ## 0.0.1 diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 3ada9873..5c4b2176 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,10 +1,10 @@ # @sheetwrite/core -## 0.4.0 +## 0.3.0 ### Minor Changes -- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. +- e551eb0: Introduce the canonical `SheetwriteError` envelope and stable error codes across initialization, data sources, rendering, persistence, synchronization, collaboration, and import/export boundaries, with serialization-safe context and explicit retryability. ## 0.2.0 diff --git a/packages/core/package.json b/packages/core/package.json index b6988411..ef646225 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/core", - "version": "0.4.0", + "version": "0.3.0", "type": "module", "description": "Framework-agnostic, canvas-rendered spreadsheet grid core.", "license": "MIT", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 55950b3e..99fe512f 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,15 +1,15 @@ # @sheetwrite/react -## 0.4.0 +## 0.3.0 ### Minor Changes -- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. +- e551eb0: Expose typed `SheetwriteError` failures through `onInitializationError` while preserving React grid readiness and input-reset lifecycle behavior. ### Patch Changes - Updated dependencies [e551eb0] - - @sheetwrite/core@0.4.0 + - @sheetwrite/core@0.3.0 ## 0.2.0 diff --git a/packages/react/package.json b/packages/react/package.json index 9932deee..63db135d 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/react", - "version": "0.4.0", + "version": "0.3.0", "type": "module", "description": "React adapter for Sheetwrite.", "license": "MIT", diff --git a/packages/svelte/CHANGELOG.md b/packages/svelte/CHANGELOG.md index 99d5dda5..1c5645e0 100644 --- a/packages/svelte/CHANGELOG.md +++ b/packages/svelte/CHANGELOG.md @@ -1,15 +1,15 @@ # @sheetwrite/svelte -## 0.4.0 +## 0.3.0 ### Minor Changes -- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. +- e551eb0: Normalize initialization failures into canonical `SheetwriteError` values for `onInitializationError`, including cross-realm error envelopes and retained causes. ### Patch Changes - Updated dependencies [e551eb0] - - @sheetwrite/core@0.4.0 + - @sheetwrite/core@0.3.0 ## 0.2.0 diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 1b930525..3fa41423 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/svelte", - "version": "0.4.0", + "version": "0.3.0", "type": "module", "description": "Svelte adapter for Sheetwrite.", "license": "MIT", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 1fc7d30c..d9668f38 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,15 +1,15 @@ # @sheetwrite/vue -## 0.4.0 +## 0.3.0 ### Minor Changes -- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. +- e551eb0: Emit typed `SheetwriteError` failures through the `initialization-error` event while preserving Vue grid readiness and input-reset lifecycle behavior. ### Patch Changes - Updated dependencies [e551eb0] - - @sheetwrite/core@0.4.0 + - @sheetwrite/core@0.3.0 ## 0.2.0 diff --git a/packages/vue/package.json b/packages/vue/package.json index c3f5567e..b21e67dd 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/vue", - "version": "0.4.0", + "version": "0.3.0", "type": "module", "description": "Vue adapter for Sheetwrite.", "license": "MIT", diff --git a/packages/xlsx/CHANGELOG.md b/packages/xlsx/CHANGELOG.md index 855bd8cd..922bd757 100644 --- a/packages/xlsx/CHANGELOG.md +++ b/packages/xlsx/CHANGELOG.md @@ -1,15 +1,15 @@ # @sheetwrite/xlsx -## 0.4.0 +## 0.3.0 ### Minor Changes -- e551eb0: Add the canonical `SheetwriteError` envelope and stable error codes across initialization, Grid events, persistence, synchronization, collaboration, delimited text, and optional XLSX boundaries. Framework initialization callbacks now receive the same typed error class, and XLSX cancellation preserves the original abort reason as `cause`. +- e551eb0: Normalize XLSX import, export, option, and resource-limit failures into canonical `SheetwriteError` values, and preserve each `AbortSignal` reason as the cancellation cause. ### Patch Changes - Updated dependencies [e551eb0] - - @sheetwrite/core@0.4.0 + - @sheetwrite/core@0.3.0 ## 0.2.0 diff --git a/packages/xlsx/package.json b/packages/xlsx/package.json index 6c9e23b4..d81d8f5d 100644 --- a/packages/xlsx/package.json +++ b/packages/xlsx/package.json @@ -1,6 +1,6 @@ { "name": "@sheetwrite/xlsx", - "version": "0.4.0", + "version": "0.3.0", "type": "module", "description": "Optional XLSX table and workbook backends for Sheetwrite.", "license": "MIT", diff --git a/scripts/release-workflow.test.ts b/scripts/release-workflow.test.ts index 6bc1ab22..fca0c3ca 100644 --- a/scripts/release-workflow.test.ts +++ b/scripts/release-workflow.test.ts @@ -93,6 +93,8 @@ describe("CI-completion package release workflow", () => { (step) => step.name === "Generate published package size history", ); expect(generateSizes?.if).toBe("steps.publish.outputs.verified != '[]'"); + expect(generateSizes?.run).toContain(`require('./packages/core/package.json').version`); + expect(generateSizes?.run).not.toContain(`require('./package.json').version`); expect(generateSizes?.run).toContain('bun run size:record --version="$VERSION"'); expect(generateSizes?.run).toContain("bun run docs:generate"); const openPullRequest = parsed.jobs.publish?.steps?.find( diff --git a/scripts/workflow-contract.test.ts b/scripts/workflow-contract.test.ts index 195f552e..eb103fb7 100644 --- a/scripts/workflow-contract.test.ts +++ b/scripts/workflow-contract.test.ts @@ -113,6 +113,23 @@ describe("CI and release workflow contracts", () => { ).toThrow("action is not reviewed"); }); + it("allows the generated version pull request to consume its changesets", () => { + const changesetStatus = workflows().ci.jobs.preflight?.steps?.find( + (step) => step.name === "Changeset status", + ); + expect(changesetStatus?.run).toBe("bun run changeset:status -- --since=origin/develop"); + expect(changesetStatus?.if).toBe( + "github.event_name != 'pull_request' || github.head_ref != 'changeset-release/develop'", + ); + const toolingContracts = workflows().ci.jobs.preflight?.steps?.find( + (step) => step.name === "Tooling contracts", + ); + expect(toolingContracts?.env?.SKIP_CHANGESET_STATUS).toBe( + "$" + + "{{ github.event_name == 'pull_request' && github.head_ref == 'changeset-release/develop' }}", + ); + }); + it("keeps each workflow's required toolchain versions in parity", () => { const parsed = workflows(); for (const [name, workflow] of Object.entries(parsed)) { diff --git a/scripts/workspace-tooling.test.ts b/scripts/workspace-tooling.test.ts index 13b3e371..398363b5 100644 --- a/scripts/workspace-tooling.test.ts +++ b/scripts/workspace-tooling.test.ts @@ -243,6 +243,7 @@ describe("changeset workspace contract", () => { }); it("runs the canonical Changesets status command", () => { + if (process.env.SKIP_CHANGESET_STATUS === "true") return; const root = resolve(import.meta.dir, ".."); const result = Bun.spawnSync( ["bun", "run", "changeset:status", "--", "--since=origin/develop"],