2026-05-07 - 2026-11-07

Overview

124 Active Pull Requests
16 Active Issues
Excluding merges, 3 authors have pushed 118 commits to master and 126 commits to all branches. On master, 506 files have changed and there have been 56107 additions and 10952 deletions.

46 Releases published by 2 users

Published v3.25.1 2026-11-01 21:18:37 +11:00

Published v3.25.0 2026-10-25 22:53:04 +11:00

Published v3.24.0 2026-10-25 18:58:22 +11:00

Published v3.23.0 2026-10-24 18:35:52 +11:00

Published v3.22.0 2026-10-24 17:21:05 +11:00

Published v3.21.0 2026-10-24 16:21:33 +11:00

Published v3.20.0 2026-10-20 22:19:23 +11:00

Published v3.19.0 2026-10-19 21:39:49 +11:00

Published v3.18.0 2026-10-18 18:09:08 +11:00

Published v3.17.1 2026-10-18 02:33:00 +11:00

Published v3.17.0 2026-10-18 02:08:46 +11:00

Published v3.16.0 2026-10-17 21:52:55 +11:00

Published v3.15.0 2026-10-17 15:14:36 +11:00

Published v3.14.0 2026-10-16 22:08:20 +11:00

Published v3.13.1 2026-10-09 23:15:55 +11:00

Published v3.13.0 2026-10-09 22:07:20 +11:00

Published v3.12.0 2026-10-04 22:11:19 +11:00

Published v3.11.2 2026-09-05 12:10:59 +10:00

Published v3.11.1 2026-08-13 19:55:21 +10:00

Published v3.11.0 2026-08-13 17:23:59 +10:00

Published v3.10.1 2026-08-12 23:32:07 +10:00

Published v3.10.0 2026-08-12 20:53:23 +10:00

Published v3.9.1 2026-08-11 23:54:34 +10:00

Published v3.9.0 2026-08-11 23:28:11 +10:00

Published v3.8.0 2026-08-10 21:42:39 +10:00

Published v3.7.7 2026-07-25 14:16:22 +10:00

Published v3.7.6 2026-07-05 17:39:49 +10:00

Published v3.7.5 2026-07-05 16:55:53 +10:00

Published v3.7.4 2026-07-03 18:55:35 +10:00

Published v3.7.3 2026-07-03 15:00:19 +10:00

Published v3.7.2 2026-07-03 14:54:28 +10:00

Published v3.7.1 2026-07-03 14:46:41 +10:00

Published v3.7.0 2026-07-02 22:43:22 +10:00

Published v3.6.5 2026-06-27 22:18:02 +10:00

Published v3.6.4 2026-06-27 08:02:52 +10:00

Published v3.6.3 2026-06-27 00:51:26 +10:00

Published v3.6.2 2026-06-27 00:18:06 +10:00

Published v3.6.1 2026-06-26 23:50:17 +10:00

Published v3.6.0 2026-06-26 23:50:17 +10:00

Published v3.5.0 2026-06-23 23:21:09 +10:00

Published v3.3.0 2026-06-23 22:56:25 +10:00

Published v3.4.0 2026-06-23 22:56:25 +10:00

Published v3.2.0 2026-06-23 22:20:05 +10:00

Published v3.1.0 2026-06-22 23:52:20 +10:00

Published v3.0.0 2026-06-07 19:30:35 +10:00

Published v2.7.3 2026-05-10 22:13:11 +10:00

119 Pull requests merged by 3 users

Merged #179 Preserve repo_type on remote update 2026-11-01 21:18:37 +11:00

Merged #178 Document the repodata fingerprint invariant 2026-10-25 22:53:04 +11:00

Merged #177 Make repodata coalescing tests deterministic 2026-10-25 22:51:06 +11:00

Merged #176 Document sync_interval for deb/alpine and fix created_at gate on existing rows 2026-10-25 20:26:34 +11:00

Merged #173 Show virtual parallel_fetch in UI and TUI 2026-10-25 20:25:00 +11:00

Merged #171 Keep stale virtual member copy when the remote lookup fails 2026-10-25 20:24:20 +11:00

Merged #175 Require both members in RPM member-order test 2026-10-25 20:23:39 +11:00

Merged #174 Cap sync_interval at 30 days 2026-10-25 20:23:01 +11:00

Merged #172 Make serve_stale refresh test deterministic 2026-10-25 20:22:09 +11:00

Merged #168 Add cache_repodata toggle for github_rpm remotes 2026-10-25 20:21:19 +11:00

Merged #166 Add per-remote sync_interval and spread GitHub syncs 2026-10-25 18:58:23 +11:00

Merged #167 Serve stale virtual members while they refresh 2026-10-25 15:44:16 +11:00

