| release: rebuild v4.20 with gl0w owner | 1623b7f | Ggl0w | |
| release: normalize tarball owner to gl0w | 1eb1344 | Ggl0w | |
| release: v4.20 record | cc10308 | Ggl0w | |
| repo: remap history after public scrub | 112eb4c | Ggl0w | |
| release: prepare v4.20 (license, version, artifact) | fd37417 | Ggl0w | |
| correct #123 merge record hash | b6b292d | Ggl0w | |
| close #123 | 73d6a16 | Ggl0w | |
| record #69 merge | f372b91 | Ggl0w | |
| increase code-page section spacing to 32px (#123) | dc2501b | Ggl0w | |
| close #122 | 94cbb9f | Ggl0w | |
| record #68 merge | aa59f1b | Ggl0w | |
| normalize code-page vertical spacing (#122) | de7abd6 | Ggl0w | |
| close #121 | a5f6b03 | Ggl0w | |
| record #67 merge | a508e64 | Ggl0w | |
| drop duplicate README title (#121) | 1595a72 | Ggl0w | |
| close #120 | 7092721 | Ggl0w | |
| record #65 merge | 7fa9b69 | Ggl0w | |
| stack Files then README on code tab (#120) | 0bed757 | Ggl0w | |
| close #119 and superseded PRs #19 #23 #24 #42 | 7004676 | Ggl0w | |
| record #64 merge | c8c5314 | Ggl0w | |
| README: drop duplicate ASCII logos and source-path hint (#119) | 452a631 | Ggl0w | |
| close #118 | 1436d1a | Ggl0w | |
| record #63 merge | 9fda0f7 | Ggl0w | |
| use gf1 gl0w logo in header/footer lockup (#118) | 9e706eb | Ggl0w | |
| close #106-#117 | 68196a9 | Ggl0w | |
| record #62 merge | cbda213 | Ggl0w | |
| fix CLI exit and agents storage docs (#113, #114) | 3013e51 | Ggl0w | |
| record #61 merge | e834a46 | Ggl0w | |
| review #5: harden Pages headers, .forge symlinks, links, origin/static parity (#106-#117) | ee6e71b | Ggl0w | |
| file remaining review #5 issues #115-#117 | 45d51f6 | Ggl0w | |
| file review #5 issues #106-#114 | c4b4d22 | Ggl0w | |
| close #97-#105 | 02b6dde | Ggl0w | |
| record #60 merge | 67f5fb2 | Ggl0w | |
| review #4: harden release artifacts, links, origin, CI redaction (#97-#105) | 8e812dd | Ggl0w | |
| file review #4 issues #97-#105 | 9784d18 | Ggl0w | |
| close #77-#96 | 48b72d0 | Ggl0w | |
| record #59 merge | 2cb3661 | Ggl0w | |
| review #3: harden build/serve, fix render regressions, add Pages inbox (#77-#96) | 983e303 | Ggl0w | |
| file review #3 issues #77-#96 | 2b834ba | Ggl0w | |
| close #68 | c8cebe5 | Ggl0w | |
| record #68 merge | fd89957 | Ggl0w | |
| polish batch: dot repo name, gitlinks, inbox id escaping, forge symlinks, wiki index (#68) | 788320a | Ggl0w | |
| close #75 | c24d28a | Ggl0w | |
| record #75 merge | b52463c | Ggl0w | |
| responsive: nav wraps, file table drops commit column, clone summary segments (#75) | 3c95203 | Ggl0w | |
| close #74 | efe76c1 | Ggl0w | |
| record #74 merge | 39854c3 | Ggl0w | |
| diffs: per-file cards, dual line numbers, visual diffstat (#74) | 024a9e2 | Ggl0w | |
| close #73 | bca40ca | Ggl0w | |
| record #73 merge | 7809a8f | Ggl0w | |
| code view: build-time syntax highlighting, gutter rule, Raw button (#73) | a09687a | Ggl0w | |
| close #72 | 01531f5 | Ggl0w | |
| record #72 merge | 6f54110 | Ggl0w | |
| meta pass: pills, chips, monograms, relative dates (#72) | 1242a9a | Ggl0w | |
| close #71 #62 | 04ce0ff | Ggl0w | |
| record #71 merge | 8116753 | Ggl0w | |
| GFM markdown + URL scheme allowlist (#71 #62) | f232206 | Ggl0w | |
| merge #69 #70 #76 brand+theme + close | aa76f57 | Ggl0w | |
| brand + theme foundations: gl0w lockup, AA palette, CSS budget (#69 #70 #76) | c602a4b | Ggl0w | |
| merge #55 #56 #57 #58 #59 clone export + close | c7fddef | Ggl0w | |
| build repo.git from the bundle; strip paths and hooks (#55 #56 #57 #58 #59) | ab1398c | Ggl0w | |
| merge #63 #64 #65 serve hardening + close | 5eeef3b | Ggl0w | |
| bound serve threads, upload-pack, and rate-limiter memory (#63 #64 #65) | 38a8ae9 | Ggl0w | |
| merge #61 raw XSS + close | 54587e4 | Ggl0w | |
| never serve /raw/ as an active document (#61) | 275d11c | Ggl0w | |
| close #66 | 0b7ee46 | Ggl0w | |
| record #66 merge | 6e275ce | Ggl0w | |
| tests: make temp dir names unique per thread | 366d2f8 | Ggl0w | |
| stream oversized blobs to raw/ instead of buffering (#66) | aecf1e5 | Ggl0w | |
| close #67 | 3be7c33 | Ggl0w | |
| merge #67 clean out | d3bf411 | Ggl0w | |
| start every build from an empty out/ (#67) | 2749d01 | Ggl0w | |
| close #60 | fd3803a | Ggl0w | |
| merge #60 path traversal guard | 2d4e35f | Ggl0w | |
| refuse forge frontmatter paths that escape out/ (#60) | 1c7055f | Ggl0w | |
| file ui review issues #69-76 | dd30ef1 | Ggl0w | |
| close #54 dumb clone | 6f379f8 | Ggl0w | |
| dumb static clone via repo.git (#54) | a8d9b5f | Ggl0w | |
| v1 tag + gate close | 365dae8 | Ggl0w | |
| v1: remove DRAFT (spec lives in wiki/dod + issues), license signed off | ac76d91 | Ggl0w | |
| land #50-53 finish2 + f0rge state | 97f1ca5 | Ggl0w | |
| m6/finish2: spacing, 2x logo, footer right, clone summary meta | 89d1730 | Ggl0w | |
| land #46+#47 + f0rge state | 0e03d81 | Ggl0w | |
| m6/cards2: file-table exempt, title-first cards (+sort compat) | ff259a6 | Ggl0w | |
| land #48+#49 sort + f0rge state | 35d4f34 | Ggl0w | |
| m6/sort: open-first + newest-first issues/pulls | 7415bf0 | Ggl0w | |
| file #46-#53 | 6932331 | Ggl0w | |
| land #45 code-cols + f0rge state | 16735df | Ggl0w | |
| m6/code-cols: files+README side by side on desktop | 9153d22 | Ggl0w | |
| land #42 truncate + f0rge state | 7580a55 | Ggl0w | |
| m6/truncate: ellipsis + title attrs on all tables | 97f97d1 | Ggl0w | |
| land #43+#44 + f0rge state | 77663d7 | Ggl0w | |
| m6/code-bits: CI badge colors + details gap fix | e8d1601 | Ggl0w | |
| file #42-#45 | 6a687a9 | Ggl0w | |
| land #40+#41 + f0rge state | a35e3a2 | Ggl0w | |
| m6/finish-line: repo-head spacing + footer provenance | 985dba6 | Ggl0w | |
| land #39 no-scroll + f0rge state | d42c202 | Ggl0w | |
| m6/no-scroll: stacked cards on mobile, tables on desktop | 817a536 | Ggl0w | |
| land #38 hide-empty + f0rge state | 4d65321 | Ggl0w | |
| m6/hide-empty: conditional nav tabs, pages still build | a025ea4 | Ggl0w | |