unarr/CHANGELOG.md
Deivid Soto 2efd5f2764 chore(release): 0.9.0
- Bump version to 0.9.0
- Update CHANGELOG.md
2026-05-21 14:56:27 +02:00

11 KiB

Changelog

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.9.0] - 2026-05-21

Added

  • agent: add mirror failover, agent client refactor, status 401 detection
  • vpn: local config_file for self-hosted/personal VPN testing
  • vpn: split-tunnel torrent traffic through managed WireGuard

Fixed

  • security: CORS allowlist, URL scheme guard, state perms, ZIP slip, mirror docs
  • security: UPnP opt-in, bounded SSE reader, signed self-update
  • security: harden HLS session IDs, /health disclosure, archive password handling
  • upgrade: fetch releases from TorrentClaw app, not GitHub

[0.8.1] - 2026-05-08

Added

  • config: set default values for WebRTC and transcoding in minimal TOML config
  • transcode: dynamic H.264 level + HW probe + capability reporting

Changed

  • streaming: improve signal handling and remove unused components

Fixed

  • self-update: auto-restart live daemon after upgrade
  • streaming: allow HLS sessions when webrtc disabled

Other

  • gitignore: add dist-ffbinaries to ignored files
  • release: 0.8.1

[0.8.0] - 2026-05-08

Added

  • mediainfo: ResolveFFmpeg + DownloadFFmpeg mirroring ffprobe pattern
  • release: bundle ffmpeg + ffprobe in tarballs and Docker image
  • seed-file: unarr-side handler for browser-on-demand seeding (Fase 4.7.c)
  • stream: per-session quality cap from web
  • stream: real-time transcoding for non-browser-decodable codecs
  • stream: pion-based WebRTC byte streamer for browser playback
  • streaming: seek-restart, single-session, idle sweeper, probe.json
  • streaming: add HLS transport pipeline (daemon side)
  • streaming: ffmpeg transcoding pipeline (direct play / fMP4 / HW accel)
  • torrent: act as WebTorrent peer for browser ↔ unarr P2P streaming
  • wstracker-probe: -seed FILE mode for browser ↔ unarr e2e validation

Fixed

  • streaming: bounded ffmpeg auto-restart + tmpdir gc + probe/stderr safety
  • transcoder: force aac stereo 48khz + frag_duration for mse compat
  • transcoder: force main profile + setparams Rec.709 + serveRange wait
  • transcoder: correct scale filter + always force yuv420p

Other

  • release: 0.8.0
  • streaming: post-review fixes — race lock, dead branch, stderr cap
  • torrent: bump anacrolix log level Critical → Warning for visibility

[0.7.0] - 2026-04-10

Added

  • daemon: enhance service management with start, stop, restart, and status commands for Windows

Other

  • release: 0.7.0

[0.6.8] - 2026-04-10

Added

  • library: add server-driven file deletion with allow_delete config

Other

  • release: 0.6.8

[0.6.7] - 2026-04-10

Added

  • scan: always scan downloads + organize dirs, deduplicate child paths

Other

  • release: 0.6.7

[0.6.6] - 2026-04-09

Fixed

  • docker: switch ffprobe download from johnvansickle.com to BtbN/FFmpeg-Builds
  • stream: fix black screen on remote/Tailscale streaming

Other

  • release: 0.6.6

[0.6.5] - 2026-04-09

Fixed

  • upgrade: retry download on transient network errors with user feedback

Other

  • release: 0.6.5

[0.6.4] - 2026-04-09

Fixed

  • daemon: report error status when stream path is rejected

Other

  • release: 0.6.4

[0.6.3] - 2026-04-09

Fixed

  • library: use native arm64 ffprobe on Apple Silicon (osx-arm-64)

Other

  • release: 0.6.3

[0.6.2] - 2026-04-09

Added

  • library: resilient scan for large libraries and better ffprobe errors

Other

  • release: 0.6.2
  • ignore local config/ directory

[0.6.1] - 2026-04-08

Added

  • wake: long-poll wake listener for instant CLI sync

Fixed

  • resolve deadlock, data races and path traversal vulnerabilities

[0.6.0] - 2026-04-08

Added

  • sync: replace WS+DO transport with unified HTTP sync

Fixed

  • ws: add ping/pong keepalive and read deadline to detect zombie connections

Other

  • release: 0.6.0

[0.5.5] - 2026-04-07

Added

  • agent: send stream port and IPs in register request
  • stream: report duration and position in watch progress
  • stream: trackingReader with byte-based progress and rate limiting

Fixed

  • daemon: cancel watch reporter on stream switch and re-notify ready

Other

  • release: 0.5.5

[0.5.4] - 2026-04-07