Merged #169 Gate local repo writes behind OIDC tokens 2026-10-25 15:17:34 +11:00

Merged #170 Enforce remote quarantine for fresh immutable artifacts 2026-10-25 15:16:23 +11:00

Merged #165 Add parallel_fetch toggle for virtual member index files 2026-10-25 15:13:57 +11:00

Merged #164 Add alpine virtual repositories 2026-10-24 18:35:53 +11:00

Merged #163 Drop local files and metadata with their remote 2026-10-24 18:35:29 +11:00

Merged #162 Add vcs remote type 2026-10-24 17:21:05 +11:00

Merged #138 Add deb virtual repositories 2026-10-24 16:21:34 +11:00

Merged #161 Forward module and pagination params on puppet release listings 2026-10-20 22:19:25 +11:00

Merged #160 Add puppet virtual repositories 2026-10-20 22:19:03 +11:00

Merged #159 Add goproxy virtual repositories 2026-10-19 21:39:50 +11:00

Merged #143 Add goproxy local repositories 2026-10-19 00:01:51 +11:00

Merged #158 Add ansible virtual repositories 2026-10-18 18:09:09 +11:00

Merged #157 Add local ansible Galaxy repositories 2026-10-18 18:01:09 +11:00

Merged #137 Add ansible Galaxy remote type 2026-10-18 12:08:55 +11:00

Merged #146 Forward allowlisted query params for remote providers 2026-10-18 12:08:08 +11:00

Merged #135 Fail GitHub scans on asset errors and drop sync state with its remote 2026-10-18 02:33:01 +11:00

Merged #156 Release Redis locks only while the caller still owns them 2026-10-18 02:32:41 +11:00

Merged #155 Keep a tombstone on gem yank 2026-10-18 02:08:46 +11:00

Merged #154 Add gems virtual repositories 2026-10-18 02:07:52 +11:00

Merged #153 Add local gems repositories 2026-10-18 01:12:37 +11:00

Merged #152 Add npm virtual repositories 2026-10-17 21:52:56 +11:00

Merged #149 Harden nuget per-request index rewrite 2026-10-17 21:39:42 +11:00

Merged #148 Add HEAD route for remotes and gems remote type 2026-10-17 21:23:30 +11:00

Merged #139 Add local npm registry publish and install 2026-10-17 17:18:06 +11:00

Merged #151 Fix mutable path refresh: default mutable_ttl, revalidate after expiry 2026-10-17 17:17:41 +11:00

Merged #150 Split per-type registration points into per-type files 2026-10-17 15:54:47 +11:00

Merged #140 Add helm local repositories 2026-10-17 15:14:36 +11:00

Merged #147 Share the virtual merge cache across index types 2026-10-17 13:28:16 +11:00

Merged #142 Add gems remote type for RubyGems 2026-10-17 13:19:01 +11:00

Merged #145 Add local puppet forge 2026-10-17 13:17:52 +11:00

Merged #141 Add nuget v3 remote type 2026-10-17 12:19:51 +11:00

Merged #136 Add optional OIDC bearer auth on remote/virtual config writes 2026-10-16 22:08:21 +11:00

Merged #133 Retry failed GitHub release scans with backoff 2026-10-09 23:15:56 +11:00

Merged #134 Push release images to artifactapi docker-internal 2026-10-09 23:08:22 +11:00

Merged #131 Add rpm virtual repositories 2026-10-09 22:07:21 +11:00

Merged #132 Add cargo sparse registry remote type 2026-10-09 21:44:18 +11:00

Merged #130 Fix objects test compile after Routes evictor change 2026-10-04 22:11:19 +11:00

Merged #129 Filter remote object listings by prefix 2026-10-04 22:07:27 +11:00

Merged #128 Evict remote objects from every cache layer 2026-10-04 22:07:15 +11:00

Merged #127 ci: move Go steps to the estate-built gobuilder image 2026-10-03 00:26:02 +10:00

Merged #126 ci: back Go compiles with the shared S3 build cache 2026-09-27 17:33:19 +10:00

Merged #125 Adopt golib/pg for migrations and pool construction 2026-09-05 12:10:59 +10:00

Merged #124 proxy: snapshot in-flight counts before sorting (least_conn selection O(n)) 2026-08-13 19:55:21 +10:00

Merged #123 proxy: add mirror-selection benchmarks 2026-08-13 17:40:22 +10:00

Merged #122 remotes: add least-connections mirror strategy (round-robin remains default) 2026-08-13 17:23:59 +10:00

Merged #121 remotes: add mirrorlist for round-robin + failover across mirrors (rpm/deb/apk) 2026-08-13 16:08:56 +10:00

