Skip to content

v3.3.4

Latest

Choose a tag to compare

@fscorrupt fscorrupt released this 10 Sep 06:31
· 1 commit to main since this release
5e888e4

Highlights & New Features

  • Instant Real-Time Sync (WebSocket Event Stream):

    • Jellyfin and Emby plugins can now connect directly to Posterizarr’s live WebSocket event stream (/ws/events).
    • When Posterizarr finishes rendering or replacing an asset (Movie poster, Show backdrop, Season poster, or Episode title card), it is streamed and applied directly to Jellyfin/Emby items in < 1 second — eliminating the wait for scheduled tasks or library scans.
    • Updates the persistent plugin sync cache immediately so future scheduled scans skip already-synced items.
  • Non-Intrusive Engine Integration (LogsWatcher):

    • Automatically detects newly appended items from ImageChoices.csv as runs complete.
    • Baseline tracking prevents re-broadcasting historical assets when the server starts or restarts.
    • Automatically inspects asset mounts to resolve extensions.
  • Security Hardening & Robustness:

    • Header-Only Authentication: Posterizarr API keys are transmitted strictly via X-API-Key HTTP headers (never exposed in URLs or query strings).
    • CWE-22 Path Traversal Defenses: Plugins canonicalize all received file paths and verify they strictly reside within the configured asset root folder.
    • Cross-Container Volume Flush Retries: Added a 2-second retry window to smoothly absorb Docker storage mount latency.
    • Dual Key Deserialization: Event payloads support both snake_case and camelCase for universal compatibility across all plugin versions.
  • Jellyfin Plugin Catalog Branding:

    • Added official 16:9 banner imageUrl to repository manifests (manifest.json and manifest-dev.json) for display in the Jellyfin Plugin Catalog.

Jelly/Emby Plugin Changes:

  • WebSocket Real-Time Sync: Added background listener service connecting to /ws/events for instant image updates.
  • Direct Image Application: Streams and persists image updates directly using internal provider APIs upon receiving events.
  • Enhanced Configuration Page: Added Real-Time Sync toggle, Posterizarr URL input, and API key configuration with live connection test diagnostics.
  • Volume Latency Tolerance: Added 2-second retry loop for newly created image files.
  • Catalog Image: Configured imageUrl in repository manifests.

What's Changed

  • Real-Time WebSocket Media Server Sync & Plugin Branding by @fscorrupt in #659
  • fix: Information exposure through an exception (CodeQL Scan) by @fscorrupt in #661

Full Changelog: 3.3.3...3.3.4