Jellyfin 12.0 (.NET 10) beta 5.0.0-JF12-beta (plugin version 5.0.0.83).
Install via the beta repository URL (a Jellyfin 12.0 server picks this build automatically by targetAbi):
https://raw.githubusercontent.com/Flowfin/jellyfin-plugin-sso/manifest-beta/manifest.json
Scope note (#743/#1466): the JF12/5.0 line has had no manual Release-QA pass against a live Jellyfin 12.0 server - the checklist has not been run since 12.0 GA shipped on 2026-09-07, and this line is NOT part of the 4.x (Jellyfin 10.11) release-candidate gate. What it does carry since #1466 is the automated seven-stack provider matrix that gates this publish: it boots a live jellyfin/jellyfin:12.0 server, installs the net10.0 artifact this release ships into it, and drives OIDC and SAML login round-trips against seven identity providers. That is the release the net10.0 build compiles against. The 5.0 line clears its own live-validation gate when the manual checklist has been run against a GA server; the GA build exists since 2026-09-07, so that run is the only condition left. Use these betas for testing, not production.
What's Changed
- Send the Overview and self-service text through the catalog by @iderex in #1628
- Send every section heading of the provider page through the catalog by @iderex in #1629
- Make the German name a button by the name the button carries by @iderex in #1630
- Send the OpenID connection and provisioning fields through the catalog by @iderex in #1631
- Send the OpenID roles, Live TV and override fields through the catalog by @iderex in #1632
- Send the OpenID security section through the catalog by @iderex in #1633
- Send the SAML connection and provisioning fields through the catalog by @iderex in #1634
- Send the last of the SAML fields through the catalog, and reach zero by @iderex in #1635
- Let the linked-accounts table be filtered, and say when it is by @iderex in #1636
- Record which account this plugin provisioned inert, and when by @iderex in #1639
- Approve an account this plugin provisioned inert, and grant nothing else by @iderex in #1642
- List who is waiting for approval, and put the button beside the name by @iderex in #1644
- Let the approvals panel say what the answer was, and count what it says by @iderex in #1646
- Let a rebound key forget its previous holder's deadline and last login by @iderex in #1648
- Refuse the holder's unlink of a link that carries an access deadline by @iderex in #1650
- Take a deleted account's links with it, on the host's own event by @iderex in #1654
- Name both approval routes in the provider form's pending-approval help by @iderex in #1657
- Say how long a browser may keep a plugin asset, on both routes that serve one by @iderex in #1660
- Count every help text before stage 2 moves it [#1661] by @iderex in #1667
- Show one sentence under a field and keep the rest in a fold [#1662] by @iderex in #1668
- Condense the Providers page help and refuse the shapes a browser rewrites [#1663] by @iderex in #1673
- Close the help-marker count over the page, class-agnostic [#1677] by @iderex in #1679
- Answer readiness once, in the rail, and only for the open editor [#1664] by @iderex in #1682
- Show a one-sentence help text from its own body, not a copy of it by @iderex in #1683
- Drive the two unreachable arms of the promoted-body move [#1686] by @iderex in #1685
- Drive the readiness rail against the page it serves [#1678] by @iderex in #1688
- Close the editor when a provider's configuration cannot be read [#1681] by @iderex in #1689
- Refuse a help fold that is not its block's own child [#1684] by @iderex in #1690
- Drive the route from a keystroke to the readiness rail [#1687] by @iderex in #1695
- Drop a provider reply that no longer speaks for the open editor [#1693] by @iderex in #1697
- Report a 200 that is not the configuration, and a fill that throws [#1694] by @iderex in #1698
- Prove the provider selector survives a configuration read [#1696] by @iderex in #1699
Full Changelog: 5.0.0-JF12-beta.82...5.0.0-JF12-beta.83