Skip to content

release: CHDSharp 1.6.2 - extraction diagnostics - #5

Merged
drpetersonfernandes merged 1 commit into
mainfrom
release/v1.6.2
Nov 2, 2026
Merged

drpetersonfernandes merged 1 commit into
mainfrom
release/v1.6.2

Conversation

@drpetersonfernandes

Copy link
Copy Markdown
Collaborator

Summary

  • Extraction writers now keep the real failure: the underlying exception is logged, InvalidDataException maps to Chderrdecompressionerror, and output I/O maps to Chderrwriteerror. This fixes the opaque track N: Chderrwriteerror reports.
  • ReadAheadManager.TryGet/Clear tolerate a semaphore disposed during teardown, removing the remaining ObjectDisposedException race.
  • ExtractToDirectoryWithReporting returns Chderrinvaliddata for GD-ROM metadata with no readable tracks instead of throwing.
  • Adds ExtractionFailureLoggingTests.
  • Bumps the package to 1.6.2 and updates WhatsNew.md, docs/ReleaseNotes.md, the READMEs and project banners.

Verification

  • dotnet build -c Release -warnaserror: 0 warnings, 0 errors.
  • CHDSharpTest: 4,219 passed; CHDSharpEncoderTest: 455 passed.
  • Quick battle harness: 3,174/3,174 checks, byte-identical to chdman 0.289.
  • jb inspectcode --severity=WARNING: 0 findings.
  • CD (V3/V4/V5, all CD codecs) and synthetic GD-ROM GDI extraction compared byte-for-byte with chdman extractcd.
  • Packed CHDSharp.1.6.2.nupkg smoke-tested on net8.0/net9.0/net10.0 and published to NuGet.

Extraction writers now log the underlying exception instead of flattening every failure to Chderrwriteerror: data/codec failures map to Chderrdecompressionerror and output I/O to Chderrwriteerror. Read-ahead TryGet/Clear tolerate a semaphore disposed during teardown, and damaged GD-ROM metadata returns Chderrinvaliddata instead of throwing. Adds ExtractionFailureLoggingTests, bumps the version to 1.6.2 and updates the release notes.
@drpetersonfernandes
drpetersonfernandes merged commit a00d466 into main Nov 2, 2026
15 checks passed
@drpetersonfernandes
drpetersonfernandes deleted the release/v1.6.2 branch November 2, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant