Changes since last release:
-
Floppy’s library is becoming one system, not a collection of lookalikes — Media lists, smart lists, Home shelves, and the media-list API now share a query engine for membership, filtering, sorting, and pagination. That means more consistent results and one documented, tested place to extend list behavior as new surfaces arrive.
-
Poster grids now follow one declared card contract — A shared media-card component replaces a patchwork of separate grid templates, while each surface’s intentional differences are declared in one place. Collection and list-recommendation cards now show the viewer’s rating and status consistently, with fewer opportunities for the same card to quietly become several different cards.
-
Save the library views you actually use — Name and save a media list’s filters, sort, and layout; reopen it from the sidebar; then reorder or delete it. The regular media-type link also remembers your last-used filters.
-
Search now includes what you collected, not only what you track — Library search and autocomplete find collection-only items, avoid showing the same item twice, and lead from a collected episode to its show.
-
TV ratings and finished-anime progress use better evidence — TV and season pages can derive ratings from completed episode ratings without counting rewatches twice, while respecting your chosen rating scale. Finished anime can use the provider’s episode count even before calendar events exist.
-
Automatic syncs stop overruling your tracking choices — Imports, provider syncs, and scheduled jobs preserve user-set Paused or Dropped states and deleted-show tombstones. A show is marked Completed only when production status provides positive evidence; status changes also carry clearer reasons.
-
Playback integrations now share the same write rules — Play, resume, and pause events update Now Playing without repeatedly writing watch records; a qualifying stop records the watch. Jellyfin’s watched checkmark now syncs, and playback-webhook delivery works from Celery workers.
-
Background work does less needless rebuilding — Statistics refreshes can resume as smaller jobs, cache invalidation is scoped to the changes that matter, routine GPodder polls avoid a library-wide catch-up, and cold backdrops are warmed outside request paths and the interactive worker.
-
Large imports carry less dead weight — Import preloads defer large fields that are not needed to match library items. In a 600-row benchmark with 32 KiB payloads, peak memory fell from about 51 MiB to 2.5 MiB.
-
Self-hosted installs get clearer failure clues — Published Compose stacks now share the network their services expect, and Redis diagnostics explain common DNS, connection-refused, and timeout failures. Owner auto-merge was also corrected to wait for CI instead of merging early.
-
Metadata and everyday controls got another careful pass — Plex matching, Hardcover edition covers, MAL title fallbacks, Home menus and poster actions, installed-app static files, and translatable interface text all received fixes or improvements.
-
Comics and migration workflows widen Floppy’s front door — Mylar3 can sync owned comic issues and annuals into Collection on a schedule. WeTrakr ZIP or CSV exports now bring watch history, original dates, lists, ratings, notes, and statuses into Floppy; re-imports do not duplicate plays.
My clanker forgot to write a joke about its personality leaking into the release notes. So now we know what I worked on this week.
What's Changed
- Added more translatable strings by @BanCrash in #1220
- Fix playback webhook never delivering from Celery workers by @elemated in #1225
- More translatable strings by @BanCrash in #1253
- feat(ratings): add derived TV and season scores by @ghub-priv in #1237
- Stop syncs from undoing user-set show status; integrate @daften's #1035–#1041 by @dannyvfilms in #1266
- Put every published stack on a shared network, and name unreachable Redis by @dannyvfilms in #1276
- Never fetch backdrop artwork on request paths or the interactive worker by @dannyvfilms in #1275
- One shared webhook write rule; sync Jellyfin's watched checkmark by @dannyvfilms in #1277
- Bug/876 wrong matches by @luke-ingle in #1264
- Fix Home settings menus and poster action dialogs by @PreciselyWrong in #1268
- Defer heavy item columns in import preload to fix memory bloat by @dannyvfilms in #1285
- Show the selected Hardcover edition cover on the item detail view by @dannyvfilms in #1283
- Fix cache invalidation for podcast history and statistics by @dannyvfilms in #1282
- Store anime episode count and use for finished series by @dannyvfilms in #1284
- Use MAL synonyms when the English title is blank by @dannyvfilms in #1286
- Auto-merge the repository owner's pull requests by @dannyvfilms in #1290
- Include collected items in library search results by @dannyvfilms in #1291
- Fix TV show completion logic to respect production status by @dannyvfilms in #1289
- Show rating and status on Collection and list recommendation cards by @dannyvfilms in #1288
- Add saved views to the sidebar by @dannyvfilms in #1293
- Stop owner auto-merge from merging PRs before CI by @dannyvfilms in #1294
- Sync owned comics from Mylar3 by @dannyvfilms in #1295
- Import WeTrakr data exports by @dannyvfilms in #1296
- Fix CLZ comics exports importing as movies by @dannyvfilms in #1297
- Sync items marked watched by hand in Plex by @dannyvfilms in #1301
- Support Navidrome scrobbling via the ListenBrainz endpoint by @dannyvfilms in #1298
New Contributors
- @BanCrash made their first contribution in #1220
- @ghub-priv made their first contribution in #1237
- @luke-ingle made their first contribution in #1264
Known Issues:
- I put a lot of focus into reducing bugs on the issue tracker before working on feature requests, so I'll be catching up on those.
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 — @BanCrash, @ghub-priv, and @luke-ingle — plus @elemated, @PreciselyWrong, and 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.17...v26.9.24