v0.9.8 - June 13, 2026
What's New: ✨
-
Dedicated
tmdb_idandtvdb_idfields on media items — All media items now store TMDB and TVDB IDs as separate, typed integer fields populated from Radarr, Sonarr, and Plex. These IDs are the foundation for upcoming TMDB extras integration. Custom filters now accepttmdb_idandtvdb_idas numeric filter targets (equals, greater than, etc.).⚠️ If you have custom filters using
txdb_id, consider switching them totmdb_id(for movies) ortvdb_id(for series) — these are the same values but stored as proper integers, with correct null handling for Plex-only items that have no external ID. Thetxdb_idfield remains available and unchanged.
Bug Fixes: 🐛
-
SQLAlchemy connection pool exhaustion on large Plex libraries — Plex connections with 1500+ movies or 160+ series could trigger
QueuePool limit reachederrors and cause an unresponsive web UI. Fixed by processing Plex items in chunks of 100 (matching the Radarr/Sonarr pattern), using bulk DB operations to reduce write sessions from ~10,500 down to ~45 for a 1500-movie sync, and correcting a folder-path prefix-matching bug that would falsely link sibling directories (e.g.The Dark KnightmatchingThe Dark Knight Rises). -
SQLAlchemy connection pool exhaustion during trailer downloads on large libraries — Libraries with many items whose media folders don't exist could exhaust the connection pool during the Download Missing Trailers task, causing an unresponsive web UI. The
read_all_generatordatabase helper was leaking a pool connection on every iteration of the download loop because the session decorator closed the session before the generator body ran, and the re-acquired connection had no cleanup path when the generator was closed early. Fixed by adding an explicitfinally: session.close()inside the generator, ensuring connections are always returned to the pool. -
VAAPI hardware encoding always failed and GPU detection never reached the app — Intel/AMD VAAPI HW encoding silently exited with error -22 (exit 69) on every attempt, causing all conversions to fall back to CPU and making hardware acceleration slower than leaving it off. Independently, GPU detection results written by the entrypoint never propagated to the app process, so
gpu_available_intel/gpu_available_amdstayedFalseand VAAPI was never even attempted without manually forcing environment variables. Both issues are now fixed. Thanks @rafapirotto! Fixes #589.
Other Changes: ⚡
- Updated Python packages to latest versions.