What's Changed
- fix: harden malformed-input handling and address code review findings by @M-Igashi in #226
- Exit non-zero when any per-file operation fails by @M-Igashi in #239
- Align info/display gain with apply paths for -d and -m by @M-Igashi in #240
- Clamp histogram bin 0 to 0 dB to match mp3gain reference by @M-Igashi in #243
- fix: continue dry-run batch when predict_apply fails on a file by @M-Igashi in #242
- Fix TSV apply output: no re-read, real gain range, header by @M-Igashi in #244
- Make tag writes atomic via temp file and rename by @M-Igashi in #246
- mp3rgui: queue files dropped during processing instead of discarding them by @M-Igashi in #238
- fix(mp3rgui): recompute clip flags for stored-tags rows on Target change by @M-Igashi in #241
- Honor cancel during album group analysis in mp3rgui by @M-Igashi in #245
- Refactor: deduplicate command loops, GUI modals, and document undo tag conventions by @M-Igashi in #247
- Reduce redundant full-file passes in the apply paths by @M-Igashi in #248
Full Changelog: v2.9.5...v2.9.6