v0.31.0 d5e0505

2026-10-21

d5e0505Merge branch 'fix/main-e2e-tests' into main (!21) merge SSH Verifiedtag v0.31.04/4ermite
7f66fd8test(app): refresh markdown goldens for highlighted code blocks and wait for every owner run in the job token push test GPG Verified4/4brice
b51d6adci(workflows): bump actions/setup-go from v5 to v7 GPG Verified7/8brice
6135dd5test(mr): close linked issues when a merge request auto-merges GPG Verified7/8brice
4b10ba7merge: main with issue and merge request links into feat/auto-merge merge GPG Verifiedbrice
b2cf6d4build(deps): require ermite-api v0.14.0 for merge request auto-merge GPG Verified2/4brice

2026-10-20

be277d4test(mr): cover failing checks with failing_checks_block off, the pending auto-merge index, and stop relying on event order GPG Verifiedbrice
84db480perf(mr): skip auto-merge scans of repositories without a pending auto-merge, read checks once under the merge lock and keep the manual pending-checks error GPG Verifiedbrice
b6e9374fix(web): give merge when ready its own mode choice and drop branch deletion from it GPG Verifiedbrice
355f5f4fix(mr): cancel auto-merge when the enabler can no longer merge, even while checks are pending GPG Verifiedbrice
cb71bdddocs(mr): describe when auto-merge waits and when it is cleared GPG Verifiedbrice
22ff0d6fix(ci): keep a pushed head unsettled until its pull events are discovered GPG Verifiedbrice
6609752fix(mr): resolve the auto-merge enabler under the merge lock GPG Verifiedbrice
8539d6ffix(repo): serialize merge settings updates with merges GPG Verifiedbrice
4bec9a0refactor(web): render the issue body and its merge request links in their own helpers GPG Verified7/8brice
63e55ecfeat(mr): require the head the caller saw to enable auto-merge GPG Verifiedbrice
b5db7e3docs(mr): document merge request auto-merge GPG Verifiedbrice
718df65merge: web auto-merge controls into feat/auto-merge merge GPG Verifiedbrice
b271fd8feat(cli): add mr merge --auto/--cancel-auto and repo edit --allow-auto-merge GPG Verifiedbrice
d1f49e5feat(rpc): serve merge request auto-merge and its events GPG Verifiedbrice
804d55bMerge branch 'main' into feat/issue-mr-links merge GPG Verified3/4brice
8782b5abuild(deps): require bnema.dev/ermite-api v0.13.0 for issue references GPG Verifiedbrice
5dfb71bfeat(web): add merge when ready and auto-merge state to the merge box GPG Verifiedbrice
31adb55style(web): gofmt mr_test.go GPG Verifiedbrice
ba47d48feat(app): wire the auto-merge evaluator GPG Verifiedbrice
1314a0dfeat(mr): enable, cancel and evaluate merge request auto-merge GPG Verifiedbrice
9795e63feat(ports): add auto-merge service methods, CIActivity and AutoMergeTrigger ports GPG Verifiedbrice
4bb6db7feat(mr): store auto-merge state and allow_auto_merge setting GPG Verifiedbrice
b58599afix(issues): serialize issue link reindexing, keep truncated references whole and refresh links after merges GPG Verifiedbrice
29c90bbMerge branch 'feat/issue-mr-links-api' into feat/issue-mr-links merge GPG Verifiedbrice
7dac988feat(issues): show merge request references and closing merge request in the API and CLI GPG Verifiedbrice
6859f89feat(web): link #N references in Markdown and show merge request links on issue pages GPG Verifiedbrice
1386983feat(issues): index merge request mentions of issues and close linked issues on merge GPG Verifiedbrice
8a27537feat(issues): parse issue references and store issue to merge request links GPG Verifiedbrice
3ed7469perf(web): lex markdown code blocks without chroma coalescing and drop results past the deadline GPG Verified7/8brice
008636cfeat(web): highlight fenced code blocks in markdown GPG Verifiedbrice
c899179Merge branch 'fix/image-openssh' into main (!16) merge SSH Verifiedtag v0.30.04/4ermite
70b06a9docs(mirror): say that sync --all runs a few pushes at a time and document the result handoff GPG Verified4/4brice
798e82dfix(mirror): return manual syncs within 8 s and run sync --all concurrently GPG Verified4/4brice
e50a41dfix(image): install openssh-client so push mirrors reach SSH remotes GPG Verified4/4brice
067ccd6fix(gitpush): log a failed removal of the temporary key directory and simplify the refspec check GPG Verified8/8brice
0c0449bbuild(deps): require ermite-api v0.12.0 GPG Verified3/4brice
6793112fix(mirror): skip non-UTF-8 ref names, keep SyncAll errors to the failure class and document the Wait barrier GPG Verifiedbrice
1427755fix(mirror): sanitize push output, harden SSH options, add mirror events to watch and stable --json output GPG Verifiedbrice
5805840fix(mirror): sync --all past failures, admin-only warnings, no config lock during pushes and deferred due repos GPG Verifiedbrice
5e1949ffix(domain): reject dash-led SSH users and hosts, check cron gaps on non-leap years and inject the URL validator GPG Verifiedbrice
335d134fix(mirror): mark mirrors dirty on merges and default branch changes, validate config before saving and keep manual throttling on coalesced syncs GPG Verifiedbrice
c59b5fafix(domain): check the cron gap across the year, parse only on resolution and classify more SSH auth denials GPG Verifiedbrice
4d330eadocs(mirror): document push mirror setup, sync rules, CLI and events GPG Verifiedbrice
49d746dmerge: push mirror CLI and composition into feat/push-mirror merge 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 3

Tags 43

↑↓ moveenter openesc close