v0.35.0 e86dbd6

2026-10-22

e86dbd6feat(web): summary doc tabs, license and release badges on the index, keyboard fixes (!34) SSH Verifiedtag v0.35.04/4brice
6a915d6feat(web): footer theme switch (auto, light, dark) (!33) SSH Verified4/4brice
a7f3fdbdocs(ci): describe what a job token with contents: write may push GPG Verifiedbrice
7c1886ffeat(web): release card, latest release in About, g-sequence shortcuts (!30) SSH Verifiedtag v0.34.04/4brice
5d69f2bfix(web): ARIA semantics for MR panels, dialogs, palette, forms and status regions (!31) SSH Verified4/4brice
cf26365feat(web): merge merge requests asynchronously with htmx (!29) SSH Verifiedtag v0.33.04/4brice
895ba6fbuild(go): Go 1.27.3 (!27) SSH Verified4/4brice
801147ffeat(web): list running CI runs in the inbox and open it with Shift+I (!28) SSH Verified4/4brice
993fa25docs(releases): template GoReleaser URLs from the runner-provided GITHUB_API_URL and GITHUB_SERVER_URL GPG Verifiedbrice

2026-10-21

53e25a3fix(web): keep the MR bar actions on the right and size the sticky offset from the bar GPG Verifiedtag v0.32.08/8brice
5dbd27ffix(lint): check ignored close and remove errors, simplify release conditions GPG Verified8/8brice
b869944chore(deps): require ermite-api v0.16.0 and drop the local replace GPG Verified3/4brice
1428b20fix(releases): hide draft events and cursors, honour update targets, share range handling GPG Verifiedbrice
97e2b33fix(blobs): reclaim crashed temp files, skip broken multipart entries, sync new directories GPG Verifiedbrice
8361f60fix(ci): bound concurrent artifact block uploads and reuse their buffers GPG Verifiedbrice
6abe390test(blobs): run the blob contract on MinIO, which lists unfinished uploads by key GPG Verifiedbrice
27d9aa4fix(githubapi): accept the api/v3 base that GoReleaser appends to the API URL GPG Verifiedbrice
d50b7cdfeat(app): wire releases and the blob store, S3 configuration, MinIO compose profile and docs GPG Verifiedbrice
0933a48feat(cli): ermite release commands and release:write in the cli preset GPG Verifiedbrice
f67dc6afeat(githubapi): GitHub-compatible REST API for releases and assets GPG Verifiedbrice
eab40eefeat(web): releases tab, release pages and stable asset download links GPG Verifiedbrice
bfabb0cfeat(rpc): ConnectRPC ReleaseService with streamed asset upload and download GPG Verifiedbrice
b8fe0a4fix(rpc): map the release:write scope to the contract GPG Verifiedbrice
f9e6941feat(ci): store CI artifacts on the blob store, keep legacy disk artifacts readable GPG Verifiedbrice
eb72c2ffeat(releases): release, asset and sweep use cases GPG Verifiedbrice
0c4e1e3feat(releases): git tag writer and release hooks on pushes and repository deletion GPG Verifiedbrice
8fd2b19feat(blobs): blob store port with disk and provider-agnostic S3 adapters GPG Verifiedbrice
c57f9ecfeat(releases): release domain, kv storage, ports and schema 6 with release:write GPG Verifiedbrice
f61e6a6fix(store): keep failing_checks_block as a deprecated storage field, run the new subtests in parallel GPG Verified8/8brice
923f868build(deps): use ermite-api v0.15.0 GPG Verified2/4brice
eba8ed7fix(scopes): keep the owner rights of full tokens with mr:force-merge, refresh the owner's merge check controls live GPG Verified0/4brice
7348bb2feat(web): offer ignore checks on the merge form, document mr ready and the merge check rules GPG Verifiedbrice
5d0c190feat(cli): add mr ready and mr merge --ignore-checks, implement the MarkReady RPC GPG Verifiedbrice
cfc292cfeat(merge): require passing checks to merge, add mr:force-merge and ignore_checks, drop failing_checks_block GPG Verifiedbrice
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

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