Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 23:04
· 15 commits to main since this release

First public release.

Added

  • Terminal UI built on ratatui: disk list with type/size/bus, details pane for the selected disk (name, number, bus, partition style, partitions and letters), header showing version and elevation status (● admin), and a footer with the key map. ↑↓/jk select, r rescans, ? shows help, q quits.
  • Format (f) — clean, partition (GPT or MBR), format and assign a drive letter using one of five presets: Windows (NTFS/GPT), macOS (exFAT/GPT), Linux (real ext4 created through WSL 2, GPT), PlayStation 5 (exFAT/MBR) and Universal (FAT32 ≤ 32 GB, exFAT above, MBR).
  • Quick erase (e) — destroys the partition table; takes seconds.
  • Secure erase — zero-fills every sector through raw \\.\PhysicalDriveN writes, with live speed and ETA, cancellable from the progress dialog.
  • Write image (i) — dd-style sector writer for .iso / .img / .raw / .bin / .wic files, for creating bootable USB media; cancellable.
  • Non-interactive listing — diskutility --list / -l prints the disk table without starting the TUI; --version / -V prints the version and build stamp.
  • Self-update — the TUI shows a banner when a newer GitHub release exists; diskutility --update downloads and installs it.
  • One-line installer — install.ps1 (irm …/install.ps1 | iex) downloads the latest release, and the repo ships a winget manifest under packaging/winget.
  • Session log — every PowerShell script the app runs, its full stdout/stderr and exit code, and each operation step are timestamped into diskutility.log next to the executable (falling back to %TEMP%). Press c anywhere — including inside a failed-operation dialog — to copy the whole session log to the clipboard.
  • Write-protected drive handling — the prep step clears the read-only attribute with Set-Disk, retries with diskpart attributes disk clear readonly, and fails with a clear message if the enclosure has a hardware lock.

Security

  • The Windows system/boot disk is refused by default, both in the UI and inside every worker script.
  • The disk hosting the running executable is refused by default.
  • Every destructive action requires typing the disk number in a confirmation dialog.
  • Writes require an elevated (administrator) terminal; without it the app is read-only.
  • Safety override (u) — protections can be disabled for the session by typing UNLOCK in a warning dialog. The header turns red with a ⛨ PROTECTIONS OFF badge, and acting on a protected disk then requires typing DESTROY <disk number>. Press u again to re-lock.