• v0.3.17 a269d6295d

    v0.3.17 Stable

    calum released this 2026-07-14 23:41:46 +01:00 | 157 commits to main since this release

    Test build (0.3.17): STRUCTURAL VOCABULARY REPAIR (ADR-N029) + two follow-ups. (a) Single id authority: client mints UUID on type-to-create, push carries it, backend adopts verbatim. (b) library.sqlite is the sole store for the five vocabularies + presets; project.sqlite drops per-project vocab tables (migration 008). (c) Devices/ports reference library values by id; display resolves id→label. (d) No client seed — first sync pulls backend ids as-is. (e) Rename returns 200 (was HTTP 422): new snake_case wire body with skip_serializing_if=None. (f) Form-label spacing pattern via label:has(> span + input) in App.css — applies app-wide, no wrapper class. Ghost check: id absent from library = ghost, one id space so no false positives from seed/push id mismatches. Backend redeployed for id-adoption; live push+read verified same id. No data migration — operator deleting all existing projects. Rust 34/34, backend pytest 16/16, TS+Vite clean.

    Downloads