Skip to content

v0.1.14

Pre-release
Pre-release

Choose a tag to compare

@soldforaloss soldforaloss released this 21 Jul 09:20

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

  • status panicked on half of all pane ids — any surface id above i64 max parses as .number_string in std.json, and the readers accessed .integer (run silently dropped those panes). All CLI JSON id reads now go through a tolerant u64 reader (ipc.jsonU64) with a maxInt(u64) regression test. Found live by the soak's new /attention probe.
  • /attention's ETag could never 304: it hashed the whole body including the per-call exported_at_ms stamp. The hash now starts at the panes key, so unchanged timelines revalidate (proved by the new E2E).
  • A second paramux serve on a busy port fails fast instead of double-binding and silently stealing traffic (Windows SO_REUSEADDR semantics). Quick restarts are unaffected.

Layouts

  • The template gallery ships inside the binary: paramux import-layout 2 grid-2x2 works from a bare install — a bare name that isn't a readable file resolves against the four bundled templates (kept byte-identical to docs/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=..., and import-layout --name=... all address slots by saved name, case-insensitively.
  • open --list (and the new name resolver) tolerate a UTF-8 BOM on layouts.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 (/status 200+body, /attention 200/401/ETag/304).
  • status --notes shows the workspace accent from the v2 wire (# workspace 2 accent: 5 note: api fleet), with a fixture test.
  • doctor --fire now round-trips read_attention after 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 /attention over HTTP every minute (att_http CSV column) and reports the real distinct-workspace count instead of a hardcoded 1.
  • docs/paramux/layouts/README.md covers 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.