Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 3.42 KB

File metadata and controls

69 lines (45 loc) · 3.42 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

v0.3.0 - 2026-08-29

Added

  • Container image now runs serve by default and loads bundled config from $KO_DATA_PATH
  • PKGPROXY_TRUST_PROXY env var (and --trust-proxy flag) to opt in to X-Forwarded-For trust
  • PKGPROXY_HOST env var to set the listen address without passing --host on the command line
  • PKGPROXY_CACHEDIR env var to set the cache directory without passing --cachedir on the command line

Changed

  • Breaking: remote_ip in access logs now reflects the direct connecting peer by default; set PKGPROXY_TRUST_PROXY to restore XFF-based IP extraction when running behind a reverse proxy
  • Upgraded Echo web framework to v5.3.1
  • Config-file errors now list all default paths attempted, not just the last one

Fixed

  • HEAD requests to the landing page now return 200 instead of 405, so health checks work

v0.2.0 - 2026-04-06

Added

  • Per-repository exclude config field to prevent specific filenames or suffixes from being cached
  • Support caching Gentoo distfiles with suffixes: ["*"] wildcard and exclude list
  • Gentoo e2e test using emerge --fetchonly in a gentoo/stage3 container

v0.1.2 - 2026-03-28

Fixed

  • Disable Echo v5's default 30-second WriteTimeout which killed streaming responses for large package files

v0.1.1 - 2026-03-25

Added

  • End-to-end tests using real package managers (dnf, apt, pacman) in containers via make e2e
  • ubuntu-security repository in default configuration

Changed

  • Cache-miss responses are now streamed directly to a temp file on disk instead of being buffered in memory, eliminating memory spikes for large packages
  • Content-Length is validated before committing cached files, preventing truncated upstream responses from being cached
  • Client disconnects no longer prevent caching — if a client aborts mid-download, the upstream response is still fully received and cached
  • Landing page snippets for Debian/Ubuntu use <release> placeholder instead of hardcoded codenames
  • README client configuration examples updated to current stable releases (Debian trixie, Ubuntu noble)

v0.1.0 - 2026-03-20

Added

  • Caching forward proxy for Linux package repositories
  • Support for RPM-based distributions: Fedora, CentOS, CentOS Stream, AlmaLinux, Rocky Linux, and EPEL/COPR
  • Support for DEB-based distributions: Debian (including security updates) and Ubuntu
  • Support for Arch Linux repositories
  • YAML-based configuration of repositories, upstream mirrors, and cacheable file suffixes
  • Automatic failover across multiple configured upstream mirrors with optional retry on 5xx responses
  • HTTP landing page listing all configured repositories with ready-to-use client configuration snippets for supported package managers
  • Cache invalidation via HTTP DELETE requests to remove individual cached files
  • Multi-architecture container image (amd64 + arm64) published to GitHub Container Registry, signed with cosign via GitHub OIDC