Changelog

Changelog

Every release of Flint, from the first to the latest.

v1.9.0 latest

  • Feature: System disk protection — flash, wipe and clone now refuse to target the drive the OS is running from.
  • Feature: Counterfeit-drive detection (--check-fake) — a non-destructive 1 MiB capacity probe flags inflated/fake USB drives; a destructive write-back verify mode confirms mismatches. Available for both flash and backup.
  • Feature: CLI flash flags — --partition-scheme gpt|mbr, --filesystem fat32|ntfs|exfat and --write-mode raw|file-copy.
  • Feature: Linux ISO auto file-copy — the auto write mode now switches to file-copy for Linux ISOs (Rufus parity) so Windows Explorer can read the drive contents.
  • Feature: Auto-eject after write — optional setting that ejects the drive automatically when a flash succeeds.
  • Feature: UI polish — layered gradient depth, per-page top-bar titles, recessed settings panels, and a collapsible flash queue with a count badge.
  • Fix: backup no longer crashes with a NameError when --confirm is omitted.
  • Fix: --check-fake is now honored by flash (it was documented but previously only implemented for backup).
  • Fix: Removed the intersecting sidebar/top-bar divider lines and tightened recessed panel borders and padding.
  • Fix: Tip-overlay fade-out during teardown no longer races on a RuntimeError.
  • Perf: Win32 kernel32 argtypes/restype are wired once at import instead of on every call.
  • Test: 38 new tests covering counterfeit detection, the CLI system-disk guard and new flags, Linux ISO write-mode and auto-eject; 415 passing.

v1.8.0

  • Feature: Auto-extract compressed images — drop .zip, .gz, .xz, .zst files directly onto the flash zone; decompresses transparently before hashing and writing.
  • Feature: Dark/light theme auto-switch — new "Auto (system)" option in settings polls the Windows registry every 5 s and applies the matching theme.
  • Feature: SHA-256 hash clipboard copy — computed hash shown on the verify page with a one-click "Copy" button.
  • Fix: Decompression failure now surfaces a user-visible error instead of silently falling through to hash the raw (invalid) file.
  • Fix: Verify speed and ETA use a rolling 0.5 s window instead of the full write duration — eliminates inflated initial speeds and stale ETAs.
  • Fix: Five silent except Exception: pass blocks in window.py now log at debug level.
  • Fix: Regression script now restores dialog function patches in a finally block — prevents test-ordering contamination.
  • Refactor: Consolidated Win32 helpers into core/deviceio.py — single source of truth for kernel32, constants and device primitives across writer, verify, wipe, benchmark, bootcheck and drives.
  • Test: Updated monkeypatch targets for new import paths; 377 tests passing.

v1.7.0

  • Fix: Unbuffered I/O for raw device writes — uses FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH matching Rufus behavior, eliminating ERROR_NOT_READY from Windows write cache flushing to sleeping USB devices.
  • Fix: WipeWorker now retries transient USB errors (ERROR_NOT_READY, ERROR_GEN_FAILURE, ERROR_ACCESS_DENIED, ERROR_NOT_CONNECTED) with exponential backoff — prevents half-wiped drives from flaky connections.
  • Fix: Filecopy verify skips source byte comparison — the drive has a filesystem layout, not a raw image, so byte comparison was meaningless.
  • Fix: Backup deletes partial file on error or cancellation — prevents leftover corrupted images.
  • Fix: flash-all now passes --bypass-tpm to UsbWriter and reads --verify flag.
  • Fix: Hash drive transient error set now includes ERROR_ACCESS_DENIED for read retries.
  • Fix: fits_on_drive uses raw size_bytes when available — fixes up to 1 GB rounding error on capacity checks.
  • Fix: DrivePoller CoInitialize wrapped in try/except for resilience.
  • Fix: _open_drive shows "run as administrator" hint on ACCESS_DENIED.
  • Fix: Done bar buttons now context-aware — "Flash again" hidden for wipe/backup/clone operations.
  • Fix: Decompress temp cleanup uses os.unlink + os.rmdir instead of shutil.rmtree.
  • Fix: _decompress_zst catches ImportError and raises user-friendly OSError with install instructions.
  • Fix: Error messages skip generic "locked/removed" advice when retry-specific text is already present.
  • Refactor: Removed dead sample_mode code path from verify_device (87 lines of unreachable code).
  • Test: Updated backup cancel and filecopy verify tests for new cleanup and skip_source_iso behavior.

v1.6.0

  • Fix: Transient USB write errors (ERROR_NOT_READY, etc.) are now retried with exponential backoff — prevents mid-write failures on flaky USB ports.
  • Fix: Improved error messages for USB device errors with actionable recovery suggestions.

v1.5.0

  • Feature: Windows 11 TPM bypass — patch boot.wim to skip TPM, Secure Boot and RAM checks (--bypass-tpm)
  • Feature: TPM bypass auto-switches to file-copy mode when raw DD is selected
  • Feature: TPM bypass works with both normal file-copy and Windows To Go writes
  • Docs: Rewrote marketing copy across website for a more professional tone
  • Fix: Consistent nav order across all pages, added missing Compare/Changelog to About page
  • Fix: Download buttons on homepage point to download page; prominent download button on download page

