Skip to content

v3.3.0

Latest

Choose a tag to compare

@fscorrupt fscorrupt released this 05 Sep 18:46
· 1 commit to main since this release
37b596e

Posterizarr v3.3.0 is a major feature and reliability release introducing Agregarr Follow-up Automation, the brand-new Collection Creator & Live Canvas Editor, a native ClearLogo Browser & Uploader, in-app Skipped Assets Management & Unskip, a unified Provider Priority Architecture (ProviderPriorityMode), extensive TMDB Language Mappings, and critical Jellyfin/Emby Sync Plugin improvements.


⚠️ Breaking Changes & Migration Notice

Important

Provider Priority Architecture Update (ProviderPriorityMode)
The legacy provider override flags OverrideProviderOrder, EnableMovieProviderOrder, and EnableShowProviderOrder
have been consolidated into a new, flexible setting: ProviderPriorityMode (global vs permediatype).

  • Existing configs will be safely migrated automatically, but please review your Provider Preferences in the Web UI after updating.
  • If you use custom per-media orders, ensure MovieProviderOrder and ShowProviderOrder contain your desired search priorities.

Major Features & Highlights

Agregarr Follow-up Automation (#644)

Posterizarr now seamlessly connects with Agregarr to trigger collection updates and overlay generation automatically after artwork is uploaded to Plex:

  • Post-Upload Trigger: When an Arr-triggered job successfully uploads a poster, season poster, or episode title card to Plex, Posterizarr dispatches a follow-up callback notifying Agregarr of the exact item (ratingKey, media type, and season/episode coordinates).
  • Sonarr Multi-Episode Unbundling: Sonarr webhooks containing multi-episode files are automatically unpacked into individual .posterizarr jobs, guaranteeing dedicated title card processing and independent callback retries for every episode.
  • Environment Variable Overrides: Full headless/Docker support via AGREGARR_TRIGGER_ENABLED, AGREGARR_URL, and AGREGARR_API_KEY.
  • Non-Blocking Resilience: Agregarr callbacks run with bounded timeouts; an unreachable Agregarr instance will log a warning and never fail an otherwise successful artwork job.

Collection Creator & Live Canvas Editor

A comprehensive new studio and collection artwork creation suite directly in the Web UI (CollectionExplorer & CollectionLiveEditor):

  • Real-time Live Canvas: Design stunning collection posters with live preview rendering, instant typography updates, and drop shadow adjustments.
  • Advanced Visual Effects: Radial and linear gradient styles, top/bottom matte and fade controls, vignette filters, procedural grain overlays, and custom rounded border radiuses.
  • Studio Logos & Textures: Built-in studio logo fetching and caching (studio_logos.py), TMDB backdrop texture proxies, and generalized AssetSearchModal for discovering posters, textures, and clearlogos in one place.
  • Preset System: Save custom presets server-side, capture thumbnail previews, and generate swatches with the random color swatch generator.
image image

ClearLogo Management & Media Server Logo Browser

Manage, search, and upload high-resolution clearlogos across your entire media library:

  • Multi-Server Support: Browse and inspect logos directly from Plex, Jellyfin, and Emby libraries.
  • Batch Missing-Logo Checks: Quickly scan libraries to identify movies, shows, or collections lacking logos.
  • Direct Media Server Uploads: Search replacement logos from Fanart.tv, TMDB, or local files and upload them straight to your media server from the UI.
  • Backend Token Proxying & SSRF Protection: Media server authentication tokens remain securely server-side and are never exposed to browser clients.
  • Responsive UI: Toggleable sidebar navigation, adjustable preview sizes, subtype filtering (e.g. logos vs titles), and data URL compatibility.
image image

Skipped Items Management & In-App Unskip

Complete visibility and control over items excluded from Posterizarr processing:

  • Dedicated Skipped View: A new "Skipped" tab in Asset Overview displays all items marked with the skip_posterizarr tag.
  • One-Click Unskip: Instantly remove the skip label directly from the WebUI (utilizes Plex tag- parameter and Jellyfin/Emby tag APIs) and re-queue the asset for processing without opening your media server.
  • Metadata & Poster Proxies: Inspect why an item was skipped, review its active poster, and view matched metadata.
image

Unified Provider Priority Architecture (ProviderPriorityMode)

Overhauled how Posterizarr prioritizes metadata and artwork providers across all operational modes:

  • ProviderPriorityMode (simple (default), global vs permediatype): Choose between a single global provider hierarchy or independent chains for movies (MovieProviderOrder) and shows (ShowProviderOrder).
  • EffectivePrimaryProvider in Core Engine: Dynamic runtime resolution ensures fallback providers take over gracefully when primary sources lack specific assets.
  • Asset Overview Provider Tagging: The UI now detects whether an image was sourced from your primary provider and highlights "Not Primary Provider" assets.
  • Clean Provider Links: Simplified provider URL construction with direct provider link matching, eliminating deceptive fallback links.

Regional Language Mappings (TmdbLanguageMappings)

  • Dialect & Fallback Aliasing: Map regional language codes (e.g., pt-BR -> pt, es-MX -> es, zh-CN -> zh) so localized posters match seamlessly on TMDB.
  • Granular ApplyTo Flags: Per-library language overrides now support specific targets (ApplyToPoster, ApplyToBackground, ApplyToSeason, ApplyToTitleCard, and ApplyToLogo).
  • WebUI Language Configuration: Configure and manage language mappings and library overrides in the updated Language Preferences tab.

Jelly/Emby Plugin Changes:

  • Accurate Title Card Matching: Title cards are now resolved by their true episode number rather than list order, eliminating mismatched artwork when shows have episode gaps or irregular numbering.
  • Improved Season & Arc Matching: Shows with named story arcs or custom season titles (such as anime like One Piece) now group seasons correctly, fixing missing season artwork and eliminating sync errors.

WebUI & Frontend Enhancements

  • Reusable ImagePreviewModal: Consolidated asset preview modals across Recent Assets and Asset Overview into a single modern modal with live title fetching.
  • Integrated AssetReplacer in Recent Assets: Directly open the replacement modal from Recent Assets with automatic cache-busting and toast notifications.
  • Metadata & Season Labels: Shows resolve real titles, and TV season entries display clear season indicators instead of generic folder paths.
  • Streamlined Sidebar: Flattened configuration navigation for faster access to settings.

Engine & PowerShell Improvements

  • Resilient Log File Writing: Added retry logic and lock handling in System.ps1 to prevent crashes when log files are accessed concurrently.
  • Library Type Normalization: Normalized comparisons across Jellyfin/Emby to treat both show and series library types consistently.
  • Path Trimming & Initializations: Fixed path trimming for $Matchedpath and sanitized library folder paths.
  • Array Preservation: Wrapped single-element ProviderOrder responses in arrays to avoid scalar conversion errors.
  • Config Safe Checking: Improved missing config handling in media server connection tests and auto-trigger tasks.

🐛 Bug Fixes

  • Fixed React hook ordering and added null guards in ImagePreviewModal to prevent runtime crashes.
  • Fixed Plex logo uploads and credential handling when config parameters are omitted.
  • Fixed case-insensitive skip removal when untagging media server assets.
  • Fixed command argument passing for title cards in backend main.py.
  • Fixed TVDB slug access and fallback URL generation.

Dependencies & Maintenance

  • Bumped react-router-dom to ^7.18.2.
  • Bumped nanoid in frontend package lockfile.
  • Added npm override for postcss-selector-parser >= 6.1.3.
  • Automated 76 plugin manifest updates across nightly and dev builds.

Related Pull Requests & Issues