Added
- Emby integration at full feature parity with Jellyfin: library refresh after each conversion, active-stream detection (pause encoding when someone's watching), watched-status sync for queue prioritization, rule-engine inputs (Emby tag + watched-status condition types; genre/library shared with the existing Plex pipeline), bulk metadata sync (
POST /api/rules/sync-emby), path mapping, connection test. New Emby section in Settings → Integrations. Nine new settings keys (emby_url,emby_api_key,emby_user_id,emby_path_mapping,emby_scan_after_conversion,emby_empty_trash,emby_pause_on_stream,emby_pause_stream_threshold,emby_pause_transcode_only). Newbackend/emby.pymirrorsbackend/jellyfin.py1:1; Emby's HTTP API is ~90% identical to Jellyfin's so the integration shares theAuthorization: MediaBrowser Token=...header and the same/Library/Refresh,/Sessions,/Library/VirtualFolders,/Usersendpoints. Emby URL is added to the SSRF allowlist and (drive-by fix) so is Jellyfin's, which was previously unprotected. Synthetic API-shape unit tests forbackend/emby.py(backend/tests/test_emby.py).
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.0 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.0-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.0-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.0-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.