Releases: dannyvfilms/Floppy
Release list
v26.7.30
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_seasonsmanagement 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_ENABLEDso 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
v26.7.23
Changes since last release:
- MDBList Is Now a Full Library Importer - MDBList has moved beyond importing saved lists. It can now bring in watched history, watchlist entries, ratings, dropped shows, and collections, with importer coverage and tests wired into the existing integrations flow. This is the release for MDBList users to try it against real libraries and report the parts where reality has more opinions than the fixture data.
- Import Reliability and Data Safety - Import integrations now handle stored-credential decrypt failures gracefully instead of failing the whole flow, and recurring Trakt imports no longer recreate media a user deliberately removed. The fixes apply guardrails where automation was being a little too helpful.
- Jellyfin Sync Follow-Through - Fixed Jellyfin connections using Dashboard API keys, TVDB-tracked-show handling, and episode matching in watched-state push sync. Unmatched titles are also logged so a library mismatch leaves evidence instead of just quiet disappointment.
- Portable, Per-List CSV Workflows - Individual custom and smart lists can now be exported and imported as CSV, making it easier to move a specific list without taking the rest of the library along for the ride.
- API and Web-UI Reliability Fixes - The API accepts valid status values on media PATCH requests again, the OpenAPI schema now describes status, media type, and search parameters more accurately, and custom music-entry detail pages no longer throw 500 errors.
- Tracking and Collection Edge Cases - Restored the Track Episode modal in episode-list views and fixed CSRF failures when removing an item from a collection, including a safer degradation path when a session token has expired.
- Stremio and Discovery Improvements - The Stremio scrobbler is now connected to the Now Playing card, while Discover rows backed by external metadata can expose RSS feeds for users who prefer their recommendations in a format designed before every app needed a notification strategy.
- Deployment, Migration, and Dependency Hardening - Improved container boot-phase diagnostics, addressed Portainer SQLite bind-mount stalls on macOS Docker Desktop, fixed the PostgreSQL list migration transaction and batched its backfill, then added a pip-audit pre-commit check and updated vulnerable dependencies.
What's Changed
- Fix API rejecting valid status values on media PATCH by @dannyvfilms in #363
- Handle decrypt failures gracefully across import integrations by @dannyvfilms in #364
- Prevent deleted media from being recreated by imports by @dannyvfilms in #365
Known Issues:
- The expanded MDBList importer is ready for wider testing, but it needs feedback from varied libraries and combinations of watched history, watchlists, ratings, dropped entries, and collections before its edge cases can be considered fully domesticated.
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.16...v26.7.23
v26.7.16
Changes since last release:
- Stremio and MDBList Integrations - Added a Stremio library pull-sync and scrobbler addon, plus MDBList list imports with configurable sync frequency. Both integrations are now ready for real-world testing: the useful kind, where actual libraries discover all the assumptions development forgot to file in triplicate.
- Upstream REST API and MCP Server - Integrated the upstream REST API into the fork, then extended it through Yamtrack-specific media types and parity coverage for home, discovery, collections, lists, statistics, imports/exports, music, podcasts, history, metadata, episode actions, tags, settings, and task status. A bundled MCP server now exposes that API to agents and other compatible clients.
- Episode, Calendar, and History Improvements - Added an episode switcher on episode pages, created calendar events for TVDB-sourced shows, made direct completion correctly update related episodes, and expanded the History timeline to include books, comics, manga, and flat anime. History cache invalidation also now catches episode score changes.
- More Flexible Imports and Library Sync - Added Grouvee game imports, Trakt collection imports for owned copies, Jellyfin watched-state push sync, and collection-aware CSV backups. Episode quick-collect rounds out the collection workflow with a faster path for episodic media.
- Search, Home, and List Polish - Added tracked-item autocomplete search, sidebar media-type ordering, game-platform sorting, cleaner multi-line titles, more reliable list-author truncation, and a unified episode tracking modal. Podcast library cards and home rows also received visual and progress-display fixes.
- Music Artist Detail Improvements - Finished the band-member sync path, added artist-detail sections with shared media-card styling and artwork fallback behavior, and corrected the import-data wiki links that were sending users on an unnecessary archaeological expedition.
- Deployment, Testing, and Performance Hardening - Added a documented one-stack Unraid/Portainer deployment route, a tiered test workflow with a fast default suite, and fixes for stale Postgres connections, Gunicorn fork behavior, login-session persistence, and pool exhaustion that could surface as 504s under gthread concurrency.
- Metadata and Settings Reliability - Hardened metadata-dependent paths against missing provider data, fixed stale provider configuration, corrected episode-runtime prefill for wrapped list entries, restored user-tag loading in integrations settings, and fixed preference saves that could fail silently.
What's Changed
- Fix misplaced titles and hidden hover ring by @elemated in #319
- Add episode switcher dropdown to episode detail pages by @VictorVow in #331
- Fix completion fan-out when tracking a show/season/anime directly as Completed by @VictorVow in #332
- Fix History cache invalidation gaps for episode scores and reading/flat-anime types by @VictorVow in #333
- Create episode events for TVDB-sourced TV shows by @VictorVow in #334
- Fix podcast library view visual bugs and add podcast episode progress to Home by @elemated in #336
- Propagate the misplaced-title fix across remaining views by @elemated in #338
- Add autocomplete search for tracked items by @elemated in #339
- Fix broken wiki links on the import-data page by @dannyvfilms in #343
- Fix band-member sync by @dannyvfilms in #344
- Fix Postgres pool exhaustion causing 504s under gthread concurrency by @dannyvfilms in #346
Known Issues:
- Stremio and MDBList are ready for testing, but neither has had enough varied real-library traffic to call their edge cases fully domesticated.
- The API and MCP surface now covers the fork broadly, including Yamtrack-specific media types, but external-client and authentication-path testing should continue before anyone treats it as an infallible oracle.
- The new sync paths, especially Jellyfin watched-state push and collection-oriented imports, need feedback from libraries with less cooperative metadata than the one used during development.
- The faster test suite improves the normal feedback loop; it does not absolve the larger integration suite of its duties. Software remains committed to consequences.
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.9...v26.7.16
v26.7.9
Changes since last release:
- Episode Navigation and Air-Date Reliability - Next Episode now behaves more consistently for flat anime pages and untracked upcoming seasons, episode titles link correctly on flat MAL pages, and Home sorting can use available TVMaze air dates instead of making the schedule guess at reality (credit to @VictorVow and @elemated).
- Season Tracking Self-Healing - Fixed several overlapping season/episode identity failures: bucket collisions during metadata sync, missing or malformed TVDB season numbers, duplicate Season items from episode-level provider IDs, and rewatch progress stalling at skipped episodes. The remaining duplicate-season path now resolves itself instead of preserving the mistake as a lifestyle choice.
- Import and Scrobble Resilience - Hardened Plex history/scrobble handling when provider lookups are incomplete, made Trakt imports tolerate 405 responses from ratings/watchlist endpoints, and prevented private MAL anime or manga lists from crashing imports.
- Music, Lists, and Progress Tracking Improvements - Added MusicBrainz band-member sync, introduced a lists-only CSV export plus an import template with actual sample content, and made quick-progress controls for books, comics, and manga track percentage-based progress.
- Better Discovery and Taste Signals - Expanded discovery taste profiling, widened the Top Picks candidate pool with additional trust safeguards, and moved discovery work into its own Celery queue so recurring imports have clearer priority behavior (credit to @nakenyon).
- Game Tracking Improvements - Implemented the next round of game-tracking improvements, alongside fixes that make related progress and metadata paths behave more predictably.
- Statistics Filtering and Sorting Polish - Taste Signals genre/decade panels are now sortable, Studio Footprint has a sort control, media-type filtering is tighter, and the statistics cards received a compact layout pass so more of the dashboard is visible without unnecessary vertical wandering.
- Home, Browse, and Playback Fixes - Corrected a missing podcast subtitle on hover, fixed Browse buttons using a hardcoded default search, blurred episode descriptions alongside blurred posters, and cleaned up remaining UI rendering issues including literal Django comment tags.
- Faster Heavy Pages - Converted several expensive page paths into fast shells with asynchronous HTMX fragments, removed UI-blocking requests from playback cards, statistics, health, and Gunicorn paths, and documented the relevant
WEB_CONCURRENCY,GUNICORN_THREADS, andDEBUGsettings.
What's Changed
- fix(home): sort shows by air date when next episode opens an untracked season by @VictorVow in #308
- fix(details): link episode titles on flat MAL anime pages by @VictorVow in #309
- fix(home): show Next ep button for flat anime and untracked next seasons by @VictorVow in #310
- Fix errant dates for some TV seasons by @elemated in #312
- Fix regression related to season number mismatches by @elemated in #315
- Fix missing subtitle on podcast hover by @elemated in #318
- Add dedicated discover celery queue and bump recurring import priority by @nakenyon in #321
Known Issues:
- MusicBrainz band-member sync is incomplete and needs additional testing.
- One or two portions of the statistics page still need to be updated to the new design layouts.
- Heavy pages should return control to the browser much faster, but several opportunities still exist to improve page loads.
- No feedback has been provided for gPodder, Kodi, or Storyteller. I hope to assume that's a good thing until issues are filed.
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 first—if they adopt it, everyone benefits when I sync updates.
Thanks for understanding, and happy tracking!
Full Changelog: v26.7.2...v26.7.9
v26.7.2
Changes since last release:
- Statistics Dashboard Overhaul - Rebuilt the statistics experience into a much richer, filter-aware dashboard with a stronger hero section, media-type filtering, cleaner comparison messaging, and a more interactive layout instead of the older mostly static per-section view.
- New Statistics Discovery Panels - Added Activity Rhythm, a redesigned Hours by Media Type / “Time Across Your Worlds” breakdown, combined hours charts, filterable status/rating donut cards, and a consolidated consumption row so the page feels more like an actual analytics surface and less like several unrelated charts sharing a room.
- Cast, Crew, Studio, and Taste Signals Expansion - Statistics now surface Featured Repeat Player, Role Leaders, Studio Footprint, Taste Signals, Era Spotlight, and Collection Mix, with talent rollups expanded enough to feel like a real library-profile feature rather than a small sidebar experiment.
- Game Credits in Talent Statistics - Brought IMDb game credits and game studios into the talent/studio pipeline, which materially broadens who shows up in the rankings and makes the statistics page reflect more of the actual Yamtrack library instead of politely ignoring one of its louder categories.
- Faster Statistics Regeneration - Continued the performance work with a focused statistics regeneration speedup, plus follow-up documentation, so rebuilding the heavier analytics path should be less of a ritual sacrifice.
- Music Home Row Fixes and Artwork Loading - Fixed music home row sizing/query behavior and moved artwork loading toward lazy HTMX polling so those rows behave more like the rest of the home screen instead of wandering off operationally.
- Metadata / Scrobble Reliability Fixes - Fixed an
Item.MultipleObjectsReturnedcrash during metadata sync and merged a Plex scrobble fix for duplicate seasons, tightening two failure modes that were doing unnecessary improvisation in production. - Contributor Workflow Tightening - Added an issue-title quality gate workflow and template-prefix guidance to make incoming issue hygiene a little less dependent on hope.
What's Changed
Known Issues:
- One or two statistics categories have not been migrated over to the new design. I worked on this exclusively for a week, and this was as far as I got.
- I didn't work on any open issues over the past week while implementing this redesign, so I will work to catch up on bug reports and feature requests quickly.
- The statistics rewrite touched cache behavior, filtering, rollups, and regeneration paths in several places, so I would still expect at least one edge case to emerge once more people start poking it with sticks.
- The expanded talent/game-credit work likely improved coverage a lot, but it also widened the blast radius for odd metadata from providers.
- New integrations for gPodder and Kodi needs testing. I do not have those platforms.
- Storyteller still needs broader real-world testing beyond the initial integration and follow-up fixes.
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.6.25...v26.7.2
v26.6.25
Changes since last release:
- Storyteller Integration - Added a new Storyteller integration, then followed it with fixes for doubled recurring tasks and some auth-flow UI cleanup.
- Music on the Home Screen - Albums and artists can now be added to home rows; music home-row links persist status correctly, and related album shell/UI regressions were cleaned up (credit to @elemated).
- Episode Page and Next-Episode Flow Fixes - The Home “Next ep” button now opens the correct episode page, Mark Watched updates in place, and episode ratings show immediately after scoring (credit to @VictorVow).
- Statistics Preferences and Anime Split Controls - Added a floating statistics preferences modal, moved several stats options out of Settings, added a TVDB anime stats split preference, and fixed cached-range handling for that split.
- Reading / Genre Healing Reliability - Fixed a reading-detail NameError, made manual refresh run genre healing synchronously, and hardened stale TVDB / IMDb healing so bad provider state is more likely to repair itself instead of lingering.
- Person Page Improvements - Added a Votes sort on filmography pages, fixed department filtering when one person has multiple roles on the same title, and cleaned up the filmography rating-chip styling.
- Performance and Refactor Passes - Continued reducing query load on home/settings and list views, while splitting more oversized modules into focused packages for statistics, history cache, lists, and integrations task handling.
- UI Polish and Card Overlay Fixes - Tightened the mobile track modal layout, fixed media-card overlay display issues, and smoothed a few remaining rough edges across detail fragments.
- Crash and Edge-Case Fixes - Fixed the
Season.MultipleObjectsReturnedcrash onepisode_saveand repaired a few cache/reset edge cases around statistics refreshes. - Contributor Workflow Improvements - Added a
CONTRIBUTING.mdwith PR guidelines and agent expectations so outside contributions have a clearer path.
What's Changed
- Fix NameError in detail secondary fragment when syncing reading genres by @VictorVow in #287
- fix: navigate to episode page from Home "Next ep" button by @VictorVow in #289
- fix(episode-page): update Mark Watched & rating in place, stop leaking template comments by @VictorVow in #290
- Add new Storyteller integration by @elemated in #292
- Add support for albums/artists on home screen by @elemated in #293
- Fix media card display overlay issues by @elemated in #297
New Contributors
- @VictorVow made their first contribution in #287
Known Issues:
- New integrations for gPodder and Kodi needs testing. I do not have those platforms.
- Storyteller still needs broader real-world testing beyond the initial integration and follow-up fixes.
- The statistics/anime split work touched cache behavior in several places, so I would not be surprised if one more edge case crawls out of the walls.
- I am still working through older filed issues while trying not to generate an equal and opposite bug report field.
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 first—if they adopt it, everyone benefits when I sync updates.
Thanks for understanding, and happy tracking!
Full Changelog: v26.6.18...v26.6.25
v26.6.18
Changes since last release:
- Comic Issue Tracking Improvements - Added a comic issue subview on the media list, fixed comic issue modal/calendar behavior
- GPodder Podcast Import - Added GPodder as a new podcast import source
- Kodi Webhook Integration - Added Kodi support through the HTTP Scrobbler webhook path
- Interactive Performance and Queueing - Added slow-request logging and query-count regression pins; moved media-server webhook processing off the request path; batched episode runtime aggregation; deferred smart-list membership sync off GET requests; made backfill loops yield to interactive work; partitioned the global API rate limiter by process role; and did a benchmark-driven pass on interactive page loads
- Import and Scrobble Reliability - Fixed duplicate/mismatched item crashes during Yamtrack import; hardened
ItemProviderLinkupserts against race conditions during concurrent Plex imports; improved webhook scrobble routing so provider matches reuse the existing tracked item; and fixed Trakt / TV episode bucket edge cases (credit to @daften) - Anime and Plex Import Fixes - Improved Plex anime routing, episode remapping, score/identity handling, and skipped malformed AniBridge MAL descriptors instead of letting bad descriptors poison the import flow
- Detail, Person, and Recommendation Page Improvements - Season detail pages now populate cast and recommendations; related-card and cast-card navigation issues caused by
hx-boostwere fixed; person detail pages now use shared filter toolbar components and derive filters from watched items; watched content was restored ahead of filmography; blank recommendation cards were fixed; and TV creator / crew ordering was cleaned up - Navigation and UI Polish - Added previous/next scroll buttons to horizontal rows; added a visible no-status badge for untracked cards; fixed detail metadata sync redirects; made manual sync respect the preferred metadata provider; fixed the season sync button clearing the wrong cache key; and cleaned up the Integrations page filter bar, nesting, and copy
- Import Debugging Improvements - Failed import history cards now show copyable tracebacks, and debug-toolbar assets can be loaded from
<head>behind the settings flag when needed during development - Music Metadata Fixes - Fixed multi-artist album credits display and discography sync behavior
What's Changed
- Fix homepage card navigation broken by
hx-boostinheriting scrollable row HTMX target by @nakenyon in #270 - fix(trakt): tolerate episodes existing under multiple library buckets by @daften in #280
- fix(tv): bucket episodes correctly + clean up stray ('episode','season') items (builds on #280) by @daften in #281
New Contributors
Known Issues:
- gPodder and Kodi needs testing. I do not have those platforms.
- I need to find a real mouse to see how Plex handles horizontally scrolling rows. I have lived with trackpads for too long.
- Jellyfin and Emby likely benefited from some of the webhook/import queueing work, but they may still need more direct cleanup and documentation.
- I am still working through older filed issues while trying not to create three new ones for every two I close.
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 first—if they adopt it, everyone benefits when I sync updates.
Thanks for understanding, and happy tracking!
Full Changelog: v26.6.11...v26.6.18
v26.6.11
Changes since last release:
- Faster Navigation - Sidebar links and settings/media detail pages now navigate without full page reloads using boosted HTMX navigation; pages feel significantly snappier throughout
- Series Graph on Rating Chips - Hover over provider rating chips on TV show detail pages to see a full episode-by-episode rating grid across all seasons, color-coded by score
- Progress Bars on Posters (credit to @elemated) - Currently playing and paused media now show a progress bar on their poster cards so you can see where you left off at a glance
- Customizable Home Screen Rows (credit to @elemated) - Rename your home screen rows to whatever makes sense to you; toggle media-type headers on or off; row titles are now clickable
- Music List Subview Switcher - Switch between Artists, Albums, and Tracks views directly from the music list page
- Per-Track Ratings on Albums - Rate individual tracks from the album detail page
- Music Artist/Album CSV Export & Import - Back up and restore your artist and album tracking data via CSV
- Multi-Artist Album Support - Albums with multiple credited artists now handled correctly
- Implied Music Genres - Music genres now inferred from artist and album metadata for better statistics
- Plex Import Fixes - Fixed anime routing, TV/anime separation, and false watched entries during import; resolved item lookup ambiguity
- Audiobookshelf Improvements - Fixed cover URL loading, completed book progress tracking, and progress display; actual listened time now preserved and stale covers backfilled
- Bug Fixes - Fixed overwrite import permanently deleting media when TMDB lookup fails; fixed album art not loading until artist added; fixed duplicate Unknown album on search add; fixed game start date regenerating after user clears it; fixed season status reverting to Completed during rewatch; fixed per-track rating buttons not appearing after first play; fixed WSGI worker blocking during bulk episode tracking; fixed CSV import duplicate episode errors; fixed public list cards inaccessible to anonymous users; fixed albums with symbol-only titles causing URL errors; fixed periodic imports and CSV imports missing from import history
- MAL Import Improvement - MAL importer now respects localized title preferences during import
What's Changed
- Home screen: add support for renaming rows and add toggle for media-type headers by @elemated in #240
- Add progress bars to posters for currently playing and paused media by @elemated in #253
New Contributors
Known Issues:
- Anime tracking is slowly improving thanks to a few more bug reports to tighten up the behavior
- Jellyfin and Emby inherited some features from Plex that hopefully improve the experience, but may still need more work
- I somehow got up to 21 active issues yesterday. Thank you for the feedback, bug reports, and suggestions! I'm working my way through those issues, and in some cases am waiting for feedback before closing them.
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 first—if they adopt it, everyone benefits when I sync updates.
Thanks for understanding, and happy tracking!
Full Changelog: v26.6.4...v26.6.11
v26.6.4
Changes since last release:
- Anime Tracking Improvements - Continued polish on the anime tracking overhaul from the last release; per-episode TVDB translations fetch English anime episode names; anime seasons now excluded from the TV Seasons view to reduce clutter; TVDB cache refreshed to pick up new translations
- Drop Episode Feature - Skip an episode to advance your progress without adding it to your watch history; useful for recap episodes or content you want to skip
- Statistics Duration Format Preference - Choose how time durations are displayed on the statistics page (hours, minutes, etc.)
- Statistics Comparison Mode - New preference to toggle comparison mode across statistics views
- Anime Statistics - Anime activity now has its own overview section; grouped anime (TMDB/TVDB) properly counted as anime in statistics calculations
- List Page Performance - List card cover images now lazy-load via HTMX so the page renders immediately without waiting for artwork
- Condensed Media Details Panel - Tightened up the collection entry display and details panel layout
- Docker Improvements - Secret key is now auto-generated if not set in environment; improved startup error messages with actionable fix commands; restored wildcard ALLOWED_HOSTS default for container deployments
- Security - Added secret scanning pre-commit hook and detect-secrets baseline; hardened settings defaults
- Code Quality - Major modularization pass: split
statistics.py(−1,764 lines),history_cache.py(−846 lines),tasks.py(−1,927 lines),lists/views.py(−1,343 lines), andapp/models.pyinto focused submodules for long-term maintainability - Podcast Fix (credit to @nakenyon) - Fixed AttributeError caused by incorrect timezone reference in podcast details
- Bug Fixes - Fixed NameError imports across several newly extracted modules; resolved SQLite race condition on get_or_create; fixed statistics refresh reliability and static asset loading; fixed anime season collection lookup returning multiple objects
What's Changed
- Fix AttributeError: django.utils.timezone has no attribute 'utc' in podcast details by @nakenyon in #228
Known Issues:
- Anime tracking has seen significant improvements across the last two releases but may still have edge cases — please report anything unexpected
- Documentation and structure in Jellyfin needs to be improved (existing issues need to be consolidated)
- Still churning through older filed issues
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 first—if they adopt it, everyone benefits when I sync updates.
Thanks for understanding, and happy tracking!
Full Changelog: v26.5.28...v26.6.4
v26.5.28
Changes since last release:
- Anime Tracking Overhaul - Anime seasons and episodes are now tracked separately from TV, with dedicated URL routes, proper Plex scrobble routing, anibridge webhook matching, and inline episode lists on anime show detail pages; Format row now correctly shows "Anime" instead of "TV"
- Live UI Updates - Home row cards now disappear immediately when you change a status, and star ratings update in place on save — no more manual reloads after making changes
- Episode Spoiler Blur - New inline toggle to blur episode descriptions until you choose to reveal them (upstream sync)
- Session Duration Preference (upstream sync, credit to @marph91) - New UI preference to configure your auto-login session duration
- Configurable Week Start Day (upstream sync, FuzzyGrim#1364, credit to @ndemir) - Choose which day your activity calendar week starts on
- EU Long Date Format (upstream sync, credit to @andrebk) - New date format option displaying dates as "18 Jan, 2026"
- Statistics Date Formats (upstream sync) - Statistics page now derives its date display from your personal date format preference
- Bulk Play Performance - Bulk episode and music play submissions now dispatch as background tasks and close the modal immediately instead of making you wait
- Code Quality Improvements - Significant file size reductions:
views.pycut from 6,497 to 1,354 lines;discover/service.pycut from 6,905 to 2,144 lines via extracted focused modules - Upstream Syncs - Pulled in several upstream fixes: Hardcover search query length cap; Goodreads import error warnings (FuzzyGrim#1362); fakeredis implementation fix; untracked old seasons from migration (FuzzyGrim#1348); missing item image refresh on detail pages (FuzzyGrim#1432)
- Bug Fixes - Fixed statistics refresh reliability and top-50 card limits (#213); fixed import settings dropdowns not persisting (#216); fixed stale TV sort cache and pickle safety (#215, #217); fixed Trakt 405 errors on hidden endpoints now fetching both progress sections (#219); fixed date input calendar icon accessibility (#218); fixed Docker collectstatic broken by RedisBucket kwarg rename; fixed 500 on TV detail pages for untracked shows; fixed delete redirect landing on unstyled fragment page; Plex IN_PROGRESS now writes on stop/scrobble instead of play/resume
What's Changed
No external PRs this release.
Known Issues:
- Anime tracking has seen major improvements this release but may still have edge cases — please report anything unexpected
- Documentation and structure in Jellyfin needs to be improved (existing issues need to be consolidated)
- Still churning through older filed issues
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.5.21...v26.5.28