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