Releases: bnema/vev
Releases · bnema/vev
Release list
v0.3.0
Changelog
Features
- 3795579: feat(palette): add argument previews and ephemeral sessions (@bnema)
- e5a7ffc: feat(palette): rename command shortcodes (@bnema)
Bug Fixes
- d92ade2: fix(daemon): preserve per-pane shell titles (@bnema)
- 3f78d59: fix(daemon): repaint route status after snapshot (@bnema)
- ec147af: fix(navigation): clear daemon state on local handoff (@bnema)
- b8a37b3: fix(navigation): preserve local-only session handoffs (@bnema)
- 5ed306e: fix(navigation): send local attach targets before detach (@bnema)
- f519cfa: fix(palette): retain distinct local routes remotely (@bnema)
- 26071da: fix(palette): validate previews and completion input (@bnema)
- 09015bc: fix(persistence): reset sessions across protocol versions (@bnema)
- 0c2bd95: fix(picker): bound stopped tab selectors (@bnema)
- 0380a23: fix(picker): clarify remote session activation (@bnema)
- 64bb8b2: fix(recovery): preserve promotion lifecycle (@bnema)
- 08343ae: fix(routes): preserve same remote handoffs (@bnema)
- 1690f30: fix(routes): refresh attention indicators on active daemon (@bnema)
- 11bc196: fix(routes): repaint on every route snapshot (@bnema)
- 5ee470f: fix(routes): retain rename identity before route publication (@bnema)
Refactoring
Install
Script (Linux x86_64/arm64, macOS arm64)
curl -fsSL https://raw.githubusercontent.com/bnema/vev/v0.3.0/install.sh | VEV_VERSION=v0.3.0 shArch Linux
yay -S vev-binmacOS note
The darwin binary is ad-hoc signed by the Go toolchain, not notarized.
Installing via the script or curl avoids the quarantine attribute;
if you downloaded the archive with a browser, Gatekeeper will block it.
Removing the attribute bypasses a Gatekeeper security control — only do
it for the vev binary itself, after verifying its checksum:
xattr -d com.apple.quarantine ~/.local/bin/vevFull Changelog: v0.2.0...v0.3.0
v0.2.0
Changelog
Features
- 4dbec77: feat(client): add route ledger protocol plumbing (@bnema)
- 2f86aba: feat(client): cut over global recent navigation (@bnema)
- 4e32793: feat(client): scope attachment render state (@bnema)
- 7560131: feat(copy): carry stable row identities (@bnema)
- d318448: feat(daemon): add multi-attachment session views (@bnema)
- 2a4b043: feat(daemon): compose remote view content locally (@bnema)
- d3ad7ec: feat(daemon): construct remote view links (@bnema)
- 4c3ccc7: feat(daemon): fence per-attachment output epochs (@bnema)
- 52f10a1: feat(daemon): resume remote attachment owners (@bnema)
- 28680b3: feat(daemon): retain detached remote views briefly (@bnema)
- f1b7847: feat(daemon): retain unified remote picker ownership (@bnema)
- ac571a7: feat(daemon): route remote attachment frames locally (@bnema)
- 7d74423: feat(daemon): transition attachments to remote views (@bnema)
- 9683889: feat(picker): grouped sort mode toggled with s (@bnema)
- ae3ded7: feat(picker): keep selection on the row replacing a killed session (@bnema)
- d415bc0: feat(picker): order sessions by most recently used (@bnema)
- 4fcfd05: feat(picker): render stopped sessions dim italic (@bnema)
- d9b9a0a: feat(picker): show sort mode in modal title (@bnema)
- 0929f70: feat(ports): finalize attachment wire codecs (@bnema)
- efdd7d6: feat(protocol): add proxied content and metadata contract (@bnema)
- e147aea: feat(protocol): add structured proxy screen wire (@bnema)
- c6e0a78: feat(proxy): stream structured screen updates (@bnema)
- 3644a55: feat(remote): add SSH session catalog client (@bnema)
- f0e21e9: feat(remote): add durable catalog cache and identity (@bnema)
- 26c89eb: feat(remote): add host management and remote listing (@bnema)
- ac27f72: feat(remote): add proxy session link and rendering (@bnema)
- 0356602: feat(remote): add remote configuration and host persistence (@bnema)
- d94ca5a: feat(remote): add unified host state store (@bnema)
- 0f7a788: feat(remote): enforce proxy command and lifecycle ownership (@bnema)
- e9e6c54: feat(remote): establish proxied content ownership (@bnema)
- 097f96e: feat(remote): expose versioned session catalog (@bnema)
- 2d2ac84: feat(remote): implement picker session parity (@bnema)
- 6a6edad: feat(remote): move proxy lifecycle into the session core layer (@bnema)
- f019e0f: feat(remote): recover direct session ownership (@bnema)
- a851fc9: feat(remote): unify remote sessions in the picker (@bnema)
- 50c5c14: feat(ui): render snatched-modal key hints as keycap badges (@bnema)
- 6f5dceb: feat(vt): add stable row identities (@bnema)
- 8a3d00a: feat(vt): persist stable row identities (@bnema)
Bug Fixes
- 7739dc9: fix(app): handle local picker handoffs (@bnema)
- 5884320: fix(client): address route review findings (@bnema)
- 121c2e1: fix(client): close route ledger review gaps (@bnema)
- 15781f2: fix(client): serialize route ledger transitions (@bnema)
- a806195: fix(config): apply remote parser review fixes (@bnema)
- db35bc9: fix(config): keep remote settings scalar-only (@bnema)
- 3f6dcc6: fix(config): remove remote configuration (@bnema)
- 38bcf15: fix(daemon): address PR 156 review findings (@bnema)
- 530da1f: fix(daemon): apply follow-up review fixes (@bnema)
- 15846e6: fix(daemon): apply proxy screen review fixes (@bnema)
- e7cd195: fix(daemon): avoid duplicate terminal title prefixes (@bnema)
- 2c2f623: fix(daemon): bound remote proxy handshakes (@bnema)
- 717ece4: fix(daemon): cancel blocked proxy handshake sends (@bnema)
- fdbb41b: fix(daemon): close phase 3 output races (@bnema)
- 5e4aa1c: fix(daemon): close review gaps for unified attachments (@bnema)
- 9d942b6: fix(daemon): complete kill-all shutdown handoff (@bnema)
- 74d1510: fix(daemon): fan out shared output to attachments (@bnema)
- 932410a: fix(daemon): fence attachment lifecycle races (@bnema)
- afa0cb5: fix(daemon): fence remote link reconnection (@bnema)
- c668837: fix(daemon): fence remote resume parking races (@bnema)
- 800c63b: fix(daemon): integrate attachment review fixes (@bnema)
- 8d7a354: fix(daemon): join only started remote link workers (@bnema)
- ae173e8: fix(daemon): make latest attachment resize authoritative (@bnema)
- af38802: fix(daemon): publish proxied metadata on empty frames (@bnema)
- ac05024: fix(daemon): reconcile moved geometry asynchronously (@bnema)
- fe43a19: fix(daemon): recover remote resume before parking (@bnema)
- 2a319c8: fix(daemon): remove unused session view field (@bnema)
- c48b08e: fix(daemon): repaint remote metadata updates (@bnema)
- 604afe4: fix(daemon): restore terminal color capabilities (@bnema)
- b902d96: fix(daemon): retire expired remote resume credentials (@bnema)
- 308292f: fix(daemon): retire lease on attachment rebind (@bnema)
- 8062ab3: fix(daemon): retire terminal remote views (@bnema)
- 8f34248: fix(daemon): serialize detached output state (@bnema)
- e4a8173: fix(daemon): synchronize pane focus after splits (@bnema)
- 6b7d2c3: fix(daemon): use session geometry for new tabs (@bnema)
- c4be05e: fix(handshake): bound unified session handshakes (@bnema)
- eed2010: fix(harness): scope observer gap span suppression (@bnema)
- 9dc0afe: fix(layout): give moved pane its fair share on consume/expel (@bnema)
- 1f2c802: fix(perf): preserve proxy benchmark geometry (@bnema)
- a57483f: fix(perf): validate proxy measurements (@bnema)
- 68ba351: fix(phase4): bound cancellation and remove dead command APIs (@bnema)
- dea913c: fix(phase4): integrate handshake validation and command deadlines (@bnema)
- 64916bf: fix(phase5): apply PR 176 review follow-ups (@bnema)
- ee9b61d: fix(phase5): bound final cancellation and readiness races (@bnema)
- 448248d: fix(phase5): integrate final quality fixes (@bnema)
- 18c1193: fix(picker): keep a stopped session selected across the sort toggle (@bnema)
- de8bb89: fix(picker): refresh remote-owned picker views (@bnema)
- 3dbe137: fix(picker): show dim remote host (@bnema)
- 1521b5b: fix(picker): snapshot session fields under the session lock before sorting (@bnema)
- 4634437: fix(protocol): address screen wire review findings (@bnema)
- 4b7cd9e: fix(protocol): apply follow-up review fixes (@bnema)
- 5ee2a06: fix(protocol): bound attach handoffs (@bnema)
- 0b11e7b: fix(proxy): align byte-stream handshake (@bnema)
- b9f0565: fix(remote): address direct ownership review findings (@bnema)
- fe22594: fix(remote): address follow-up picker review findings (@bnema)
- 92a7932: fix(remote): address ownership recovery review findings (@bnema)
- 9aa4936: fix(remote): address picker parity review findings (@bnema)
- 56985fd: fix(remote): address picker review findings (@bnema)
- bd9d2c0: fix(remote): address picker review findings (@bnema)
- 98aa679: fix(remote): address ...
v0.1.0
Changelog
Features
- 4175002: feat(app): contain udp proxy key handling (brice b@bnema.dev)
- 9d96051: feat(app): guard daemon state with lifecycle ownership (brice b@bnema.dev)
- eba0b22: feat(app): resolve daemon self-exec path per OS (brice b@bnema.dev)
- bbfd790: feat(app): stampable version metadata for releases (brice b@bnema.dev)
- 6377eac: feat(app): wire daemon core into the --daemon path (brice b@bnema.dev)
- 2795b89: feat(app,client): attach flow, CLI dispatch, daemon auto-spawn with mkdir lock (brice b@bnema.dev)
- 6b53f65: feat(cli): add vev cmd control subcommand with registry-driven help (brice b@bnema.dev)
- d19dd60: feat(cli): expose durable session recovery state (brice b@bnema.dev)
- 588bb23: feat(client): model atomic palette generations (brice b@bnema.dev)
- 12b1b9b: feat(client): publish definitive palette generations (brice b@bnema.dev)
- 2274b26: feat(client): track palette responses with coalesced theme sends (brice b@bnema.dev)
- f71e65c: feat(client,daemon): transfer clipboard image to remote pane as temp-file path (brice b@bnema.dev)
- fe5ad84: feat(clipboard): darwin pasteboard image reader via osascript (brice b@bnema.dev)
- 844c846: feat(clock): real ports.Clock adapter over time.Timer (brice b@bnema.dev)
- af68b90: feat(command): add action registry (brice b@bnema.dev)
- 2301cb6: feat(command): add control metadata, handlers, and BySlug to the registry (brice b@bnema.dev)
- 35e7583: feat(command): expose pane and tab moves (brice b@bnema.dev)
- ef2479e: feat(command): expose pane consume and expel (brice b@bnema.dev)
- 9065670: feat(commands): expose floating pane toggle (brice b@bnema.dev)
- 1e1b557: feat(config): add copy word separators (brice b@bnema.dev)
- edb3828: feat(config): add floating pane settings (brice b@bnema.dev)
- dc993a0: feat(config): add live reload and theme scheme propagation (brice b@bnema.dev)
- 9d0a15c: feat(config): add navigation overflow settings (brice b@bnema.dev)
- 7fe026f: feat(config): add palette anchor setting (brice b@bnema.dev)
- 5ebf319: feat(config): add snapshot restore process configuration (brice b@bnema.dev)
- 7bfa6fa: feat(config): add tabs.terminal-title to toggle OSC titles in tab labels (brice b@bnema.dev)
- ec95daf: feat(config): add terminal accent policy (brice b@bnema.dev)
- c0c90a2: feat(config): add theme.palette toggle (default on) (brice b@bnema.dev)
- 5610a95: feat(copy): add canonical selection ranges (brice b@bnema.dev)
- 3026b44: feat(copy): add clocked word selection (brice b@bnema.dev)
- b3cac20: feat(copy): add display-cell document primitives (brice b@bnema.dev)
- e2f71ea: feat(copy): add vim-like cell navigation (brice b@bnema.dev)
- 8846c59: feat(copy): carry line bounds into the copy-mode snapshot (brice b@bnema.dev)
- 6af2c31: feat(copy): integrate precise keyboard selection (brice b@bnema.dev)
- eaec9db: feat(daemon): activate floating panes per tab (brice b@bnema.dev)
- 652325c: feat(daemon): add OSC progress attention MRU bar (brice b@bnema.dev)
- dbdedb4: feat(daemon): add notification center ring and pending queue (brice b@bnema.dev)
- 1a97012: feat(daemon): add notification history overlay and command (brice b@bnema.dev)
- cbd555e: feat(daemon): add pane resize control and modal commands (brice b@bnema.dev)
- e38876b: feat(daemon): add per-tab floating state machine (brice b@bnema.dev)
- 5b2d745: feat(daemon): add persistent attention bells (brice b@bnema.dev)
- 5e82673: feat(daemon): add scriptable bar right anchors (brice b@bnema.dev)
- 1fab421: feat(daemon): add tab title composition helpers (brice b@bnema.dev)
- d60f14b: feat(daemon): add visual search modal (brice b@bnema.dev)
- ac2dcc4: feat(daemon): announce disabled persistence at attach (brice b@bnema.dev)
- 163735e: feat(daemon): bold tab names and mute pane titles on truecolor clients (brice b@bnema.dev)
- db7ba0d: feat(daemon): carry unsaved-state notices across restarts (brice b@bnema.dev)
- 2b8f235: feat(daemon): complete window lifecycle controls (brice b@bnema.dev)
- 82b7fa1: feat(daemon): compose notice toasts into rendered frames (brice b@bnema.dev)
- 4428ba6: feat(daemon): compose status bar (brice b@bnema.dev)
- b253fab: feat(daemon): dispatch one-shot control commands (brice b@bnema.dev)
- 884ab90: feat(daemon): emit stable vev pane identity (brice b@bnema.dev)
- eb37c83: feat(daemon): establish render capture ownership (brice b@bnema.dev)
- 75e21f8: feat(daemon): gate terminal palette through effective theme (brice b@bnema.dev)
- ddc019c: feat(daemon): keep replaced clients in snatched state (brice b@bnema.dev)
- 09a2f38: feat(daemon): let snatched clients reclaim sessions (brice b@bnema.dev)
- 8ccec9f: feat(daemon): manage floating pane lifecycle (brice b@bnema.dev)
- bf32e20: feat(daemon): move panes between live tabs (brice b@bnema.dev)
- ac63f74: feat(daemon): move tabs between live sessions (brice b@bnema.dev)
- ca3316c: feat(daemon): overflow horizontal focus across tabs (brice b@bnema.dev)
- 777c969: feat(daemon): overflow vertical focus across sessions (brice b@bnema.dev)
- 6454fbc: feat(daemon): persist named session snapshots (brice b@bnema.dev)
- bc0f858: feat(daemon): preserve session lifecycle identity (brice b@bnema.dev)
- bb3050a: feat(daemon): publish copy configuration (brice b@bnema.dev)
- aa3698c: feat(daemon): publish floating pane configuration (brice b@bnema.dev)
- 6ea049e: feat(daemon): queue session-scoped notices for the next attach (brice b@bnema.dev)
- 3894536: feat(daemon): rearrange panes transactionally (brice b@bnema.dev)
- 250429c: feat(daemon): render floating pane overlays (brice b@bnema.dev)
- b70b3b4: feat(daemon): render snatched client panel (brice b@bnema.dev)
- cbdd525: feat(daemon): report actionable bar script failures once per signature (brice b@bnema.dev)
- 52e29a3: feat(daemon): restore sessions from catalogue checkpoints (brice b@bnema.dev)
- 3de5569: feat(daemon): resume snatched clients without reclaiming (brice b@bnema.dev)
- a1d7783: feat(daemon): route floating copy mode (brice b@bnema.dev)
- 540608f: feat(daemon): route floating terminal input (brice b@bnema.dev)
- 57a5dbb: feat(daemon): route user notices to per-client toast state (brice b@bnema.dev)
- c81e580: feat(daemon): serialize per-session command dispatch (brice b@bnema.dev)
- 7e2f16e: feat(daemon): session registry, PTY reader, debounced render scheduler, attach/resize (brice b@bnema.dev)
- 3e48405: feat(daemon): show focused pane titles in top bar tabs (brice b@bnema.dev)
- fe081c7: feat(daemon): size floating pane overlays (brice b@bnema.dev)
- a6ffc40: feat(daemon): stabilize FSK BSK history navigation (brice b@bnema.dev)
- 6909543: feat(daemon): suggest named sessions in palette (brice b@bnema.dev)
- 1408e43: feat(daemon): surface config reload warnings (brice b@bnema.dev)
- db0ee28: feat(daemon): use attached environment for PTYs (brice b@bnema.dev)
- e431dff: feat(daemon): wire command palette (brice b@bnema.dev)
- 26d6300: feat(daemon): wire rename prompt (brice b@bnema.dev)
- bdb821c...