Fixed
- HEVC→HEVC re-encodes leaving newly-converted files showing as NEW in the Scanner. Reproduced on a Farscape Season 2 re-encode pass that only changed audio (DTS-HD MA → EAC3, video stream
d3g-tagged HEVC pass-through). Root cause: the audio-codec-rename path atqueue.py:2242+(which renames the on-disk file when the audio codec marker in the filename changes — e.g.…DTSHDMA.mkv→…EAC3.mkv) only updatedscan_results.file_path, leavingconverted=0. The late post-conversion update site then ran itsalready_correctcheck (introduced in v0.3.137 to skip duplicate work), which looks forconverted=1on the row at the new path — foundconverted=0, returned False, fell into the destructive DELETE+UPDATE pattern. The DELETE wiped the freshly-renamed row at the new path, the UPDATE matched 0 rows (original file_path no longer existed in scan_results), and the watcher's next sweep re-INSERTed the row asis_new=1, new_detected_at=now. Net symptom: row showingconverted=1, is_new=1, new_detected_at=recent— three fields in an internally inconsistent state. Fix: (1) audio-rename UPDATE now also setsconverted=1, is_new=0, new_detected_at=NULLparallel to the early/late update sites; (2) late-update site'salready_correctcheck is now more permissive — also accepts "row exists at new path AND no row at old path" (rename happened upstream regardless ofconvertedflag) before falling into destructive DELETE+UPDATE; (3) one-shot heal migration_v0_5_2_audio_rename_destructive_healclearsis_new+new_detected_atand setsconverted=1on any scan_results row matching a successful completed conversion job (drops v0.3.137 heal'soriginal_file_path != file_pathconstraint, since audio-rename code paths may not persistoriginal_file_pathreliably; the v0.3.137 heal was one-shot so post-v0.3.137 conversions weren't caught either way).
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.2 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.2-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.2-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.2-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.