Spec changelog
This page is generated from the
## Changelog
section of each file in
/specs
. Every substantive spec edit is a release: the version advances, the
**Updated:**
date is restamped, and an entry lands here. Record one with
bun run spec:bump <spec.md> <major|minor|patch> -m "<what changed>"
.
Versions are
MAJOR.MINOR.PATCH
—
major
for a breaking change to a documented contract,
minor
for additive behavior,
patch
for editorial changes. A
-draft
suffix marks a spec whose status is not yet
Implemented
.
ai.md
0.1.2-draft (2026-07-25) — Schema gate (§3.1): tool-level validation against the active project's entry documents, before-write for disk writes and after-apply on canvas, project.json included.
0.1.1-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.0-draft (2026-07-22) — Reconcile spec with shipped behavior; document the eval surface (
c8d1d580).
collab.md
0.1.1-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.0-draft (2026-07-22) — Reconcile spec with shipped behavior; document the eval surface (
c8d1d580).
compiler.md
0.1.23-draft (2026-07-24) — §1 Overview: condition the generated Hono worker on build.adapter (per-page _server.js without one) and scope the static-build failure to active data/auth mounts; §6.3 document compileSiteServer's mounts/connectors parameters and extension mount emission.
0.1.22-draft (2026-07-23) — Image src resolution consults extension asset mounts before public/ (§7.3).
0.1.21-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.20-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.19-draft (2026-07-17) — Forced color-scheme contract — dual emission, color-scheme triplet, pre-paint script (
e629684d).0.1.18-draft (2026-07-17) — Bundle the site worker self-contained per adapter (
4096ba12).0.1.17-draft (2026-07-17) — Sidecar bundling, extension emit capability, heading anchors (
07e28bc3).0.1.16-draft (2026-07-17) — Image pruning for persistent site build cache + github ci cache (
b45096ed).0.1.15-draft (2026-06-10) — Update site architecture to reflect new changes (
c0bdba08).0.1.14-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.13-draft (2026-06-03) — Use
.cacheisntead of.jx-cacheto support cloudflare build cache (1103d2d6).0.1.12-draft (2026-06-01) — Stronger typing (
fcbb5b5d).0.1.11-draft (2026-06-01) — Convert to typescript (
e352e265).0.1.10-draft (2026-05-20) — Run formatter (
8ba47930).0.1.9-draft (2026-05-18) — Always emit worker.js for cloudflare (
3dd37c2d).0.1.8-draft (2026-05-15) — Image optimization specs (
7d2ee67f).0.1.7-draft (2026-05-15) — Provider-sepcific Site-Wide Bundling (
51cb5cf6).0.1.6-draft (2026-04-23) — Rebrand to jxsuite (
2897a4e8).0.1.5-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.4-draft (2026-04-20) — Text nodes support (
4d45eeb7).0.1.3-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.2-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.1-draft (2026-04-10) — Finalize vision for site architecture (
da594993).0.1.0-draft (2026-04-10) — Consolidate specs (
80ca313f).
desktop.md
0.3.1-draft (2026-07-25) — Repo picker gains a repository-access footer: per-installation manage links, install-on-another-account, and Refresh.
0.3.0-draft (2026-07-25) — New Project requires a user-chosen destination: StudioPlatform gains the required createDestination declaration, createProject takes a required destination (path parent or repo owner/name/visibility), and §4.5 defines the create flow. No backend picks a location.
0.2.7-draft (2026-07-24) — Cloud platform registers inside studio.js via a window.__jxCloud signal (single yjs for collab).
0.2.6-draft (2026-07-24) — Document packaged static-data staging into app/bun (create templates, starters) and postBuild bundle verification.
0.2.5-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.2.4-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.2.3-draft (2026-07-17) — Align spec.md, site-architecture, desktop, server, extensions with reality (
c61ba567).0.2.2-draft (2026-07-13) — Run formatter (
9e776783).0.2.1-draft (2026-05-20) — Run formatter (
8ba47930).0.2.0-draft (2026-05-17) — Remove auto-detection script and update documentation for NixOS desktop runtime (
6b746644).0.1.6-draft (2026-05-16) — Update desktop spec (
9453ea1f).0.1.5-draft (2026-04-23) — Oxfmt (
af32c08c).0.1.4-draft (2026-04-23) — Rebrand to jxsuite (
2897a4e8).0.1.3-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.2-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.1-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.0-draft (2026-04-15) — Implement platform abstraction (
962ba588).
extensions.md
0.3.3-draft (2026-07-25) — Composition is host-agnostic: one pure function with an injected loader, so the cloud session composes the same entry documents in-Worker with no filesystem (§5.5).
0.3.2-draft (2026-07-25) — $schema bindings must be satisfied by by-id registration, never fetching — an in-document $schema overrides fileMatch and an unresolvable one voids validation entirely (§5.4).
0.3.1-draft (2026-07-25) — $paths validates against the source union instead of accepting any object (§5.3).
0.3.0-draft (2026-07-25) — Committed entry documents are single-resource: every $ref a root pointer (§5.2, §5.4).
0.2.9-draft (2026-07-24) — §2 package layout: correct the auth package description, note that /_jx/auth serves the Better Auth routes while table permission rules are enforced at /_jx/data, and add the missing search extension to the tree.
0.2.8-draft (2026-07-23) — Add the assets capability (§8.5): section owners publish source directories at site URLs.
0.2.7-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.2.6-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.2.5-draft (2026-07-22) — Align specs and docs with the bundled-schema validation contract (
ae861ff6).0.2.4-draft (2026-07-17) — Sidecar bundling, extension emit capability, heading anchors (
07e28bc3).0.2.3-draft (2026-07-17) — Align spec.md, site-architecture, desktop, server, extensions with reality (
c61ba567).0.2.2-draft (2026-07-11) — Better Auth extension — sessions, permissions, auth-gated data (
bf472285).0.2.1-draft (2026-07-08) — Shipped schema fragments + per-project schema emitters (
9e4a8936).0.2.0-draft (2026-07-08) — Extensions v2 framework + docs (
3fb8795f).0.1.0-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).
imports.md
0.1.6-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.5-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.4-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.3-draft (2026-06-01) — Remove old glob-based content type references (
6bcbfdaf).0.1.2-draft (2026-05-19) — Reflect new content type transition (
6eb3d2b6).0.1.1-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.0-draft (2026-04-22) — External web component support (
a9d0fbe4).
jx-markdown.md
0.1.7-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.6-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.5-draft (2026-07-17) — Build-time syntax highlighting for markdown code fences (
b2e7a561).0.1.4-draft (2026-06-15) — Arrays as pseudo-element (
0b8b3070).0.1.3-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.2-draft (2026-05-25) — Element annotations (title/description) (
c9137e50).0.1.1-draft (2026-05-20) — Run formatter (
8ba47930).0.1.0-draft (2026-05-11) — Jx markdown (
7b102340).
parser.md
0.2.4-draft (2026-07-23) — Document the Content project-section class: asset mounts and content-relative reference rewriting (§9).
0.2.3-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.2.2-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.2.1-draft (2026-07-17) — Sidecar bundling, extension emit capability, heading anchors (
07e28bc3).0.2.0-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.6-draft (2026-05-20) — Run formatter (
8ba47930).0.1.5-draft (2026-05-08) — Pass markdown attributes as properties (
407b70fc).0.1.4-draft (2026-04-23) — Rebrand to jxsuite (
2897a4e8).0.1.3-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.2-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.1-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.0-draft (2026-04-10) — Consolidate specs (
80ca313f).
relationships.md
0.1.3-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.2-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.1-draft (2026-07-08) — Shipped schema fragments + per-project schema emitters (
9e4a8936).0.1.0-draft (2026-07-08) — Extensions v2 framework + docs (
3fb8795f).
schema.md
0.2.8-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.2.7-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.2.6-draft (2026-07-22) — Align specs and docs with the bundled-schema validation contract (
ae861ff6).0.2.5-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.2.4-draft (2026-05-18) — Always emit worker.js for cloudflare (
3dd37c2d).0.2.3-draft (2026-05-15) — Provider-sepcific Site-Wide Bundling (
51cb5cf6).0.2.2-draft (2026-04-23) — Site build (
ffe60ddc).0.2.1-draft (2026-04-23) — Compiler cli + published site (
4607ebbc).0.2.0-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.3-draft (2026-04-20) — Text nodes support (
4d45eeb7).0.1.2-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.1-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.0-draft (2026-04-10) — Consolidate specs (
80ca313f).
server.md
0.2.1 (2026-07-25) — Activation admits an existing project of the account's own (project.json under the home directory); a refused activation must surface as an error rather than fall back to the server root.
0.2.0 (2026-07-25) — POST /__studio/create-project requires an explicit absolute destination parent — the server no longer falls back to its own root. Adds assertCreatableParent (root, allowedRoots, or home; absolute only), remembers created roots for a following activate, and returns an absolute root for projects outside the server root.
0.1.9 (2026-07-23) — Serve extension asset mounts ahead of the project root in the static-file chain (§3).
0.1.8 (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.7 (2026-07-22) — Fix failing tests (
56e073f8).0.1.6 (2026-07-22) — Harden dev server and unify runtime/compiler evaluation (
47a1d4c9).0.1.5 (2026-07-17) — Align spec.md, site-architecture, desktop, server, extensions with reality (
c61ba567).0.1.4 (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.3 (2026-04-23) — Rebrand to jxsuite (
2897a4e8).0.1.2 (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.1 (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.0 (2026-04-10) — Consolidate specs (
80ca313f).
site-architecture.md
0.1.37-draft (2026-07-24) — Document the application tier and correct the static-only framing: §1 vision, §1.1 principles 1/3/5, §1.2 coverage, §14.1/§14.2 adapter output (worker generation is gated on build.adapter alone), and new §15 Application Tier covering server functions, auth, and data mounts.
0.1.36-draft (2026-07-23) — Note the mounted-asset copy step in the build pipeline (§12.1).
0.1.35-draft (2026-07-23) — Content entries address media relative to themselves; collections publish their directory at /content/
(§9.3). 0.1.34-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.33-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.32-draft (2026-07-17) — Forced color-scheme contract — dual emission, color-scheme triplet, pre-paint script (
e629684d).0.1.31-draft (2026-07-17) — Bundle the site worker self-contained per adapter (
4096ba12).0.1.30-draft (2026-07-17) — Sidecar bundling, extension emit capability, heading anchors (
07e28bc3).0.1.29-draft (2026-07-17) — Image pruning for persistent site build cache + github ci cache (
b45096ed).0.1.28-draft (2026-07-17) — Align spec.md, site-architecture, desktop, server, extensions with reality (
c61ba567).0.1.27-draft (2026-06-25) — Sitemap generation (
948c7a67).0.1.26-draft (2026-06-10) — Update site architecture to reflect new changes (
c0bdba08).0.1.25-draft (2026-06-10) — Use cloudflare cgi for image optimization (
96228874).0.1.24-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.23-draft (2026-06-03) — Use
.cacheisntead of.jx-cacheto support cloudflare build cache (1103d2d6).0.1.22-draft (2026-06-01) — Remove old glob-based content type references (
6bcbfdaf).0.1.21-draft (2026-05-28) — Separate directory + format for content type defs (
c43186ac).0.1.20-draft (2026-05-25) — Element annotations (title/description) (
c9137e50).0.1.19-draft (2026-05-25) — Allow nested global styles (
1159d585).0.1.18-draft (2026-05-20) — Run formatter (
8ba47930).0.1.17-draft (2026-05-19) — Reflect new content type transition (
6eb3d2b6).0.1.16-draft (2026-05-18) — Always emit worker.js for cloudflare (
3dd37c2d).0.1.15-draft (2026-05-18) — Remove unused 'rendered' property from JSON and CSV entries (
7478a87c).0.1.14-draft (2026-05-15) — Image optimization specs (
7d2ee67f).0.1.13-draft (2026-05-15) — Provider-sepcific Site-Wide Bundling (
51cb5cf6).0.1.12-draft (2026-05-04) — Longhand/shorthand property input sync (
05c7da35).0.1.11-draft (2026-04-29) — Update site architecture progress (
3305a8f0).0.1.10-draft (2026-04-29) — Project browser (
11c1fe7c).0.1.9-draft (2026-04-23) — Site build (
ffe60ddc).0.1.8-draft (2026-04-23) — Compiler cli + published site (
4607ebbc).0.1.7-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.6-draft (2026-04-20) — Better project-level scoping (
0cba233c).0.1.5-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.4-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.3-draft (2026-04-15) — Importmap support (
c1b329d4).0.1.2-draft (2026-04-10) — WinterTC server-side conventions (
60eba6dd).0.1.1-draft (2026-04-10) — Site architecture update (
86d1c515).0.1.0-draft (2026-04-10) — Enhanced font picker (
9d388a32).
spec.md
0.4.24-draft (2026-07-24) — §5.3 and §11.4: a timing: "server" route lands in the generated site worker only when build.adapter is set; without an adapter the compiler emits a per-page _server.js handler instead.
0.4.23-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.4.22-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.4.21-draft (2026-07-22) — Reconcile spec with shipped behavior; document the eval surface (
c8d1d580).0.4.20-draft (2026-07-22) — Align specs and docs with the bundled-schema validation contract (
ae861ff6).0.4.19-draft (2026-07-17) — Forced color-scheme contract — dual emission, color-scheme triplet, pre-paint script (
e629684d).0.4.18-draft (2026-07-17) — Sidecar bundling, extension emit capability, heading anchors (
07e28bc3).0.4.17-draft (2026-07-17) — Align spec.md, site-architecture, desktop, server, extensions with reality (
c61ba567).0.4.16-draft (2026-07-17) — Clean up spec (
897e8c1e).0.4.15-draft (2026-07-15) — Pure method operators and the composite formula catalog (spec §19.4d) (
58be3b1a).0.4.14-draft (2026-07-15) — Conditional operators and editor evaluation trace (spec §19.4b, §19.9) (
79926245).0.4.13-draft (2026-06-15) — Arrays as pseudo-element (
0b8b3070).0.4.12-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.4.11-draft (2026-06-02) — Returns type in the class definition (
32e4737a).0.4.10-draft (2026-06-01) — Declarative expressions (
472aeb15).0.4.9-draft (2026-05-25) — Element annotations (title/description) (
c9137e50).0.4.8-draft (2026-05-20) — "format" on fields for image fields (
02f87d29).0.4.7-draft (2026-05-20) — Release 0.11.0 (
4a0e17ed).0.4.6-draft (2026-05-20) — Run formatter (
8ba47930).0.4.5-draft (2026-05-18) — Always emit worker.js for cloudflare (
3dd37c2d).0.4.4-draft (2026-05-15) — Add markdown prototypes at top-level (
24020906).0.4.3-draft (2026-05-15) — Provider-sepcific Site-Wide Bundling (
51cb5cf6).0.4.2-draft (2026-04-23) — Oxfmt (
af32c08c).0.4.1-draft (2026-04-23) — Rebrand to jxsuite (
2897a4e8).0.4.0-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.3.7-draft (2026-04-22) — External web component support (
a9d0fbe4).0.3.6-draft (2026-04-22) — Init new site (
f33d319b).0.3.5-draft (2026-04-20) — Text nodes support (
4d45eeb7).0.3.4-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.3.3-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.3.2-draft (2026-04-15) — Importmap support (
c1b329d4).0.3.1-draft (2026-04-15) — Require json based entrypoints for external class integration (
86dc4383).0.3.0-draft (2026-04-10) — Consolidate specs (
80ca313f).0.2.3-draft (2026-04-07) — Custom element spec (
4f377be3).0.2.2-draft (2026-04-06) — Server-side timing (scaffolding) (
23932590).0.2.1-draft (2026-04-06) — Transition to vue reactivity (
70cb8445).0.2.0-draft (2026-04-06) — Pure js in defs and strings (
6494999d).0.1.3-draft (2026-04-06) — External/md parser (
5161ec0e).0.1.2-draft (2026-04-04) — Declarative media breakpoints (
3142b64e).0.1.1-draft (2026-04-04) — Rebrand as JSONsx (
0daa94f7).0.1.0-draft (2026-04-04) — Init (
a93852ac).
studio-ui-guidelines.md
0.1.8 (2026-07-26) — Modal surfaces own the keyboard: showDialog focus handoff, Escape dismissal, and the isModalOpen() shortcut gate (§8.7).
0.1.7 (2026-07-26) — Dialogs and overlay layers (§8.7): the ui/layers.ts contract, showPromptDialog as the replacement for window.prompt(), and a ban on native browser dialogs.
0.1.6 (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.5 (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.4 (2026-07-17) — Color-scheme canvas preview — Auto/Light/Dark tab-bar control (
ccdc1d3e).0.1.3 (2026-06-01) — Convert to typescript (
e352e265).0.1.2 (2026-04-22) — External web component support (
a9d0fbe4).0.1.1 (2026-04-22) — Init new site (
f33d319b).0.1.0 (2026-04-18) — Ui guidelines (
91f2b29e).
studio.md
0.1.29-draft (2026-07-26) — File create/rename/delete naming dialogs (§9.1.1); branch, clone, and nested-selector flows now open Spectrum dialogs instead of native prompts.
0.1.28-draft (2026-07-25) — The Cloud platform target composes per-project schemas server-side (§3.4).
0.1.27-draft (2026-07-25) — Source-mode schema validation contract: per-project entry documents, offline $schema-id registration, worker self-location (§4.2.1); fetchProjectSchemas in the PAL table (§3.4).
0.1.26-draft (2026-07-25) — PAL table records the destination members: createDestination, createProject's user-chosen destination, and pickDirectory.
0.1.25-draft (2026-07-22) — Proper spec versioning (
fb0f3ec7).0.1.24-draft (2026-07-22) — Machine-readable spec status vocabulary + generated status page (
79daba23).0.1.23-draft (2026-07-17) — Scheme-variant editing — token overrides, scheme-layer routing, live feedback (
49f0c525).0.1.22-draft (2026-07-17) — Color-scheme canvas preview — Auto/Light/Dark tab-bar control (
ccdc1d3e).0.1.21-draft (2026-07-17) — Consolidated field mode switcher (
0a135ed1).0.1.20-draft (2026-06-10) — Consolidate markdown and csv handling to the parser package (
8b1ba6da).0.1.19-draft (2026-05-25) — Allow nested global styles (
1159d585).0.1.18-draft (2026-05-20) — "format" on fields for image fields (
02f87d29).0.1.17-draft (2026-05-20) — Run formatter (
8ba47930).0.1.16-draft (2026-05-15) — Git sidebar (
79663844).0.1.15-draft (2026-04-23) — Include global styling (
d8d25640).0.1.14-draft (2026-04-23) — Site build (
ffe60ddc).0.1.13-draft (2026-04-23) — Compiler cli + published site (
4607ebbc).0.1.12-draft (2026-04-22) — Consolidate project config schema and rename as such (
e3523dbf).0.1.11-draft (2026-04-22) — External web component support (
a9d0fbe4).0.1.10-draft (2026-04-22) — Init new site (
f33d319b).0.1.9-draft (2026-04-20) — Text nodes support (
4d45eeb7).0.1.8-draft (2026-04-20) — Better project-level scoping (
0cba233c).0.1.7-draft (2026-04-18) — Dedicated combo/picker component for style preview (
d8d07921).0.1.6-draft (2026-04-18) — Fix the test path handling on windows (
26ea0d70).0.1.5-draft (2026-04-17) — Update studio specs (
d0e5475a).0.1.4-draft (2026-04-17) — Reorganize code tree (
d5ee04c4).0.1.3-draft (2026-04-16) — Landing site + working exports + release-it + linting (
a8409b5f).0.1.2-draft (2026-04-15) — Rebrand to Jx / Jx Platform (
abc63f2d).0.1.1-draft (2026-04-10) — Finalize vision for site architecture (
da594993).0.1.0-draft (2026-04-10) — Consolidate specs (
80ca313f).