v0.9.22
This release catches the channel up. Nothing has been published since 0.9.5, so this one carries everything from 0.9.6 through 0.9.22.
The headline fix: 0.9.22 repairs a crash at startup on the Disk Health tab. ProgressBar.Value binds two-way by default, and pointing it at the read-only EndurancePercent property threw an exception while the window was still loading. The binding is now explicitly one-way, and a new regression test scans every view for this whole class of mistake. Thanks to an80sPWNstar for the report and the patch (PR #1).
What else landed since 0.9.5:
- Safety: required partition snapshots before every destructive operation, VSS writer preflight before live image captures, filesystem capability checks that fail closed, and a single unified confirmation gate for cloning and wipe workflows.
- Security: cryptographically secure randomness for DoD wipes, SafeFileHandle for raw kernel handles, encryption key material zeroed after use, path traversal and WQL quoting fixes, and HTML-encoded SMART report output.
- Correctness: fixes across sector clone verification, NVMe health parsing, 4Kn hex viewer addressing, exFAT size estimates, MFT scan bounds checks, storage pool matching, and update check crash handling.
- Recovery and imaging: fast and deep recovery scan modes with resume support, WIM integrity verification, image manifests with SHA256 sidecars, and a bootability audit with a repair plan after restores and clones.
- New tooling: WinPE rescue profiles (pp rescue-profile), a boot-audit CLI command, curated SMART attribute guidance, and release manifest generation.
- UX and localization: XAML strings moved to localizable resources with coverage tests, light theme fixes, a proper encryption password dialog, and a gated UI smoke test suite.
About updates: this release also puts the auto-update feed back in working order. Installs made from this version's setup update themselves in place from GitHub Releases. If you're on 0.9.5 or older, download and run PartitionPilot-0.9.22-Setup.exe once, then remove the old version from Apps and Features. You won't need to do this again.