feat: cache size management and LRU eviction (closes #51)
merge-ready
check / check (push) Successful in 2m43s
Update golangci-lint to v2.12.2 with canonical config
merge-ready
check / check (push) Successful in 2m49s
feat: validate configuration on startup, fail fast on bad config (closes #52)
merge-ready
check / check (push) Successful in 1m48s
docs: record manual test pass of auth and encrypted URL flows (closes #49)
merge-ready
check / check (push) Successful in 1m34s
fix: set Secure/HttpOnly/SameSite on session cookies (closes #47)
merge-ready
check / check (push) Successful in 1m48s
refactor: extract signature package from imgcache
merge-ready
check / check (push) Successful in 1m38s
refactor: extract httpfetcher package from imgcache
merge-ready
check / check (push) Successful in 1m39s
refactor: extract magic byte detection into internal/magic package
merge-ready
check / check (push) Successful in 52s
refactor: extract whitelist package from internal/imgcache
merge-ready
check / check (push) Successful in 1m1s
Enforce and document exact-match-only for signature verification
merge-ready
check / check (push) Successful in 1m44s
Bound imageprocessor.Process input read to prevent unbounded memory use
merge-ready
check / check (push) Successful in 58s
Move schema_migrations table creation into 000.sql
merge-ready
check / check (push) Successful in 1m0s
Consolidate appname to internal/globals as a constant
merge-ready
check / check (push) Successful in 1m5s
feat: parse version prefix from migration filenames
merge-ready
check / check (push) Successful in 1m8s
Split Dockerfile: pre-built golangci-lint stage for faster CI
merge-ready
check / check (push) Successful in 4s
fix: Docker build failures on arm64 (closes #15)
merge-ready
check / check (push) Successful in 1m34s