Releases: GeiserX/jellyfin-encoder
Releases · GeiserX/jellyfin-encoder
v1.1.1
What's Changed
Hardening
- Startup preflight — the encoder now exits cleanly with a
CRITICALlog ifSOURCE_FOLDERorDEST_FOLDERis not a valid directory, instead of crashing inPollingObserver.start()with an unhandledFileNotFoundError - Consistent defaults in
compare_encodes.py— now uses/app/sourceand/app/destinationas fallbacks (matchingmonitor.py), so running it inside the container works without explicit--source/--destflags
Tests
- Regression tests for default path values and startup preflight behavior (28 total, all passing)
Full Changelog
v1.1.0
What's Changed
Bug Fixes
- Fix default
SOURCE_FOLDER/DEST_FOLDERpaths — defaults were leftover Windows paths (F:\Series,G:\Series), now correctly default to/app/sourceand/app/destinationmatching the Dockerfile and documentation (#5)
Improvements
- Startup config log — all configuration is logged at startup for easier debugging of environment variable issues
- Always append version suffix — encoded outputs now always include the version suffix (e.g.,
Movie - 720p.mkv) for Jellyfin multi-version detection. See Upgrading from < 1.1.0 for migration instructions. - Guarded cleanup — orphan cleanup with mount-health checks, persisted source count, and delete-event rate limiter to prevent mass deletion during mount outages
- Smart skip logic — detects files already at 720p or lower via filename heuristics and ffprobe resolution analysis
- Subtitle preservation — copies MKV-native subtitle codecs and converts incompatible ones (MOV text, WebVTT) to SRT
- compare_encodes.py — diagnostic utility to compare source vs destination encoding coverage
Full Changelog
v1.0.0 - Initial Release
Automatic 720p HEVC/AV1 transcoding service for Jellyfin with NVIDIA and Intel hardware acceleration.