# What's New in 3.6.0 Released: 2026-09-07 ## Fixed - **Closing the app during startup no longer reports a bug.** A window closed while the startup sequence was still running produced a `TaskCanceledException` report; cancellation during shutdown is now recognised as the normal exit path and logged silently. - **Corrupt PBP deflate streams are classified correctly.** A malformed compressed block inside a PSAR could drive the SharpZipLib inflater into a raw `IndexOutOfRangeException`, which escaped the typed error handling and surfaced as an unclassified "Index was outside the bounds of the array" failure. It is now normalised to `DecompressionError`, so the caller reports a decompression failure the way any other bad block is reported. ## Improved - **Bug reports carry less noise.** Conditions that describe the user's environment or data — chdman rejecting a cue or image with a parse error, I/O failures on failing or disconnected drives, files whose content does not match their extension, CHD open/read failures during extraction, file-move failures after a conversion, and encoder start failures — are no longer sent to the bug API. The application still logs each with per-cause guidance; the classified failure at the end of a file's attempt still reaches the developer. - **Fewer warnings for routine outcomes.** Notices that describe expected behaviour rather than trouble are now logged as information: the automatic chdman → CHDSharp fallback after chdman fails on a file, cue generation falling back to converting an image as-is (read-only media, cross-volume path), and the low-free-space heads-up shown before a large conversion starts. - **chdman crash codes are easier to read.** `0xC0000139` (`STATUS_ENTRYPOINT_NOT_FOUND`) is now decoded with guidance: the bundled build is incompatible with the installed Windows version — install updates / the latest Visual C++ redistributable or use a chdman build for your OS. The "incompatible CPU" guidance also names the Windows version as a possible cause. - **Missing-encoder messages trimmed.** The download URL for `chdman` was removed from the startup notices and the critical-missing-encoders dialog; the message now states plainly what is missing and what to place in the application folder. ## Internal - Analyzers and libraries upgraded: Meziantou.Analyzer 3.0.226, NAudio 3.1.0. - Code style normalised across all projects (brace indentation rules), with `whatsnew.md` retired in favour of this `WhatsNew.md`. - Test suite grown to **820 passing tests**, including a regression test for the corrupt-PBP-block classification and coverage for the new bug-report exclusion patterns. ## Packaging - Binaries ship as a single-file, framework-dependent executable — the [.NET 10.0 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/10.0) must be installed. `chdman`, `CHDSharp` and `7za` for your architecture are bundled next to the app exe, together with the readme and license.