github fscorrupt/posterizarr 3.3.6
v3.3.6

3 hours ago

Overview

This release introduces EXIF verification for the Logo Updater, full BoxSet/Collection asset resolution for Emby and Jellyfin plugins, responsive layer positioning calculations in the Blueprint editor, and documentation/UI clarifications around real-time trigger direct uploads.


Changes

Logo EXIF Verification (Logo Updater)

  • Added CheckLogoExif configuration and -CheckLogoExif CLI switch.
  • Allows Logo Updater to inspect existing logo files for the Posterizarr EXIF marker before attempting replacement, avoiding unnecessary re-downloads and uploads without needing -ForceReplace.
  • For Plex: queries clearLogos metadata. Automatically skips default Plex agent logos (metadata:// or http://) and downloads uploaded logos (upload://) to temporary storage to test for Posterizarr EXIF tags before updating.
  • For Emby and Jellyfin: retrieves the current logo and verifies EXIF tags via Test-IsPosterizarrAsset.
  • Added WebUI toggles in both Run Modes and Scheduler Settings.

Emby & Jellyfin Collection Asset Support

  • Extended PosterizarrImageProvider in both Jellyfin (Posterizarr.Plugin) and Emby (Posterizarr.Plugin.Emby) to support Collection and BoxSet items (Primary posters, Thumbnails, and Backdrops).
  • Added AssetPathResolver collection handling to locate Collections/ folders at asset root, within subfolders, or when the asset root points directly to the collection path.
  • Handles flat naming (Collections/Name.ext) and folder structures (Collections/Name/poster.ext).
  • Added robust name matching:
    • Suffix handling: matches with and without the "Collection" suffix.
    • Bracket cleanup: strips [boxset], (boxset), and {boxset} tags.
    • Ampersand normalization: equates & and and variants (e.g. Alien & Predator <-> Alien and Predator).
    • Filename sanitization: cleans illegal filesystem characters and replaces colons/slashes with dashes.
  • Added HasChanged tracking in PosterizarrImageProvider so media server metadata refreshes do not ignore updated images on disk.
  • Added collection event handling to PosterizarrWebSocketListener for real-time asset updates.
  • Set UpdateCollection to opt-in (default false) across plugin configurations, providers, resolvers, and WebUI settings to prevent unintended collection updates.

WebUI & Blueprint Editor

  • Computed offsetPercent from pixel offset and canvas height ((offset / canvasH) * 100) in Blueprints.jsx for responsive text layer positioning.
  • Hardened ConfirmDialog message handling to prevent render issues with structured error responses.
  • Added input validation for numeric inputs in OnboardingModal.

Real-Time Trigger Upload Clarifications & Documentation

  • Documented that real-time trigger modes (Tautulli and *Arr webhooks) force direct server uploads regardless of the general PlexUpload=false / OtherMediaServerUpload=false setting.
  • Added guidance for Kometa users to avoid conflicting metadata overwrites when using webhook triggers.
  • Updated AutoTriggers.jsx with an explicit direct-upload note.
  • Added localized translations for new UI copy across English, German, French, Italian, and Portuguese (de, en, fr, it, pt).
  • Updated configuration.md, faqs.md, kometaintegration.md, modes.md, and llms.md.

Commit History

  • 3b824322 Add Logo EXIF check and collection support
  • 502e0177 Fix collection matching and refresh detection
  • df51299a Make UpdateCollection opt-in (default false)
  • 367f646d Compute offsetPercent from offset and canvas height
  • 6daf687f Document trigger-mode direct Plex uploads
  • cc34c4aa Sync Main2Dev (#668)

What's Changed

  • Logo EXIF Verification, Emby & Jellyfin Collection Support & Real-Time Trigger Clarifications by @fscorrupt in #669

Full Changelog: 3.3.5...3.3.6

Don't miss a new posterizarr release

NewReleases is sending notifications on new releases.