Skip to content

Release 2.0.0

Latest

Choose a tag to compare

@iongpt iongpt released this 23 Jul 10:20
Immutable release. Only release title and notes can be modified.
740b20f

Added

  • Selectable Box Office Region: New setup dropdown to pick a Box Office Mojo region, driving an ?area=CODE query so charts can track box office beyond US & Canada domestic (#109, #112)
  • Configurable Box Office Timeout: New boxoffice_timeout setting (default 120s, range 5-600) plus a 3-attempt retry with backoff for more resilient Box Office Mojo requests (#110, #113)
  • UI Polish: Async refresh button with a progress endpoint, a week tenure badge, and a recent-weeks grid on the overview page (#105)

Fixed

  • Ignore Button: Fixed single-quote escaping in the overview ignore-button onclick handler so movies with apostrophes in their titles can be ignored (#106, #111)
  • Event-Loop Blocking: Manual box office routes now offload the blocking Box Office Mojo scraper to a worker thread, so a wedged upstream (compounded by request retries) no longer stalls the asyncio event loop and hangs every request, including /api/health
  • Timeout Preservation on Save: Saving configuration from the settings UI now preserves the boxoffice_timeout (and Radarr request timeout) value instead of silently reverting it to the default
  • Correct Auto-Add Match: Auto-add now selects the Radarr lookup result by IMDb id instead of the first candidate, preventing the wrong movie from being added (#115)
  • Year-Boundary Navigation: Fixed previous-week navigation across the year boundary and URL-encoded the overview search links so titles with special characters resolve correctly (#116)
  • XSS Hardening: Escaped dynamic widget output and switched toast rendering to a safe path so untrusted values can no longer inject markup (#117)
  • Sequel Mismatch: The matcher no longer links a charting sequel to the original film already in the library (#118)

Changed

  • Health-Check Logging: Suppressed uvicorn.access log lines for /api/health to keep logs readable under frequent health probes (#107)
  • Config Resilience: A corrupt local.yaml no longer crashes the app — the loader falls back to setup mode, backs up the unreadable file as .broken, and writes config atomically (#119)
  • Weekly JSON Integrity: Weekly page data is now written atomically and read corruption-safe, writers are serialized under a shared lock, and movies deleted from Radarr are un-linked from stored weeks (#120)

What's Changed

  • fix: make Ignore/Unignore buttons clickable on Overview page by @iongpt in #111
  • feat: add selectable Box Office Mojo region by @iongpt in #112
  • fix: make Box Office Mojo timeout configurable with retry-backoff by @iongpt in #113
  • fix: suppress health-check endpoint from Uvicorn access log by @xFlawless11x in #107
  • feat: UI polish — refresh button, week tenure badge, recent weeks grid by @xFlawless11x in #105
  • chore: prepare v1.8.0 release by @iongpt in #114
  • fix: match auto-add search result by IMDb id to avoid adding the wrong movie by @iongpt in #115
  • fix: correct year-boundary week nav and URL-encode overview search params by @iongpt in #116
  • fix: harden XSS sinks in widget, dashboard toasts, and setup JS by @iongpt in #117
  • fix: prevent charting sequels from matching the original film in the library by @iongpt in #118
  • fix: harden config load/save against corrupt local.yaml by @iongpt in #119
  • fix: harden weekly JSON integrity (atomic writes, corruption-safe reads, un-linking) by @iongpt in #120
  • chore: release v2.0.0 by @iongpt in #121

Full Changelog: v1.7.0...v2.0.0