Commit 7effe3feb4

7effe3feb4612cffb5ed38c02300299559aa8971

parent: c05ce58604

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

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

CHANGELOG: v1.10.0

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.10.0 — 2026-09-04
8
9Every command parses its arguments the same way, the web answers by
10exit code, and a restart no longer waits on idle connections.
11
12- One flag parser for every command: an unknown flag, a missing value or
13 too many arguments is exit 2 with the command's usage, everywhere.
14 =mr review --approve --bogus= used to report repository =--bogus= as
15 not found. #96
16- =--json= is honoured by the dispatcher's own refusals, so a script told
17 no gets the envelope. #109
18- A store failure is exit 1 and not-found is exit 3; both used to be
19 usage errors. #107
20- Web form actions answer by exit code: the 404 page for a thing that
21 does not exist, the page with the message for anything else. #106
22- Inside a clone, =gitbay mr create= takes the checked-out branch as
23 =--source=; =gitbay <noun> --help= is the server's reference for the
24 noun, flags included. #101 #130
25- Shutdown closes idle SSH connections at once and drains only sessions
26 mid-command; a store failure during key lookup no longer counts as a
27 bad key against the auth limiter; the CLI says on ssh's exit 255 that
28 a burst may have tripped it. #141
29- A merge request head the target already contains is recorded as
30 merged instead of refused; a fork is created with its parent in one
31 insert; a failed transfer revert is reported; the repository quota is
32 checked under a lock. #108
33- Issues and merge requests share their comment, reference and
34 author-or-write code. #110
35- The payloads the web and clients decode are named types: =Created=,
36 =MRCreated=, =IssueShow=, =MRShow=. JSON unchanged. #126
37- Tests: parse failures per command, non-ASCII paths (which found
38 =ls-tree= returning octal escapes, fixed with =core.quotepath=off= for
39 every git the server runs), concurrent pushes. #129
40
41Replace the binary and restart, and reinstall the CLI. No migration.
42
743* v1.9.0 — 2026-09-03
844
945The runner is no longer an admin, the web no longer reaches around the