Release 6.0
Major rewrite — packaged install, subtitle pipeline, test suite
Breaking changes
- New install method: Plex Organizer is now installed via
pipxinstead of cloning the repo and running shell scripts. See the FAQ for migration steps from v5.0. - Reworked folder & index structure: TV indexes are now stored in the TV library root (
tv/) instead of per-show directories. A migration tool is available viaplex-organizer --manage→ option 7.
New features
- Subtitle fetching: Searches free online providers (OpenSubtitles, Podnapisi, Gestdown, TVsubtitles) for missing subtitles in configured languages and embeds them into the video container. Configured via
[Subtitles] fetch_subtitlesandsubtitle_providers. - Subtitle syncing: Synchronizes embedded subtitle timing to the audio track using
ffsubsync. Only text-based streams are synced; bitmap formats (PGS, VobSub) are left unchanged. Controlled by[Subtitles] sync_subtitles. - Analyze embedded subtitles toggle: New
[Subtitles] analyze_embedded_subtitlesoption to skip or enable analysis of already-embedded subtitle streams for missing language/SDH tags. - Interactive management menu:
plex-organizer --manageprovides a menu-driven helper for viewing logs, migrating config, generating indexes, killing running instances, and more. - Quality detection fallback: When
include_qualityis enabled but no quality tag is found in the filename, the organizer probes the video stream height viaffprobeand maps it to a standard label (2160p,1440p,1080p,720p,480p).
Improvements
- Full test suite: Comprehensive
pytest+pytest-covtest coverage mirroring the source package layout. - CI pipeline: SonarCloud analysis, pylint, and pytest run automatically on push.
- Packaged via
pyproject.toml: Proper Python packaging with declared dependencies — no morerequirements.txtor manual setup. - Restructured codebase: Source split into focused modules (
pipeline.py,audio/,subs/,ffmpeg_utils.py,indexing.py,dataclass.py,paths.py) for maintainability. - Kill running instances: Detect and stop already-running organizer processes via the management menu.
Full Changelog: v5.0...v6.0