Repository navigation
Releases: havok89/PlexCards
Releases Β· havok89/PlexCards
Release list
v0.9.2 - Typography Overhaul, Logo Alignment, Auto-Gemini & Baseline Sync
What's New in v0.9.2
π¬ Movie & Franchise Collection Posters
- Multi-Library Switching & Scanning: Full indexing and management of both Plex TV Shows and Movies libraries.
- MediUX & TMDb Integration:
- Browse available artwork sets from MediUX and TMDb with 1-click apply to Plex.
- Smart isolation of standalone movie artwork in Movie view (filtering out entire boxset collections).
- Surface active / applied MediUX sets to the top of the list when reopening studio modals.
- Franchise Collection Studio:
- 1-to-1 bipartite smart title/subtitle/year matching ensuring boxset sequels are correctly assigned dedicated artwork without collision.
- High-res poster lightbox preview modal for inspecting set artwork.
- Custom Movie Poster Upload:
- Drag & Drop / File Browser: Upload custom movie posters directly from local disk (JPG, PNG, WEBP) with automatic Pillow conversion and 95% JPEG quality.
- Canvas Drag & Drop and external URL pasting.
π€ Gemini AI Style Assistant
- Automated Styling for New Shows: Automatically queries Google Gemini to design and save a show-specific typography and color palette when newly added shows have title cards generated via background or real-time sync, ensuring all episodes share a consistent style before uploads begin.
- Show-Level Consistency: Once generated, the custom style is preserved so future episodes immediately reuse the same aesthetic without extra API calls.
π¨ Typography & Layout Refinements
- Show Logo Safe-Area Alignment: Watermark logos now align to the exact safe margins (
margin_side = 110,margin_top = 100,margin_bottom = 120) used by the rest of the card typography. - Transparent Bounding Box Trimming: Automatically crops transparent border padding around logos before placement, guaranteeing flush alignment with text bounds on both left and right edges.
- Typographic Baseline Synchronization: Subtitles detached at the bottom right now match the exact typographic baseline of bottom-left titles across single-line and multi-line titles.
- Clean Typography (Badge/Pill Removal): Replaced container shapes with pure, clean text typography featuring customizable tracking, casing, and dropshadow/glow effects.
- 10-Foot Distance Readability: Elevated Gemini styler defaults and ranges for distant TV viewing (Title: 124px / 110β150px; Subheading: 62px / 52β74px).
π± Mobile & Performance Enhancements
- Responsive Mobile Layout: Fixed horizontal header overflow on mobile screens with a dedicated full-width search row.
- Chunked Infinite Scrolling & Lazy Loading: IntersectionObserver-based lazy loading and windowed rendering prevent network spikes and heavy DOM overhead.
- Plex Connection Resilience: Configured connection and read timeouts with graceful fallbacks.
- Docker Always Restart: Container restart policy updated to
restart: always.
v0.9.2-pre - Typography Overhaul, Logo Alignment & Baseline Sync
What's New in v0.9.2-pre
π¨ Typography & Layout Refinements
- Show Logo Safe-Area Alignment: Standardized watermark logo margins to match title card text margins (
margin_side = 110,margin_top = 100,margin_bottom = 120). - Logo Transparent Bounding Box Trimming: Automatically crops transparent border padding around show logos (
logo_img.crop(logo_img.getbbox())) so artwork edges sit flush with text on both left and right alignment. - Typographic Baseline Synchronization: When subtitles are detached at the bottom right and the title is at the bottom left, both now share the exact same typographic baseline regardless of title font size or line count.
- Clean Typography (Badge/Pill Removal): Simplified subtitle presentation to pure, elegant text with tracking, casing, and dropshadow/glow options, eliminating clumsy container shapes.
- 10-Foot Distance Readability: Increased Gemini AI styler default font sizes (Title: 124px / 110β150px; Subheading: 62px / 52β74px) for clear legibility on large TV screens.
π οΈ Developer & Build Improvements
- Updated proxy defaults and Vite dev configuration.
- Bumped application version to
0.9.2-preacross the backend, frontend, and rootVERSION.
v0.9.1-pre - Movies, Collections, MediUX, Custom Uploads, Mobile Fixes & Docker Updates
Pre-release
What's New in v0.9.1-pre
π¬ Movie & Franchise Collection Posters
- Multi-Library Switching & Scanning: Full indexing and management of both Plex TV Shows and Movies libraries.
- MediUX & TMDb Integration:
- Browse available artwork sets from MediUX and TMDb with 1-click apply to Plex.
- Smart isolation of standalone movie artwork in Movie view (filtering out entire boxset collections).
- Surface active / applied MediUX sets to the top of the list when reopening studio modals.
- Franchise Collection Studio:
- 1-to-1 bipartite smart title/subtitle/year matching ensuring boxset sequels (e.g. 28 Years Later: The Bone Temple) are correctly assigned their dedicated artwork without prefix collision.
- High-res poster lightbox preview modal for inspecting set artwork.
- Test Mode Gating:
- Full simulation support in
TEST_MODEfor both individual movies and franchise collections, saving artwork locally tocache/test_output/with "Live Upload" toggles to push directly to Plex.
- Full simulation support in
π€ Custom Movie Poster Upload
- Drag & Drop / File Browser: Upload custom movie posters directly from local disk (JPG, PNG, WEBP) with automatic Pillow conversion and 95% JPEG quality.
- Canvas Drag & Drop: Drop images directly onto the movie card preview in the studio modal.
- Support for pasting direct external image URLs.
π± Responsive Mobile Layout & Header Fix
- Mobile Header Optimization: Fixed horizontal overflow on iPhone and narrow screens by moving the mobile search input into a dedicated full-width second row.
- Compact Actions & Labels: Compact top row action buttons and responsive sub-tab labels eliminate clipping and horizontal scroll.
β‘ Performance & Resilience
- LazyImage Component: IntersectionObserver-based lazy loading prevents offscreen poster network requests.
- Chunked Infinite Scrolling: App grid loads an initial window of 48 items + 36 on scroll, reducing initial DOM trees and connection spikes by > 85%.
- Plex Timeout Resilience: Configured connection/read timeouts and graceful TMDb fallbacks, preventing 500 errors during rapid tab switches.
π³ Docker Updates
- Updated container restart policy to
restart: alwaysindocker-compose.ymland setup documentation.
v0.9.0-pre
π What's New in v0.9.0-pre
π¨ Per-Season Style Overrides
- Independent Season Styling: Customize typography, fonts, positioning, and color overlays on a per-season basis, or let seasons seamlessly inherit the series default style.
- Season Scope Switcher: Seamless toggle between
Entire ShowandSeason Xin the Title Card Studio with visual override badges and one-click reset to defaults. - Season-Aware Automation: Automated sync and live websocket event listener respect per-season styling overrides when generating episode cards.
π Discord & Custom Webhooks Integration
- Automated Event Notifications: Immediate alerts dispatched when new episode cards are generated or synced from MediUX, when scheduled batch digests run, and on manual applies.
- Dual-Dispatch Engine:
- Discord Direct: Embeds card previews using Discord multipart file attachments.
- Custom Endpoints & Relays: Clean
application/jsondelivery with embedded base64 image data (card_image_base64,card_data_uri) for custom receivers, n8n, and webhooks.
- In-App Management: Configure webhook destination URLs, test connectivity, and toggle event categories in Settings.
- Test Mode Transparency: Clearly marked
π§ͺ [Simulated]tags and simulation metadata on test runs.
π Multi-Library Plex TV Support
- Multi-Library Selection: Select and monitor multiple TV libraries simultaneously.
- Library Filtering & Badges: Clean library filter chips in the header and visual library indicators throughout the dashboard.
βͺ Plex Card Revert & Native Restoration
- Revert to Plex Native Screencap: Easily revert custom cards back to Plex's native auto-generated video frame screencaps for individual episodes or entire shows.
- Safety Confirmations: Informative confirmation dialogs explaining the difference between single episode reverts and full series reverts.
πΌοΈ Custom Episode Screencap Uploads & Asset Management
- Direct Still Uploads: Drag-and-drop or upload custom episode screencap stills directly from the Studio.
- Still Deletion: Delete custom stills and revert back to TMDB/TVDB/Plex stills at any time.
π€ Visual Font Picker & Typography
- Live Visual Font Dropdown: Preview font families visually with direct styling in the dropdown selector.
- Show ZIP Export: Export all generated title cards for a show as an organized ZIP archive with season subfolders.
π οΈ Fixes & Improvements
- Fixed aspect-ratio collapse when toggling view modes on mobile/iOS screens.
- Auto-promote ignored shows to active tracking when a card is manually applied.
- Optimized MediUX sync with fast-skip check for existing cards.
v0.8.0 β Title Card Studio & TheTVDB v4 Support
β¨ What's New in v0.8.0
- MediUX Auto-Matching & Coverage Analysis: Automatically discovers community title card sets for your TV shows and calculates exact season coverage against downloaded episodes.
- Title Card Studio Generator: Create clean 1080p title cards with customizable typography, side-stack gradients, and a real-time live preview canvas.
- Single-Card Live Updates: Update or preview individual episode title cards directly without re-rendering or touching the entire series.
- TheTVDB (API v4) & TMDb Integration: First-class support for TheTVDB v4 with subscriber PINs, provider priority toggle, episode screencap selection, and accurate broadcast statuses (
Continuingvs.Ended). - Optional Gemini AI Styling: Intelligent font pairings and color palettes based on show themes and synopses. (100% optional; cleanly hidden if no API key is provided).
- Plex WebSocket Event Listener: Automatically generates and applies title cards the moment a newly downloaded episode finishes importing into Plex.
- Plex OAuth Authentication: Optional dashboard login protection restricted to the server owner or whitelisted Plex accounts.
- Multi-Arch Docker Images: Automated container builds for
linux/amd64andlinux/arm64published to GitHub Container Registry (ghcr.io/havok89/plexcards). - Project Showcase: Live documentation and setup guide published via GitHub Pages.