Jellyfin: Update to 12.0 with dotnet 10.0 and ffmpeg8 - #7443
Open
mreid-tt wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Update Jellyfin Server and Web from 10.11.11 to 12.0 (released 2026-09-08),
plus a fix to the uninstall backup/restore flow for the new upgrade paths.
Upstream supports direct upgrades from 10.10.7 and 10.11.x to 12.0 with no
intermediate steps. Note this release includes database changes that prevent
rolling back without a full restore, and third-party plugins should be removed
before migrating (see 12.0 release notes).
Server (
cross/jellyfin)PKG_VERS10.11.11 → 12.0, digests regeneratedDOTNET_VERSION9.0 → 10.0 (12.0 targetsnet10.0,global.jsonpins SDK 10.0.0)BUILD_DEPENDS→native/dotnet-sdk-10.0(new, see below)Web (
cross/jellyfin-web)PKG_VERS10.11.11 → 12.0, digests regeneratedBUILD_DEPENDSnative/nodejs_22→native/nodejs(24.20.0), as 12.0requires
engines: node >= 24.0.0.NET SDK (
native/)native/dotnet-sdk-10.0(SDK 10.0.400 / runtime 10.0.11, checksumsverified against Microsoft's published SHA512)
native/dotnet-sdk-9.0(no remaining users repo-wide; onlycross/jellyfinreferenced it)mk/changes needed:spksrc.cross/env-dotnet.mkderives framework(
net10.0) and SDK path fromDOTNET_VERSIONPackage (
spk/jellyfin)SPK_VERS12.0,SPK_REV39 → 40, CHANGELOG updated(dotnet 10.0.400, nodejs 24.20.0)
SPK_DEPENDSffmpeg7→ffmpeg8(matches jellyfin-ffmpeg 8.1.2),including the hardcoded
--ffmpegpath insrc/service-setup.shMIN_GLIBC_VERSION = 2.27added next toREQUIRED_MIN_DSM, turning theexisting comment into an enforced floor (.NET 10 runtime requirement)
validate_preupgrade(): allow 10.10.7 / 10.11.x → 12.x with forced configbackup (irreversible DB migration), allow 12.x → 12.x without backup,
reject anything older
install_uifile: fixed missing trailing period on the last"Important information" sentence
Uninstall backup/restore fix
Backups are named after the pre-upgrade version, but both the uninstall
wizard (
check_backup_file()) andvalidate_preuninst()only matchedjellyfin_backup_v10.10.7_*— so a 10.11.x → 12.0 upgrade (the most commonpath) left a backup that was never offered for restore and never matched
at uninstall, silently losing the rollback path. Both now match
jellyfin_backup_v*(any version); when several accumulate acrossupgrades, the newest is selected (lexical order is chronological here)
with the existing multi-match warning.
Fixes #
Checklist
all-supportedcompleted successfullyType of change