Skip to content

Releases: fscorrupt/posterizarr

v2.2.40

04 May 08:29
2a9c628

Choose a tag to compare

What's New?

🖼️ Automated Logo Management

I’ve added a massive new feature set for managing your Plex ClearLogos:

  • LogoUpdater: Automatically scan your libraries and fetch high-quality logos from TMDB, TVDB, and Fanart.
  • LogoRevert: Changed your mind? Revert mode identifies logos uploaded by Posterizarr and restores the original Plex defaults.
  • Multi-Library Support: Run updates or reverts across a single library or your entire collection at once.

🔒 Security Improvements

  • Implemented SSRF and Path Traversal protections to ensure external URL fetching and file paths remain secure.
  • Sanitized API error responses to improve the security posture of the web interface.

🛠️ Improvements & Fixes

  • UI Refactor: Smoother, faster modals for Run Modes and Library browsing.
  • Bug Fixes: Resolved issues with duplicate action buttons and improved handling of assets with special characters.

What's Changed

Full Changelog: 2.2.39...2.2.40

v2.2.39

20 Apr 08:18
d52c7e3

Choose a tag to compare

🚀 Features & Improvements

  • Enhanced Jellyfin/Emby Search: Expanded the API query fields (Tags, Width, Height, Path, ProviderIds, etc.) and improved search robustness. If a strict series path match fails, the system will now intelligently fallback to search as a movie type to recover the match.
  • Smart Season Titling: In Manual Mode, selecting a folder will now auto-set the title to "Season X" (if in season mode) rather than strictly grabbing the base folder name, improving the overlay generation workflow.
  • Precise mediaType Routing: The mediaType (movie vs. show) is now explicitly passed through the asset replacement flow from the frontend to the backend, ensuring the correct Poster/Card flags (-MoviePosterCard or -ShowPosterCard) are triggered during upload.
  • Expanded Debug Logging: Added more descriptive logging for Jellyfin/Emby search URIs and item resolutions to make troubleshooting easier.

🐛 Bug Fixes

  • TMDB Logo Language Check: Fixed a bug where the $lang check would always evaluate to true due to an incorrect -or operator. It now correctly uses -and to filter out null and xx languages. by @kevbentz in #552
  • Season Overlay Application: Fixed an issue in the image composition command where the standard $Posteroverlay was being applied to season posters instead of the intended $Seasonoverlay.

⚙️ Maintenance & Under the Hood

  • Updated GitHub action runner parameters to force Node 24 (FORCE_JAVASCRIPT_ACTIONS_TO_NODE24).
  • Bumped softprops/action-gh-release to v3.

Full Changelog: 2.2.38...2.2.39

v2.2.38

14 Apr 14:00
57bb9f9

Choose a tag to compare

🛠 Improvements

  • WebUI Backend (main.py):
    • Implemented final_lang logic to normalize language codes.
    • Added explicit mapping for "Textless" assets using the xx code.
    • Added automatic conversion of 3-letter codes (ISO 639-2) to 2-letter codes (ISO 639-1).

What's Changed

Full Changelog: 2.2.37...2.2.38

v2.2.37

14 Apr 08:29
141b639

Choose a tag to compare

🛠 Improvements & Fixes

  • WebUI: Added show_title support for better asset matching.
  • PowerShell: Added -SkipExifCheck option to UploadOtherMediaServerArtwork.
  • Metadata:
    • Default PreferredMetadataLanguage to en if not set.
    • Improved HDR detection logic to filter out invalid 'None' strings.
  • Backend: Enhanced search query logic in main.py to use show_title for more accurate TMDB/TVDB lookups.

What's Changed

Full Changelog: 2.2.36...2.2.37

v2.2.36

12 Apr 07:40
7e2881f

Choose a tag to compare

Summary

Version v2.2.36 is a massive leap forward. We’ve upgraded our WebUI to a lightning-fast new engine, patched critical security vulnerabilities, fixed a lingering configuration bug in the core script, and added highly requested features like Show-specific overlays and multi-instance Tautulli support!

✨ New Features

  • Show-Specific Overlays: You can now define separate overlays specifically for TV Shows! We've added showoverlayfile and showbackgroundoverlayfile to the config. If left blank, they will automatically fall back to your standard overlays.
  • Manual Mode Auto-Sync: Running manual mode? Posterizarr will now automatically upload your processed assets directly to Plex, Jellyfin, or Emby, just like the automated triggers do. (if Upload2Plex is enabled, Jelly/Emby by default)
  • Multi-Instance Tautulli Support: The Tautulli trigger.py script has been completely rewritten. It now supports flexible arguments and a new -p flag, allowing you to easily direct triggers to multiple different Posterizarr instances. (See the updated Tautulli docs for setup!)

