What's New in 3.5.1
Released: 2026-09-02
Changed
- chdman is now the primary encoder. Conversions run on the bundled
chdman, the reference MAME CHD encoder. If chdman fails on a file, the conversion automatically falls back toCHDSharp.exe— the managed encoder whose output is byte-identical to chdman. The fallback reuses the already-prepared cue work directory and ASCII staging, so a cue's work set stays valid and nothing is re-prepared. - A batch is no longer blocked when only one encoder is present. If
chdman.exeis missing butCHDSharp.exeis available, every file is converted with CHDSharp; if CHDSharp is missing, chdman carries the batch alone. The startup notice now shows a critical error only when both encoders are missing. - Duplicate output targets are skipped, not overwritten. When two inputs in the same batch would produce the same
.chd(for exampleGame.7zandGame.isositting side by side), the redundant input is skipped up front and the resolution is logged — the first non-archive input wins, and the redundant archive is no longer extracted and converted just to be overwritten.
Fixed
- PSP
.pbpextraction now uses the reference-compatible SharpZipLib inflater for PSAR block decompression, so images that the stricter .NETDeflateStreamrejected withInvalidDataExceptionextract correctly. The bundledCHDSharpwas updated as part of this fix. - A bare
.binwith no cue and no readable sector header (for example a console BIOS dropped into the input folder) is again treated as informational only — it logs guidance instead of triggering a bug report. - Live write-speed (MB/s) stat card now updates during CHDSharp-driven conversions (it previously froze at 0.0 MB/s), and the elapsed-time card ticks every second during long single-file conversions.
- chdman
Input/output errormessages now include actionable guidance (failing or disconnected drive, antivirus/cloud-sync file locks, damaged image).
Improved
- Bug reports are de-duplicated: an identical warning repeated inside a 10-minute window (a failing batch retrying the same input, a loop logging the same warning per file) is sent once.
- Alcohol 120% (
.mds/.mdf) and UltraISO (.isz) support moved into standalone. No functional change.
Internal
- Analyzers upgraded: Meziantou.Analyzer 3.0.200, Roslynator.Analyzers 5.0.0 added, with analyzer fixes applied across the solution.
- Removed the internal
CHDBattleTestbattleground project (its parity results live on in the CHDSharp documentation); updated the bundled 7-Zip binaries. - Test suite grown to 813 passing tests, including new coverage for duplicate-output resolution and ISZ header sizing.
Full Changelog: release_3.5.0...release_3.5.1