Posterizarr v3.3.5 is here! This release brings automated season template generation and batch season updates, massive performance improvements for large Plex TV libraries, critical fixes for Jellyfin 12 collection handling, improved specials detection, real-time WebSocket stability, and full Homepage dashboard support.
🌟 Highlights
🎨 Automated Season Template Generation & Batch Updates
Managing season posters just became effortless:
AutoCreateSeasonTemplate: When a show poster is added, replaced, or synced, Posterizarr can automatically generate/update the matchingSeasonTemplateimage.AutoUpdateExistingSeasonPosters: When enabled alongside the template creator, Posterizarr detects existing seasons (via filesystem and export database) and regenerates all season posters with your new template.- Smart Regeneration: A newly created template immediately triggers regeneration (
$SeasonTemplateJustCreated), bypassing timestamp caching delays. - Gated and configurable directly inside the Web UI Config Editor.
🚀 Massive Plex API Speedups & Resiliency
- Bulk API Endpoints: TV library metadata queries now utilize
Get-PlexSectionSeasonsBulkandGet-PlexSectionEpisodesBulkwith 2,000-item pagination, significantly reducing scanning time and network overhead for large TV libraries. - Resilient Plex Requests (
Invoke-PlexWebRequest): Centralized Plex HTTP logic with exponential backoff, retry handling, and clearer error logging for transient network issues.
🛠️ Jellyfin 12 & Emby BoxSet Collapsing Fix (#665)
- Under Jellyfin 12, movies assigned to collections/box sets could be collapsed and omitted from library queries.
- Added
CollapseBoxSetItems=falseacross all modes and the Web UI backend, ensuring 100% of movies and shows are always discovered.
📡 WebSocket, Log Streaming & Cache Hardening
- Flicker-Free Log Viewer: Reconnecting WebSockets no longer trigger a full log viewer reload.
- Heartbeats & Silence: Added active ping/pong heartbeats and suppressed benign client disconnect noise (
ConnectionReset/BrokenPipe). - CSV Inode Tracking: Instant, reliable rotation detection for
ImageChoices.csvwithout artificial sleep delays. - Jellyfin / Emby Plugins: Enhanced
AssetPathResolverwith TTL-backed folder caching and item disambiguation across libraries with identical names.
📊 Homepage Dashboard Widget Integration
- Added complete documentation and configuration examples for integrating Posterizarr into your Homepage dashboard docs.
- Live run status, asset statistics, and scheduler monitoring via
customapiwidgets with optional dark glassmorphism CSS/JS.
📋 Full Changelog
-
Core & Generation:
dac9d41eAddAutoCreateSeasonTemplateandAutoUpdateExistingSeasonPostersconfiguration options.3f5166e0Gate season poster update option by template enablement in UI.5dd3e37fForce season regeneration immediately when a template is created in the same run.03057fc8Fix path resolution using-LiteralPath, standardize manual test directories, and preserve text overlays when using templates.f16f735aFix specials season detection (including localized names like 'Spezial' and Season 0) and preserve override text casing.01821718Honor custom provider order and media overrides in prerequisite check.e0ed4c11Report distinct Movie vs Show counts in library discovery logs.8a6e5453Add libraryTypeproperty and deduplicate show libraries for bulk queries.
-
Plex Integration:
40183269Optimize Plex metadata fetching with bulk APIs (Get-PlexSectionSeasonsBulk,Get-PlexSectionEpisodesBulk).8c66efd4UseInvoke-PlexWebRequestfor season children requests in mass restore.89e68a44Add resilient Plex request retries with exponential backoff and timeout handling.
-
Jellyfin / Emby Integration:
f5533fea/800232b3/74bdb99eDisable boxset collapsing (CollapseBoxSetItems=false) to ensure complete library discovery (#665).3e4ee671/a52b7d65/bbdc3106Improve WebSocket candidate matching,LibraryNamedisambiguation, andAssetPathResolverTTL cache.
-
Web UI & Backend:
86642c79Prevent log viewer refresh on reconnect, add active WebSocket heartbeats, and handle inotify limits.dac9d41eAdd backend helpers to detect season template flags, queue season replacements, and harden queue worker loops.d6a818c2Add documentation and screenshots for Homepage dashboard widgets.
What's Changed
- Sync main2dev by @fscorrupt in #662
- Fix incomplete Jellyfin 12 imports caused by BoxSet collapsing by @Rollbacke in #665
- Automated Season Templates, Plex Bulk API Optimizations, Jellyfin 12 BoxSet Fix & Real-Time Hardening by @fscorrupt in #667
New Contributors
- @Rollbacke made their first contribution in #665
Full Changelog: 3.3.4...3.3.5