2026-04-03 - 2026-07-03
Overview
26 Releases published by 1 user
Published
v3.6.5
Published
v3.6.4
Published
v3.6.3
Published
v3.6.2
Published
v3.6.1
Published
v3.6.0
Published
v3.5.0
Published
v3.3.0
Published
v3.4.0
Published
v3.2.0
Published
v3.1.0
Published
v3.0.0
Published
v2.7.3
Published
v2.7.2
feat: cache parsed member indexes as msgpack to skip YAML re-parse on rebuild (#40)
Published
v2.7.1
Published
v2.7.0
Published
v2.6.0
Published
v2.5.0
Published
v2.4.0
Published
v2.3.0
Published
v2.2.1
Published
v2.2.0
Published
v2.1.3
Published
v2.1.2
Published
v2.1.1
Published
v2.1.0
61 Pull requests merged by 2 users
Merged
#90 feat: wire the circuit breaker into the proxy fetch path
Merged
#86 fix: GC has no grace period (TOCTOU with dedup uploads)
Merged
#96 fix: repair master build after conflicting merges
Merged
#83 fix: set timeouts on the upstream HTTP client
Merged
#85 fix: getenv treats an explicitly-empty value as unset
Merged
#93 fix: coalesce concurrent cache-miss fetches (thundering herd)
Merged
#91 perf: batch access-log writes instead of goroutine+insert per request
Merged
#89 fix: HEAD requests fetch and stream the full body
Merged
#92 feat: cache upstream bearer tokens
Merged
#94 perf: stream proxied artifacts instead of buffering the full body in memory
Merged
#88 perf: compile remote match patterns once instead of per-request
Merged
#87 fix: blocklist fails open when a regex fails to compile
Merged
#84 fix: isNetworkError should use errors.As, not a bare type assertion
Merged
#82 fix: serveFromStore does a guaranteed-miss S3 lookup on every cache hit
Merged
#81 fix: e2e suite fails to build (stale server.New call)
Merged
#65 feat: add bandwidth saved stat to dashboard
Merged
#64 fix: strip base URL path prefix from helm chart download URLs
Merged
#63 fix: report actual version instead of hardcoded 3.0.0-dev
Merged
#62 feat: forward Accept header and fix Content-Type for Docker proxying
Merged
#61 fix: nginx config for UI serving under base path
Merged
#60 feat: handle Docker Bearer token auth for upstream registries
Merged
#59 fix: use map format for docker-buildx build_args
Merged
#58 feat: configurable UI base path via BASE_PATH build arg
Merged
#57 feat: add Docker Registry V2 endpoint at /v2/
Merged
#56 fix: don't rewrite helm chart URLs pointing to a different host
Merged
#55 chore: add pre-commit config and update CI pipeline
Merged
#54 feat: UI separates locals, remotes, and virtuals
Merged
#53 feat: add local RPM repository with on-demand repodata
Merged
#52 refactor: modular local provider interfaces
Merged
#51 feat: virtual PyPI repos can merge local + remote members
Merged
#50 feat: add local PyPI repository support
Merged
#49 feat: add local repository type with repo_type field
Merged
#48 feat: tree view for cached objects, top-files stats on dashboard
Merged
#47 Feat/v3 go rewrite
Merged
#46 chore: bump almalinux9 image tags
Merged
#45 feat: add Terraform/OpenTofu registry remote type
Merged
#44 feat: add Puppet Forge remote type
Merged
#43 feat: add ban_tags_enabled/ban_tags to docker remotes to block named tags
Merged
#42 fix: cross-link tag manifests to digest keys and add fetch lock to prevent thundering herd
Merged
#40 feat: cache parsed member indexes as msgpack to skip YAML re-parse on rebuild
Merged
#39 perf: use yaml.CSafeLoader/CDumper for 4x faster virtual index merge
Merged
#38 perf: offload virtual repo merge to thread pool via asyncio.to_thread
Merged
#37 fix: rewrite helm index.yaml URLs post-parse to handle relative URLs
Merged
#31 refactor: split config into remotes/virtuals/locals sections
Merged
#30 feat: add virtual repository support for unified index merging
Merged
#27 chore: move example config files into examples/
Merged
#26 feat: support config.d directory for split configuration (closes #20)
Merged
#25 feat: quarantine new releases (supply-chain attack prevention)
Merged
#24 refactor: split codebase into submodules (closes #19)
Merged
#23 chore: cleanup the readme
Merged
#18 refactor: simplify pypi and npm URL rewriting
Merged
#17 feat: add helm chart repository caching proxy
Merged
#16 feat: add npm registry caching proxy
Merged
#15 feat: add PyPI remote type with URL rewriting and basic auth
Merged
#14 feat: immutable/mutable caching patterns with conditional revalidation and stale fallback
Merged
#13 chore: remove build from tag
Merged
#12 build: align Dockerfile with packer build and add docker-compose dev mounts
Merged
#11 benvin/configurable-index-patterns
Merged
#10 feat: enforce include_patterns on docker /v2/ proxy route
Merged
#9 benvin/docker-caching
Merged
#8 feat: add Docker registry proxy support with proper cache classification
2 Pull requests proposed by 1 user
Proposed
#95 docs: authentication & authorization system design (epic #79)
Proposed
#97 test: comprehensive dockerised end-to-end suite
22 Issues closed from 1 user
Closed
#74 feat: wire the circuit breaker into the proxy fetch path
Closed
#71 fix: GC has no grace period (TOCTOU with dedup uploads)
Closed
#67 fix: set timeouts on the upstream HTTP client
Closed
#69 fix: getenv treats an explicitly-empty value as unset
Closed
#75 fix: coalesce concurrent cache-miss fetches (thundering herd)
Closed
#76 perf: batch access-log writes instead of goroutine+insert per request
Closed
#70 fix: HEAD requests fetch and stream the full body
Closed
#77 feat: cache upstream bearer tokens
Closed
#66 perf: stream proxied artifacts instead of buffering the full body in memory
Closed
#73 perf: compile remote match patterns once instead of per-request
Closed
#72 fix: blocklist fails open when a regex fails to compile
Closed
#68 fix: isNetworkError should use errors.As, not a bare type assertion
Closed
#78 fix: serveFromStore does a guaranteed-miss S3 lookup on every cache hit
Closed
#80 fix: e2e suite fails to build (stale server.New call)
Closed
#41 refactor: remove repositories list from OCI helm remote; use single-chart base_url per remote
Closed
#36 Virtual helm: cache parsed member indexes (not raw bytes) to skip re-parse on rebuild
Closed
#34 Virtual helm merge: use yaml.CSafeLoader/CDumper for 10-50x YAML parse/dump speedup
Closed
#35 Virtual helm merge: offload CPU-bound merge to thread pool to unblock async event loop
Closed
#33 Virtual helm repo: relative chart URLs not rewritten, causing 404 on .tgz download
Closed
#20 Configuration data split
Closed
#22 Preventing supply chain attacks
Closed
#19 Refactor into submodules
27 Issues created by 1 user
Opened
#19 Refactor into submodules
Opened
#20 Configuration data split
Opened
#21 Secrets in config
Opened
#22 Preventing supply chain attacks
Opened
#28 feat: background cache warmer for virtual repositories
Opened
#29 test quality: rubber-stamping, coverage gaps, and improvement opportunities
Opened
#32 check creation date for npm
Opened
#33 Virtual helm repo: relative chart URLs not rewritten, causing 404 on .tgz download
Opened
#34 Virtual helm merge: use yaml.CSafeLoader/CDumper for 10-50x YAML parse/dump speedup
Opened
#35 Virtual helm merge: offload CPU-bound merge to thread pool to unblock async event loop
Opened
#36 Virtual helm: cache parsed member indexes (not raw bytes) to skip re-parse on rebuild
Opened
#41 refactor: remove repositories list from OCI helm remote; use single-chart base_url per remote
Opened
#67 fix: set timeouts on the upstream HTTP client
Opened
#66 perf: stream proxied artifacts instead of buffering the full body in memory
Opened
#72 fix: blocklist fails open when a regex fails to compile
Opened
#68 fix: isNetworkError should use errors.As, not a bare type assertion
Opened
#73 perf: compile remote match patterns once instead of per-request
Opened
#70 fix: HEAD requests fetch and stream the full body
Opened
#69 fix: getenv treats an explicitly-empty value as unset
Opened
#71 fix: GC has no grace period (TOCTOU with dedup uploads)
Opened
#75 fix: coalesce concurrent cache-miss fetches (thundering herd)
Opened
#74 feat: wire the circuit breaker into the proxy fetch path
Opened
#77 feat: cache upstream bearer tokens
Opened
#76 perf: batch access-log writes instead of goroutine+insert per request
Opened
#78 fix: serveFromStore does a guaranteed-miss S3 lookup on every cache hit
Opened
#79 epic: authentication & authorization system (Vault dynamic secrets, service accounts, users, path ACLs)
Opened
#80 fix: e2e suite fails to build (stale server.New call)