FR
live

Jellyfin 12.0 ships to polish the 10.11 rewrite and demands a full rescan

On September 8, Jellyfin released version 12.0, which drops the “10.” prefix and concentrates most of its work on the performance inherited from the 10.11 rewrite. The migration changes the database with no way back: backup, plugin removal, and a full library scan are mandatory before you reap the gains.

A row of dark film reels on a shelf, one reel marked by an amber dot at its center.

September 8, 2026. Jellyfin shipped version 12.0 of its self-hosted media server, only three months after 10.11. The renumbering is not cosmetic: the project dropped the “10.” prefix — 10.11.x becomes 12.x — because no major API break is on the horizon and the scheme was confusing users about what a “major” release meant. The substance of the release comes down to one word: performance.

A consolidation, not a revolution

10.11 delivered a major backend rewrite. Broadly functional, it accumulated rough edges. 12.0 exists to polish them and return speed to every user.

The release does not present itself as an overhaul. It adds expected features — proper book support, multiple versions for episodes, improved similarity and recommendation providers, search providers that plugins can extend or replace, SchedulesDirect and EPG fixes, parental-rating fixes, data pruning on file replacement or deletion, triple-digit episode numbers, per-library BoxSet and Playlist filtering — but the core of the work is invisible: the database. Users report significantly faster load times, and a new “modern” layout ships on the web side alongside it.

Dropping the “10.” prefix is itself a signal of maturity. For years the number implied a hard API break that never came, so users read “major version” as “expect breakage.” Renumbering to 12.x tells the community what the maintainers now believe: the API is stable enough that a major bump is just a bump. It is a small change with an outsized effect on how conservative homelab operators — who upgrade a media server once a year at most — decide when to move.

The new search and recommendation providers are more than housekeeping. A search provider lets a plugin replace or extend how results are produced, so a library can surface matches from a custom index or a niche metadata source. A recommendation provider hands the “you might like” logic to pluggable code, opening the door to community-built recommenders tuned to a specific collection. Both point the same direction: Jellyfin is pushing customization out to plugins rather than baking it into the core.

A large library makes the payoff concrete. Users with tens of thousands of items report that the database refinements cut the time between launching the server and actually browsing the library — the moment a media server feels fast or feels broken. For a homelab that has grown organically over years, that first-load latency is the single most visible sign of the rewrite paying off.

A migration with no way back

This is the part every administrator should read before clicking. 12.0 includes database changes that prevent rolling back to a previous version without a full restore. The instruction is blunt: back up the data directory in full before upgrading.

Direct upgrades from 10.10.7 and 10.11.x are supported, with no intermediate step required. Users on older releases must first reach 10.10.7. Installed repository plugins — anything not built-in — should be removed before migrating, then re-added afterward, while plugins catch up to the new database schemas.

After migration, a full library scan is mandatory. The release notes are unambiguous: alternative versions of media that were auto-resolved will be removed due to data-type issues, and only a full scan rebuilds them. The first scan is significantly longer than usual, and some movies may reappear as newly added.

The price of a cleaned-up database

The performance PR #16062 shows the work. The server runs a full path-based check across every library item to clean up leftovers. Depending on the size of the collection, that takes time. The message is clear: future performance is paid for with a single scan, at migration time.

On the packaging side, Debian Bullseye and Ubuntu Focal packages are no longer built — a signal to stragglers that those distributions are falling out of support.

The backstory: the 2018 fork

Jellyfin was born in 2018 as a fork of Emby, when the latter closed its source. Eight years later, it has become the reference self-hosted media server against Plex, whose model rests on cloud services and a subscription. The promise fits in one sentence: everything runs on your hardware, no account, no telemetry, no dependency on a remote service. That is why a “performance” release matters so much for a homelab: library load speed and database stability are the product itself.

The 10.11 rewrite touched the server’s core — the data layer, media access, part of the API — to lay the foundations for a cleaner database. 12.0 does not reverse those choices: it fixes their consequences, notably the data-type issues that force the full scan, and ships the features the rewrite had put on hold.

The six-step migration checklist

The path is explicit in the release notes, and it does not forgive shortcuts.

  1. Back up the full data directory — the database changes with no way back.
  2. Check the source version: 10.10.7 or 10.11.x for a direct upgrade, otherwise reach 10.10.7 first.
  3. Remove non-built-in plugins before migrating, and switch the plugin repository back to the stable manifest.
  4. Migrate, then let the first boot run its migrations — several minutes, uninterrupted.
  5. Run a full library scan to rebuild the alternative versions that were removed.
  6. Re-add plugins one by one, testing their compatibility with the new schemas.

The most common pitfall is not the migration itself but impatience: interrupting the first boot or skipping the full scan leaves an incomplete library, with “missing” media that only returns after a scan.

What this changes for a homelab

The 12.0 release is a case study in migrating deliberately, not hastily. The contrast with Plex is instructive: at the same moment Jellyfin ships a consolidation release, more than 36,000 Plex servers have still not applied an urgent security patch. The advantage of self-hosting is that the decision to migrate — and the risk — is entirely yours.

  • Backup is not optional. A database whose schema changes with no rollback is exactly the scenario where a prior backup is worth hours.
  • The full scan is the price of cleanup. Schedule the migration for a time when the library can be unavailable or slowed during a long scan.
  • Plugins will wait. Remove non-built-in plugins before, re-add them after — an incompatible plugin can fail to load and cause side effects.

The good news is that 12.0 does not ask you to learn a new system: it is the same interface with the rough edges sanded off, and a library that loads faster.

Verdict

Jellyfin 12.0 is a consolidation upgrade that is worth the cost of its migration, provided you do it by the book.

If your server runs 10.10.7 or 10.11.x, schedule the upgrade: full backup, plugin removal, migration, then a complete library scan. The performance and stability gains are real, and dropping the “10.” prefix finally makes version tracking simple. If you are on a release older than 10.10.7, go through 10.10.7 first — and if you lack a reliable backup, fix that before anything else: a migration with no way back is not the moment to discover your backup does not work.

References

The cyber brief, every Tuesday

The flaws that matter and the patches to apply, in a ten-minute read.

No spam. One-click unsubscribe.
read next

On the same topic

Immich 3.2 ships cross-user facial recognition and a rewritten search API

The self-hosted photo library Immich released 3.2.0 on September 10 with a new Search API v2, a revamped search UI, and cluster groups that share facial recognition across trusted users. The feature forces a facial-recognition reset, worth weighing before migrating.

Forgejo 16.0.4 closes a critical RCE reachable from a single template repository

The self-hosted forge Forgejo shipped versions 16.0.4 and 15.0.8 on September 10 to fix a critical RCE born of template expansion, alongside three authorization flaws that share the same root cause. Everything on 16.0.3 or earlier must be patched, and fine-grained token inventories need a review.

← Back to the feed

Type at least two characters.

navigate open esc dismiss