Skip to content

Releases: LuisCMerrick/MirrorRelay

v0.0.21

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 28 Aug 06:47

v0.0.21 supersedes the withdrawn v0.0.20 Release.

Highlights:

  • Fixes startup upgrades from pre-v0.0.20 persisted Web settings by overlaying legacy records on current YAML/default values while retaining strict unknown-field validation.
  • Preserves existing configuration, database, users, history and cache; no purge or instance recreation is required.
  • Adds a dedicated Passkey authentication group in Settings and an Admin shortcut from My account when Passkeys are disabled.
  • Moves the GitHub shortcut to the lower-right corner of the login page.
  • Preserves backward-compatible three-, six- and eight-digit appearance accent colors.

Upgrade normally from any earlier version, including an installed v0.0.20 build. The release pipeline attaches verified amd64/arm64 DEB, RPM and tar.gz packages, a vendored source archive, SHA256SUMS, and publishes the matching multi-platform Docker image.

v0.0.17

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 25 Aug 07:27

Security and release hardening for MirrorRelay v0.0.17.

Highlights:

  • Redacts repository credentials and raw runtime diagnostics from every non-Admin role, with Admin-only sensitive configuration and cluster-node credential management.
  • Encrypts Coordinator Edge mutation tokens at rest with a file-backed AES-256-GCM rotation keyring.
  • Trusts X-Real-IP only from configured ingress peers, keeps inferred public URLs on validated HTTPS authorities, and defaults client-IP exposure off.
  • Validates and precompiles bounded package policies with fail-closed persisted-state handling.
  • Uses the official latest multi-architecture image in the bilingual four-method Quick Start and Compose model.
  • Strengthens package and container binary provenance checks.

The Release Build workflow publishes verified linux/amd64 and linux/arm64 packages, the vendored source archive, and Docker Hub tags 0.0.17, v0.0.17, and latest.

MirrorRelay v0.0.16

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 22 Aug 06:45

MirrorRelay v0.0.16 closes the v0.0.15 audit findings and hardens the release baseline.

Highlights:

  • Replaces preset administrator credentials with atomic first-use Admin registration, protected by the configured administration host/path and CIDR boundary.
  • Supports both APT DEB822 (.sources) and traditional sources.list output.
  • Applies a calmer, consistent bilingual Web UI with progressive disclosure; Managed Upstream Nginx technical details and Nginx snippets are hidden until requested.
  • Fixes all ten v0.0.15 audit findings across distributed routing, replay protection, credential boundaries, logging privacy and HTML auxiliary resources.
  • Upgrades Managed Upstream Nginx to 1.30.4, Go to 1.26.6, pins the vulnerability scan, and verifies exact static Nginx binaries for amd64 and arm64 packages.
  • Keeps release output limited to DEB, RPM, tar.gz and a vendored source archive; no container image is published.

Upgrade note: remove the obsolete admin.initial_username and admin.initial_password YAML keys (and any corresponding environment variables/password-file setting) before starting v0.0.16. Strict configuration loading intentionally rejects these removed keys.

See CHANGELOG.md for the complete change list and verify downloads with SHA256SUMS.

MirrorRelay v0.0.15

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 21 Aug 04:52

Highlights

  • Hardened distributed control-plane synchronization and cache-purge propagation with authenticated Edge receivers, authoritative Active fingerprints, atomic activation, and verified acknowledgements.
  • Enforced consistent URL, DNS, address, redirect, TLS, and credential policy for cluster and Webhook outbound traffic.
  • Added persistent Light, Dark, and Auto themes to the login page and administration header, including a complete light palette and system-theme tracking.
  • Clarified the single active Webhook destination model and added explicit DingTalk, Feishu/Lark, WeCom, Slack, custom JSON, and running-configuration test targets.
  • Fixed scheduler persistence, warm-up endpoint generation, Active publication, Viewer credential redaction, and Managed Upstream Nginx rollback behavior.

Release artifacts

The release workflow builds and verifies DEB, RPM, and tar.gz packages for linux/amd64 and linux/arm64. It also publishes mirrorrelay-0.0.15-source-with-vendor.tar.gz for offline source builds and includes every artifact in SHA256SUMS.

Container images are not part of this release.

v0.0.12

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 20 Aug 03:34

MirrorRelay v0.0.12 Release

