release: record v4.20 on sanitized history

ee8e3d6gl0w

all commits

Message

release: record v4.20 on sanitized history

Diff

.forge/merges/2026-09-08T03-48-45Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T03-48-45Z.md b/.forge/merges/2026-09-08T03-48-45Z.mdindex d986c96..94121f6 100644--- a/.forge/merges/2026-09-08T03-48-45Z.md+++ b/.forge/merges/2026-09-08T03-48-45Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T03:48:45Z77 ---8-applied: 1d4d895c710e4965b5632e06170760c057149f2e8+applied: 429c15957615d2fb440aa303cc9681002328012799 patch: 5d13380bb1b043179dbc3e9def95793b56a99cb51010 pass.
.forge/merges/2026-09-08T04-06-11Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T04-06-11Z.md b/.forge/merges/2026-09-08T04-06-11Z.mdindex ed59161..5141d6b 100644--- a/.forge/merges/2026-09-08T04-06-11Z.md+++ b/.forge/merges/2026-09-08T04-06-11Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T04:06:11Z77 ---8-applied: cb813f141df80f897ac46f8b4f8775ca5227a3798+applied: 787a13385d6014e93ae0209b6e72ad4945d2d13b99 patch: 97a8c8cbd6f10a0f6a1e81fc248a38bb53c5aea11010 pass.
.forge/merges/2026-09-08T04-10-21Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T04-10-21Z.md b/.forge/merges/2026-09-08T04-10-21Z.mdindex 6d98cbf..3e549f5 100644--- a/.forge/merges/2026-09-08T04-10-21Z.md+++ b/.forge/merges/2026-09-08T04-10-21Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T04:10:21Z77 ---8-applied: e65a6aa2df3493b1f79c8da1e4826a0cd7173fc98+applied: bd8cbb37ee980689e7bb881002c3fef3bb341e8b99 patch: 5ce1629400910ee8aa6aeebad2bdd01c88d08fe31010 pass.
.forge/merges/2026-09-08T04-29-33Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T04-29-33Z.md b/.forge/merges/2026-09-08T04-29-33Z.mdindex 7a5fa8a..9befe43 100644--- a/.forge/merges/2026-09-08T04-29-33Z.md+++ b/.forge/merges/2026-09-08T04-29-33Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T04:29:33Z77 ---8-applied: 5e4e09cddb87ebc9c25415a287eb6c2408b6aa4f8+applied: dadfcd2ba931955b257477e81a9397a3bcce70cf99 patch: 3294a3b568b5de0397ed362704abc1ecf2887d1b1010 pass.
.forge/merges/2026-09-08T04-31-04Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T04-31-04Z.md b/.forge/merges/2026-09-08T04-31-04Z.mdindex 6228520..ea5a84c 100644--- a/.forge/merges/2026-09-08T04-31-04Z.md+++ b/.forge/merges/2026-09-08T04-31-04Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T04:31:04Z77 ---8-applied: e1f3732836c368cbca4449986eabe3b0e62dbed58+applied: 76876992347df0ebef784484396bf2df8695939999 patch: d227c588368313781d154912c94bd779f51b738f1010 pass.
.forge/merges/2026-09-08T05-49-11Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T05-49-11Z.md b/.forge/merges/2026-09-08T05-49-11Z.mdindex 06bd762..ca20a28 100644--- a/.forge/merges/2026-09-08T05-49-11Z.md+++ b/.forge/merges/2026-09-08T05-49-11Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T05:49:11Z77 ---8-applied: c9655b8a2c6ff6c56ed4e8eeede1825df175d4de8+applied: b60005842ea5e5b7db1f86ec6a74adb19783587c99 patch: 2c708c13a257c62436058b834416f7fccecd84431010 pass.
.forge/merges/2026-09-08T05-50-44Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T05-50-44Z.md b/.forge/merges/2026-09-08T05-50-44Z.mdindex c543f2a..b60daea 100644--- a/.forge/merges/2026-09-08T05-50-44Z.md+++ b/.forge/merges/2026-09-08T05-50-44Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T05:50:44Z77 ---8-applied: 0a3d064d867d6fdf58cf5d39d5446b6002f382b28+applied: 558aab681b80062f28d3e83862a802704b8e812f99 patch: e0486fa5e077962a1547c94e4bf829820797ec721010 pass.
.forge/merges/2026-09-08T05-52-19Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T05-52-19Z.md b/.forge/merges/2026-09-08T05-52-19Z.mdindex 6967f16..25a4a17 100644--- a/.forge/merges/2026-09-08T05-52-19Z.md+++ b/.forge/merges/2026-09-08T05-52-19Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T05:52:19Z77 ---8-applied: b5969ec1f14b8cbc70f4d492169e0cc67b9c1e518+applied: 22f2e582a99893d64ca9de322bba4dddaaeabd4799 patch: ebc0e415a56834b9a0769c13cc903f6a954c62d81010 pass.
.forge/merges/2026-09-08T06-25-51Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T06-25-51Z.md b/.forge/merges/2026-09-08T06-25-51Z.mdindex a416130..1121f28 100644--- a/.forge/merges/2026-09-08T06-25-51Z.md+++ b/.forge/merges/2026-09-08T06-25-51Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T06:25:51Z77 ---8-applied: 40eaf1be301627746d5219f3b3538af0da9000f98+applied: 7e9d3f14f49fb77dcedb9569e16cdaef63cf261199 patch: 7f50815dcfdde87cad454bf0032615ad8e9a9dd11010 pass.
.forge/merges/2026-09-08T07-13-26Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T07-13-26Z.md b/.forge/merges/2026-09-08T07-13-26Z.mdindex 213d202..4e0c6fe 100644--- a/.forge/merges/2026-09-08T07-13-26Z.md+++ b/.forge/merges/2026-09-08T07-13-26Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T07:13:26Z77 ---8-applied: 9e895f3405a4311dfb1a1edbd08922db3e2ee7858+applied: 681d0c3d181d8f1f81560afe7c1df70c7a0167e299 patch: 7b535d9da171f8c634cd1490d1b15cdf77bfd98e1010 pass.
.forge/merges/2026-09-08T08-11-38Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T08-11-38Z.md b/.forge/merges/2026-09-08T08-11-38Z.mdindex 0f2fcfb..0499919 100644--- a/.forge/merges/2026-09-08T08-11-38Z.md+++ b/.forge/merges/2026-09-08T08-11-38Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T08:11:38Z77 ---8-applied: 3140e4656b0befbfe3ce46f9f6123c7c5b29fa0a8+applied: 240fce03f6d7a10249ac56e86e6f8e21c5e84d4099 patch: 2a33261efe349aba9eac435cc70e902ac54332e71010 pass.
.forge/merges/2026-09-08T08-13-08Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T08-13-08Z.md b/.forge/merges/2026-09-08T08-13-08Z.mdindex 0b9375f..ca03e7e 100644--- a/.forge/merges/2026-09-08T08-13-08Z.md+++ b/.forge/merges/2026-09-08T08-13-08Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T08:13:08Z77 ---8-applied: 6786f0ae00b92b20f4a785b05800c0e22a7d8c668+applied: 99061c47c4047cc99769ad1f925f735e22a807af99 patch: 3f0d1e3fddc7c08393fa57a465b8205f9feb3e0c1010 pass.
.forge/merges/2026-09-08T08-28-49.912316275Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T08-28-49.912316275Z.md b/.forge/merges/2026-09-08T08-28-49.912316275Z.mdindex 010e82b..54c3690 100644--- a/.forge/merges/2026-09-08T08-28-49.912316275Z.md+++ b/.forge/merges/2026-09-08T08-28-49.912316275Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T08:28:49.912316275Z77 ---8-applied: 655f70f96dc13e8d8339addb031eed628ca0c8678+applied: 55b296951c56e899f0f5741d866e6214af5314ee99 patch: bbd1aeaab012e6af4bfc8ea2dccba3b2cdcce6ec1010 pass.
.forge/merges/2026-09-08T08-43-31.952189476Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T08-43-31.952189476Z.md b/.forge/merges/2026-09-08T08-43-31.952189476Z.mdindex 237f272..98c990d 100644--- a/.forge/merges/2026-09-08T08-43-31.952189476Z.md+++ b/.forge/merges/2026-09-08T08-43-31.952189476Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T08:43:31.952189476Z77 ---8-applied: 5b09db85347194e9c784a8dc22b8b70d019ed5c98+applied: d59a205866372fd347dceaeb2f5c119a7b49e66b99 patch: f7b8c61c61e248f95cb2987868ca0c77f02078561010 pass.
.forge/merges/2026-09-08T08-45-07.963924332Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T08-45-07.963924332Z.md b/.forge/merges/2026-09-08T08-45-07.963924332Z.mdindex 131e9e9..57c0035 100644--- a/.forge/merges/2026-09-08T08-45-07.963924332Z.md+++ b/.forge/merges/2026-09-08T08-45-07.963924332Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T08:45:07.963924332Z77 ---8-applied: 648ec75c1e4f35417035494b9b7d0914c928c7d68+applied: e508fea74f883095c42a955a4347437bf8fa42fc99 patch: d77e11004cf63e2a501d340c7c43d3160ce12f741010 pass.
.forge/merges/2026-09-08T10-04-23.747599812Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T10-04-23.747599812Z.md b/.forge/merges/2026-09-08T10-04-23.747599812Z.mdindex c16dfc3..ad88dca 100644--- a/.forge/merges/2026-09-08T10-04-23.747599812Z.md+++ b/.forge/merges/2026-09-08T10-04-23.747599812Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T10:04:23.747599812Z77 ---8-applied: acf2d54360702559f0d505a2bf971069a58489508+applied: 99ed7486b62dfce41cc81cf3ca6664c219750e7d99 patch: 1a21bc8bfff403fdeca8fb24363f51e79109d1541010 pass.
.forge/merges/2026-09-08T10-06-56.560278735Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T10-06-56.560278735Z.md b/.forge/merges/2026-09-08T10-06-56.560278735Z.mdindex db25642..5cdeacc 100644--- a/.forge/merges/2026-09-08T10-06-56.560278735Z.md+++ b/.forge/merges/2026-09-08T10-06-56.560278735Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T10:06:56.560278735Z77 ---8-applied: 99130efe0f6c9561e5e71c9036ea62d2806cf41f8+applied: 6430f20c2584a67bf3022686183fa069900405ed99 patch: 69316e324c6c62d09a44fd89fafcd83530763e7f1010 pass.
.forge/merges/2026-09-08T10-09-03.664365934Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T10-09-03.664365934Z.md b/.forge/merges/2026-09-08T10-09-03.664365934Z.mdindex 3a53e26..3b5386d 100644--- a/.forge/merges/2026-09-08T10-09-03.664365934Z.md+++ b/.forge/merges/2026-09-08T10-09-03.664365934Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T10:09:03.664365934Z77 ---8-applied: 8de1623efdd5562572abe37809d1e2e00826ce728+applied: 81eba9feb43bc771dcf58e988024932eec3a3ebd99 patch: 3e2b90d6e326cce945a78ebf06c518f5d879cef71010 pass.
.forge/merges/2026-09-08T10-23-40.468147644Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T10-23-40.468147644Z.md b/.forge/merges/2026-09-08T10-23-40.468147644Z.mdindex e18e759..f214260 100644--- a/.forge/merges/2026-09-08T10-23-40.468147644Z.md+++ b/.forge/merges/2026-09-08T10-23-40.468147644Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T10:23:40.468147644Z77 ---8-applied: 071267368d6efda8da00b83ff3962e90c751172c8+applied: 2da8df00e4c422651525250ce77a726a9e40bc0b99 patch: 35606a9c5003eff85680680118c2480f375822151010 pass.
.forge/merges/2026-09-08T22-23-15.776454556Z.md+1 −1
diff --git a/.forge/merges/2026-09-08T22-23-15.776454556Z.md b/.forge/merges/2026-09-08T22-23-15.776454556Z.mdindex a06645a..8a5e414 100644--- a/.forge/merges/2026-09-08T22-23-15.776454556Z.md+++ b/.forge/merges/2026-09-08T22-23-15.776454556Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-08T22:23:15.776454556Z77 ---8-applied: 08b830f1c398825f96b8d09c021e496888fc4eb68+applied: ecdc40a25a060cf079f4819df792aa89e51c14eb99 patch: aa773b1a05d99caf5682f0db284a54cd0087b21f1010 pass.
.forge/merges/2026-09-09T00-54-47.362222085Z.md+1 −1
diff --git a/.forge/merges/2026-09-09T00-54-47.362222085Z.md b/.forge/merges/2026-09-09T00-54-47.362222085Z.mdindex 940f6ec..b5583fd 100644--- a/.forge/merges/2026-09-09T00-54-47.362222085Z.md+++ b/.forge/merges/2026-09-09T00-54-47.362222085Z.md@@ -5,6 +5,6 @@ verdict: pass55 resolved: []66 created: 2026-09-09T00:54:47.362222085Z77 ---8-applied: 2fe393fa45249ea31df1c42ed220dc6214674b708+applied: 13f864507854ba0bf15f40bdeccc70f6582a097699 patch: 29d22b694921ec13c27ded12b6ca1e3c9e20ddf81010 pass.
.forge/releases/v0.3.1.md+1 −1
diff --git a/.forge/releases/v0.3.1.md b/.forge/releases/v0.3.1.mdindex bdc9df9..a08783e 100644--- a/.forge/releases/v0.3.1.md+++ b/.forge/releases/v0.3.1.md@@ -2,7 +2,7 @@22 version: v0.3.133 title: release create/install fixes44 created: 2026-09-08T22:25:33.449896999Z5-sha: b00349e5+sha: 15b81bf66 ---77 Patch wave (2026-09-08):88 - #47 release create: v-prefix enforced; records carry HEAD sha
.forge/releases/v0.3.2.md+1 −1
diff --git a/.forge/releases/v0.3.2.md b/.forge/releases/v0.3.2.mdindex d3523af..2567724 100644--- a/.forge/releases/v0.3.2.md+++ b/.forge/releases/v0.3.2.md@@ -2,7 +2,7 @@22 version: v0.3.233 title: install placement correction44 created: 2026-09-09T00:57:58.923731803Z5-sha: b9a64a55+sha: f7371a866 ---77 Patch (2026-09-08):88 - #49 release install: CWD installer handoff (install.sh), cargo fallback for cargo projects, no generic placement guess
.forge/releases/v0.3.3.md+1 −1
diff --git a/.forge/releases/v0.3.3.md b/.forge/releases/v0.3.3.mdindex 1bd1d03..96bd83e 100644--- a/.forge/releases/v0.3.3.md+++ b/.forge/releases/v0.3.3.md@@ -2,7 +2,7 @@22 version: v0.3.333 title: core Release sha fix44 created: 2026-09-10T00:52:29.950158696Z5-sha: 5e658845+sha: b74a1ca66 ---77 Patch (2026-09-10):88 - #50 core Release: add optional sha to struct + KNOWN (match spec/fixtures/CLI), silence unknown-field warning
.forge/releases/v4.20.md+32 −0
diff --git a/.forge/releases/v4.20.md b/.forge/releases/v4.20.mdnew file mode 100644index 0000000..2d1657f--- /dev/null+++ b/.forge/releases/v4.20.md@@ -0,0 +1,32 @@1+---2+version: v4.203+title: first public release4+created: 2026-10-28T11:31:06.888060613Z5+sha: 72f219e6+---7+f0rge 4.20 — first public release.8+9+A git forge that lives in your repository: issues, pull requests, tasks,10+labels, milestones, a wiki, CI, releases and merges as files under `.forge/`.11+No server, no database, no account.12+13+install (linux x86_64):14+15+  curl -LO https://f0rge.gl0w.world/releases/v4.20/f0rge-v4.20-linux-x86_64.tar.gz16+  tar -xzf f0rge-v4.20-linux-x86_64.tar.gz17+  install -m 755 f0rge ~/.local/bin/f0rge18+  f0rge --version19+20+from source:21+22+  git clone https://f0rge.gl0w.world/repo.git23+  cd repo24+  cargo install --locked --path .25+26+this repository is its own forge. the issues, PRs, merges, CI runs and27+releases here are the proof.28+29+license: AGPL-3.0-or-later. the gl0w name and seal are not part of it.30+31+## sha25632+7f534bd4ab2fe46de6ba3ea3d272ac70c18f1ba7a741178be779f1c7ced9ef80  f0rge-v4.20-linux-x86_64.tar.gz