v0.5.0 bfab294

2026-10-10

c1f3cc9feat(session): add the owner principal, session store and login use cases GPG Verifiedbrice
1811509ci: install openssh for the signed commit tests GPG Verifiedbrice
a4c7fb6test(cmd): cover merge requests and the signing key over the API GPG Verifiedbrice
3e5f81bfeat(cli): add ermite mr and ermite signing-key GPG Verifiedbrice
17f0117feat(rpc): serve MergeRequestService, GetSigningKey and the repository settings GPG Verifiedbrice
0d1dbeafeat(config): add ERMITE_COMMITTER_NAME and ERMITE_COMMITTER_EMAIL GPG Verifiedbrice
224c22dfeat(app): add the merge request use cases and the signing key GPG Verifiedbrice
4023100feat(sshsig): sign commits with the instance ed25519 key GPG Verifiedbrice
7ce5542feat(gitcli): add the Git operations of a merge GPG Verifiedbrice
858a2fbfeat(kvstore): store merge requests, repository settings and the signing key GPG Verifiedbrice
b60fb76feat(domain): add merge requests, repository settings and the signing key types GPG Verifiedbrice
fef88c6build(deps): update ermite-api to the merge request contract GPG Verifiedbrice
3f267b5fix(web): show the commit page as detached and reload the refs page on a repository update GPG Verifiedtag v0.1.0brice
06a59c3refactor(web): share ref resolution and commit rows between pages GPG Verifiedbrice
52dd2effix(web): stop lexing at the highlight budget and survive lexer panics GPG Verifiedbrice
925a4ecfix(web): send the split layout of large diffs when the URL asks for it GPG Verifiedbrice
dbe8671fix(web): serve a favicon and keep tree, refs and README code within narrow screens GPG Verifiedbrice
c83fe67fix(web): bound concurrent highlighting and revalidate raw files at every request GPG Verifiedbrice
56a2ec9fix(web): count each visitor against the per-client event stream limit GPG Verifiedbrice
2cfcc85feat(web): stream live page fragments over SSE GPG Verifiedbrice
fb91573refactor(web): share one invisible-character masker between code and diff views GPG Verifiedbrice
652ddb1feat(web): add blob and raw pages with chroma highlighting GPG Verifiedbrice
20d1f28feat(web): add tree pages GPG Verifiedbrice
06c0b24feat(web): add the chroma highlighter and a directory-level README helper GPG Verifiedbrice
4f18354feat(web): add commit page with unified and split diffs GPG Verifiedbrice
dad3569feat(web): add commit history pages GPG Verifiedbrice
25ce556ci: fail on stale templ output GPG Verifiedbrice
b90cbe4feat(cmd): serve the web on the in-process API as an anonymous visitor GPG Verifiedbrice
5cd052afeat(web): add the web adapter with the shell, home, summary and refs pages GPG Verifiedbrice
c04f618build(deps): pin templ as a tool and add goldmark GPG Verifiedbrice
e914bbdbuild(docker): run under tini, pin alpine 3.24 and assert the stamped version in CI GPG Verifiedbrice
a87ca8bci: build the image on the host network GPG Verifiedbrice
a873e08ci: build the image GPG Verifiedbrice
63f8a7fbuild(dev): add compose and air hot reload GPG Verifiedbrice
470cf12build(docker): add release image GPG Verifiedbrice
2a9866eperf(gitcli): fill tree last commits with a small worker pool GPG Verifiedbrice
13c62e2fix(app): publish repo updates when only the HEAD move fails GPG Verifiedbrice
19ceb08fix(app): snapshot repo visibility on push events at publish time GPG Verifiedbrice
3a3918drefactor(cli): drop repo create --private and share output and paging helpers GPG Verifiedbrice
66b7417test(client): end handler on context instead of a fixed wait GPG Verifiedbrice
77dd5e4fix(client): strip terminal controls from error lines and keep URLs out of errors GPG Verifiedbrice
ee9ce2ctest(app): wait for the maintainer to be idle instead of sleeping GPG Verifiedbrice
fcf895dtest(cmd,rpc): wait for events with sentinels and long timeouts, and table-test the enum mappers GPG Verifiedbrice
fbcd64ebuild(deps): bump ermite-api for the Watch and ListCommits documentation GPG Verifiedbrice
15cb272feat(rpc): report truncated trees and last commits, bound GetTree GPG Verifiedbrice
d97ab57refactor(gitcli): resolve object ids before refs, read HEAD in one place, walk last commits in a loop GPG Verifiedbrice
147824dfix(gitcli): bound the one-shot git processes and the open blob streams GPG Verifiedbrice
1dc333efix(events): end Watch for revoked tokens, bound watchers, and keep the visibility of event time GPG Verifiedbrice
f305b1cfix(rpc): trust a context principal only from the in-process transport GPG Verifiedbrice
1e62968refactor(app): share keyset paging and repository lookup, cap commit page skips 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 2

Tags 45

↑↓ moveenter openesc close