Highlights

  • Settings State Discrepancy & False Restart Prompt Resolution:
    • Eliminated false "Saved values differ from the running process; restart MirrorRelay" warnings on the settings page by normalizing dynamic appearance configs (UIEnhancement), nil vs empty slice representations (AdminCIDRs), and duration string formatting across comparison routines.
  • Wildcard Rewrite Host & Upstream Redirect Mirror Matching:
    • Enhanced isAllowedRewriteOrigin with wildcard subdomain matching (*.acc.umu.se, *.debian.org, *.ubuntu.com, *.rockylinux.org, *.pkgbuild.com, *.archlinux.org), enabling seamless proxying and caching for Debian CD/Live ISO and other mirrors that redirect via geo-dispatchers.
  • CI Automation on Push:
    • Configured GitHub Actions CI workflow to trigger automatically on direct pushes to main.

v0.0.11

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 20 Aug 03:19

MirrorRelay v0.0.11 Release

Highlights

  • Docker / OCI Registry Health Check Handshake Compliance:
    • Aligned health checker probe validation with the OCI Distribution Specification and Docker Registry v2 API: unauthenticated /v2/ probes receiving HTTP 401 Unauthorized with Www-Authenticate challenge headers are recognized as healthy endpoints alongside HTTP 200 OK.
  • Disabled Repository State Semantics & UI Normalization:
    • Fixed health state resolution for disabled repositories (Enabled = false or HealthCheckEnabled = false) to explicitly return "disabled" instead of "unknown".
    • Updated Web UI dashboard, repository table, and health view to render neutral "Disabled" (已禁用) badges and suppress alarm indicators for disabled mirrors.
  • Operating System ISO / Image Repository Support & Templates:
    • Added native iso repository type support across core registry, routing, and proxy pipelines.
    • Added built-in profiles and interactive help guides for major OS distributions: Ubuntu Releases (ISO), Debian CD/Live ISO, Rocky Linux ISO, Arch Linux ISO, and Generic ISO / OS Images.
    • Added interactive Client Setup Generator downloads and multi-threaded CLI commands (aria2c -x 16, wget -c, curl -C -, sha256sum -c) for ISO repositories.

Included Features (v0.0.10)

  • Smart Cache Warm-Up & Predictive Pre-Fetching Engine (warmup): Recursive metadata extraction for APT, RPM, PyPI with concurrency & bandwidth limiting (default off).
  • Distributed Multi-Node Cluster Edge Synchronization & Purge Broadcast: Manifest synchronization & distributed cache purge broadcast.
  • Zero-Copy / X-Accel-Redirect Binary Bypass Acceleration: Adaptive direct bypass to Managed Upstream Nginx for kernel zero-copy sendfile.
  • Enterprise Security, RBAC & Multi-Channel Webhook Alerting: Role-based access control, Package Guard supply chain protection, JSON audit trails, and multi-platform webhooks (DingTalk, Feishu, WeCom, Slack).
  • Vector SVG Analytics & Real-Time Log Streaming Console: Hourly traffic charts, status distribution donuts, and live log terminal.

v0.0.5

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 17 Aug 01:09

v0.0.5 - Modern Control Plane UI & Modular Architecture

