Skip to content

v26.7.30

Latest

Choose a tag to compare

@dannyvfilms dannyvfilms released this 31 Jul 02:12

Changes since last release:

  • StoryGraph CSV Import - Added a full StoryGraph account-export importer for books, including provider matching with an Open Library fallback, one tracking entry per read, safe re-import deduplication, mirrored tags as custom lists, and summaries for missing dates. Credit to @daften for the importer and the accompanying test coverage.
  • Generic Scrobbling for Playback Clients - Added a documented generic scrobble API for third-party playback clients, live episode-play polling on season pages, and the supporting history-cache work so external playback can become visible without waiting for a page refresh to remember what happened.
  • Plex and Jellyfin Playback Follow-Through - Improved Plex episode-number remapping, honored TVDB preferences during Plex TV ingestion, and corrected Jellyfin webhook pause forwarding. Playback integrations are now less dependent on every provider sharing the same interpretation of an episode, a bold but apparently necessary request.
  • More Useful Collection Entries - Collection entries can now store purchase price and purchase location across media types, while season/show collection actions correctly create and remove per-episode entries. Manual episode collections are visible in the audit UI, and collected indicators are shown directly on episode rows.
  • Import and History Correctness - Fixed Goodreads imports with decimal ratings, made per-item history show undated entries, and corrected Trakt rating imports that could invent status or progress. Blank Yamtrack statuses now remain blank instead of being upgraded into fictional certainty.
  • TV Provider Migration and Repair Tools - Added a background TMDB-to-TVDB migration path for tracked TV shows and a repair_local_only_seasons management command for repairing affected local season data without performing archaeology by hand.
  • Statistics and Home Reliability - Statistics now account for undated items and no-status buckets, order media categories consistently, and include the missing media-type hours cards. Also fixed a home-page crash affecting episode-tracked TV rows and several related collection/statistics edge cases.
  • Mobile and Public-Page Polish - Episode titles and season/episode switchers are now usable at narrow widths, multi-line Django comments no longer leak onto public pages, login sessions are handled more reliably, and episode tracking/modal visibility received targeted fixes.
  • Testing and Queue Hardening - Pull-request Ruff checks now report only changed-line violations while preserving a strict failure path, test runs no longer leak cache/logging state or depend on stale Celery results, and history-cache warming has been moved away from the interactive queue.
  • Safer Defaults and Small Integrations - Added DEMO_ACCOUNT_ENABLED so internet-exposed instances can disable the built-in demo login, surfaced Notifiarr as a supported notification service, and fixed media-list origin labels and other small integration/UI failures.

What's Changed

  • Add StoryGraph CSV import by @daften in #380
  • fix: show episode title and season/episode dropdowns at narrow widths by @VictorVow in #362
  • Gate ruff on changed lines so the test step can report by @daften in #391
  • WIP: Fix the failing and order-dependent tests by @daften in #392
  • Add DEMO_ACCOUNT_ENABLED to let users disable the built-in demo login by @dannyvfilms in #402
  • Fix 500 crash on home page for episode-tracked TV rows by @dannyvfilms in #401
  • Fix multi-line Django comments leaking as literal text by @dannyvfilms in #403
  • Fix statistics page gaps for undated entries, status buckets, and category ordering by @dannyvfilms in #404
  • Fix season/show collection cascade for partially-collected episodes by @dannyvfilms in #406
  • Add purchase price and location to collection entries by @dannyvfilms in #407

Known Issues:

  • Working to catch up on existing feature requests and bug reports. Please file issues if new features are not working as expected.

A Note About This Fork

I'm not a professional developer, just an enthusiastic fan using AI coding tools to add features I'd love to see! Given the scale of changes made to this fork, I will still regularly sync with the upstream project, but not every commit may be added so there is less chance of breaking things or double work. New syncs with FuzzyGrim/Yamtrack will be indicated above if they are included.

Docker Updates: You can pull the latest release version of the Docker container at any time. You don't need to wait for formal release announcements! These release notes are just a convenient way to highlight recent changes. Note that occasionally after pushing to latest, I may deploy a quick hotfix if I discover something on my Docker instance that didn't show up during dev testing.

Contributing: If you'd like to integrate any of these features into the upstream project, feel free! However, I won't be submitting PRs myself due to my skill level and past experiences.

Issues & Requests: Bug reports for fork-specific features are welcome here! For new feature ideas, please consider filing them with the [upstream project](https://github.com/FuzzyGrim/Yamtrack) first. If they adopt it, everyone benefits when I sync updates.

Thanks for understanding, and happy tracking!

Full Changelog: v26.7.23...v26.7.30