v2.12.0 657aee7

2026-02-07

657aee7fix(app) capture server refs for graceful shutdown, fix lint issues GPG Verifiedtag v2.12.0brice
c3329b4fix(proxy) propagate request ID to downstream handlers and prevent double-close in body limiter GPG Verifiedbrice
441dbcbMerge pull request #61 from bnema/security/proxy-hardening-top10 merge GPG Unverifiedbnema
e3862cbMerge branch 'main' into security/proxy-hardening-top10 merge GPG Unverifiedbnema
874c2dbfix(proxy) address Copilot and CodeRabbit review findings GPG Verifiedbrice
7e94957Merge pull request #62 from bnema/feat/native-tls-listener merge GPG Unverifiedbnema
df419f4feat: add native TLS listener support GPG Verifiedbrice

2026-02-06

97c284afix(cli) preserve custom transport in TLS config and reuse it for streaming GPG Verifiedbnema
b6d1cf3fix(server) add graceful shutdown timeout and response/connection limits GPG Verifiedbnema
7b8d7b1feat(middleware) add X-Request-ID header for request tracing GPG Verifiedbnema
fd75b8ffeat(middleware) add HSTS and Content-Security-Policy headers GPG Verifiedbnema
5018b1dfix(proxy) pin DNS resolution to prevent SSRF TOCTOU rebinding attacks GPG Verifiedbnema
4a08931Merge pull request #60 from bnema/review/flatten-v2.11.0 merge GPG Unverifiedbnema
9b07d6afix(review) correct misleading comments, dead code, and error detection GPG Verifiedbnema
8ddd497fix(docs) add blank line before fenced code block in server config GPG Verifiedbnema
e8e1134fix(tests) use os.Getpid in PID test and add missing test cases GPG Verifiedbnema
48b313ffix(cli) handle unsupported sops backend and log unknown backends GPG Verifiedbnema
180389ffix(container) correct readiness error message and reduce waitForReady complexity GPG Verifiedbnema
8d650c2fix(cli) surface local fallback errors in deploy restart and reload GPG Verifiedbnema
2b58860fix(cli) narrow retry to gateway errors and warn on insecure TLS GPG Verifiedbnema
fce0810fix(registry) stream blob uploads and lower default chunk to 95MB GPG Verifiedbnema
28e7d52fix(cli) reduce fallback and push cyclomatic complexity and fix lint errors GPG Verifiedbnema
7b5ce70docs(cli): use gordon.example.com baseline and tailscale cert guidance GPG Verifiedbrice
e1aeb46docs(cli): clarify tailscale admin TLS with wildcard DNS routing GPG Verifiedbrice
7c34c38fix(cli): support persistent insecure TLS in client config GPG Verifiedbrice
4fd0c2ffix(cli): add global --insecure for remote TLS verification GPG Verifiedbrice
800ace0fix(cli): fallback to local signals when remote admin is unavailable GPG Verifiedbrice
cdca39ffix(secrets): recover orphaned pass keys for env injection GPG Verifiedbrice
0bd5d71fix(deploy): resolve live gordon PID across runtime paths GPG Verifiedbrice
a338153feat(cli): add custom Dockerfile flag to gordon push --build GPG Verifiedbrice
c00c10cfix(registry): make blob chunk upload limit configurable GPG Verifiedbrice
dca6537Merge pull request #58 from bnema/fix/cloudflare-chunked-push merge GPG Unverifiedtag v2.11.0bnema
fcdce6bfix(registry): address PR review feedback GPG Verifiedbrice
887cae1test(registry): add Content-Range validation test for PATCH uploads GPG Verifiedbrice
00586f3fix(push): split buildx --push into --load + docker push GPG Verifiedbrice
a26fdccfix(registry): reduce max chunk to 95MB and add Docker-Upload-UUID header GPG Verifiedbrice
4102fdfchore(plans): remove executed plan GPG Verifiedbrice
820201dMerge pull request #57 from bnema/feat/attachment-secrets-cli merge GPG Unverifiedbnema
71f5489fix(secrets): address all Copilot review comments GPG Verifiedbrice
bb9656bfix(secrets): address review feedback GPG Verifiedbrice
95aa1f7feat(secrets): add attachment secrets support GPG Verifiedbrice
c253a6dMerge pull request #55 from bnema/review-fixes merge GPG Unverifiedtag v2.10.4bnema
1bfe21efix(concurrency): pass context to EventHandler.Handle for cancellation GPG Verifiedbrice
285d237test(auth): add symmetric empty-username test for isInternalAuth GPG Verifiedbrice
cee9deffix(robustness): rollback partial attachments on deploy failure GPG Verifiedbrice
196ef1efix(concurrency): shadow loop variable in event handler goroutine GPG Verifiedbrice
e62cfa8fix(validation): enforce UUID v4 in regex pattern GPG Verifiedbrice
0f04747fix(concurrency): protect config reads with RLock, add handler timeouts GPG Verifiedbrice
acb0df2fix(logic): invalidate proxy cache on config reload, remove dead code GPG Verifiedbrice
4363057fix(concurrency): fix lock scoping in container service and event bus 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