Merged #120 remotes: flush cached metadata when a remote's base_url changes 2026-08-13 08:29:25 +10:00

Merged #119 deb/apk: make local repodata deterministic 2026-08-12 23:32:07 +10:00

Merged #118 rpm: make local repodata deterministic (fixes #117) 2026-08-12 23:14:52 +10:00

Merged #116 ui: add alpine local and github_alpine usage instructions 2026-08-12 20:53:23 +10:00

Merged #115 Add github_alpine metadata-only package type 2026-08-12 20:48:43 +10:00

Merged #114 Add Alpine/apk local repository support 2026-08-12 20:39:27 +10:00

Merged #113 ui: add deb and github_deb usage instructions 2026-08-11 23:54:34 +10:00

Merged #112 Add github_deb metadata-only package type 2026-08-11 23:28:12 +10:00

Merged #111 Add deb (Debian/apt) local and remote repository support 2026-08-11 23:21:08 +10:00

Merged #109 feat: server-level GitHub machine credential for authenticated requests 2026-08-10 21:42:39 +10:00

Merged #108 feat: background syncer for github_rpm remotes 2026-08-10 21:31:25 +10:00

Merged #107 feat: github_rpm metadata-only remote (GitHub releases as a yum repo, no precache) 2026-08-10 20:54:44 +10:00

Merged #105 feat(ui): add "How do I use this?" usage instructions to repo detail pages 2026-07-25 14:16:23 +10:00

Merged #106 feat(ui): direct-download links for downloadable local repo files 2026-07-25 14:15:26 +10:00

Merged #104 fix: make local docker uploads replica-independent 2026-07-05 17:39:49 +10:00

Merged #103 feat: serve local docker repos as a real registry 2026-07-05 16:55:54 +10:00

Merged #102 feat: serve local terraform repos as a provider registry 2026-07-03 18:55:35 +10:00

Merged #101 feat: redirect / to the web UI 2026-07-03 15:00:19 +10:00

Merged #100 fix: prune RPM metadata when a local file is evicted 2026-07-03 14:54:28 +10:00

Merged #99 fix: show local-repo files in the cached-objects UI 2026-07-03 14:46:41 +10:00

Merged #97 test: comprehensive dockerised end-to-end suite 2026-07-03 14:34:46 +10:00

Merged #98 test: raise core-package unit coverage to 90% 2026-07-03 14:31:25 +10:00

Merged #90 feat: wire the circuit breaker into the proxy fetch path 2026-07-02 22:43:23 +10:00

Merged #86 fix: GC has no grace period (TOCTOU with dedup uploads) 2026-07-02 22:43:18 +10:00

Merged #96 fix: repair master build after conflicting merges 2026-07-02 22:36:09 +10:00

Merged #83 fix: set timeouts on the upstream HTTP client 2026-07-02 22:24:50 +10:00

Merged #85 fix: getenv treats an explicitly-empty value as unset 2026-07-02 22:09:09 +10:00

Merged #93 fix: coalesce concurrent cache-miss fetches (thundering herd) 2026-07-02 22:08:30 +10:00

Merged #91 perf: batch access-log writes instead of goroutine+insert per request 2026-07-02 22:07:56 +10:00

Merged #89 fix: HEAD requests fetch and stream the full body 2026-07-02 22:06:51 +10:00

Merged #92 feat: cache upstream bearer tokens 2026-07-02 21:35:46 +10:00

Merged #94 perf: stream proxied artifacts instead of buffering the full body in memory 2026-07-02 21:33:42 +10:00

Merged #88 perf: compile remote match patterns once instead of per-request 2026-07-02 20:20:01 +10:00

Merged #87 fix: blocklist fails open when a regex fails to compile 2026-07-02 20:19:29 +10:00

Merged #84 fix: isNetworkError should use errors.As, not a bare type assertion 2026-07-02 20:18:24 +10:00

Merged #82 fix: serveFromStore does a guaranteed-miss S3 lookup on every cache hit 2026-07-02 20:07:30 +10:00

Merged #81 fix: e2e suite fails to build (stale server.New call) 2026-07-02 20:00:25 +10:00

Merged #65 feat: add bandwidth saved stat to dashboard 2026-06-27 22:18:02 +10:00

Merged #64 fix: strip base URL path prefix from helm chart download URLs 2026-06-27 08:02:52 +10:00

Merged #63 fix: report actual version instead of hardcoded 3.0.0-dev 2026-06-27 00:51:27 +10:00

Merged #62 feat: forward Accept header and fix Content-Type for Docker proxying 2026-06-27 00:45:24 +10:00

Merged #61 fix: nginx config for UI serving under base path 2026-06-27 00:43:45 +10:00

