github dannyvfilms/Floppy v26.8.6

3 hours ago
ChatGPT Image Aug 5, 2026 at 08_12_48 PM

Changes since last release:

  • Floppy is now a project with its own deployment identity - The application, README, documentation, favicons, container publishing, and migration messaging now use Floppy as the canonical product identity while retaining the Yamtrack compatibility paths that existing installations need. This release also adds the Unraid Community Apps template and repository profile, bootstraps the Floppy GHCR package, and keeps the transition from becoming a small naming exercise with a database casualty.
  • Trakt imports caught up with Trakt - Added support for Trakt's ZIP/JSON data export, fixed duplicate media rows during bulk imports, preserved episode titles correctly, and made missing API keys, invalid TMDB keys, provider failures, and re-import paths fail more cleanly. The integration is now better prepared for the service's post-VIP API changes and less inclined to turn an export into a second library.
  • Audiobookshelf now tracks podcast listening - Audiobookshelf podcast episode progress can now flow into Floppy alongside existing book imports. Publication dates and ISBN-less audiobook records are handled more accurately, so healthy books stop being rediscovered as repair projects every sync.
  • More playback and scrobbling routes - Added Jellyfin MarkPlayed/MarkUnplayed webhooks, a global Seerr webhook endpoint for multi-user households, bidirectional playback-progress APIs for resume synchronization, Koito and ListenBrainz-compatible music integrations, and fixes for webhook retry behavior. Floppy now has more ways to learn what happened without requiring the user to submit a sworn statement afterward.
  • StoryGraph imports are safer and more complete - Corrected read-date timezone handling, indexed reading and flat-anime history, added duplicate cleanup for existing libraries, improved provider matching, and gave split volumes their own book records. StoryGraph imports should now preserve more of the source library while inventing less of it.
  • Lists, tables, filters, and discovery received a substantial usability pass - Added multi-select status and tag filters, list-detail status filtering and sorting, Genres/Tags/Platform table columns, clickable genre filters, multi-select history media types, a streaming-service filter for Home and Smart Lists, Random Home sorting, and better Discover handling for Music and Podcasts.
  • Tracking, collections, and metadata are less fragile - Season and show collection state now remains visible in the season modal, comic collection data can be recorded per issue, episode progress handles missing dates and bulk-completion paths more reliably, manual metadata providers can be remapped, and detail pages survive mapped TMDB IDs that return 404. The release also fixes episode-source routing, next-episode navigation, manual episode metadata, date precision, and stale TV progress in API responses.
  • The interface is more adaptable - Added the light-mode theme, custom date and time pickers, improved narrow music editing modals, refreshed the iOS icon/HTML behavior, restored icon sizing fallbacks, and added visible progress and feedback to import and Home interactions. The table view also stopped allowing long genre and tag data to conduct a hostile takeover of the layout.
  • MCP, deployment, and support workflows are more usable - Fixed MCP search and tracking, bundled floppy_mcp into the Docker image, improved GHCR package linking, hardened Yamtrack-to-Floppy migration behavior, fixed Redis/Gunicorn worker handling, and added a sanitized log download for bug reports.
  • Testing and maintenance are more honest and less dangerous - Ruff is now clean across src with deliberate suppressions documented, live-provider tests are tagged and excluded from the default CI path, provider/API test behavior is clearer, SQLite corruption diagnostics are stronger, and background maintenance is sized to the host and prevented from taking the machine down. A maintenance task that can kill the host has been reassigned to the category of behavior we prefer to discover in code review.

What's Changed

  • Fix TVDB episode track modal routing to TMDB by @nakenyon in #400
  • Import Audiobookshelf podcast episode progress by @ict in #427
  • fix: mcp server search and track by @Bruceforce in #428
  • Fix custom metadata on manual episodes by @ict in #430
  • Fix Trakt export duplicate media bulk import by @kocaemre in #437
  • Use Audiobookshelf publication data so books stop re-repairing by @ict in #443
  • Take ruff check src to zero, with reasons for what stays suppressed by @daften in #393
  • Tag the tests that need a live provider API by @daften in #450
  • Keep season-level collection entries visible in the season modal by @daften in #453
  • Exclude live-provider tests from CI by @daften in #454
  • Fix StoryGraph import duplicating the library and hiding reads from history by @daften in #467
  • Stop iOS serving stale HTML, and size icons from their wrapper by @dannyvfilms in #493
  • Fix genre/tag pills overlapping in media table view by @dannyvfilms in #492
  • Fix game list Platform column falling back to arbitrary IGDB platform by @dannyvfilms in #491
  • Fix Discover add-to-planning not creating Music/Podcast trackers by @dannyvfilms in #490
  • Retry transient network errors when backfilling completed-season episodes by @dannyvfilms in #489
  • Allow recording collection data per comic issue by @dannyvfilms in #488
  • Fix anonymous users being redirected to login on episode detail pages by @dannyvfilms in #486
  • Fix numeric titles being hidden by unrelated provider ID lookups by @sanderBoot0 in #477
  • Keep detail pages alive when a mapped TMDB ID 404s by @nakenyon in #513
  • Add sanitized log download feature for bug reporting by @dannyvfilms in #524
  • Use GITHUB_TOKEN for GHCR login so new packages auto-link by @dannyvfilms in #487
  • Stop background maintenance from being able to take the host down by @dannyvfilms in #523

New Contributors

  • @sanderBoot0 made their first contribution in #477, fixing numeric titles hidden by unrelated provider ID lookups.
  • @kocaemre made their first contribution in #437, fixing duplicate media rows during Trakt export imports.
  • @Bruceforce made their first contribution in #428, fixing MCP search and tracking behavior.

Known Issues:

  • Trakt ZIP/JSON imports, StoryGraph imports, Audiobookshelf podcast progress, and Koito/ListenBrainz-compatible integrations need feedback from varied real libraries and export files. The fixtures have now been warned about the outside world.
  • Provider-dependent paths still depend on third-party API availability, credentials, and metadata quality. Floppy should degrade more gracefully now, but graceful degradation is not the same as a provider deciding to cooperate.
  • The new Floppy image and Unraid Community Apps path need broader testing across Redis setups, persistence, permissions, initial registration, and updates. Please preserve backups and validate the exact deployment path before trusting a new installation with irreplaceable data.
  • The default test path is more reliable because live-provider tests are isolated; those network tests still need to be run deliberately when changing provider integrations.

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 now 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 @daften, @ict, @nakenyon, @sanderBoot0, @kocaemre, and @Bruceforce for the work included here, and to everyone who reported problems or suggested improvements during an unusually intense week.

Thanks for understanding, and happy tracking!

Full Changelog: v26.7.30...v26.8.6

Don't miss a new Floppy release

NewReleases is sending notifications on new releases.