Skip to content

Rufus++ v0.2.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 23:34

Rufus++ 0.2.1 fixes VHDX captures rejected by independent readers and adds
independent VHD/VHDX decoding checks. Physical USB capture/restore tests now cover
DD, fixed VHD, dynamic VHD and VHDX on macOS.

Fixed

  • Reserve an aligned, empty VHDX log region and record its offset and length in
    both checksummed headers. Previously, Rufus++ accepted its own capture while
    QEMU rejected the invalid log location. The fix is in the portable capture
    writer and ships in every platform package.
  • Existing VHDX files are not rewritten by an upgrade. Recapture the source with
    0.2.1 to produce the corrected layout.

Added

  • Assert VHDX log geometry in native regression tests and compare captured VHD
    and VHDX files byte-for-byte through QEMU's independent decoder when
    qemu-img is installed. Linux build/package CI now installs this dependency.
    VHD comparisons explicitly use the footer's declared disk size so older QEMU
    versions do not substitute rounded legacy CHS geometry.
  • Add a manual, identity-pinned physical USB capture/restore runner with
    deterministic dummy files, independent raw FAT32 checks, resumable evidence
    and temporary host-mount suppression. Its automated safety checks use mocks
    and private files; normal tests never write a physical device.

Validation and known limits

  • All 27 local macOS arm64 CTest entries pass, including the independent decoder
    regression and 38 physical-runner safety cases. The decoder regression failed
    with the old writer and passed with the fix.
  • DD, fixed VHD, dynamic VHD and corrected VHDX captures passed production
    restore/verification, independent comparison of all 15,472,047,104 physical
    bytes, and all 82 fixture files plus nine directories on the tested Kingston.
  • Some completed writes were followed by macOS losing the disk interface.
    Protected reconnects and read-only continuations completed the independent
    checks without repeating those writes. The cause remains unresolved; these
    results establish data integrity after recovery, not uninterrupted operation.
  • This remains a field-testing preview. Other physical host backends, devices,
    actual PC firmware, Secure Boot and a complete Windows installation remain
    separate qualifications. macOS packages retain unsigned-root development mode.

See the write-test record
for the procedure, retained failures and coverage limits.

Packages built and tested from commit ba4b848.

The macOS DMGs are explicitly unsigned-root development builds for controlled field testing. They run in restricted mode normally and enable physical-device operations only when their bundle executable is launched with sudo. They are not signed or notarized distribution builds.