Merged #60 feat: handle Docker Bearer token auth for upstream registries 2026-06-27 00:18:07 +10:00

Merged #59 fix: use map format for docker-buildx build_args 2026-06-27 00:12:34 +10:00

Merged #58 feat: configurable UI base path via BASE_PATH build arg 2026-06-26 23:50:18 +10:00

Merged #57 feat: add Docker Registry V2 endpoint at /v2/ 2026-06-26 23:37:52 +10:00

Merged #56 fix: don't rewrite helm chart URLs pointing to a different host 2026-06-26 23:34:00 +10:00

Merged #55 chore: add pre-commit config and update CI pipeline 2026-06-23 23:21:09 +10:00

Merged #54 feat: UI separates locals, remotes, and virtuals 2026-06-23 23:20:19 +10:00

Merged #53 feat: add local RPM repository with on-demand repodata 2026-06-23 23:20:05 +10:00

Merged #52 refactor: modular local provider interfaces 2026-06-23 22:56:25 +10:00

Merged #51 feat: virtual PyPI repos can merge local + remote members 2026-06-23 22:20:05 +10:00

Merged #50 feat: add local PyPI repository support 2026-06-23 22:13:09 +10:00

Merged #49 feat: add local repository type with repo_type field 2026-06-22 23:52:21 +10:00

Merged #48 feat: tree view for cached objects, top-files stats on dashboard 2026-06-22 22:49:56 +10:00

Merged #47 Feat/v3 go rewrite 2026-06-07 19:30:35 +10:00

Merged #46 chore: bump almalinux9 image tags 2026-06-07 00:32:27 +10:00

Merged #45 feat: add Terraform/OpenTofu registry remote type 2026-06-06 23:51:52 +10:00

Merged #44 feat: add Puppet Forge remote type 2026-05-17 10:56:51 +10:00

Merged #43 feat: add ban_tags_enabled/ban_tags to docker remotes to block named tags 2026-05-10 22:13:11 +10:00

Merged #42 fix: cross-link tag manifests to digest keys and add fetch lock to prevent thundering herd 2026-05-10 22:12:54 +10:00

5 Pull requests proposed by 2 users

Proposed #95 docs: authentication & authorization system design (epic #79) 2026-07-02 00:51:53 +10:00

Proposed #144 Add local cargo registry type 2026-10-16 23:35:48 +11:00

Proposed #180 Accept OAuth2 POST form credentials on registry /v2/token 2026-11-02 21:39:14 +11:00

Proposed #181 Run the dockerised e2e suite with write auth enabled 2026-11-02 22:02:02 +11:00

Proposed #182 Wait for the deb Packages index to list the upload in e2e 2026-11-02 22:18:11 +11:00

15 Issues closed from 2 users

16 Issues created by 1 user

Opened #66 perf: stream proxied artifacts instead of buffering the full body in memory 2026-07-02 00:20:15 +10:00

Opened #67 fix: set timeouts on the upstream HTTP client 2026-07-02 00:20:15 +10:00

Opened #71 fix: GC has no grace period (TOCTOU with dedup uploads) 2026-07-02 00:20:16 +10:00

Opened #72 fix: blocklist fails open when a regex fails to compile 2026-07-02 00:20:16 +10:00

Opened #68 fix: isNetworkError should use errors.As, not a bare type assertion 2026-07-02 00:20:16 +10:00

Opened #73 perf: compile remote match patterns once instead of per-request 2026-07-02 00:20:16 +10:00

Opened #70 fix: HEAD requests fetch and stream the full body 2026-07-02 00:20:16 +10:00

Opened #69 fix: getenv treats an explicitly-empty value as unset 2026-07-02 00:20:16 +10:00

Opened #76 perf: batch access-log writes instead of goroutine+insert per request 2026-07-02 00:20:17 +10:00

Opened #77 feat: cache upstream bearer tokens 2026-07-02 00:20:17 +10:00

Opened #75 fix: coalesce concurrent cache-miss fetches (thundering herd) 2026-07-02 00:20:17 +10:00

Opened #74 feat: wire the circuit breaker into the proxy fetch path 2026-07-02 00:20:17 +10:00

Opened #78 fix: serveFromStore does a guaranteed-miss S3 lookup on every cache hit 2026-07-02 00:20:45 +10:00

Opened #79 epic: authentication & authorization system (Vault dynamic secrets, service accounts, users, path ACLs) 2026-07-02 00:20:46 +10:00

Opened #80 fix: e2e suite fails to build (stale server.New call) 2026-07-02 00:23:34 +10:00

Opened #117 rpm-local repodata: intermittent checksum mismatch (repomd vs primary) breaks dnf 2026-08-12 22:07:46 +10:00