diff --git a/.changeset/v2-sdk.md b/.changeset/v2-sdk.md deleted file mode 100644 index 01060040..00000000 --- a/.changeset/v2-sdk.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@syncro/sdk": minor -"@syncro/shared": minor ---- - -Dual ESM/CJS SDK builds with subpath exports, generated database and contract types, and changeset-driven releases. diff --git a/sdk/CHANGELOG.md b/sdk/CHANGELOG.md index f803eda6..6b8f4f2b 100644 --- a/sdk/CHANGELOG.md +++ b/sdk/CHANGELOG.md @@ -1,5 +1,16 @@ # @syncro/sdk Changelog +## 1.2.0 + +### Minor Changes + +- f9d9809: Dual ESM/CJS SDK builds with subpath exports, generated database and contract types, and changeset-driven releases. + +### Patch Changes + +- Updated dependencies [f9d9809] + - @syncro/shared@1.1.0 + All notable changes to the SDK are documented here. Each release notes the minimum compatible backend version (`synchro`). If your backend is older than the listed minimum, upgrade the backend before upgrading the SDK. @@ -11,6 +22,7 @@ Each release notes the minimum compatible backend version (`synchro`). If your b _Changes staged for the next release._ ### Added — #1303 Typed error taxonomy + - `ValidationError` — stable code `SYNCRO_VALIDATION`, retryable: `false` - `AuthError` — stable code `SYNCRO_AUTH`, retryable: `false` (replaces `AuthenticationError`, `ForbiddenError`) - `NetworkError` — stable code `SYNCRO_NETWORK`, retryable: `true` @@ -21,6 +33,7 @@ _Changes staged for the next release._ - `resolveContractErrorVariant(contractName, code)` — look up a contract error variant name by integer code ### Added — #1299 Public API surface + - `sdk/api-surface.md` committed to the repo, listing every public export - `sdk/scripts/check-api-surface.cjs` — CI script that fails when a new export is not in the report - `npm run check:api-surface -w sdk` build step added to `prepublishOnly` @@ -28,18 +41,21 @@ _Changes staged for the next release._ - Experimental API guidance added to README (sub-path `./experimental`) ### Added — #1300 WASM contract bindings in CI + - `generate-contract-bindings.cjs` now stamps a `CONTRACT_BINDINGS_VERSION` constant in every generated file - `--wasm-dir` flag scans a directory of `.wasm` artifacts and generates bindings from the live ABI - `--check` flag compares the committed hash to a freshly computed one; CI exits non-zero on mismatch - Four new CI jobs in `contracts.yml`: `check-bindings-stale`, `regenerate-bindings-from-wasm`, `verify-version-stamp`, `check-api-surface` ### Added — #1304 Soroban sandbox integration suite + - `sdk/tests/integration/soroban-sandbox.test.ts` — 7 flows covering register agent, create subscription on-chain, renew, read events, verify receipt (memo round-trip), failure flow with decoded `ContractError`, and contract signature change detection - `sdk/scripts/run-integration.sh` — single-command script that starts a Docker sandbox, deploys all contracts, regenerates bindings, and runs the integration suite - `npm run test:integration -w sdk` documented local command - `sdk-integration` CI job added to `test.yml` (runs on `run-integration` PR label or `force_full_run` dispatch) ### Deprecated + - `AuthenticationError` — use `AuthError` instead (will be removed in v2.0) - `ForbiddenError` — use `AuthError` instead (will be removed in v2.0) - `ConflictError` — use `ValidationError` instead (will be removed in v2.0) diff --git a/sdk/package.json b/sdk/package.json index eacf997e..7776c20f 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@syncro/sdk", - "version": "1.1.0", + "version": "1.2.0", "description": "Official SDK for the SYNCRO Subscription Management Platform", "packageManager": "npm@10.9.2", "type": "module", @@ -115,12 +115,11 @@ "test:integration": "bash scripts/run-integration.sh", "test:browser": "jest --config jest.browser.config.js", "assert:no-node-crypto": "node scripts/assert-no-node-crypto.mjs", - "prepublishOnly": "npm run lint && npm run typecheck && npm run check:api-surface && npm run build", + "prepublishOnly": "node ../scripts/assert-ci-publish.mjs && npm run lint && npm run typecheck && npm run build && npm run check:package", "check:layout": "node scripts/check-package-layout.mjs", "check:tree-shake": "node scripts/check-tree-shake.mjs", "check:size": "node scripts/check-package-size.mjs", - "check:package": "npm run check:layout && npm run check:tree-shake && npm run check:size", - "prepublishOnly": "node ../scripts/assert-ci-publish.mjs && npm run lint && npm run typecheck && npm run build && npm run check:package" + "check:package": "npm run check:layout && npm run check:tree-shake && npm run check:size" }, "keywords": [ "syncro", @@ -130,7 +129,7 @@ "author": "SYNCRO", "license": "MIT", "dependencies": { - "@syncro/shared": "1.0.0", + "@syncro/shared": "1.1.0", "axios": "^1.13.5", "events": "^3.3.0" }, diff --git a/shared/CHANGELOG.md b/shared/CHANGELOG.md new file mode 100644 index 00000000..f0925778 --- /dev/null +++ b/shared/CHANGELOG.md @@ -0,0 +1,7 @@ +# @syncro/shared + +## 1.1.0 + +### Minor Changes + +- f9d9809: Dual ESM/CJS SDK builds with subpath exports, generated database and contract types, and changeset-driven releases. diff --git a/shared/package.json b/shared/package.json index 2db49eb6..c06cecd7 100644 --- a/shared/package.json +++ b/shared/package.json @@ -1,6 +1,6 @@ { "name": "@syncro/shared", - "version": "1.0.0", + "version": "1.1.0", "description": "Shared domain models and types for SYNCRO", "main": "dist/index.js", "types": "src/index.ts", @@ -136,9 +136,8 @@ "build": "tsc", "typecheck": "tsc --noEmit", "watch": "tsc --watch", - "test": "jest && jest --config jest.browser.config.js", - "check-imports": "depcruise src --config .dependency-cruiser.cjs", "test": "jest", + "check-imports": "depcruise src --config .dependency-cruiser.cjs", "prepublishOnly": "node ../scripts/assert-ci-publish.mjs && npm run build" }, "keywords": [