Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 13:26
· 12 commits to main since this release

Highlights

  • Soft per-tracker limits with borrowing + smoothing (Phase 3).
  • New admin endpoints: preview next cycle, reset smoothing, reset limits.
  • Security: single-password qBittorrent auth, no password logs.
  • Docker: use GHCR image by default; simpler Compose with APP_PORT, no version: key.

Images

  • GHCR: ghcr.io/mrinvincible29/qguardarr:latest
  • GHCR (pinned): ghcr.io/mrinvincible29/qguardarr:v0.3.0
  • Edge (latest commit): ghcr.io/mrinvincible29/qguardarr:edge

Added

  • Phase 3 “soft” strategy with priority-weighted borrowing and EMA smoothing.
  • API: GET /preview/next-cycle for proposed tracker caps and per‑torrent changes.
  • API: POST /smoothing/reset to clear Phase 3 smoothing state.
  • API: POST /limits/reset to set touched torrents back to unlimited (supports dry‑run).
  • Stats: expose current strategy; add effective_cap_mbps, borrowed_mbps per tracker.

Security

  • Authenticate to qBittorrent using only configured credentials.
  • Remove fallback/default password attempts; redact secrets in logs.

Changed

  • Compose: pull from GHCR by default; drop obsolete version: key; expose APP_PORT for container port/health alignment.
  • Compose: remove mem_limit; rely on host/container constraints or user-provided limits.
  • Logging: centralized setup; ensure log directory exists; avoid file handler permission errors.

Documentation

  • Quick Start: run directly from GHCR, download compose and config from repo (no git clone).
  • Webhooks: optional but recommended; periodic cycles still manage updates without them. Benefits and examples documented.
  • .env.example: add APP_PORT=8089.

Tests

  • Unit test: enforce single-password auth and log redaction.
  • Docker quick integration tests: passing with Phase 3 and new endpoints.

Upgrade Notes

  • Config compatibility: 0.3.0 is backward-compatible; Phase 3 is opt-in via global.allocation_strategy: soft.
  • Docker:
    • Compose now expects APP_PORT (defaults 8089). If your config.global.port differs, set APP_PORT in .env to match (e.g., APP_PORT=8189).
    • version: key removed to silence Compose v2 warnings.
    • mem_limit removed; if you previously saw OOM kills (exit 137), consider adding your own limits or ensure adequate host memory.
  • Cross-seed:
    • Set cross_seed.enabled: true in config to enable forwarding; environment variables alone do not enable it.

Quick Pull

  • docker pull ghcr.io/mrinvincible29/qguardarr:v0.3.0
  • In compose, set image: ghcr.io/mrinvincible29/qguardarr:v0.3.0 to pin.

Full Changelog