Releases: m1ckyb/Librarrarian
Release list
0.13.0
What's Changed
- [WIP] Add items-per-page dropdown and fix job queue buttons by @Copilot in #94
- Fix job queue buttons failing silently due to missing null checks by @Copilot in #95
- Revert "Fix job queue buttons failing silently due to missing null checks" by @m1ckyb in #96
- Fix job queue buttons blocked by missing null checks on tab-specific elements by @Copilot in #97
- Add sort controls, pagination options, and clear-all button to UI by @Copilot in #93
- Fix library settings persistence in sync mode and add symlink detection by @Copilot in #98
- Fix debug settings modal display and add Christmas snow animation by @Copilot in #100
- Fix dashboard crash from mismatched settings dictionary structure by @Copilot in #101
- Fix debug modal display and add Summer Christmas theme by @Copilot in #102
- Add diagnostics and error handling to Debug Settings modal by @Copilot in #103
- Investigation: Debug Settings Modal implementation review by @Copilot in #104
- Fix JavaScript console errors from orphaned jQuery code and async/await syntax by @Copilot in #105
- Fix library type dropdowns not saving in sync mode and improve debug modal feedback by @Copilot in #106
- Revert PR #106: Fix library sync display to show only primary server by @Copilot in #107
- Fix debug modal initialization and library sync UI issues by @Copilot in #108
- Fix monitored libraries badge display and implement library linking persistence in sync mode by @Copilot in #109
- Fix library linking persistence, horizontal scrollbar, and migration loop by @Copilot in #110
- Add Plex token manual input and fix library display issues by @Copilot in #111
- Fix Monitored Libraries dropdown cutoff by adjusting column layout by @Copilot in #112
- Fix sync mode form inputs disabled after async library load by @Copilot in #115
- Disable multi-server sync feature due to persistent save failures by @Copilot in #116
- Add theme-aware snowflake colors for Summer Christmas visibility by @Copilot in #117
- Fix snowflake colors not updating when switching between Christmas themes by @Copilot in #118
- Update Summer Christmas theme background from cream to sky blue by @Copilot in #119
- Fix Summer Christmas theme button visibility with high-contrast colors by @Copilot in #120
- Add DEVMODE debug modal, Christmas theme, and fix Jellyfin modal button layout by @Copilot in #99
- 0.13.0 by @m1ckyb in #121
Full Changelog: 0.12.0...0.13.0
0.12.0
What's Changed
- Add option to suppress verbose operational log messages by @Copilot in #73
- Add Jellyfin support with granular logging controls by @Copilot in #74
- Implement Jellyfin scanning, post-transcode updates, and primary server routing by @Copilot in #75
- Restructure Options page: consolidate media servers, separate logging controls by @Copilot in #77
- Restore media scanner layout with two-column design and multi-server library linking by @Copilot in #78
- Refactor Primary Media Server selection and fix tab/library display logic by @Copilot in #79
- Fix Plex/Jellyfin authentication error messages and add connection testing by @Copilot in #81
- Fix Plex test connection returning "invalid data" error by @Copilot in #82
- Fix Plex authentication by parsing XML responses from /identity endpoint by @Copilot in #84
- Add modify configuration workflow for Plex and Jellyfin servers by @Copilot in #85
- Fix Plex server URL not persisted after initial authentication by @Copilot in #86
- Fix Jellyfin test connection, sync checkbox state, and add tooltip by @Copilot in #87
- Fix form handler overwriting server settings managed via API by @Copilot in #88
- UI improvements: Jellyfin auto-refresh, purple badges, tab switching, and force clear by @Copilot in #89
- Add server badges to library sync UI and unify Force checkbox styling by @Copilot in #90
- Fix missing server badges in combined libraries view by @Copilot in #91
- Fix multi-server library sync UI to show single unified container by @Copilot in #80
- 0.12.0 by @m1ckyb in #92
Full Changelog: 0.11.7...0.12.0
0.11.7
What's Changed
- Move ETA badge next to Codec in active nodes footer by @Copilot in #65
- Fix timezone-aware datetime handling in ETA calculation by @Copilot in #66
- Fix ETA display to respect TZ environment variable by @Copilot in #67
- Detect and manage silently failed transcodes stuck in encoding state by @Copilot in #68
- Fix worker crash on non-UTF-8 FFmpeg output by @Copilot in #69
- Treat stuck jobs as errors in View Errors modal with re-add/clear actions by @Copilot in #70
- Fix FileNotFoundError when external processes move files during transcode by @Copilot in #71
- 0.11.7 by @m1ckyb in #72
Full Changelog: 0.11.6...0.11.7
0.11.6
What's Changed
- 0.10.11 by @m1ckyb in #18
- 0.11.0 by @m1ckyb in #32
- 0.11.2 by @m1ckyb in #35
- 0.11.4 by @m1ckyb in #48
- Fix job force-remove logic, node button states, and standardize progress bar colors by @Copilot in #49
- Fix ambiguous column reference in jobs query and add DB_PORT configuration by @Copilot in #50
- Prevent duplicate worker instances via session token authentication by @Copilot in #51
- Add global node control buttons to Active Nodes tab by @Copilot in #52
- Standardize button styles to outline design with icons across application by @Copilot in #53
- Standardize badge styles to outline design and fix Alpine timezone support by @Copilot in #54
- Add ETA display, standardize badge styling, implement database backups, and fix pagination z-index by @Copilot in #55
- Add configurable backup scheduling and remove UI dividers in Options page by @Copilot in #56
- Fix NameError: remove invalid @require_login decorator by @Copilot in #57
- Fix database backup failing with missing pg_dump and incorrect process wait by @Copilot in #58
- Fix database_backup_thread working outside application context by @Copilot in #59
- Add backup file management modal with retention policies and enable/disable controls by @Copilot in #60
- Fix maintenance settings: remove obsolete options, correct backup directory, suppress health endpoint logs by @Copilot in #61
- UI improvements: larger footer text, slider controls, conditional field visibility, reduced log noise by @Copilot in #62
- Clean up disabled settings display text by @Copilot in #63
- 0.11.6 by @m1ckyb in #64
Full Changelog: 0.11.4...0.11.6
0.11.4
What's Changed
- QoL improvements for *arr integration UI by @Copilot in #36
- Add visual feedback for manual media scan and data export functionality by @Copilot in #37
- Fix path translation for transcode and rename jobs by @Copilot in #38
- Docker Compose configurations to standardize service naming by @m1ckyb in #39
- Use multi-stage Alpine builds to slim down Docker images by @Copilot in #40
- replacing the dependency on the
dashboardservice with a dependency on thelibrarrarianby @m1ckyb in #41 - Fix migrations running every startup and failed files modal not displaying by @Copilot in #42
- Security: Fix SSL verification bypass, path traversal, and add security headers by @Copilot in #43
- Fix path validation blocking non-standard media mount points by @Copilot in #44
- Expand README.md with comprehensive documentation by @Copilot in #45
- Fix filepath validation blocking all media files due to root directory check by @Copilot in #46
- Fix VAAPI hardware acceleration initialization failure (FFmpeg exit code 251) by @Copilot in #47
Full Changelog: 0.11.2...0.11.4
0.11.2
0.11.0
What's Changed
- Merge pull request #8 from m1ckyb/develop by @m1ckyb in #9
- Fix media source visibility toggle in Integrations tab by @Copilot in #10
- Set up Copilot instructions by @Copilot in #12
- [WIP] Set up instructions for Copilot in repository by @Copilot in #15
- Fix 24-hour time format toggle not working by @Copilot in #13
- Fix Media Source Management: Separate Hide checkbox from Ignore option by @Copilot in #16
- Fix UI scan feedback variable scoping for reliable progress display by @Copilot in #17
- Fix Sonarr renaming and add auto-rename after transcode by @Copilot in #19
- Add Radarr rename jobs feature mirroring Sonarr functionality by @Copilot in #20
- Add Lidarr rename scanner with queue job support by @Copilot in #21
- UI cleanup: Remove Hide switches, add Show Ignored toggle, fix Theme/Errors bugs, add *arr stats by @Copilot in #22
- Fix scan button race condition and monitored libraries hide logic by @Copilot in #23
- Fix *arr scan UI race conditions and theme dropdown system preference by @Copilot in #24
- Fix scan buttons race condition, theme dropdown, and stats loading by @Copilot in #25
- Fix scan UI: elapsed time format, button visibility, progress box position, episode count by @Copilot in #26
- Fix UI issues: codec labels, VP9 support, scan cancel behavior by @Copilot in #27
- Remove Sonarr auto-rescan, fix quality mismatch scanner, reduce log noise by @Copilot in #28
- feat: Job queue filtering and improved Sonarr quality scan output by @Copilot in #29
- Fix Show Ignored toggle not hiding items with None (Ignore) selection by @Copilot in #30
- Rebrand CodecShift to Librarrarian by @Copilot in #31
Full Changelog: 0.10.10...0.11.0
0.10.11
What's Changed
- Merge pull request #8 from m1ckyb/develop by @m1ckyb in #9
- Fix media source visibility toggle in Integrations tab by @Copilot in #10
- Set up Copilot instructions by @Copilot in #12
- [WIP] Set up instructions for Copilot in repository by @Copilot in #15
- Fix 24-hour time format toggle not working by @Copilot in #13
- Fix Media Source Management: Separate Hide checkbox from Ignore option by @Copilot in #16
- Fix UI scan feedback variable scoping for reliable progress display by @Copilot in #17
- 0.10.11 by @m1ckyb in #18
Full Changelog: 0.10.10...0.10.11
0.10.10
What's Changed
- Fix: Hide libraries set to "None (Hide)" from Options tab library list by @Copilot in #7
- Develop by @m1ckyb in #8
New Contributors
- @Copilot made their first contribution in #7
Full Changelog: 0.10.6...0.10.10
0.10.6
[0.10.6] - 2025-11-24 - Stability Fix
This is a minor stability release that fixes a critical bug with the stale file cleanup feature.
Fixed
- Stale File Cleanup Timeout: Fixed a Gunicorn worker timeout that occurred when queuing a stale file cleanup on large media libraries. The cleanup scan is now a non-blocking, asynchronous background task, providing an instant response to the UI.
[0.10.5] - 2025-11-24 - OIDC Authentication & UI Polish
This release takes the experimental authentication features from the previous version and makes them production-ready. It includes a series of critical bug fixes for the OIDC login flow and several UI enhancements for a more polished user experience.
Added
- Dynamic Welcome Message: The dashboard now greets logged-in users with a dynamic message (e.g., "Good morning," "Good afternoon") based on the server's time of day.
Changed
- OIDC Production Ready: The OpenID Connect (OIDC) integration is now stable and considered ready for production use.
- UI Polish:
- The logged-in user's name and welcome message are now displayed prominently in the main dashboard header.
- The welcome message was moved to appear after the logout button for better visual flow.
- The "Logout" button's styling now matches other header buttons for a consistent look.
- Cleaned Footer: The user's name and login/logout buttons have been removed from the shared footer to avoid redundancy.
Fixed
- OIDC Login Flow: Fixed a series of critical bugs that prevented the OIDC login from working, including
NameErroron startup, redirect loops, incorrect callback URLs behind a reverse proxy (Redirect URI Error), invalid token verification (Invalid key set format), and unsupported signing algorithms (UnsupportedAlgorithmError). - Local Login Loop: Resolved a redirect loop that occurred during local login attempts.
[0.10.4] - 2025-11-24 - Secure Access
This release introduces a comprehensive and flexible authentication system to secure the dashboard.
Added
- Authentication System: Implemented a master
AUTH_ENABLEDswitch to protect the entire dashboard. - Local Login: Added a local username/password login method, configured via environment variables. The password is required to be base64 encoded for improved security.
- OIDC Integration (Untested): Added support for OpenID Connect (OIDC) as a primary authentication method. This feature is new and should be considered experimental.
[0.10.3] - 2025-11-24 - The Polishing Act
This is a significant stability and bug-fix release that addresses numerous issues across the entire stack, from the worker's core logic to the dashboard's UI rendering.
Fixed
- Job Distribution: Fixed a critical bug where the dashboard would incorrectly report the job queue as "paused", preventing workers from receiving jobs.
- Progress Bar: Fixed an issue where the progress bar on worker nodes was not displaying or updating during a transcode.
- UI State & Rendering:
- The "Pause Queue" button now correctly updates to "Resume Queue" to reflect the current state.
- The "Node" and "Codec" columns in the History table now display correct information instead of "undefined".
- Fixed a bug causing "undefined" to appear on idle node cards.
- The live FPS and Speed metrics have been re-implemented and are now correctly displayed in the node card footer.
- Job Queue Sorting: The job queue is now correctly sorted to always show "Encoding" jobs at the top for better visibility.
[0.10.2] - 2025-11-24 - Cluster Control
This release focuses on massive stability improvements, extensive bug fixing, and adding critical quality-of-life features for queue and cluster management.
Added
- Manual Plex Scan: A "Manual Scan" button has been added to the Job Queue page, allowing users to trigger a library scan on demand for immediate feedback.
- Force Rescan: A "Force" checkbox was added next to the manual scan button. When checked, the scanner will ignore the existing job and history lists, re-queueing any non-HEVC files it finds.
- Pause/Resume Job Queue: A "Pause Queue" button has been added to the UI. When paused, the dashboard will stop distributing new jobs to workers, allowing the cluster to gracefully finish its current work.
- Clear Job Queue: A "Clear Queue" button was added to instantly and permanently delete all jobs from the pending queue.
- Configurable Auto-Scan: A "Rescan Delay" setting has been added to the Options page. This allows users to define how many minutes the system should wait between automatic scans. Setting it to
0disables automatic scanning entirely. - Job Queue Pagination: Implemented a full, smart pagination system for the Job Queue page. This prevents the UI from locking up when loading thousands of jobs and makes navigation easy.
- Centralized Settings API: Added a new
/api/settingsendpoint to the dashboard, allowing workers to fetch their configuration centrally.
Changed
- Asynchronous Scanning: The manual scan process is now fully asynchronous. The API endpoint immediately returns a response to the UI while the actual scan runs in the background, fixing all Gunicorn worker timeout errors.
- UI Layout: The Plex settings on the Options page have been reorganized into a cleaner two-column layout.
Fixed
- Critical Scanner Bugs:
- Resolved a series of
AttributeErrorandTypeErrorcrashes that prevented the scanner from correctly reading video codec information from the Plex API. - The scanner now correctly calls
video.reload()to fetch full media details, fixing an issue where all codecs were reported asN/A. - The scanner now correctly iterates through all of a video's "parts", ensuring it finds the correct video stream even in libraries with optimized versions.
- The library filter was fixed to correctly identify and scan "Music Videos" and "Other Videos" (e.g., YouTube) libraries.
- Resolved a series of
- Job Queue Failures:
- Fixed a bug where the UI would show "Failed to fetch job queue" because the
/api/jobsendpoint was missing. - Fixed a database commit issue where the scanner would identify files but fail to save them to the job queue.
- Fixed a bug where the UI would show "Failed to fetch job queue" because the
- Background Thread Stability: Fixed a
RuntimeError: Working outside of request contextcrash that occurred when the automatic scanner tried to access web request data. - UI Auto-Refresh Bug: The Job Queue page no longer reverts to page 1 on auto-refresh and now correctly stays on the user's currently selected page.
- Job Queue Rendering: Fixed a UI rendering bug where a "ghost" job from a previous page would sometimes appear at the bottom of the current page.
- Standalone Worker Execution: The worker script now defaults to connecting to
localhost, fixing a DNS error and allowing it to be run outside of Docker for development and testing. - Worker Startup Crash: Fixed an
AttributeErrorthat caused the worker script to crash immediately on startup due to an incorrect method name. - Form Resubmission Error: Implemented the Post-Redirect-Get (PRG) pattern for the Options page, eliminating the browser warning on page refresh after saving settings.
[0.10.1] - 2025-11-23 - The Scanner Awakens
This is a stability release that ensures the new Plex integration features from v0.10.0 run correctly in a production Docker environment.
Changed
- Database Initialization: The database initialization logic is now handled by a dedicated
init_db.pyscript. Thedocker-compose.ymlfile has been updated to run this script before starting the web server, ensuring the database is ready and preventing race conditions.
Fixed
- Plex Scanner in Docker: Corrected a critical bug where the background Plex scanner thread would not start when the application was run with Gunicorn inside a Docker container. The scanner now initializes correctly, allowing for automated job creation in production.
[0.10.0] - 2025-11-23 - User-Friendly Plex Integration
Added
- In-App Plex Authentication: Implemented a secure, PIN-based OAuth flow directly within the dashboard. Users can now link their Plex account by visiting
plex.tv/linkand entering a code, eliminating the need to handle authentication tokens manually. - Dynamic Plex Library Selection: Once authenticated, the "Options" tab now dynamically fetches and displays a list of the user's available Plex libraries, allowing them to be selected for monitoring via checkboxes.
- Plex Login/Logout: Added "Link Plex Account" and "Unlink Plex Account" buttons to the UI for managing the authentication state.
Changed
- Configuration Storage: All Plex-related settings (URL, Token, and Monitored Libraries) are now stored securely in the database and managed via the UI, not in environment files.
- Options UI: The "Options" tab was redesigned to support the new Plex authentication flow and dynamic library list.
Removed
- Plex Environment Variables: Removed the requirement for
PLEX_URL,PLEX_TOKEN, andPLEX_LIBRARIESin the.envfile, simplifying the initial setup process.