Changelog Jellyfin module WHMCS Order now | Download | Community v3.0 — 2026-06-06 Added AJAX, card-based client area with a gradient status hero, a two-column account/usage layout, usage progress bars (sessions, failed logins), library chips and an active-devices table — plus toast notifications and confirm dialogs. Self-service Drop all devices and Unblock actions in the client area (no page reload). Dynamic library picker in the product configuration form: the library list is loaded live from the assigned Jellyfin server as checkboxes, with a Select all toggle and a Reload button (with a manual text-box fallback when the server is unreachable). The separate Use all libraries switch is kept. Product configuration form injected on the WHMCS product page via AdminAreaFooterOutput. Admin homepage license alert listing products with invalid or missing licenses. Schema migration runner (puqJellyfinMigrations). Diagnostic logging throughout. Every lifecycle action, hook and AJAX call records its result and any exception to the WHMCS Module Log; all Jellyfin API calls log their request/response on error (and every write call on success), with the HTTP status code and the real Jellyfin message. Passwords are redacted in the log. Changed Jellyfin 10.11.10+ compatibility. Switched to the modern Authorization: MediaBrowser header (with Version) as the primary scheme and dropped the deprecated X-Emby-Token / X-MediaBrowser-Token headers that Jellyfin removes in 10.12/10.13. The password endpoint now uses the current route Users/Password?userId= instead of the deprecated Users/{id}/Password. CreateAccount now reads the new user's Id directly from the Users/New response instead of re-listing all users and matching by name (faster and robust against special characters). API error handling now inspects the HTTP status code and extracts the real Jellyfin error message (ProblemDetails / validation errors) instead of occasionally treating a 4xx as success. All product settings are now stored as a single JSON document in configoption24. Existing v2 installs are read transparently from the legacy configoption3–configoption8 slots, so no reconfiguration is required after upgrading. License verification moved to a block-based hash with online/offline caching. Jellyfin admin API token is cached per instance instead of re-authenticating on every call. PHP 7.4 / 8.1 / 8.2+ compatible source; hardened with null-safe reads, try/catch around all external calls, and htmlspecialchars on every API-sourced string. Fixed Web-interface URL no longer mishandled the plain-HTTP/port-80 case (operator-precedence bug in the default-port check). Empty text fields (e.g. an intentionally blank username suffix) are now preserved instead of reverting to their default on save. v2.1.1 Maintenance release (last public v2.x build). v2.1 — 2025-10-03 Added a configurable rule for custom usernames. Added a configurable rule for custom passwords. Added support for PHP 8.2+. v2.0.1 — 2024-12-19 Added a validation check in the Client Area Primary Sidebar hook. v2.0 — 2024-09-24 Module compiled with ionCube v13. Supported PHP versions: PHP 7.4 — WHMCS 8.11.0 and below PHP 8.1 — WHMCS 8.11.0 and above PHP 8.2 — WHMCS 8.11.0 and above v1.5.1 — 2024-08-13 Fixed a password bug when Show password is set to no. v1.5 — 2023-07-12 Client area better adapted for mobile. Added buttons to copy the login and password in the client area. v1.4 — 2023-12-21 Client area enhancements: Option to hide service passwords by default. Added a Show button to reveal the service password in the client area. Option to display the service password in plain text. Note: save the product's Module Settings for the module to function correctly. v1.3 — 2023-12-18 Various bug fixes. Fixed the session-count display in the client area. Support for Jellyfin 10.8.13. v1.2 — 2023-11-17 Fixed incorrect library-selection behaviour (CRITICAL). Fixed bugs in the change-password feature. New Use All Libraries checkbox on the Module Settings page. Client-area changes and optimizations. Note: reconfigure the product's Module Settings and run Change Package on customer services. v1.1 — 2023-11-09 Reworked library handling: - means no libraries selected, an empty field means select all libraries. Bug fixes. v1.0 — 2023-11-03 First version.