2026-10-03

34bf709refactor(color): remove unused ColorCapabilities.Colors, pulseStyle wrapper and exported ReducedColor; document drawClientToast as info-only GPG Verifiedfeat/color-capabilities brice
7ac2f1bdocs(terminal): clarify color override timing and heuristic claim resolution GPG Verifiedbrice
30ad963fix(daemon): publish color downgrade notice on resume and swap renderer only on mode change GPG Verifiedbrice
a6e1848perf(theme): keep NewDimmer inlinable by reading DimByAttribute in Dim GPG Verifiedbrice
3703ae2docs(terminal): document color modes, detection and overrides GPG Verifiedbrice
da6f075fix(client): mark picker problems without color in monochrome GPG Verifiedbrice
1a70faffix(daemon): re-negotiate color profile when an attachment resumes GPG Verifiedbrice
46e9f79feat(theme): keep vev UI legible in ANSI-16 and monochrome GPG Verifiedbrice
b375212fix(daemon): word color downgrade notice per mode GPG Verifiedbrice
da842a4feat(config): add terminal.colors and VEV_COLORS overrides GPG Verifiedbrice
9a421cafeat(terminal): detect ANSI-16 and monochrome terminals GPG Verifiedbrice
4b57b07feat(protocol): carry color capabilities in Hello GPG Verifiedbrice
0103d51refactor(terminal): model color capability as ColorCapabilities with one profile mapping GPG Verifiedbrice
8a884f0feat(env): refresh session environment on attach and add vev env (#305) GPG Unverifiedbnema

2026-10-02

c37833bperf(web): update vev-vt to v0.6.0 and coalesce browser updates (#3) tag v0.5.0brice
f449baeperf(daemon): drop duplicate sha256 during snapshot restore (#2) brice
232a7dbperf(daemon): publish the socket before snapshot GC and fence GC per incarnation (#1) brice

2026-09-30

74436e9feat(client): remember selected tabs per session (#304) GPG Unverifiedbnema

2026-09-29

80d04fefix(client): keep picker input released when an attachment run is cancelled (#303) GPG Unverifiedbnema
b90b5f2test(daemon): keep the real handshake budget in notifyClock (#302) GPG Unverifiedbnema
46d259bfix(palette): use the compact rail for every floating width (#300) GPG Unverifiedbnema
7907dderefactor: give broker observation, routing, daemon render/resume state, and picker interaction one owner each (#301) GPG Unverifiedbnema
ec60b5crefactor: deepen daemon, broker, and client architecture seams (#299) GPG Unverifiedbnema

2026-09-28

be54d4frefactor: deepen daemon render publication and client attachment lifecycle (#298) GPG Unverifiedbnema

2026-09-26

12ae076feat(bar): expose local client PID to bar scripts as VEV_CLIENT_PID (#297) GPG Unverifiedtag v0.4.0bnema
cd9b41ffeat(ui): queue and stack toast notifications (#296) GPG Unverifiedbnema
46a921ffix(render): blank cells outside the shared layout in larger windows GPG Verifiedbrice
ab824cffix(focus): keep geometry on the focused window when a background window claims it GPG Verifiedbrice
27972fdfeat(focus): resize session content to the client whose window gains focus GPG Verifiedbrice
7b5f8cffeat(focus): only a focused vev client acknowledges attention bells (#284) GPG Verifiedbnema
41d5105feat(keys): kitty keyboard protocol and Ctrl+1..9 recent-session switching (#295) GPG Unverifiedbnema
60d0c9ffeat(picker): problem-only status dots and typed client notices (#293) GPG Unverifiedbnema
5334f33fix(daemon): clear the palette before opening a client picker (#292) GPG Unverifiedbnema
9386b87feat(attach): let the daemon resolve attach-by-name (#291) GPG Unverifiedbnema

2026-09-25

b3c9196fix(broker): upgrade pinned host protocol versions on startup (#289) GPG Unverifiedbnema
def4c6efeat(session): close ephemeral sessions when their last client exits (#288) GPG Unverifiedbnema
6253aa4fix: credit flow control and auto-resume for lost remote attachments (#287) GPG Unverifiedbnema
51fda06fix(broker): allow control characters in environment values (#285) GPG UnverifiedBrice Amen

2026-09-24

8ea43d2fix(status): show ringing sessions in every client's recent history (#283) GPG Unverifiedbnema
32ce382docs: clearer README and guides, fix facts that drifted from the code (#281) GPG Unverifiedbnema
9d8d577fix(client): keep Connecting through a broker loss and drop picker input typed while hidden GPG Verifiedbrice
d1a05e5fix(client): present Connecting instead of the picker while the initial navigation is pending GPG Verifiedbrice
c549dd3fix(picker): draw tree lines in a fixed grey and trim doubled detail spaces GPG Verifiedbrice
3a14a3cfix(app): stop printing retryable broker failures over the retry notice GPG Verifiedbrice

2026-09-23

0b823c5test: stop CI flakes in socket, daemon election, web reconnect, and QUIC tests GPG Verifiedbrice
e77fed7fix(sshstdio): bound how long mux close waits for a lingering grandchild GPG Verifiedbrice
d2968ddfix(ipc): serialize socket bind and stale recovery with a sibling lock GPG Verifiedbrice
665fa7btest(app): build the Linux-only daemon tests only on Linux GPG Verifiedbrice
3b7ecbatest(app): wait for the attached presentation instead of racing it GPG Verifiedbrice
6a2bad6fix(kill): resolve a symlinked working directory like vev does GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close