From 3434008800838b83ba56aced07f2940095704103 Mon Sep 17 00:00:00 2001 From: Madraka Date: Tue, 20 Oct 2026 19:18:45 +0300 Subject: [PATCH] chore(release): 0.3.0 The public playground (RFC-0036): Durable Object SQLite storage (#22), playground mode in the API and Studio (#23), and the playground Worker and PlaygroundSite Durable Object (#24). Co-Authored-By: Claude Opus 5.5 Signed-off-by: Madraka --- .changeset/api-playground-mode.md | 6 ------ .changeset/cloudflare-playground.md | 6 ------ .changeset/storage-do-sqlite.md | 5 ----- packages/agent-runtime/CHANGELOG.md | 8 ++++++++ packages/agent-runtime/package.json | 2 +- packages/analytics/CHANGELOG.md | 8 ++++++++ packages/analytics/package.json | 2 +- packages/api/CHANGELOG.md | 20 ++++++++++++++++++++ packages/api/package.json | 2 +- packages/astro-renderer/CHANGELOG.md | 15 +++++++++++++++ packages/astro-renderer/package.json | 2 +- packages/cli/CHANGELOG.md | 22 ++++++++++++++++++++++ packages/cli/package.json | 2 +- packages/cloudflare/CHANGELOG.md | 19 +++++++++++++++++++ packages/cloudflare/package.json | 2 +- packages/comments/CHANGELOG.md | 9 +++++++++ packages/comments/package.json | 2 +- packages/core-contracts/CHANGELOG.md | 4 ++++ packages/core-contracts/package.json | 2 +- packages/core-ts/CHANGELOG.md | 9 +++++++++ packages/core-ts/package.json | 2 +- packages/create-cloudhal/CHANGELOG.md | 7 +++++++ packages/create-cloudhal/package.json | 2 +- packages/mcp-server/CHANGELOG.md | 15 +++++++++++++++ packages/mcp-server/package.json | 2 +- packages/schedules/CHANGELOG.md | 8 ++++++++ packages/schedules/package.json | 2 +- packages/storage/CHANGELOG.md | 10 ++++++++++ packages/storage/package.json | 2 +- 29 files changed, 167 insertions(+), 30 deletions(-) delete mode 100644 .changeset/api-playground-mode.md delete mode 100644 .changeset/cloudflare-playground.md delete mode 100644 .changeset/storage-do-sqlite.md diff --git a/.changeset/api-playground-mode.md b/.changeset/api-playground-mode.md deleted file mode 100644 index 7459c8a3..00000000 --- a/.changeset/api-playground-mode.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@cloudhal/api": minor -"@cloudhal/cli": minor ---- - -Playground mode (RFC-0036): `createApi({ playground: { info } })` answers every request as the fixed `PLAYGROUND_PRINCIPAL` (an Editor with site settings and nothing installation-wide or upload-related), refuses blocked routes with `403 {error: "playground"}` through the pure `isBlockedInPlayground(method, path)` guard (also exported for the playground Worker), limits request bodies, and reports `features.playground` in `/api/instance`. Every declared route is either blocked or allowed, and a route on neither list is refused. Studio shows a session bar (time left, Reset, Deploy to Cloudflare) and leaves out team, agent and account screens on a playground. diff --git a/.changeset/cloudflare-playground.md b/.changeset/cloudflare-playground.md deleted file mode 100644 index 7b947804..00000000 --- a/.changeset/cloudflare-playground.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@cloudhal/cloudflare": minor -"@cloudhal/astro-renderer": minor ---- - -New `@cloudhal/cloudflare/playground` (RFC-0036): `createPlaygroundWorker({ seed, render, deployUrl })` returns the playground Worker and its `PlaygroundSite` Durable Object — one SQLite database per visitor holding the store, the API in playground mode and the rendered site, a signed host-only session cookie, a 60-minute TTL with a 2-hour cap, Reset, size and node caps, per-IP and per-session rate limits, Turnstile after a limit hit, a daily session cap and a kill switch. `@cloudhal/astro-renderer/runtime` gains `withRequestStore(store, siteId, fn)`, which renders a request from a store the entry chooses; such pages are private and never edge-cached. diff --git a/.changeset/storage-do-sqlite.md b/.changeset/storage-do-sqlite.md deleted file mode 100644 index cd0d08d3..00000000 --- a/.changeset/storage-do-sqlite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@cloudhal/storage": minor ---- - -New `@cloudhal/storage/do-sqlite`: `DoSqliteDriver`, a `SqlDriver` over a SQLite-backed Durable Object's storage, with an atomic `batch` (`transactionSync`) and D1's limits (RFC-0036). New blob stores at the root: `SqlBlobStore` keeps blobs in a table of the same database with per-object and total caps, `LayeredBlobStore` reads a writable store over a read-only one, and `FetcherBlobStore` reads static files through a Worker `ASSETS` binding. `@cloudhal/storage/testing` gains `createMiniflareDoSqlite()`, which runs any `SqlDriver` suite on Durable Object SQLite. diff --git a/packages/agent-runtime/CHANGELOG.md b/packages/agent-runtime/CHANGELOG.md index cb21d254..be53af14 100644 --- a/packages/agent-runtime/CHANGELOG.md +++ b/packages/agent-runtime/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudhal/agent-runtime +## 0.3.0 + +### Patch Changes + +- Updated dependencies [c70d3fa] + - @cloudhal/storage@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/agent-runtime/package.json b/packages/agent-runtime/package.json index 11d238fc..924e2fb5 100644 --- a/packages/agent-runtime/package.json +++ b/packages/agent-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/agent-runtime", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal agent runtime: policy engine (actors, scopes, approvals), skill loader, audit log", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/analytics/CHANGELOG.md b/packages/analytics/CHANGELOG.md index 3dd6888f..140a392a 100644 --- a/packages/analytics/CHANGELOG.md +++ b/packages/analytics/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudhal/analytics +## 0.3.0 + +### Patch Changes + +- Updated dependencies [c70d3fa] + - @cloudhal/storage@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 392b0fb0..1d534807 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/analytics", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal site analytics (RFC-0006): query model, classifiers, beacon handler, SQLite/D1 store, daily rollups and Workers Analytics Engine adapters. Worker-safe.", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index 09c438ed..0181ffbc 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -1,5 +1,25 @@ # @cloudhal/api +## 0.3.0 + +### Minor Changes + +- 346781b: Playground mode (RFC-0036): `createApi({ playground: { info } })` answers every request as the fixed `PLAYGROUND_PRINCIPAL` (an Editor with site settings and nothing installation-wide or upload-related), refuses blocked routes with `403 {error: "playground"}` through the pure `isBlockedInPlayground(method, path)` guard (also exported for the playground Worker), limits request bodies, and reports `features.playground` in `/api/instance`. Every declared route is either blocked or allowed, and a route on neither list is refused. Studio shows a session bar (time left, Reset, Deploy to Cloudflare) and leaves out team, agent and account screens on a playground. + +### Patch Changes + +- Updated dependencies [a28c22e] +- Updated dependencies [c70d3fa] + - @cloudhal/astro-renderer@0.3.0 + - @cloudhal/storage@0.3.0 + - @cloudhal/mcp-server@0.3.0 + - @cloudhal/agent-runtime@0.3.0 + - @cloudhal/analytics@0.3.0 + - @cloudhal/comments@0.3.0 + - @cloudhal/core-ts@0.3.0 + - @cloudhal/schedules@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/api/package.json b/packages/api/package.json index 095883ab..c57771d9 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/api", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal HTTP API (Hono): sites, pages, entries, snapshots, auth — runs on Node and Cloudflare Workers", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/astro-renderer/CHANGELOG.md b/packages/astro-renderer/CHANGELOG.md index 2511d498..6f4a0e08 100644 --- a/packages/astro-renderer/CHANGELOG.md +++ b/packages/astro-renderer/CHANGELOG.md @@ -1,5 +1,20 @@ # @cloudhal/astro-renderer +## 0.3.0 + +### Minor Changes + +- a28c22e: New `@cloudhal/cloudflare/playground` (RFC-0036): `createPlaygroundWorker({ seed, render, deployUrl })` returns the playground Worker and its `PlaygroundSite` Durable Object — one SQLite database per visitor holding the store, the API in playground mode and the rendered site, a signed host-only session cookie, a 60-minute TTL with a 2-hour cap, Reset, size and node caps, per-IP and per-session rate limits, Turnstile after a limit hit, a daily session cap and a kill switch. `@cloudhal/astro-renderer/runtime` gains `withRequestStore(store, siteId, fn)`, which renders a request from a store the entry chooses; such pages are private and never edge-cached. + +### Patch Changes + +- Updated dependencies [c70d3fa] + - @cloudhal/storage@0.3.0 + - @cloudhal/analytics@0.3.0 + - @cloudhal/comments@0.3.0 + - @cloudhal/core-ts@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/astro-renderer/package.json b/packages/astro-renderer/package.json index 3beab4de..71bb4d08 100644 --- a/packages/astro-renderer/package.json +++ b/packages/astro-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/astro-renderer", - "version": "0.2.0", + "version": "0.3.0", "description": "Render a Cloudhal Site Graph with Astro: data sources (live/snapshot), section components and the cloudhal() integration", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index c92ae08c..af914243 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,27 @@ # @cloudhal/cli +## 0.3.0 + +### Minor Changes + +- 346781b: Playground mode (RFC-0036): `createApi({ playground: { info } })` answers every request as the fixed `PLAYGROUND_PRINCIPAL` (an Editor with site settings and nothing installation-wide or upload-related), refuses blocked routes with `403 {error: "playground"}` through the pure `isBlockedInPlayground(method, path)` guard (also exported for the playground Worker), limits request bodies, and reports `features.playground` in `/api/instance`. Every declared route is either blocked or allowed, and a route on neither list is refused. Studio shows a session bar (time left, Reset, Deploy to Cloudflare) and leaves out team, agent and account screens on a playground. + +### Patch Changes + +- Updated dependencies [346781b] +- Updated dependencies [a28c22e] +- Updated dependencies [c70d3fa] + - @cloudhal/api@0.3.0 + - @cloudhal/cloudflare@0.3.0 + - @cloudhal/storage@0.3.0 + - @cloudhal/mcp-server@0.3.0 + - @cloudhal/agent-runtime@0.3.0 + - @cloudhal/analytics@0.3.0 + - @cloudhal/comments@0.3.0 + - @cloudhal/core-ts@0.3.0 + - @cloudhal/schedules@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 3f483b87..44b9503f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/cli", - "version": "0.2.0", + "version": "0.3.0", "description": "cloudhal — create, run and build Cloudhal sites locally", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/cloudflare/CHANGELOG.md b/packages/cloudflare/CHANGELOG.md index a1dde530..25bf8b90 100644 --- a/packages/cloudflare/CHANGELOG.md +++ b/packages/cloudflare/CHANGELOG.md @@ -1,5 +1,24 @@ # @cloudhal/cloudflare +## 0.3.0 + +### Minor Changes + +- a28c22e: New `@cloudhal/cloudflare/playground` (RFC-0036): `createPlaygroundWorker({ seed, render, deployUrl })` returns the playground Worker and its `PlaygroundSite` Durable Object — one SQLite database per visitor holding the store, the API in playground mode and the rendered site, a signed host-only session cookie, a 60-minute TTL with a 2-hour cap, Reset, size and node caps, per-IP and per-session rate limits, Turnstile after a limit hit, a daily session cap and a kill switch. `@cloudhal/astro-renderer/runtime` gains `withRequestStore(store, siteId, fn)`, which renders a request from a store the entry chooses; such pages are private and never edge-cached. + +### Patch Changes + +- Updated dependencies [346781b] +- Updated dependencies [c70d3fa] + - @cloudhal/api@0.3.0 + - @cloudhal/storage@0.3.0 + - @cloudhal/mcp-server@0.3.0 + - @cloudhal/agent-runtime@0.3.0 + - @cloudhal/analytics@0.3.0 + - @cloudhal/comments@0.3.0 + - @cloudhal/core-ts@0.3.0 + - @cloudhal/schedules@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/cloudflare/package.json b/packages/cloudflare/package.json index f7c0d707..244dedc8 100644 --- a/packages/cloudflare/package.json +++ b/packages/cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/cloudflare", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal on Cloudflare: the admin Worker (API, auth, MCP, Studio) over D1 + R2", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/comments/CHANGELOG.md b/packages/comments/CHANGELOG.md index bfc1d028..6f4594ec 100644 --- a/packages/comments/CHANGELOG.md +++ b/packages/comments/CHANGELOG.md @@ -1,5 +1,14 @@ # @cloudhal/comments +## 0.3.0 + +### Patch Changes + +- Updated dependencies [c70d3fa] + - @cloudhal/storage@0.3.0 + - @cloudhal/core-ts@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/comments/package.json b/packages/comments/package.json index 36d49de7..b51c8fdb 100644 --- a/packages/comments/package.json +++ b/packages/comments/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/comments", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal reader comments (RFC-0007): settings and thread state, text normalising and content rules, linkify, first-party proof of work, the submission pipeline, purge planner, retention plan and the SQLite/D1 store. Worker-safe.", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/core-contracts/CHANGELOG.md b/packages/core-contracts/CHANGELOG.md index 190556f7..07faffda 100644 --- a/packages/core-contracts/CHANGELOG.md +++ b/packages/core-contracts/CHANGELOG.md @@ -1,5 +1,9 @@ # @cloudhal/core-contracts +## 0.3.0 + +No changes in this release. + ## 0.2.0 No changes in this release. diff --git a/packages/core-contracts/package.json b/packages/core-contracts/package.json index 7e11c975..312b2087 100644 --- a/packages/core-contracts/package.json +++ b/packages/core-contracts/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/core-contracts", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal domain contracts: JSON Schema source of truth plus generated TypeScript types", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/core-ts/CHANGELOG.md b/packages/core-ts/CHANGELOG.md index 01c250b6..92f8f697 100644 --- a/packages/core-ts/CHANGELOG.md +++ b/packages/core-ts/CHANGELOG.md @@ -1,5 +1,14 @@ # @cloudhal/core-ts +## 0.3.0 + +### Patch Changes + +- Updated dependencies [c70d3fa] + - @cloudhal/storage@0.3.0 + - @cloudhal/schedules@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/core-ts/package.json b/packages/core-ts/package.json index 68e2dd58..91b701d2 100644 --- a/packages/core-ts/package.json +++ b/packages/core-ts/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/core-ts", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal Site Graph core (TypeScript): load/save nodes with optimistic locking, snapshots, diff, publish and rollback; taxonomies, terms, redirects and menus", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/create-cloudhal/CHANGELOG.md b/packages/create-cloudhal/CHANGELOG.md index 79355b0f..7d3773ef 100644 --- a/packages/create-cloudhal/CHANGELOG.md +++ b/packages/create-cloudhal/CHANGELOG.md @@ -1,5 +1,12 @@ # create-cloudhal +## 0.3.0 + +### Patch Changes + +- Updated dependencies [346781b] + - @cloudhal/cli@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/create-cloudhal/package.json b/packages/create-cloudhal/package.json index 7f3c834a..7a750a90 100644 --- a/packages/create-cloudhal/package.json +++ b/packages/create-cloudhal/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudhal", - "version": "0.2.0", + "version": "0.3.0", "description": "Create a Cloudhal site: npm create cloudhal@latest", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/mcp-server/CHANGELOG.md b/packages/mcp-server/CHANGELOG.md index 86d2143a..03ae974e 100644 --- a/packages/mcp-server/CHANGELOG.md +++ b/packages/mcp-server/CHANGELOG.md @@ -1,5 +1,20 @@ # @cloudhal/mcp-server +## 0.3.0 + +### Patch Changes + +- Updated dependencies [a28c22e] +- Updated dependencies [c70d3fa] + - @cloudhal/astro-renderer@0.3.0 + - @cloudhal/storage@0.3.0 + - @cloudhal/agent-runtime@0.3.0 + - @cloudhal/analytics@0.3.0 + - @cloudhal/comments@0.3.0 + - @cloudhal/core-ts@0.3.0 + - @cloudhal/schedules@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 0b225940..3c977d5c 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/mcp-server", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal MCP server: semantic site tools (pages, articles, snapshots, preview, publish) governed by the policy engine", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/schedules/CHANGELOG.md b/packages/schedules/CHANGELOG.md index 8f9af1e9..8a10fa79 100644 --- a/packages/schedules/CHANGELOG.md +++ b/packages/schedules/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudhal/schedules +## 0.3.0 + +### Patch Changes + +- Updated dependencies [c70d3fa] + - @cloudhal/storage@0.3.0 + - @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/schedules/package.json b/packages/schedules/package.json index ca75377c..c491b99f 100644 --- a/packages/schedules/package.json +++ b/packages/schedules/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/schedules", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal schedules (RFC-0008): the time model, the RRULE subset and its sentences, releases (pin, closure, rl1: hash, compose, conflicts, state machine), automation and run state, taint and budget accounting, the Scheduler and runDue, and the SQLite/D1 store. Worker-safe.", "license": "Apache-2.0", "homepage": "https://cloudhal.dev", diff --git a/packages/storage/CHANGELOG.md b/packages/storage/CHANGELOG.md index 49555bd9..245ec02e 100644 --- a/packages/storage/CHANGELOG.md +++ b/packages/storage/CHANGELOG.md @@ -1,5 +1,15 @@ # @cloudhal/storage +## 0.3.0 + +### Minor Changes + +- c70d3fa: New `@cloudhal/storage/do-sqlite`: `DoSqliteDriver`, a `SqlDriver` over a SQLite-backed Durable Object's storage, with an atomic `batch` (`transactionSync`) and D1's limits (RFC-0036). New blob stores at the root: `SqlBlobStore` keeps blobs in a table of the same database with per-object and total caps, `LayeredBlobStore` reads a writable store over a read-only one, and `FetcherBlobStore` reads static files through a Worker `ASSETS` binding. `@cloudhal/storage/testing` gains `createMiniflareDoSqlite()`, which runs any `SqlDriver` suite on Durable Object SQLite. + +### Patch Changes + +- @cloudhal/core-contracts@0.3.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/storage/package.json b/packages/storage/package.json index c7020387..5dc1f360 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@cloudhal/storage", - "version": "0.2.0", + "version": "0.3.0", "description": "Cloudhal storage interfaces (SQL driver, blob store) with Cloudflare D1/R2/Durable Object SQLite and local SQLite/filesystem adapters", "license": "Apache-2.0", "homepage": "https://cloudhal.dev",