🚀 Improvements

  • Vite v8 & Rolldown: The WebUI backend has been upgraded to Vite 8 with Rolldown, providing a faster, more modern UI bundling experience.
  • Smarter Logo Recoloring: Upgraded the logo chroma detection to use the HCL colorspace. Posterizarr is now much smarter at determining if a logo is a flat color before attempting to recolor it.
  • WebUI Queue Dates: Fixed an issue where the queue view dates would render incorrectly on Safari and iOS devices.
  • Localization: Refined translation strings in German, French, Italian, English, and Portuguese.

🛡️ Security & Bug Fixes

  • State Bleed Bug Squashed: Fixed a crucial issue in the core processing loop where skipping an overlay or border on one item would accidentally disable it for the rest of the queue.
  • Security Hardening: Patched three high/moderate severity vulnerabilities in the Vite Dev Server (including CVE-2026-39363) that could lead to unauthorized file access.
  • ImageMagick: Fixed syntax errors related to stroke width arguments when rendering text.

What's Changed

  • Sync Main to dev by @fscorrupt in #545
  • feat/chore: Vite v8 upgrade, Show-specific overlays, Tautulli refactor, and core logic fixes by @fscorrupt in #546

Full Changelog: 2.2.35...2.2.36

v2.2.35

03 Apr 20:04
3e07e0d

Choose a tag to compare

What's Changed

Full Changelog: 2.2.34...2.2.35

v2.2.34

03 Apr 18:55
60d2736

Choose a tag to compare

What's Changed

  • Bug: Fix media server query on jelly arr trigger. by @fscorrupt in #542

Full Changelog: 2.2.33...2.2.34

v2.2.33

02 Apr 16:47
df30d47

Choose a tag to compare

This release brings an important security patch, massive speed improvements to Plex EXIF scanning, and better handling for HDR and Dolby Vision content. We highly recommend updating to this version.

🔒 Security

  • Patched Picomatch: Resolved a known method injection vulnerability related to POSIX character classes in the picomatch dependency.
  • Localhost Binding: The server now binds to localhost by default to ensure it isn't unintentionally exposed to your broader network. (Check the new networking docs if you need to adjust this!)

⚡ Performance Improvements

  • Lightning Fast Plex Scans: We've replaced full downloads with a 64KB fast-scan for Plex EXIF checks. This significantly speeds up UploadExistingAssets when local assets already have EXIF data.

✨ Features & Improvements

  • Smart Logo Conversion: Posterizarr now detects a logo's color dominance before converting it to white, resulting in much cleaner overlays.
  • HDR & Dolby Vision Support: Added deep parsing for MediaStreams, HDR resolutions, and DOVIWithEL (Dolby Vision with Enhancement Layer) handling.
  • Kometa Integration: We've added a brand new guide for integrating with Kometa! Check the navigation to read up on it.
  • UI Updates: The AssetReplacer UI has been compacted for a cleaner look.

🐛 Bug Fixes

  • Fixed an issue where Season text extraction was failing on the Asset Replace Modal.
  • Fixed Jellyfin plugin synchronization logic.
  • Fixed minor typos, cleaned up JSX formatting, and removed redundant cleanup tasks.

What's Changed

  • feat: detect logo color dominance before applying white conversion by @MrRobotoGit in #536
  • perf: use fast-scan (64KB) for Plex EXIF check instead of full download by @MrRobotoGit in #538
  • feat: fast-scan Plex EXIF, smart logo conversion, and security patches by @fscorrupt in #540

New Contributors

Full Changelog: 2.2.32...2.2.33

v2.2.32

20 Mar 11:36
bcc834a

Choose a tag to compare

What's Changed

Full Changelog: 2.2.31...2.2.32

v2.2.31

19 Mar 15:41
f234a1f

Choose a tag to compare

What's Changed

📢 Highlights
This version focuses on making Posterizarr more "set-and-forget" with automated asset cleanup and better scheduling reliability. I’ve also added a major documentation piece for those using dashboarding tools.

What's New?

  • Dashboard Integration: You can now easily add Posterizarr stats to your Homepage dashboard. Check out the new "Homepage Custom API" section in the docs!
  • Smart Asset Cleanup: The backend now detects if a manual asset is newer than a generated one and cleans up the outdated versions automatically.
  • Improved Log Handling: The Log Viewer is now much smarter at finding available logs and falling back to the UI logs if the script logs haven't been generated yet.

🛠️ Bug Fixes & Improvements

  • Fixed an issue where poster exponents were not being applied correctly.
  • Fixed "Gravity" selection in the Config Editor to ensure compatibility with backend requirements.
  • Improved Scheduler stability to prevent crashes during job retrieval.
  • Fixed centered alignment issues on text strokes.

CI/CD: Upgraded internal build workflows to Node 24 for better performance and security.

Full Changelog: 2.2.30...2.2.31