Skip to content

Releases: cbodden/Magic-Erasarr

Release 1.6.0

16 Feb 18:49

Choose a tag to compare

Added

  • Plex library refresh — After removing items from Radarr/Sonarr/Lidarr, the app triggers a Plex library scan for affected sections (optional; PLEX_URL and PLEX_TOKEN).
  • Tautulli media info refresh — After Plex refresh, the app waits 20 seconds then triggers a Tautulli media info refresh so removed items disappear from Tautulli's cache; the page reloads when done.
  • Removal flow toast — A single centered modal toast shows progress for the whole flow (removing items, Plex refresh, Tautulli refresh) with a dimmed page background.
  • TV show warning — When TV shows are removed, the toast shows a flashing warning that Tautulli may take several minutes to update (full library rescan).
  • Tautulli "calculating file sizes" alert — When Tautulli is calculating file sizes for a library, a yellow alert banner appears at the top. Data shown may not be up to date until calculation completes.
  • Debug endpoint — With DEBUG=true, GET /api/debug/tautulli-raw-response?type=show returns the raw Tautulli library response for troubleshooting.
  • Git hook.githooks/commit-msg strips Co-authored-by lines from commit messages; see README to enable.

Changed

  • Remove flow — No longer modifies Tautulli directly; removal is Seerr + *arrs, then Plex refresh, then Tautulli refresh.
  • Library combined API — Detects "calculating file sizes" from response and sets tautulli_calculating_file_sizes for the banner.
  • README — Documents Plex token, removal flow, Tautulli calculating banner, TV show refresh, and optional git hook.
  • Docker — Version 1.6.0; docker-compose includes optional PLEX_URL and PLEX_TOKEN.

v1.5.0

16 Feb 00:22

Choose a tag to compare

[1.5.0] - 2026-02-15

Added

  • Combined view by type — Single dropdown: Movies, TV Shows, or Music; one merged list from all Tautulli libraries of that type.
  • Library column — Table shows which Tautulli library each item belongs to; column is sortable.
  • Filter by library — When a type is loaded, a "Filter by library" dropdown limits the list to one Tautulli library.

Changed

  • Table layout — Variable-width table with wrapping and horizontal scroll so columns are readable.
  • Error handling — API client handles non-JSON (e.g. HTML) responses without crashing; non-API 404s (e.g. favicon) no longer surface as 500.

Removed

  • Library-by-name env — Per-instance *_LIBRARY_NAME mapping removed; removal runs against all configured *arr instances.

Release 1.4.0

15 Feb 20:38

Choose a tag to compare

[1.4.0] - 2026-02-15

Added

  • Multi-arch Docker — GitHub Actions builds and pushes linux/amd64 and linux/arm64 images (RPi-friendly).
  • Unit tests — Pytest suite for app routes and ID extraction; CI runs tests before building the image.

v1.2.0

15 Feb 18:55

Choose a tag to compare

Added

  • Search — Search box appears when a library is loaded; searches only within the selected library and shows only matching items.
  • Production WSGIwsgi.py and gunicorn; with DEBUG=false, python app.py runs gunicorn instead of the Flask dev server. Docker image uses gunicorn in CMD.
  • DEBUG and STAT env flagsDEBUG enables Flask debug mode and /api/debug routes; STAT enables /api/status. Both configurable via .env and Docker.

Changed

  • Show library file column — For TV show libraries, file column shows "—" when Tautulli does not provide file size (avoids incorrect "Missing" when files exist).
  • README and Docker — Document DEBUG/STAT, standalone vs Docker run; compose and Dockerfile set production defaults; workflow triggers on docker/** and app files.

v1.1.0

15 Feb 17:16

Choose a tag to compare

Changed

  • Seerr branding — UI and docs use "Seerr" (Overseerr-compatible); request server chip and toasts show name from API.
  • Status chip names — All service chips (Tautulli, Seerr, Radarr, Sonarr, Lidarr) show name from respective API or instance config.
  • Codebase refactor — App split into config, services (tautulli, overseerr, radarr, sonarr, lidarr), routes (main, api), and utils; Flask app factory.

Fixed

  • app.py — Removed duplicate legacy code; entry point is create_app only.

v1.0.0

15 Feb 05:08

Choose a tag to compare

Changelog

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

The format is based on Keep a Changelog.

1.0.0 - 2025-02-15

Added

  • Lidarr support — Remove music from Lidarr instances (primary and optional secondary), with column sorting for library view.
  • Docker support — Alpine-based image and GitHub Actions workflow to build and push to ghcr.io. Docker Compose example uses pre-built image.
  • Column sorting — Sort library by title, year, added date, last played, play count, size, or requested by (click column headers).
  • Screenshot and README — Screenshot section and images folder for documentation.
  • Debug endpoint — Endpoint for troubleshooting metadata resolution (IMDB/TMDB IDs).

Changed

  • ID resolution — Extract IMDB IDs from Tautulli guids and legacy Plex agent formats; Radarr lookup falls back to IMDB when TMDB is unavailable.
  • Graceful skip — When no IDs can be resolved, Overseerr and *arr steps are skipped instead of failing; Tautulli cleanup still runs.
  • Artist library display — Correct file badge and Overseerr skip behavior for music libraries.

Fixed

  • Missing Plex metadata no longer blocks removal; Tautulli history and cache are still cleaned when Plex metadata is unavailable.