Commit e671162d07

e671162d072235e4f081e7f29edfb269ea87b705

parent: a5e232bfe9

Verified · cmc ci/build: success ci/sonar: success ci/test: success ci/vuln: success

cmc <hello@cleberg.net> · 2026-09-05 01:22 UTC

CHANGELOG: v1.13.3

Layout: unified · split

CHANGELOG.org +36
@@ -4,6 +4,42 @@ Versioning follows semver from v0.1.0. Database migrations run
44automatically on daemon start; upgrade notes appear per release when
55anything beyond "replace the binary and restart" is needed.
66
7* v1.13.3 — 2026-09-05
8
9Only a writer's review decides a merge gate, and a scan of one branch
10stops overwriting another's results.
11
12- =mr review= resolves with =CanRead= and applied no further check, and
13 the merge gates counted every fresh verdict. On a public repository
14 that let anyone with an account satisfy =require_approvals= — defeating
15 four-eyes review by holding two accounts, which on an instance with
16 open registration means defeating it outright — and equally let a
17 passer-by block a merge the owner wanted, with no override and only a
18 force-push to clear it. Both were confirmed against a running instance.
19 Reviewing stays open to every reader, because an outside opinion on a
20 public change is worth having; it no longer decides the gate. What
21 does is write access, the same question the gates already answer. An
22 uncounted review is marked advisory by =mr show= and by the merge
23 request page, both reading the same rule, so the page cannot show an
24 approval the gate ignores. #147
25- The two =git upload-pack= spawns behind the smart HTTP transport now
26 resolve git at start-up like everything else. The v1.13.2 rewrite
27 matched a plain identifier for the context and these pass
28 =r.Context()=, so it skipped them. #153
29- CI analyses each branch as itself. Every scan was recorded against the
30 project's main branch whatever branch produced it, so a feature branch
31 replaced main's results — a branch that removes findings made main look
32 clean before the fix merged, and one that added them made main look
33 broken when it was not. #154
34
35Replace the binary and reinstall the CLI. No migration.
36
37A repository relying on approvals from accounts without write access
38will find those merges now refused. That was the defect: such an approval
39never meant the repository accepted the change. Grant write, or name the
40reviewer in CODEOWNERS and grant write, if their approval is meant to
41count.
42
743* v1.13.2 — 2026-09-04
844
945The first SonarCloud scan's findings: eight fixed, the rest triaged and