v0.35.1 2aca1df

2026-10-19

a26798bfeat(usecase): anonymous issue submission with adaptive proof of work GPG Verifiedbrice
ee8d39cfeat(rpc): serve pending issue moderation and wire it in the forge GPG Verifiedbrice
51f0135feat(usecase): add issue moderation, the form subkeys and the owner-only issue.submitted event GPG Verifiedbrice
2576c64fix(clientlimit): keep the submission limits free of the domain import GPG Verifiedbrice
8d2ab49feat(clientlimit): add the sliding window submission limiter GPG Verifiedbrice
6a3e65dfeat(kvstore): store pending issues, bans and the issue form key GPG Verifiedbrice
dca1fe7feat(ports): add the pending issue, key, ban, submission limiter and moderation ports GPG Verifiedbrice
784ea9ffeat(domain): add pending issues, the issue submitted event and the form limits GPG Verifiedbrice
babd8c2build(deps): use the local ermite-api issue form branch GPG Verifiedbrice
d66b108test(events): owner topic access matrix, token end, bearer refusal, stale index GPG Verifiedbrice
063865bfix(events): deliver repo.updated and repo.deleted to owner watchers and refresh the inbox GPG Verifiedbrice
bc6524cfeat(web): owner inbox page and home button GPG Verifiedbrice
ab38ed2feat(events): owner topic across repositories GPG Verifiedbrice
974935dfeat(usecase): owner inbox overview across repositories GPG Verifiedbrice
e17a0e5feat(kvstore): list open merge requests and issues across repositories GPG Verifiedbrice
68460c1fix(kvstore): serialize numbering per repository so concurrent creates never exhaust retries GPG Verifiedbrice
b2212f2test(app): merge the declaration with the assignment in the issue e2e test (staticcheck S1021) GPG Verifiedbrice
2794dd4fix(kvstore): guard the repository key when updating an issue so a repo delete leaves no open-issue index keys GPG Verifiedbrice
02692c4fix(events): stop streaming issue events and views once issues are off or the repo is not visible GPG Verifiedbrice
4f0da00fix(app): keep token preset cli working on servers without issues; return issue show write errors; correct issue help limits GPG Verifiedbrice
a4f8ebdfix(usecase): report a conflict when every issue comment save conflicts instead of publishing IssueCommented GPG Verifiedbrice
c064166fix(web): split-only note links and disjoint heading ids of split note copies GPG Verified1/4brice
e3b6724merge(web): issue pages into feat/issues merge GPG Verifiedbrice
68db1e6feat(web): annotate the issue tab and transition for hexcheck GPG Verifiedbrice
06682affix(mr): deleted verdict notes, split-layout note links and verdict labels GPG Verifiedbrice
3872b20test(mr): stronger note retry and range tests GPG Verifiedbrice
fd07554docs: document issues GPG Verifiedbrice
582cf61feat(cli): add ermite issue commands and repo edit --issues GPG Verifiedbrice
931429bfeat(web): add the issue pages, tab, redirects and live notices GPG Verifiedbrice
31c9416docs(mr): notes, threads, ranges and verdicts GPG Verifiedbrice
f8d5320merge: web for merge request notes merge GPG Verifiedbrice
aec37bffeat(web): threads, line ranges, Markdown notes, edits and verdicts on merge requests GPG Verifiedbrice
945925cmerge: RPC and CLI for merge request notes merge GPG Verifiedbrice
8def6defeat(cli): replies, ranges, verdicts, edit and delete for merge request notes GPG Verifiedbrice
a5d6827feat(rpc): serve IssueService and the issues setting, wire issues GPG Verifiedbrice
4c8ce48feat(usecase): add the issue use cases and the issues setting GPG Verifiedbrice
aa64b62fix(mr): recheck the reply target when a note save is retried GPG Verifiedbrice
b31a354feat(mr): replies, line ranges, edits, deletes and verdicts in the merge request use case GPG Verifiedbrice
eba40dafeat(cli): print the full web URL of merge requests GPG Verified7/8brice
c52c40ffeat(storage): store issues on the merge request sequence, schema 4 GPG Verifiedbrice
b41adf0feat(domain): add issues, the issues mode, text parsers and the issue:write scope GPG Verifiedbrice
3a784d4feat(mr): note model with threads, ranges, verdicts and the mr:review scope GPG Verifiedbrice
6815c6cbuild(deps): use the local ermite-api issues branch GPG Verifiedbrice

2026-10-18

0039612feat(ci): disable, enable and list workflows per repository GPG Verifiedtag v0.27.0brice
dfd6f0bfix(web): commit signature row and compact home layout (#74) SSH Unverifiedtag v0.26.1brice
df1db36feat: signature badges on merge request commits (#73) SSH Unverifiedtag v0.26.0brice
94ae608feat: verified commit signatures (SSH and OpenPGP) with protocol badges (#72) SSH Unverifiedbrice
f347d8afeat(web): split and compact home layouts (#71) SSH Unverifiedbrice
cdeae08docs(readme): rewrite README around the key workflows (#70) SSH Unverifiedbrice
7fabed9ci: run CI from .github/workflows and drop the Forgejo workflow (#69) SSH Unverifiedtag v0.25.1brice

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 4

Tags 45

↑↓ moveenter openesc close