diff --git a/.changeset/emdash-0-37-upgrade.md b/.changeset/emdash-0-37-upgrade.md deleted file mode 100644 index 053d0f1..0000000 --- a/.changeset/emdash-0-37-upgrade.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -"@dashcommerce/core": minor ---- - -Upgrade to EmDash 0.37.0 with comprehensive auto-update safety system. - -**Breaking Change**: Minimum EmDash version is now `0.37.0` (peer dependency updated from `>=0.28.0 <0.29.0` to `>=0.37.0 <0.38.0`). This is a breaking change for consumers on EmDash 0.28-0.36. - -**EmDash 0.37 Upgrade**: -- All EmDash dependencies upgraded from 0.28.x to 0.37.0 across the monorepo -- Ported EmDash patch for request.clone().json() and Response passthrough to 0.37.0 structure -- Fixed Node.js build by externalizing Cloudflare Workers runtime modules (`cloudflare:sockets`, etc.) that EmDash 0.37 imports conditionally - -**Auto-Update Safety System** (prevents silent breakage on future EmDash updates): -1. **Runtime Compatibility Check**: New `version-check.ts` module validates EmDash version at plugin initialization, providing clear error messages when version is incompatible -2. **Renovate Configuration**: Auto-merges EmDash patch/minor updates when CI passes; requires manual review for major versions -3. **CI Compatibility Matrix**: Tests DashCommerce against all supported EmDash versions in parallel - -**Supported EmDash Range**: This release supports `0.37.0 <= version < 0.38.0`. Future EmDash updates will be gated by CI and runtime compatibility checks. - -All typechecks, builds, and tests pass on EmDash 0.37.0. diff --git a/.changeset/support-emdash-0-28.md b/.changeset/support-emdash-0-28.md deleted file mode 100644 index 1db9652..0000000 --- a/.changeset/support-emdash-0-28.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -"@dashcommerce/core": patch -"@dashcommerce/starter": patch ---- - -Support EmDash 0.28. - -Migrate from emdash 0.6 to 0.28.1. The plugin now builds its native -`ResolvedPlugin` via `definePlugin` with single-argument `RouteContext` -handlers (emdash's native route shape) instead of `adaptSandboxEntry`, whose -0.28 form flattens the request and would break the Stripe webhook's raw-body -signature check. Capability names are updated to the current vocabulary -(`network:request`, `content:read`, `content:write`, `media:read`, -`users:read`), and the emdash peer range is now `>=0.28.0 <0.29.0`. - -The bundled emdash patch is re-authored for 0.28.1: plugin route handlers may -still return a raw `Response` (cookies, redirects, webhook 200s), and the raw -request body is preserved so `ctx.request.text()` works for Stripe webhook -signature verification. - -The starter adds a Cloudflare Worker entry (`src/worker.ts`) plus a Cron -Trigger so plugin cron — abandoned-cart recovery, subscription dunning, and -stock-lock sweeps — runs on Workers (emdash 0.19+ drives cron from a -`scheduled()` handler, not request side effects). diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index d01fd00..b6efe65 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,51 @@ # Changelog — @dashcommerce/core +## 0.2.0 + +### Minor Changes + +- [#23](https://github.com/emdashCommerce/dashcommerce/pull/23) [`ef8360b`](https://github.com/emdashCommerce/dashcommerce/commit/ef8360be32b6f99fd07cc3b0a47cb913c96e724c) Thanks [@cavewebs](https://github.com/cavewebs)! - Upgrade to EmDash 0.37.0 with comprehensive auto-update safety system. + + **Breaking Change**: Minimum EmDash version is now `0.37.0` (peer dependency updated from `>=0.28.0 <0.29.0` to `>=0.37.0 <0.38.0`). This is a breaking change for consumers on EmDash 0.28-0.36. + + **EmDash 0.37 Upgrade**: + + - All EmDash dependencies upgraded from 0.28.x to 0.37.0 across the monorepo + - Ported EmDash patch for request.clone().json() and Response passthrough to 0.37.0 structure + - Fixed Node.js build by externalizing Cloudflare Workers runtime modules (`cloudflare:sockets`, etc.) that EmDash 0.37 imports conditionally + + **Auto-Update Safety System** (prevents silent breakage on future EmDash updates): + + 1. **Runtime Compatibility Check**: New `version-check.ts` module validates EmDash version at plugin initialization, providing clear error messages when version is incompatible + 2. **Renovate Configuration**: Auto-merges EmDash patch/minor updates when CI passes; requires manual review for major versions + 3. **CI Compatibility Matrix**: Tests DashCommerce against all supported EmDash versions in parallel + + **Supported EmDash Range**: This release supports `0.37.0 <= version < 0.38.0`. Future EmDash updates will be gated by CI and runtime compatibility checks. + + All typechecks, builds, and tests pass on EmDash 0.37.0. + +### Patch Changes + +- [#16](https://github.com/emdashCommerce/dashcommerce/pull/16) [`b865dd7`](https://github.com/emdashCommerce/dashcommerce/commit/b865dd78bfb2b4d6805c7aa9526d85819da7a5ee) Thanks [@cavewebs](https://github.com/cavewebs)! - Support EmDash 0.28. + + Migrate from emdash 0.6 to 0.28.1. The plugin now builds its native + `ResolvedPlugin` via `definePlugin` with single-argument `RouteContext` + handlers (emdash's native route shape) instead of `adaptSandboxEntry`, whose + 0.28 form flattens the request and would break the Stripe webhook's raw-body + signature check. Capability names are updated to the current vocabulary + (`network:request`, `content:read`, `content:write`, `media:read`, + `users:read`), and the emdash peer range is now `>=0.28.0 <0.29.0`. + + The bundled emdash patch is re-authored for 0.28.1: plugin route handlers may + still return a raw `Response` (cookies, redirects, webhook 200s), and the raw + request body is preserved so `ctx.request.text()` works for Stripe webhook + signature verification. + + The starter adds a Cloudflare Worker entry (`src/worker.ts`) plus a Cron + Trigger so plugin cron — abandoned-cart recovery, subscription dunning, and + stock-lock sweeps — runs on Workers (emdash 0.19+ drives cron from a + `scheduled()` handler, not request side effects). + ## 0.1.4 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 914ef09..a9ce8c9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@dashcommerce/core", - "version": "0.1.4", + "version": "0.2.0", "description": "DashCommerce — full WooCommerce-equivalent commerce plugin for EmDash CMS", "type": "module", "main": "dist/index.js", diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 2f84318..1d9892f 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -13,7 +13,7 @@ import { DASHCOMMERCE_STORAGE } from "./storage-collections"; import { detectEmDashVersionAtBuildTime } from "./version-check"; export const DASHCOMMERCE_PLUGIN_ID = "dashcommerce"; -export const DASHCOMMERCE_VERSION = "0.1.4"; +export const DASHCOMMERCE_VERSION = "0.2.0"; export interface DashCommerceOptions { /** diff --git a/packages/starter/CHANGELOG.md b/packages/starter/CHANGELOG.md index 881fc69..81bacbb 100644 --- a/packages/starter/CHANGELOG.md +++ b/packages/starter/CHANGELOG.md @@ -1,5 +1,32 @@ # @dashcommerce/starter +## 0.3.1 + +### Patch Changes + +- [#16](https://github.com/emdashCommerce/dashcommerce/pull/16) [`b865dd7`](https://github.com/emdashCommerce/dashcommerce/commit/b865dd78bfb2b4d6805c7aa9526d85819da7a5ee) Thanks [@cavewebs](https://github.com/cavewebs)! - Support EmDash 0.28. + + Migrate from emdash 0.6 to 0.28.1. The plugin now builds its native + `ResolvedPlugin` via `definePlugin` with single-argument `RouteContext` + handlers (emdash's native route shape) instead of `adaptSandboxEntry`, whose + 0.28 form flattens the request and would break the Stripe webhook's raw-body + signature check. Capability names are updated to the current vocabulary + (`network:request`, `content:read`, `content:write`, `media:read`, + `users:read`), and the emdash peer range is now `>=0.28.0 <0.29.0`. + + The bundled emdash patch is re-authored for 0.28.1: plugin route handlers may + still return a raw `Response` (cookies, redirects, webhook 200s), and the raw + request body is preserved so `ctx.request.text()` works for Stripe webhook + signature verification. + + The starter adds a Cloudflare Worker entry (`src/worker.ts`) plus a Cron + Trigger so plugin cron — abandoned-cart recovery, subscription dunning, and + stock-lock sweeps — runs on Workers (emdash 0.19+ drives cron from a + `scheduled()` handler, not request side effects). + +- Updated dependencies [[`ef8360b`](https://github.com/emdashCommerce/dashcommerce/commit/ef8360be32b6f99fd07cc3b0a47cb913c96e724c), [`b865dd7`](https://github.com/emdashCommerce/dashcommerce/commit/b865dd78bfb2b4d6805c7aa9526d85819da7a5ee)]: + - @dashcommerce/core@0.2.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/starter/package.json b/packages/starter/package.json index 45841bd..098d915 100644 --- a/packages/starter/package.json +++ b/packages/starter/package.json @@ -1,6 +1,6 @@ { "name": "@dashcommerce/starter", - "version": "0.3.0", + "version": "0.3.1", "private": true, "description": "DashCommerce starter — a full Astro commerce site. Clone, configure Stripe keys, go.", "type": "module",