Skip to content

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 22 Aug 17:04
· 11 commits to main since this release

Hardening pass over the backup and clone features introduced in v0.4.2, from a code review.

Added

  • Source identity check before backup and clone — before reading a single sector, the app re-queries the source disk with Get-Disk and verifies that its size, friendly name and serial number still match the device you selected. Disk numbers shift when drives are plugged or unplugged; if the device at that number changed, the operation aborts with a message asking you to rescan (r) and retry. This is a read-only check — it never runs the mutating prep script on a source disk.
  • FAT32 destination check for backups — a backup image of a disk ≥ 4 GiB is refused up front when the destination volume is FAT32 (queried via GetVolumeInformationW), since FAT32 cannot hold files over 4 GiB and the write would otherwise fail at exactly that point. The error suggests an NTFS or exFAT destination.
  • Clone clears the stale backup GPT on a larger target — Clear-Disk only wipes the primary partition table; a target larger than the source keeps its old backup GPT header and entries in its last sectors. The cloned primary header points its backup at the source's last LBA, so partitioning tools would see a stale table at end-of-disk and offer to "restore" it. After the copy, the clone now zeroes the last 1 MiB of the target (see v0.4.4 for a fix to this range).

Changed

  • Backup image files are never overwritten — the image is opened with create_new, so an existing file at that path is an error at the OS level, not just a UI check.
  • Backup writes use FILE_FLAG_SEQUENTIAL_SCAN — multi-TB image streams no longer bloat the Windows cache manager while being written.
  • "Live snapshot" notice only when volumes are actually mounted — the reminder to close programs writing to the source disk now triggers only when a partition has a drive letter, not merely when partitions exist.

Full Changelog: v0.4.2...v0.4.3