A CLI-first git forge.

cli forge git self-hosted

https://gitbay.org

Commit 190ba2060f

190ba2060fed0dba15cd453345741ce2c73f4197

parent: 3af6fd1aaf

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

cmc <hello@cleberg.net> · 2026-08-31T20:41:00Z

CHANGELOG: v1.2.0
CHANGELOG.org +26
@@ -4,6 +4,32 @@ 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.2.0 — 2026-08-31
8
9A merge request said what its state was and almost nothing about when it
10got there. It now keeps time.
11
12- Reviews and checks carry the moment they last said something, on the
13 merge request page and in =mr show=. A =ci/<job>= check also reports how
14 long its build ran, so the timing of a run is readable without opening
15 it. Checks posted through =status set= have no build and report only the
16 time. !137
17- A merged or closed merge request names who resolved it and when. The
18 header stated "X wants to merge" whatever the state; it now says "X
19 merged A into main on <date>", or "closed this without merging", and
20 drops the claim entirely for a row that carries no stamp rather than
21 inventing a time.
22- =mr show= gains =merged_at=/=merged_by= and =closed_at=/=closed_by=, a
23 =created_at= per review, and =updated_at= plus =duration= per check, in
24 both JSON and text. Additive: nothing existing changed shape.
25- The iOS client renders all of it as of krz/gitbay-ios!37.
26
27Replace the binary and restart. Migration 0029 adds four columns to
28=merge_requests= and backfills the merge stamp for merge requests already
29merged, reading the =mr.merged= events. A merge with no such event to read
30— an import, or a row older than its events — keeps no stamp, and every
31surface says nothing about when it happened rather than guessing.
32
733* v1.1.0 — 2026-08-31
834
935Every release until now answered questions. This one notices something