v2.31.0-dev5 4162c86

2026-04-06

4162c86Merge pull request #165 from bnema/deploy-error-surfacing merge GPG Unverifiedtag v2.31.0-dev5bnema
292f2ecfix(cli): sanitize deploy fallback warnings GPG Verifiedbrice
2f5cb8ffix(cli): avoid fallback for structured deploy errors GPG Verifiedbrice
243a5c1fix(cli): preserve deploy error chains GPG Verifiedbrice
f231d9cfix(cli): tighten deploy review follow-ups GPG Verifiedbrice
913d8fcfix(cli): preserve deploy error handling paths GPG Verifiedbrice
40add0ffeat(cli): render structured deploy failures GPG Verifiedbrice
963eb7ffeat(admin): return structured deploy failure responses GPG Verifiedbrice
770a7a2feat(deploy): capture structured deploy failures GPG Verifiedbrice

2026-04-04

f8fb41eMerge pull request #164 from bnema/fix/unified-remote-resolution merge GPG Unverifiedtag v2.31.0-dev4bnema
4a715dcfix: address review findings — DisplayName, dead code, error consistency GPG Verifiedbrice
40943bedocs(cli): update --remote flag to -r, document name-based resolution GPG Verifiedbrice
c58e6affix: resolve lint issues from remote resolution refactor GPG Verifiedbrice
5b718b1feat(remote): auto-migrate [client] config to named remote GPG Verifiedbrice
026789arefactor(remote): delete legacy resolution functions and [client] config GPG Verifiedbrice
2197faafix(cli): wire Resolve() into push, fix remotes list token display GPG Verifiedbrice
979c2f9refactor(auth): use remote.Resolve(), drop resolveRemoteEntry GPG Verifiedbrice
688083drefactor(cli): wire Resolve() into GetRemoteClient, add -r flag GPG Verifiedbrice
c1925b1feat(remote): add Resolve() with name-first lookup GPG Verifiedbrice
4051035Merge pull request #162 from bnema/docs/proxy-allowed-ips-cloudflare merge GPG Unverifiedbnema
a29e842Merge branch 'main' into docs/proxy-allowed-ips-cloudflare merge GPG Unverifiedbnema
62012efMerge pull request #163 from bnema/fix/ci-skip-docs-only merge GPG Unverifiedbnema

2026-04-03

50d5ee8ci: skip lint and test on docs-only changes GPG Verifiedbrice
a1f49f7docs: document proxy_allowed_ips requirement for Cloudflare setups GPG Verifiedbrice
cbca441Merge pull request #160 from bnema/fix/podman-rootless-friction merge GPG Unverifiedtag v2.31.0-dev3bnema
b33054eMerge branch 'main' into fix/podman-rootless-friction merge GPG Unverifiedbnema
e0293e4fix(podman): resolve named runtimes and detect container crashes GPG Verifiedbrice
8f1e1e6Merge pull request #159 from bnema/fix/preserve-x-forwarded-proto merge GPG Unverifiedbnema
17213faMerge branch 'main' into fix/preserve-x-forwarded-proto merge GPG Unverifiedbnema
01d3159fix(proxy): handle bare IPs in isTrustedSource RemoteAddr GPG Verifiedbrice
f9f7402fix(proxy): preserve X-Forwarded-Proto from trusted upstream proxies GPG Verifiedbrice
1fd432aMerge pull request #157 from bnema/chore/update-deps-2026-04-03 merge GPG Unverifiedbnema
339b92dchore(deps): update all Go dependencies GPG Verifiedbrice
2bb8b58Merge pull request #156 from bnema/refactor/human-readable-sizes merge GPG Unverifiedbnema
d913a6eMerge pull request #155 from bnema/feat/dedicated-access-log merge GPG Unverifiedbnema
3865a9dfix: correct docstring reference, wrap init errors, add control char escape tests GPG Verifiedbrice
6b418bdrefactor: move access log port to boundaries/out, fix hex arch violations GPG Verifiedbrice
7121811fix: escape all ASCII control chars in CLF/Combined access log fields GPG Verifiedbrice
01b6bc5fix: address coderabbit findings on access log GPG Verifiedbrice
be4bda7refactor: address simplify review findings for access log feature GPG Verifiedbrice
9e9308crefactor: reuse IsTrustedProxy for loopback check; promote go-systemd to direct dep GPG Verifiedbrice
c9b8983test: add outer-deny access log coverage for loopback and fail-closed paths GPG Verifiedbrice
2147872feat: wire access log config and middleware into application bootstrap GPG Verifiedbrice
aa3dd1dfeat: add access log middleware with health-check exclusion GPG Verifiedbrice
24781f9feat: add access log output adapter with JSON/CLF/Combined formats GPG Verifiedbrice
487e687fix: normalize client_ip to clean IP without port in all log fields GPG Verifiedbrice
64b95f6refactor: add bytesize.Format helper, use human-readable sizes everywhere GPG Verifiedbrice

2026-04-02

18b726bMerge pull request #152 from bnema/dependabot/go_modules/github.com/pelletier/go-toml/v2-2.3.0 merge GPG Unverifiedbnema
4b72742Merge pull request #154 from bnema/feat/http-ca-onboarding-hardening merge GPG Unverifiedtag v2.31.0-dev2bnema
ed50492fix: address PR review findings for HTTP CA onboarding hardening GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close