release_2.8.0
·
34 commits
to master
since this release
2.8.0
The XISOSharp release. All XISO encoding, decoding, integrity testing, and exploration now
run in-process through the XISOSharp library.
The bundledextract-xiso.exe/xdvdfs.exeengines and the in-repo XDVDFS implementation were removed.
New Features
- In-process XISOSharp conversion engine —
XisoSharpServiceconverts viaXisoReader.Rewrite.
Redump/XGD1/XGD2/XGD3 and hybrid partition offsets are auto-detected; video partitions, padding, and
inter-file gaps are removed. Already-optimized images (optimized tag present) are skipped automatically. - XISOSharp integrity service —
XisoIntegrityServiceperforms a deep structural audit of the
XDVDFS tree (XisoReader.AuditXiso) and reports per-entry issues, plus the optional sequential
deep surface scan. - Explorer migrated to
XisoExplorer— browsing, double-click to open, and drag-and-drop
extraction now useXisoExplorer/ExplorerNode, with ordinal-ignore-case sorting. - Smaller distribution —
extract-xiso.exe(40 KB) andxdvdfs.exe(3.6 MB) are no longer bundled.
Improvements
- ARM64 CUE/BIN handling now matches the documentation —
.cue/.bininputs are skipped with a
clear message on ARM64 (the bundledbchunk.exeis x64-only), instead of attempting to launch it.
The ARM64 bundle therefore no longer shipsbchunk.exe. - Output free-space and FAT32 4 GB limit pre-checks before conversion, with partial-output cleanup on failure.
- Output integrity check (when enabled) validates the produced XISO before reporting success.
- Device I/O errors (
ERROR_IO_DEVICEand localized variants) stop the batch with a drive-health
message and are excluded from automatic bug reports. - Locked archives are retried with exponential backoff (antivirus/download-client locks).
- Cross-volume file moves fall back to copy + delete when a direct move fails.
- Local file moves now use the same retry/backoff logic as network moves.
- More languages in network/disk-space/device error detection (English, German, French, Spanish,
Italian, and Czech device-not-ready from bug reports).
Bug Fixes
- The main window is no longer delayed by drive probing — startup cleanup used to run before the
window was shown; probing every drive withDriveInfo.IsReadycan block for ~20 seconds while an
idle/spinning disk wakes up, which made the app look like it never started. Cleanup now runs after
the window is visible and off the UI thread (the same fix removes the pause before each batch, since
the pre-operation cleanup shares the code path). - Cloud/OneDrive files keep their original name — when the source is a temporary working copy,
the converted XISO is written using the original file name instead of the internal temporary name. - Skipped (already-optimized) inputs no longer delete an existing output file — the optimized
check now runs before the output is touched. - Replace Originals no longer loses data on skipped conversions —
.iso, archive, and CUE/BIN
originals are deleted only when a converted file was actually produced. Cloud-backed originals are
now deleted too (previously they were always kept, so Replace Originals silently did nothing for them). - Device I/O errors are no longer misclassified as network errors — localized "I/O device error"
messages now fall through to the drive-health path instead of the network retry path. - Temp-folder cleanup failures no longer mask the original error — a folder that remains locked
after all retries logs a warning instead of throwing fromfinallyblocks. - The 7-Zip CLI fallback for unsupported ZIP compression honors cancellation — the shared async
helper terminates the child process when the batch is cancelled. - FAT32 and access-denied move failures are reported with actionable guidance.
- Better
DirectoryNotFoundException/cloud-provider handling across conversion and extraction.
UI Changes
- The Conversion Method radio buttons were removed; conversion is always performed by XISOSharp.
- The Convert tab shows a Conversion Engine — Powered by XISOSharp panel with a link to the project.
- About window, instructions, and links updated to the XISOSharp engine and the new repository URL.
Breaking Changes
extract-xiso.exe,xdvdfs.exe, the native XISO writer, and the in-repo XDVDFS parser were removed.- The application and test projects report version 2.8.0 (
AssemblyVersion/FileVersion) so the
update checker sees this release over 2.7.x. The file layout is otherwise the same.
Documentation
- Documentation reorganized into the docs folder and published as the repository wiki.
- New What's New and Release Notes pages.
- Release ZIPs now include
LICENSE.txt,ReadMe.md, andWhatsNew.mdalongside the application and bundled tools. - Repository, Architecture, Conversion Methods,
Usage Guide, Installation, and
Troubleshooting & FAQ updated for the single-engine design.
Internal
- Added
.editorconfigand enabled Meziantou/Roslynator analyzers on both projects; project builds
with zero warnings. - Renamed services for clarity:
ExtractFiles→FileExtractorService,MoveFiles→FileMoverService,
Logger→LoggerService. - Consolidated interfaces:
IXisoSharpService,IXisoIntegrityService; removedIExtractXisoService,
IXdvdfsService,INativeIsoIntegrityService. - Test suite reorganized around the new services (
XisoSharpServiceTests,XisoIntegrityServiceTests).
Full Changelog: release_2.7.1...release_2.8.0