Release notes
Also available from the CLI: tuimote changelog.
1.0.2 — 2026-09-27
Features
- lilypond: edit lyrics with verse navigation and cached previews
- lilypond: delete score markings with cached previews and undo
- docs: annotate LilyPond score elements through the existing note workflow
- init: resolve memory conflicts with an agent (#416)
- wiring: manage nested context files
- security: enforce peer policy on plain panel shells (#409)
- comms: durable headless session requests & honest reply receipts (#364)
- gates: ship the three gates #390/#389 specified that 042a1a37 did not
- federation: set up a peer-owned repo from the hub — init_route resolves the owner via resolve_for_route and forwards the REPO half only (cwd alone; origin names a peer in the hub's registry the owner does not know), merging the result so a scope=both request still runs its global half hub-local; the init dialog no longer refuses a peer origin and says the setup will run on that peer. The forwarded scope is hardcoded repo so a both request can never ask the owner to run its own global install (#394)
- security: serve a CSP and security headers on every response (#385)
- shortcuts: dashboard Shortcuts drawer — saved deep links as repo cards
Fixes
- dock: don't cache a failed tools probe as every tool missing
- cli: resolve session send/request targets forgivingly when part of the address is missing (#418)
- lilypond: allow whole-curve dragging and retain shaping after engraving
- lilypond: preserve ordinary requests to older score owners
- lilypond: reconcile external score changes without losing review drafts
- docs: cache LilyPond renders and support large scores
- docs: export native LilyPond PDFs (#419)
- composer: retain writes until acknowledged
- composer: persist federated content on owner #413
- stores: refuse mutations after authoritative load failures (#412)
- storage: serialize store mutation through durable publication (#410)
- dev: dead-server restart uses GUI signing context (#405)
- dev: render mixed commits against the staged server (#403)
- dev: render asset changes with a candidate server (#406)
- dev: include frontend types in lint preflight (#402)
- comms: detect and frame head-truncated single-line sends (#407)
- scope: spend a restart only when the evidence still fits a stale launchd scope (#399)
- terminal: wide re-capture reflows wrapped selections deep in history; screen-owning self-wrapping harnesses (pi fullscreen) are no longer exempt
- deploy: install server outside cargo cache
- security: gate peer panel exec behind opt-in (#401)
- routes: use lexical containment for the home guards
- i18n: enforce tooltip cap before locale writes
- workflow: guard mistaken rg recursive flags
- tmux: bracketed-paste every multiline send, not just queued ones; spill in the routes so panels get the CLI's ceiling
Performance
- render affected feature checks with conservative full-suite fallbacks
- speed Rust corrections and bound browser verification waits
- retain warm SSD caches with a 50 GiB pruning budget
- shorten validation cycles and preserve trustworthy test receipts
1.0.1 — 2026-08-23