-
-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
This page defines how the plugin's readiness is communicated and where it stands today. It is the single place that explains the maturity labels you see in the README and in the plugin's configuration page.
Current stage: Beta — the third rung of the ladder.
○ In-Development → ○ Alpha → ● Beta → ○ Release Candidate → ○ Full Release
▲ you are here
Beta means feature-complete and interface-stable: work is limited to bug fixes and hardening, and no new breaking change lands without a documented migration path. Wider testing on real but non-critical instances is encouraged; as with any auth change, keep a config backup.
The project moves through five stages. Each has a plain definition, who it is for, and the explicit gates that must be met before it advances. The gates are deliberately conservative: this is a login path, so readiness is proven, not assumed.
The core is being (re)built and hardened. Features are incomplete, interfaces and configuration can change without notice, and known security gaps are still being closed.
- For whom: developers, on throwaway instances only.
-
Gates to Alpha:
- the automated test net is established and green in CI;
- security parity with the reference implementation is substantially reached (the P2 milestone), with no known exploitable finding left open;
- a from-source install works end to end for both OpenID Connect and SAML.
OpenID Connect and SAML sign-in work for the common providers, but the feature surface is not yet complete and breaking changes are still possible.
- For whom: early adopters willing to test on non-critical instances and report back; still never on production.
-
Gates to Beta:
- feature parity with the reference implementation reached (the P4 milestone);
- the CI and supply-chain hardening in place (the P5 / P5b milestones);
- user-facing documentation complete for every shipped feature;
- no open High or Critical security finding.
Feature-complete and interface-stable. Work is limited to bug fixes and hardening; no new breaking change lands without a documented migration path.
- For whom: wider testing on real but non-critical instances is encouraged.
-
Gates to Release Candidate:
- a full end-to-end functional pass is green against a live Jellyfin server;
- the test-coverage goal is met;
- zero open security findings;
- delivery metrics are tracked (the P6 milestone);
- user-facing polish meets its definition of done — accurate catalog listing, README provider matrix / comparison / visual quick-start, wiki navigation, social-preview image, support on-ramps, consistent status/version references — tracked item by item in #822.
-
How promotion is decided: the gates above are tracked with linked
evidence in the P8 promotion epic
(#716) — each gate
has a defined evidence artifact (a recorded live E2E run, a CI coverage report
meeting the numeric goal, an empty open-security list, a refreshed
METRICS.md, and the checked-off polish list in #822). The Beta→RC maturity flip in the README status line and the plugin config page happens only when all boxes are checked with their evidence — the promotion is an auditable record, never a judgement call.
This is the deliberate name for the stage between Beta and Full Release — a frozen, production-ready candidate awaiting confirmation in the field, rather than a "release beta".
The build is frozen and treated as production-ready. Only a release-blocking defect can pull a change in; everything else waits for the next cycle.
- For whom: cautious production trials on instances with a rollback plan.
-
Gates to Full Release:
- a candidate build survives a defined soak period with no release-blocking defect reported.
Production-ready. Safe for real Jellyfin instances with real accounts, with the stability and upgrade guarantees expected of a stable line.
- For whom: everyone.
The work that carries the plugin up the ladder is tracked as phase milestones on the SSO Roadmap board:
| Phase | Focus | Ladder stage it unlocks |
|---|---|---|
| P2 — Security parity | Port the reference implementation's hardening | In-Development → Alpha |
| P3 — Code quality | Thin the controller into tested, single-purpose helpers | (throughout) |
| P4 — Feature parity | Close the remaining feature gaps | Alpha → Beta |
| P5 — CI & supply chain | Reproducible builds, provenance, dependency hygiene | Alpha → Beta |
| P5b — Review-gap program | Independent second-perspective review on every change | Alpha → Beta |
| P6 — Delivery metrics | Track delivery and stability | Beta → Release Candidate |
- Security before features. This is a login path; the default posture is fail-closed, and security work outranks feature work.
- Documentation describes what is implemented today, never a planned feature. If a page disagrees with the code, the code wins — please open an issue.
- Every change is issue-driven, reviewed, and documented before it merges.
This is an independent plugin repository, installed by adding its own manifest under
Plugins → Repositories (see Installation). Jellyfin's built-in official
catalog (jellyfin/jellyfin-meta-plugins) lists only plugins that live in the
jellyfin GitHub org, and there is currently no official SSO
plugin there — the LDAP plugin is the only official auth plugin. Official-catalog inclusion
would require adoption into the jellyfin org through that project's governance. Decision
(2026-07): the project stays independent for now, with that path understood and kept open.
Jellyfin upstream is building native OIDC into the server (jellyfin/jellyfin#17271, landing 13.0 at the earliest — 12.0 is in feature freeze). The plugin's documented stance — complementary, strictly broader (SAML, folder/Live-TV RBAC, linking, avatars, SSO-only), and the only option on every current release line — lives on Native OIDC Coexistence, together with the link-model migration honesty.
- The SSO Roadmap board is the live source of truth for what is done and what is next.
- The Home page lists what the plugin does today.
- The Security Model page explains how the login path fails closed.
Repository · Issues · Releases · Security policy — report vulnerabilities privately, never in a public issue. Pages describe what is implemented today; if the wiki disagrees with the code, the code wins.
Getting started
- Installation
- Provider Setup
- Hardening & Options Reference
- Migrating from 9p4
- Troubleshooting
- Rollback
How it works
Security
- Security Model
- Security Conformance (ASVS / RFC 9700)
- Threat Model
- SSO-Only Login — design record
- Single Logout — design record
Standards & process (internal / maintainer)