Changes since last release:
-
Collections are easier to shape around what you own — Group the Collection page by media type, filter by location, and search, filter, or sort using your own custom fields.
-
History is easier to return to and read — Save History views with their media types, date range, layout, and genres; the activity history also follows the chosen media-type filter, with clearer month labels.
-
Movie release dates now go beyond the theater — The calendar can include theatrical, digital, and physical release dates for your region. Calendar exports and the date picker have matching options.
-
Reading progress can sync from more of your library — Connect Hardcover through its official API, or have Floppy read book/comic progress from Komga and Kavita. Those two connections are read-only, and Floppy keeps statuses you set yourself instead of silently replacing them.
-
MangaBaka joins the manga source list — Search and track MangaBaka series alongside the existing sources; MyAnimeList remains the default, so current entries are unchanged. Thanks @smasher6081!
-
Episode fixes are more guided—and reversible — The redesigned Fix Match and episode-ordering reviews show suggested destinations and missing choices before applying changes, and the latest ordering change can be undone.
-
TV tracking can move between providers per show — Preview a TMDB/TVDB match before moving tracked episodes, notes, ratings, and status; Floppy warns when the destination is missing something you track.
-
Podcast Home shelves can show the whole show — Choose one card per podcast show or keep the episode-by-episode shelf.
-
Comic collectors get more sources and ownership sync — With your own Grand Comics Database account connected, browse series and issues from GCD; Kapowarr can also sync owned issues into Collection.
-
SIMKL connections support the new and old authorization versions — New SIMKL apps can connect with AUTH V2, while existing V1 apps remain supported.
-
Slow pages and background work got a reliability pass — Several high-traffic routes do less repeated work, slow providers are less able to hold up requests, and integration fixes cover Trakt token refresh, Jellyfin webhook titles, and more.
What's Changed
- Guard self-hosted integration requests without blocking home networks by @dannyvfilms in #1303
- Show OpenCritic critic scores on game pages by @dannyvfilms in #1300
- Return the real episode name in the API's next_episode by @dannyvfilms in #1299
- Store Jellyfin and Plex episode ratings on the episode by @dannyvfilms in #1302
- Record when a score was set (scored_at) by @dannyvfilms in #1308
- Stop the startup database check timing out on healthy large databases by @dannyvfilms in #1309
- Handle an unresponsive Audiobookshelf server cleanly by @dannyvfilms in #1310
- Sync owned comics from Kapowarr by @dannyvfilms in #1325
- Batch next-episode cache reads and fix season-row placeholders by @dannyvfilms in #1326
- Merge owner PRs marked ready after their checks already passed by @dannyvfilms in #1304
- Fix 500 when a title is "/" (e.g. Person of Interest S03E17) by @dannyvfilms in #1327
- Merge the derived episode rating into the season/show rating chip by @dannyvfilms in #1329
- Label the derived rating on the rating chip for screen readers by @dannyvfilms in #1333
- Let status changes on synced books stick by @dannyvfilms in #1330
- Keep Audiobookshelf and Plex covers when the server is slow or offline by @dannyvfilms in #1336
- Require SIMKL credentials before starting the OAuth flow by @dannyvfilms in #1328
- Page-load performance pass driven by production slow_request logs by @dannyvfilms in #1337
- Add the full filter menu to custom list pages by @dannyvfilms in #1331
- Use one filter parser for the media list, API and list pages by @dannyvfilms in #1332
- Skip already-alerted releases in the daily digest by @dannyvfilms in #1341
- Rename German "In Bearbeitung" status to "Laufend" by @dannyvfilms in #1342
- Fix Trakt token refresh and Plex cover URLs in Celery workers by @dannyvfilms in #1343
- Default untracked media to Planning in the tracker by @dannyvfilms in #1346
- Let Statistics combine several media types by @dannyvfilms in #1347
- Let file uploads import once regardless of Import Frequency by @dannyvfilms in #1345
- Mark smart lists with a bolt badge on list cards by @dannyvfilms in #1344
- Stop filing Jellyfin/Emby episodes under a show that shares their TVDB id by @dannyvfilms in #1349
- Add Grand Comics Database as a comic metadata source by @dannyvfilms in #1340
- fix(carousel): route photos through image cache and fix thumbnail overflow navigation by @GlebYes in #1338
- Connect SIMKL through AUTH V2, keeping V1 apps working by @Kisnov in #1352
- Rate an item from its card by @dannyvfilms in #1348
- Allow cancelling queued imports from Import History by @dannyvfilms in #1353
- Link provider rating chips to their source pages by @dannyvfilms in #1354
- Show all tagged entries when following a tag link by @dannyvfilms in #1355
- Add Komga reading progress sync for books and comics by @dannyvfilms in #1356
- Load Stremio catalog status after the Integrations page paints by @dannyvfilms in #1358
- Remove a committed database dump and ignore future ones by @dannyvfilms in #1360
- Show where a slow request spent its time by @dannyvfilms in #1359
- Add Source column to the media list by @dannyvfilms in #1357
- Stop repeated Pocket Casts catalog rewrites and MusicBrainz calendar lookups by @dannyvfilms in #1361
- Match recurring import tasks by exact user id by @dannyvfilms in #1362
- Cut query counts on four slow routes from the production audit by @dannyvfilms in #1363
- Production audit fixes: Trakt import, provider-miss 500s, SQLite lock failures, log volume by @dannyvfilms in #1364
- Cut repeated History, Statistics and Discover background work by @dannyvfilms in #1365
- Stop the music artist page running a query per album by @dannyvfilms in #1366
- Load the calendar's active shows once, with only the columns it needs by @dannyvfilms in #1367
- Stop a hung provider from holding a thread for minutes by @dannyvfilms in #1368
- Remember items with no release date instead of asking the provider every view by @dannyvfilms in #1369
- Home podcast shelves list shows, with a Shows/Episodes choice by @dannyvfilms in #1381
- Fix Books/Comics/Manga Finished statistics counting reading days by @dannyvfilms in #1383
- Suggest episode destinations and allow undoing an episode ordering change by @dannyvfilms in #1394
- Stop collecting a game from creating a Planning entry by @dannyvfilms in #1388
- Fix empty Select Items menus on list pages by @dannyvfilms in #1389
- Rebuild the episode ordering flow with the app's standard components by @dannyvfilms in #1397
- Add MangaBaka as a manga metadata source by @dannyvfilms in #1396
- Move tracking between TMDB and TVDB per show by @dannyvfilms in #1398
- Keep the saved End date when editing an album by @dannyvfilms in #1382
- Keep Home podcast show cards in step with the show by @dannyvfilms in #1392
- Add Kavita reading progress sync by @dannyvfilms in #1390
- Add a Location filter to the Collection page by @dannyvfilms in #1391
- Fix 500 when adding a No Status card to the tracker by @dannyvfilms in #1384
- Decode HTML entities in Jellyfin webhook titles by @dannyvfilms in #1401
- Add saved views to the History page by @dannyvfilms in #1393
- Rebuild Fix Match with a numbering review and TVDB matching by @dannyvfilms in #1400
- Ask for UI screenshots in the PR template by @dannyvfilms in #1403
- Ask to move or leave tracked TV shows when switching provider by @dannyvfilms in #1402
- Improve Spanish translations by @Jaumoso in #1399
- Add Hardcover account sync through the official API by @dannyvfilms in #1395
- Merge the two users 0138 migrations on latest by @dannyvfilms in #1405
- Search, filter and sort the Collection page by custom fields by @dannyvfilms in #1411
- Put older months on the left of the History month bar by @dannyvfilms in #1414
- Fix Trakt private import failing with 400 at token refresh by @dannyvfilms in #1413
- Add digital and physical movie release dates to the calendar by @dannyvfilms in #1406
- Group the Collection page by media type by @dannyvfilms in #1416
- Pin the NuvioTV scrobble contract and document it by @dannyvfilms in #1412
- Make Activity History follow the media-type filter by @dannyvfilms in #1417
- Align Activity History month labels with day columns by @dannyvfilms in #1418
- Collapse the settings menu and tidy Home row filters on phones by @dannyvfilms in #1419
- Show Radarr, Sonarr and Seerr details in the track modal Collection tab by @dannyvfilms in #1407
- Request movies and seasons in Seerr from detail pages by @cbrunie in #1306
- Add an "All" search type that searches the whole library by @dannyvfilms in #1386
- Add Show Discover and Recommendations settings by @dannyvfilms in #1385
New Contributors
- @GlebYes made their first contribution in #1338
- @Kisnov made their first contribution in #1352
- @Jaumoso made their first contribution in #1399
- @cbrunie made their first contribution in #1306
A Note About Floppy
I'm still not a professional developer; I'm an enthusiastic maintainer using AI coding tools to build the media tracker I want to use. Floppy is a standalone project based on the incredible work of FuzzyGrim/Yamtrack, independently maintained and supported by @dannyvfilms. Yamtrack import and documented compatibility paths remain supported, but users install Floppy directly rather than treating an upstream container replacement as a migration plan.
Docker Updates: You can pull the canonical Floppy image at any time:
ghcr.io/dannyvfilms/floppy:latest
The legacy ghcr.io/dannyvfilms/yamtrack:latest image path remains available during the transition for existing Floppy installations. Please use the supported import path when moving data from upstream Yamtrack, preserve the original database, and test on a copy first. A container image swap is a one-way migration, so if you are coming from upstream Yamtrack test in parallel and import your data. Changing your container image runs migrations you cannot roll back.
Contributing: Floppy-specific bug reports, feature requests, integration ideas, and pull requests are welcome in this repository. Thanks to this week's first-time contributors — @GlebYes, @Kisnov, @cbrunie, and @Jaumoso — plus everyone who reported problems or helped surface the edges that needed repair.
If you have time to help answer questions in the Discord, that would be appreciated. I’ll try to be active there, but GitHub is still keeping most of my attention, so additional support from contributors will help. There's also an extremely underdeveloped Website if anybody wants to share the project.
Thanks for understanding, and happy tracking!
Full Changelog: v26.9.24...v26.10.1