v1.4.0

  • Feature: Compressed image support — flash .zip, .gz, .xz, .zst files directly
  • Feature: CLI --dry-run flag to preview flash/wipe/clone without writing
  • Feature: Bash and Zsh shell completions (flint completions --shell bash)
  • Feature: Sampling verify mode for faster sanity checks
  • Feature: Drive speed benchmark (core/benchmark.py)
  • Feature: Drive health percentage in scan results
  • Feature: Resume interrupted writes with --resume flag
  • Feature: ETA display during image hashing in the GUI
  • Feature: Windows toast notifications on write completion
  • Feature: Export flash history as CSV
  • Feature: Settings export/import for fleet standardization
  • Feature: Configurable log level in settings
  • Feature: Ctrl+Enter keyboard shortcut to start flash
  • Feature: Drag-and-drop .sha256 files onto the main window
  • Feature: CLI --copy-report flag to copy flash summary to clipboard
  • Feature: CLI --verbose flag for bad-block scan detail
  • Fix: Platform guard blocks pip install on non-Windows with clear error message

v1.3.0

  • Feature: Parallel drive detection with ThreadPoolExecutor for faster scanning
  • Feature: Time-based progress bar smoothing for small images
  • Feature: Expanded error messages with WinError code translation
  • Feature: Interactive CLI reference page with search
  • Feature: Comparison page (Flint vs Rufus vs Etcher vs Ventoy)
  • Fix: ETA jitter reduction via rolling-window median
  • Test: 13 new unit tests for native C writer error paths

v1.2.2

  • Fix: Include flint.ico in pip package for correct window icon

v1.2.1

  • Fix: Handle extensionless pip scripts and graceful elevation failure

v1.2.0

  • Feature: Branded CLI with logo, status icons and scan timing
  • Feature: --yes confirmation bypass and improved CLI diagnostics
  • Feature: Quiet mode, tables, and enhanced result output styling
  • Refactor: Rename list row index variable

v1.1.2

  • Fix: Audit fixes for fleet mode, quoting, CI, packaging
  • Fix: PyPI publish only downloads sdist+wheel artifacts (not flint.exe)
  • Fix: Rename release.yml to publish.yml (match PyPI trusted publisher)
  • Fix: Always declare ext_modules in setup.py (cibuildwheel needs platform wheel)

v1.1.1

  • Feature: Whole-drive scan (flint scan)
  • Feature: Queue improvements and --skip-flashed

v1.1.0

  • Feature: Pip distribution as flint-usb on PyPI
  • Feature: Single release workflow for parallel exe + pip releases
  • Fix: Audit findings — ISO dir walk truncation, CLI exit-code and ndjson contract, false success after failed verify, version hijack
  • Fix: ensure_elevated launches argv[0] directly when it is a .exe
  • Fix: Add py-modules = ['main'] so main.py is installed by pip

v1.0.4

  • Feature: Rewrite headless mode around modern top-level commands (CLI overhaul)
  • Fix: Detour to the CLI on any argument so unknown commands cannot open a window
  • Fix: Restore the drive chip text — ignored-policy labels collapsed to zero width

v1.0.3

  • Feature: Fleet mode — write queued images to every plugged-in drive
  • Feature: CLI drive list command, FLINT progress contract, NIST method documentation
  • Feature: Verification-grade design language — chamfered panels, mono readouts, palette parity
  • Fix: Give the packaged windowed exe real stdio for --cli mode
  • Fix: Enforce computed minimum size so no content clips at the resizing floor
  • Fix: Clamp restored window geometry into the visible screen, center when fully off-screen

v1.0.2

  • Feature: Wipe read-back verification and one-click export diagnostics
  • Feature: In-app reference manual and help tips (hover bubbles)
  • Feature: GUI flash queue with sequential multi-image flashing
  • Feature: Backup, clone, wipe standards (zero/NIST/DoD), checksum sidecars, headless CLI
  • Feature: Themed popups for all outcomes; migrate every dialog to FlintDialog
  • Feature: Settings page with theme/expert/tray options; close-to-tray now opt-in
  • Feature: Custom multi-resolution app icon (window, tray, exe)
  • Fix: Sidecar mismatch detection, CLI verify sizing, type-check gates

v1.0.1

  • Feature: Expert mode on by default, animated toggles, scrollable verify page
  • Feature: Inline help buttons with reference anchors, expert-mode UI tests
  • Feature: Robust post-write verification with SHA-256 compare and bad-block scan
  • Feature: Buffered writes with configurable chunk size and optional native writer
  • Feature: Hybrid ISO detection heuristics and raw-write enforcement in UI
  • Feature: Persistence and Windows To Go support with ISO detection
  • Feature: Expert partition & boot options with file-copy mode
  • Fix: Keep expert toggle visible when turning expert mode off
  • Fix: Resolve all audit findings (verify desync, cancel flows, drive mapping, packaging, CI)

v1.0.0

  • Initial release of Flint — Windows bootable USB and ISO writer

Get the latest version

Download Flint v1.9.0 — portable, no install required.