Skip to content

trailarr

v0.9.8 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 28d Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

plex radarr sonarrr trailers video-conversion

Summary

AI summary

Dedicated tmdb_id and tvdb_id fields added on media items, fixing SQLAlchemy connection pool exhaustion and VAAPI hardware encoding failures.

Full changelog

v0.9.8 - June 13, 2026

What's New:

  • Dedicated tmdb_id and tvdb_id fields 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 accept tmdb_id and tvdb_id as numeric filter targets (equals, greater than, etc.).

    ⚠️ If you have custom filters using txdb_id, consider switching them to tmdb_id (for movies) or tvdb_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. The txdb_id field 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 reached errors 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 Knight matching The 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_generator database 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 explicit finally: 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_amd stayed False and 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.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track trailarr

Get notified when new releases ship.

Sign up free

About trailarr

Trailarr is a Docker application to download and manage trailers for your Radarr and Sonarr libraries.

All releases →

Related context

Beta — feedback welcome: [email protected]