Highlights

  • Control Plane Design System & Visual Overhaul (app.css):

    • Deep obsidian and slate surface hierarchy (#060911, #0a0e1a, #0f172a, #151f34) with refined frosted glassmorphism headers (backdrop-filter: blur(12px)).
    • Cyber Cyan accent branding with animated emerald breathing pulses for real-time online status.
    • Interactive micro-animations: subtle card elevation lift (translateY(-2px)), button press feedback (scale(0.98)), and smooth transition states.
  • Unified Native SVG Vector Icon Suite (js/icons.js):

    • Introduced a comprehensive, lightweight SVG icon system across all 13 sidebar navigation items, header actions, metric cards, topology nodes, repository tables, and modal dialogs.
    • Replaced all text-only action lists with sleek, compact chip button clusters.
  • Integrated Layout & Seamless Header Navigation:

    • Embedded bilingual language switcher directly into the sticky top control bar, eliminating floating overlap and ensuring full clearance for all header actions.
    • Upgraded sidebar with branded logo mark, category section grouping (Core, Gateway, Cluster & Ops, Logs & System, Admin), and user profile card.
  • Cloud Topology Pipeline & Metric Grids:

    • Redesigned visual architecture pipeline (Clients ➔ Ingress ➔ MirrorRelay ➔ Upstream Nginx ➔ Origins) with protocol badges, animated connectors, and live status badges.
    • Metric cards grid with dedicated icon chips, monospace numbers, and real-time status indicators.
  • Modal Dialog & Form Experience Hardening:

    • Fixed modal scrolling across all viewport heights with pinned sticky headers and footers, ensuring action buttons are always accessible.
    • Upgraded table UX with search filtering, latency badges, and one-click URL copying.

v0.0.4

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 16 Aug 07:31

v0.0.4

Highlights

  • UI Enhancement, Themes & Appearance Customization:

    • Full theme customization support: Light, Dark, and System modes with configurable accent colors.
    • Customizable site title, header branding, and login page branding.
    • Appearance management page in Web UI, database persistence (appearance_settings), config validation, and administrative REST API endpoints (/appearance, /appearance/reset).
  • Repository Browser & Interactive Help System:

    • Implemented Repository Browser file exploration mode with local file caching and directory tree navigation.
    • Built-in interactive Help guide generator (/help/, /help/<slug>/, /help/templates) covering 10 major package ecosystems (APT, RPM, PyPI, Docker/OCI, npm, Maven, Go, NuGet, Cargo, Conda).
    • Embedded zero-dependency SVG icon set in internal/browser/ with safe UI fallback mode.
  • Go Codebase Modularization (<20KB Refactoring):

    • Completely refactored and modularized oversized Go files across packages internal/help/, internal/config/, internal/upstreamnginx/, internal/database/, internal/proxy/, and internal/api/.
    • Guaranteed 100% of all Go source files across the entire codebase are strictly under 20KB (largest is 18KB), ensuring high maintainability and clean single-responsibility boundaries.
    • Preserved 100% test coverage with complete -race compliance and multi-architecture build verification.
  • Documentation & Routing Updates:

    • Synchronized paired English and Chinese documentation for Appearance, Themes, and Help features in docs/configuration.md, docs/configuration.zh-CN.md, docs/web-ui.md, and docs/web-ui.zh-CN.md.
    • Added Debian Security upstream profile and client example handling.

v0.0.3

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 16 Aug 05:49

Changelog

v0.0.3

  • Documentation & Open Source Overhaul:
    • Restructured README with clear one-line positioning, architecture topology, Why MirrorRelay comparison, Target Compatibility, and 5-minute Quick Start.
    • Added dedicated deep-dive guides: docs/quick-start.md, docs/architecture.md, docs/docker-oci.md, docs/distributed.md, docs/security.md, and paired Chinese versions.
    • Added ROADMAP.md and CONTRIBUTING.md.
    • Harmonized Quick Start and Installation guides with sudo systemctl enable --now mirrorrelay.service.
    • Fixed Distributed Routing documentation to accurately reflect allowed modes (hybrid, cidr, geo, priority) and Coordinator 503 behavior when no edge is available.
  • Security & Quality Hardening:
    • Added SSRF validation to Cluster Node Health Checker (internal/cluster/checker.go).
    • Strengthened Content-Security-Policy headers and public index security.
    • Added package-level documentation across all Go modules.
    • Hardened systemd service unit with strict Linux namespace protections.
    • Added unit test coverage for internal/accesslog and internal/limit.
  • Web UI & i18n Improvements:
    • Fixed dynamic placeholder formatting for localized strings (L('text %s', val)).
    • Improved mobile drawer responsiveness, ARIA accessibility, and visual feedback for save/restart actions.

v0.0.2

  • Renamed project from RepoGate to MirrorRelay
  • Added Web UI in-place service restart functionality
  • Decoupled i18n language dictionaries into standalone resource files (locales/en.js, locales/zh.js)

v0.0.1

  • Initial release with pull-through repository proxying and Managed Upstream Nginx data plane
  • Embedded bilingual Web UI and REST API
  • Multi-architecture DEB, RPM, and tar.gz release packaging

MirrorRelay v0.0.2

Choose a tag to compare

@LuisCMerrick LuisCMerrick released this 16 Aug 02:29

MirrorRelay v0.0.2

What's Changed

  • Full Repository Rename: Renamed the entire project, packages, modules, services, and documentation from RepoGate to MirrorRelay.
  • Web UI In-Place Restart: Added graceful service restart directly from the Web UI Settings and System pages (POST /system/restart), allowing configuration changes to be applied immediately with automatic reconnection.
  • Web UI i18n Resource Decoupling: Decoupled static dictionary text and translation resources into standalone language files (locales/en.js and locales/zh.js), completely separating presentation resources from functional JavaScript logic.
  • Release Packages: Verified DEB, RPM, and tar.gz release packages for linux/amd64 and linux/arm64.