Loom Versions
What's in each Loom release, in reverse chronological order. Loom follows semver: minor releases are backwards-compatible, major releases may introduce breaking changes.
v0.1.0 — 2026-05-03
The first release. Establishes the v0.1 surface: Thread schema, weaver pipeline, runtime server, PlanetScale migrations, GitHub + OrbWeaver integration, and the Shuttle plugin system.
Headline features
- Single-binary CLI with ten subcommands:
add,check,deploy,eject,new,report,serve,stitch,sync,weave - Threads — YAML data model with 20 field types, relationships, permissions, and lifecycle hooks
- Five weavers — SQL, Go (model + handler + routes + handler-test), SvelteKit (list + form + detail), HTMX (list + form), and routing — all fed from one Thread definition
- Interpreter-mode runtime —
loom servereads Threads at startup; no compile step needed unless you eject - Stitch — additive-only schema reconciliation against PlanetScale, with
--no-livepreview for fresh-database sanity checks - Shuttle plugin system —
pkg/shuttle/for adding HTTP routes and lifecycle hooks;pkg/shuttle/stripeships as the reference implementation (HMAC-SHA256 signature verification, configurable path/secret/tolerance) - OrbWeaver integration —
loom syncbootstraps the Frappe-side schema (DocType + Custom Fields), creates the Project + Tasks, and posts build reports asLoom Build Reportrecords - GitHub integration —
loom newcreates the repository (withGITHUB_TOKEN) - Deploy artefacts —
loom deployemits a multi-stage Dockerfile + non-root start.sh
Test coverage: 142 tests across 10 packages, all passing on Linux, macOS, and Windows.
v0.1.0 design choices we'll defend forever:
- Plugins are Go imports, not dynamic
.sofiles - Stitch is additive-only by default — type drift and orphan columns warn but don't auto-mutate
- Generated Go is run through
go/formatbefore write — gofmt-stable - Permissions deny by default;
Publicis the only role that grants to everyone - Generated artefacts go in
.loom/, treated like build output
Known v0.1.0 gaps (planned for v0.2.0):
- No
/auth/loginendpoint — issue JWTs from your own service - No file-watcher / hot reload (
loom serve --hot) - No destructive migrations —
MODIFY COLUMNandDROP COLUMNwarn-only - Generated Go handlers don't compile out of the box (they import
{{ .ModulePath }}/internal/authwhich doesn't exist in user projects); ejection requires writing the auth/permissions shims yourself - Stripe shuttle has no built-in idempotency / retry queue
What's coming in v0.2.0
These items are in the active backlog:
- Auth scaffold in
loom new— emit minimalinternal/auth+internal/permissionspackages so ejected code compiles immediately /auth/loginendpoint with bcrypt password hashing and a built-inUserThread shape- Field-watching
loom serve --hot - Opt-in destructive migrations —
loom stitch --destructiveenablesMODIFY COLUMN/DROP COLUMN - Real-DB integration test harness for
stitch(sqlite shim or testcontainers) - Stripe shuttle hardening — idempotency table, retry queue, declarative event-type dispatch
No date promised; releases when they're ready.
See also
- Getting Started → Quickstart — the v0.1 way to get going
- Concepts → Threads — what the framework was designed around
Was this article helpful?