v2.10.0 893d8fa

2026-02-02

893d8faMerge pull request #49 from bnema/feature/cli-improvements merge GPG Unverifiedtag v2.10.0bnema
486766ffix(cli): remove duplicate error outputs and improve error handling GPG Verifiedbrice
89e85a9fix(cli): address code review feedback from Copilot and CodeRabbit GPG Verifiedbrice
4d75a1ffeat(cli): add no-confirm push flag and update docs GPG Verifiedbrice
72d9712fix(app): always resolve log file path and support http.Flusher in logging middleware GPG Verifiedbrice
66c4ceafeat(cli): register restart, push, and rollback commands with selector UI GPG Verifiedbrice
dc89b46feat(cli): add remote client methods for restart and tags API GPG Verifiedbrice
7fedf97chore: promote golang.org/x/mod to direct dependency via go mod tidy GPG Verifiedbrice
c6f58b4fix(cli): handle partial deploy failure and non-v-prefixed semver in rollback GPG Verifiedbrice

2026-02-01

62accd9Merge pull request #47 from bnema/fix/reverse-proxy-security merge GPG Unverifiedbnema
8dde40afix(docker): check actual auth fields for has_auth log instead of marshaled bytes GPG Verifiedbnema
5a0c51dfix(admin): normalize CRLF to LF before escaping in SSE log streams GPG Verifiedbnema
41b10a9feat(proxy): make max body size configurable with 512MB default and return 413 on overflow GPG Verifiedbnema
da5dc1adocs: update security documentation for hardened proxy and auth controls GPG Verifiedbnema
504de20style: remove extra blank line in logging middleware GPG Verifiedbnema
9aea98bchore: make install script executable GPG Verifiedbnema
372a0c5fix(security): use trusted-proxy-aware IP extraction in logging and remove CORS from proxy GPG Verifiedbnema
4d0f66ffix(security): add body size limit to proxy and prevent X-Forwarded-Proto spoofing GPG Verifiedbnema
5fa6d38fix(security): reject absolute file paths in SOPS provider to prevent arbitrary file access GPG Verifiedbnema
c17014ffix(security): bind container ports to localhost and remove credentials from debug logs GPG Verifiedbnema
795aa51fix(security): sanitize WWW-Authenticate realm URL and prevent header injection via X-Forwarded headers GPG Verifiedbnema
d044953fix(security): require Bearer prefix for admin API tokens and document auth-disabled behavior GPG Verifiedbnema
9da36c1fix(security): escape newlines in SSE log streaming to prevent event injection GPG Verifiedbnema
b7669fffix(install): resolve latest tag from GitHub API before downloading GPG Verifiedbrice
8ebdfe0Merge pull request #42 from bnema/fix/plan-secrets-registry-auth-token merge GPG Unverifiedtag v2.9.0bnema

2026-01-31

1f18a18ci(release): configure pre-release detection with GoReleaser v2 GPG Verifiedbnema
1e443d6feat(install): add support for pre-release and custom version installation GPG Verifiedbnema
378df3ffeat(loader): add attachment container support to pass environment loader GPG Verifiedbnema
80d7794feat(secrets): implement attachment secrets for pass store backend GPG Verifiedbnema
985c8e4test(container): add sanitization and collision detection tests GPG Verifiedbnema
db67927fix(migration): correct attachment container name prefix handling GPG Verifiedbnema
4d94bdcfix(secrets): improve error handling in attachment file path resolution GPG Verifiedbnema
584c131fix(domain): add ErrInvalidContainerName for better error semantics GPG Verifiedbnema
8541735refactor(secrets): extract shared sanitization logic to domain package GPG Verifiedbnema
0a85e4efix(review): address coderabbit code review feedback GPG Verifiedbnema
d2f6768fix(review): address all code review issues from PR GPG Verifiedbnema

2026-01-30

078b950fix(review): address Copilot and CodeRabbit PR feedback GPG Verifiedbnema
3659333fix(secrets): harden pass storage and auth GPG Verifiedbnema
e442f1cdocs(auth): clarify token secret sources GPG Verifiedbnema
18f31a9docs(auth): simplify authentication setup GPG Verifiedbnema
5498bc4feat(auth): add token login and registry pull token GPG Verifiedbnema
6ee1d33feat(secrets): add pass-backed domain secrets migration GPG Verifiedbnema

2026-01-29

6aced72Merge pull request #41 from bnema/feature/auth-status merge GPG Unverifiedtag v2.8.0bnema
529bf12fix(cli): improve error message specificity for missing remotes GPG Verifiedbrice
9233704fix(cli): address code review feedback for auth status command GPG Verifiedbrice

2026-01-28

530de44refactor(auth): move context keys to domain and fix review feedback GPG Verifiedbnema
7c9064btest(middleware): add GetAuthStatus to stubAuthService and fix error message capitalization GPG Verifiedbnema
c726949feat(cli): add auth status command to verify session validity GPG Verifiedbnema
ed1cab5Merge pull request #40 from bnema/fix/routes-add-positional-image merge GPG Unverifiedbnema
af6e90afix(cli): improve backward compatibility and add validation guards GPG Verifiedbnema

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