,

Jellyfin 12.0 Is Out: What Breaks Before You Upgrade

Abstract violet and amber illustration representing a home media server and streaming network

Lire cet article en français : Jellyfin 12.0 : ce qui casse avant de mettre à jour votre serveur.

Jellyfin 12.0 shipped on September 7, 2026, after months stuck in release candidate limbo. It’s the biggest Jellyfin release since the project forked from Emby in 2018, and the version number itself is the first clue: this build reports as 12.0, not 10.12.0.

That’s not a typo. Jellyfin has dropped the “10” major prefix that has led its version numbers since the fork. What would have been called 10.12.0 is simply 12.0 now, and 10.11.x was the last branch on the old scheme. The team’s stated reasoning is worth knowing: 10.11.0 rewrote the entire library database, which made it a major release in every practical sense, but its minor-looking version number undersold that impact and left a lot of users unprepared for how much it actually changed. The new numbering is meant to stop that from happening again.

Before you upgrade

The database schema changes again in 12.0, and your data gets rewritten the first time the new server starts. There’s no rolling back without a full restore, so back up your Jellyfin config and database before you touch anything.

A few other points matter just as much:

  • Supported upgrade path: you need to be on 10.10.7 or any 10.11.x release before moving to 12.0. A direct jump from 10.11.x is fully supported.
  • Usernames are now case-insensitive. If you have two existing accounts that differ only by capitalization, the database migration will fail outright.
  • A full library scan is mandatory after upgrading. Alternate versions that Jellyfin grouped automatically (not the ones you merged by hand) get wiped out during the upgrade and will show up as “missing” until that scan finishes.
  • That first post-upgrade scan runs noticeably longer than usual, and some movies may briefly look “newly added.” That’s expected behavior, not a bug.
  • Remove third-party plugins before upgrading. Anything compiled for 10.11 won’t load on 12.0 and needs to be recompiled by its author. Official plugins have already been updated.
  • Very old third-party clients will stop connecting. Support for the legacy /emby/ and /mediabrowser/ API paths has been removed, and the old login method is now disabled, even on servers that were already running fine with it.

Given all that, this isn’t a click-and-forget update. Read through your plugin list, confirm your account names, and make sure your backup actually restores before you start.

Security is reason enough on its own

Even without the new features, 12.0 is worth installing for the security fixes alone. This release patches several vulnerabilities that let a specially crafted request reach files outside the directories Jellyfin is supposed to serve. It also closes a gap where a misconfigured server’s setup wizard could be relaunched without authentication, rejects plugin packages with unsafe file names, applies parental controls more consistently, and fixes cross-site scripting issues in the web client.

For anyone running deliberate, staged migrations, Jellyfin also added a --mode MigrateSystem command-line flag, which runs the database migration on its own without starting the rest of the server.

What’s new beyond the version number

The bigger changes are about stability under load and content types Jellyfin didn’t fully support before:

  • Playlists and collections moved from a single large database blob to one row per item. Counting, pagination, and editing large playlists are noticeably faster, and bulk deletion no longer fails partway through.
  • Alternate versions, previously limited to movies, now work for TV episodes too.
  • Books and comics are natively supported on the server side for the first time: Jellyfin reads OPF and ComicInfo metadata directly, generates posters for EPUB and comic formats, and ships a redesigned reading interface. The Bookshelf plugin is deprecated, with its functionality folded into the core server.
  • The source for “more like this” recommendations is now configurable per library, and ListenBrainz ships with the server as a built-in option for music recommendations.
  • The Modern layout, previously an experimental option, is now the default on both desktop and mobile. The older interface is renamed Legacy and remains available for anyone who prefers it.
  • The server now builds against FFmpeg 8.1 upstream.

Should you update today?

If you’re running plugins, take an hour to check whether they’ve been updated for 12.0 first. If your setup is plugin-free and your backups are solid, this release is worth moving to soon, if only for the security fixes. Just don’t skip the pre-upgrade checklist above, and don’t be alarmed when the first library scan takes a while.

For background on the project behind this release, our history of Jellyfin covers how it split off from Emby in 2018 and became the media server the self-hosting community reaches for by default. Our Jellyfin app page has setup notes if you’re evaluating it for the first time, and our Jellyfin server setup guide walks through the full installation process step by step if you’re starting from scratch.

Full details are in the official 12.0 announcement from the Jellyfin Core Team, and the complete technical changelog is on GitHub.

Related guides