2025-07-03 - 2026-07-03
Overview
27 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.4.0
Published
v3.3.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
Published
v2.0.4
68 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
Merged
#7 feature/cache-flush-api-enhancement
Merged
#6 benvin/path-based-storage
Merged
#5 feat: add cache flush API and fix cache key consistency
Merged
#4 feat: index caching
Merged
#3 feat: add fedora index files
Merged
#2 Fix S3 SSL certificate validation and boto3 checksum compatibility
Merged
#1 Fix boto3 XAmzContentSHA256Mismatch errors with Ceph RadosGW
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)