v0.1.14
Pre-release
Pre-release
Prerelease for testing. Windows x64 + ARM64 portable builds — verify the ZIP hash against SHA256SUMS-windows-<arch>.txt before extracting; see README "Verifying a build".
The trustworthiness release: the new soak probe caught a shipped CLI crash the same hour it landed, and the serve E2E proved (then fixed) a revalidation contract that could never trigger.
Reliability
statuspanicked on half of all pane ids — any surface id abovei64max parses as.number_stringin std.json, and the readers accessed.integer(runsilently dropped those panes). All CLI JSON id reads now go through a tolerantu64reader (ipc.jsonU64) with amaxInt(u64)regression test. Found live by the soak's new/attentionprobe./attention's ETag could never 304: it hashed the whole body including the per-callexported_at_msstamp. The hash now starts at the panes key, so unchanged timelines revalidate (proved by the new E2E).- A second
paramux serveon a busy port fails fast instead of double-binding and silently stealing traffic (WindowsSO_REUSEADDRsemantics). Quick restarts are unaffected.
Layouts
- The template gallery ships inside the binary:
paramux import-layout 2 grid-2x2works from a bare install — a bare name that isn't a readable file resolves against the four bundled templates (kept byte-identical todocs/paramux/layouts/by a drift test), and a miss lists the names. - Slots answer to their names everywhere:
paramux open --name=api-fleet,export-layout --name=..., andimport-layout --name=...all address slots by saved name, case-insensitively. open --list(and the new name resolver) tolerate a UTF-8 BOM onlayouts.json— the one reader the earlier BOM sweep missed.
Fleet CLI + serve
scripts/e2e-serve.ps1: a six-check scripted E2E for the HTTP contract (/status200+body,/attention200/401/ETag/304).status --notesshows the workspace accent from the v2 wire (# workspace 2 accent: 5 note: api fleet), with a fixture test.doctor --firenow round-tripsread_attentionafter the signal cycle, proving the timeline snapshot sees the fired signals.notify --surface-id=<id>(explicit pane targeting) verified as already shipped; malformed values hard-error instead of misrouting.
UI
- Palette "recent" chips follow MRU commands into ranked (typed) views, and the right-edge slot resolves chip-vs-keybind overlap explicitly (the keybind hint wins).
- i18n slice 6: all eleven hint-strip texts (first-run tips, broadcast, zoomed, wave, git segment, defaults) come from the strings table with de-DE entries under
ui-language = de.
Soak + docs
- The soak harness probes
GET /attentionover HTTP every minute (att_httpCSV column) and reports the real distinct-workspace count instead of a hardcoded 1. docs/paramux/layouts/README.mdcovers the gallery and name addressing; CONTRIBUTING records the PowerShell 5.1 double-quote-in-native-args hazard.
Full verification: every commit gated by zig build test -Dtest-filter=win32; full suite green at the release SHA; serve E2E, gallery/name smokes, and three soak self-tests run against the built binaries; both arch ZIPs hash-verified.