Fixed

  • stream: use platform-specific socket options for Windows cross-compilation

Other

  • release: 0.5.4

[0.5.3] - 2026-04-07

Added

  • stream: persistent stream server with file swapping

Other

  • release: 0.5.3

[0.5.2] - 2026-04-07

Added

  • stream: report multi-network URLs for smart resolution

Other

  • release: 0.5.2

[0.5.1] - 2026-04-07

Added

  • daemon: add on-demand library scan via heartbeat and WebSocket

Fixed

  • agent: add retry with backoff and WebSocket connect for daemon registration
  • daemon: report failed status on stream request errors
  • daemon: use correct systemd user target and isolate test cache
  • stream: prevent duplicate events from killing active stream server

Other

  • release: 0.5.1

[0.5.0] - 2026-04-06

Added

  • organize: use server metadata for file organization and subtitle handling
  • stream: add NAT-PMP port mapping for remote downloads

Other

  • release: 0.5.0
  • release: add changelog generation and release automation

[0.4.1] - 2026-04-01

Added

  • cli: add login command and refactor shared helpers
  • stream: report watch progress to API via HTTP Range tracking

Fixed

  • ci: fix lint errors and pin CI to Go 1.25
  • lint: remove unused newStubCmd function

Other

  • cli: remove moreseed stub command
  • cli: remove redundant stub commands (monitor, open, add, compare)

[0.4.0] - 2026-03-31

Added

  • cli: upgrade command, rich status, and version cache

Fixed

  • progress: always report status transitions and poll for control signals

[0.3.7] - 2026-03-31

CI/CD

  • docker: remove dockerhub-description sync step

[0.3.6] - 2026-03-31

CI/CD

  • deps: bump docker/metadata-action from 5 to 6
  • deps: bump docker/setup-qemu-action from 3 to 4
  • deps: bump docker/login-action from 3 to 4
  • deps: bump docker/build-push-action from 6 to 7
  • deps: bump codecov/codecov-action from 5 to 6
  • docker: add Docker Hub description sync and DOCKERHUB.md

Fixed

  • ci: upgrade golangci-lint to v2.11.3 for Go 1.25 support
  • docker: upgrade alpine packages to patch CVE-2025-60876 and CVE-2026-27171
  • lint: use default:none to disable errcheck, fix all gofmt and exhaustive
  • lint: disable errcheck, tune gosec/exclusions for codebase state
  • lint: configure linters for codebase maturity, fix gofmt and ineffassign
  • lint: exclude common fire-and-forget patterns from errcheck
  • lint: resolve errcheck and bodyclose warnings for golangci-lint v2

[0.3.5] - 2026-03-30

Changed

  • migrate lint config to v2, remove daemon auto-upgrade, add trust badges

[0.3.3] - 2026-03-30

Fixed

  • ci: remove go-client checkout steps

[0.3.2] - 2026-03-30

Added

  • init: add 60s countdown, skip key, and cancel detection to browser auth

CI/CD

  • release: add Docker Hub publish and VirusTotal scan jobs

Documentation

  • add beta notice, fix install URLs to get.torrentclaw.com

Fixed

  • ci: fix virustotal job condition syntax
  • docker: simplify Dockerfile for CI builds (no local go-client)
  • release: disable homebrew tap (needs PAT, not GITHUB_TOKEN)

Other

  • re-enable homebrew tap in goreleaser

[0.3.1] - 2026-03-30

Fixed

  • build: unused variable in Windows process check
  • release: disable homebrew tap until repo is created

Other

  • rename module from torrentclaw-cli to unarr

Build

  • remove UPX compression (antivirus false positives, startup penalty)

[0.3.0] - 2026-03-29

Added

  • agent: add WebSocket transport with HTTP fallback
  • auth: browser-based CLI authentication (like Claude Code)
  • daemon: add auto-scan, force start, and stall timeout default
  • debrid: add HTTPS downloader for debrid direct URLs
  • stream: UPnP port forwarding for remote video playback
  • usenet: implement full NNTP download pipeline
  • add migrate command, media server detection, and debrid auto-config
  • replace setup with init wizard + interactive config menu
  • add clean command to remove temp files, logs, and cached data
  • add Sentry error reporting
  • improve daemon resilience, streaming, and usenet downloads
  • initial commit — unarr CLI

Changed

  • extract BuildSyncItems to library package, remove duplication

Documentation

  • improve CLI help, shell completion, and README

Fixed

  • torrent: expand tracker list, add DHT persistence and configurable timeouts
  • force-start tasks bypass HasCapacity check in dispatch loop
  • add panic recovery to auto-scan, cap DHT nodes at 200
  • harden usenet/debrid downloaders from critico review

Build