Skip to content

Releases: marksmayo/WinBlaze

v0.9.1 — Secure Updates

Choose a tag to compare

@marksmayo marksmayo released this 07 Jul 03:03

Secure updates. A focused follow-up to v0.9.0 that makes the in-app auto-updater verify what it downloads before it installs it.

Highlights

  • SHA-256-verified updates, fail-closed. WinBlaze now hashes the update it downloads and checks it against a signed-by-hash release manifest shipped alongside the release. Only an explicit match proceeds — a mismatch, a missing or unfetchable manifest, or a blank/absent hash all abort the install. A tampered or truncated download can no longer be applied.

What's new since v0.9.0

Update security

  • The updater computes the downloaded portable zip's SHA-256 (via WinRT crypto) and verifies it against winblaze-update-manifest.json, published as a release asset, before handing off to the helper that swaps files.
  • Verification is fail-closed: anything other than a confirmed hash match stops the install.
  • The manifest parser is object-scoped, so it can never read a sibling artifact's hash, and blank hashes are rejected rather than treated as a match. Covered by unit tests in the Rust core (parse_manifest_sha256, hash_matches, wb_verify_download).
  • The release manifest is generated from the exact versioned zip that is uploaded, so the hash the app computes always matches the real download.

CI

  • Gated signature verification (activates when a code-signing cert is configured) plus an always-on Release check that recomputes the packaged zip's SHA-256 and fails the build if it disagrees with the manifest.

Download & run

Grab WinBlaze-v0.9.1-windows-x64-portable.zip below, unzip, and run WinBlaze.UI.exe. If you already run v0.9.0, it will offer this update in-app and verify it before installing.

  • Run as Administrator for the fast NTFS MFT path (otherwise WinBlaze falls back to a directory walk).

Requirements: Windows 11 x64 (build 19041+), Windows App SDK 1.8 runtime.

SHA-256 (portable zip): 4c128d5b77e4f7243c8cb28b7e1cb07e3387f64d71a8b665ddfc83dfd9381b7c

v0.9.0 — Velocity++

Choose a tag to compare

@marksmayo marksmayo released this 07 Jul 01:56

Velocity++ builds on the High Velocity release (v0.8.0) with the productionisation milestone: WinBlaze can now update itself, ships a proper designer logo, and gained a round of robustness, correctness, and quality hardening.

Highlights

  • In-app updates. WinBlaze checks GitHub for a newer release on launch (and on demand in Settings). When one exists it offers Install now — it downloads the release, extracts it, and a small bundled helper swaps the files and relaunches. No manual reinstall.
  • New logo & app icon. A designer disk-and-flame mark, tightly cropped with a transparent background, now used as the window/taskbar/Explorer icon and the README hero.
  • Hardened against corrupt input. Fuzzed the NTFS MFT byte parsers — which surfaced and fixed a real overflow bug in the data-run decoder (a corrupt/hostile MFT now falls back to the directory walk instead of crashing).

What's new since v0.8.0

Updates

  • On-launch + Settings update check against GitHub releases/latest, with semver comparison in the Rust core (unit-tested).
  • "Install now" download-and-apply via the new winblaze-updater helper (waits for exit, swaps files with lock-retry, relaunches, cleans up). Validated end-to-end.

Branding

  • Designer logo as the app icon (multi-resolution .ico) and README image; background removed and cropped tight.
  • The UI now compiles with /utf-8 so non-ASCII text renders correctly.

Robustness & correctness

  • Fuzz corpora for the binary-cache decoder and the MFT byte parsers (truncation, garbage, bit-flips, full pipeline).
  • Fix: unchecked multiply/add overflow in decode_data_runs on hostile data-run values — now uses checked arithmetic.
  • soak_repro stability harness (repeated scan/rescan cycles with a leak verdict); a representative run was stable (flat handles, plateaued working set).

Quality & CI

  • Pinned the Rust toolchain (rust-toolchain.toml + pinned CI action) so a floating stable/clippy can't spontaneously break the build.
  • cargo fmt --check + clippy -D warnings added to the local gate (mirrors CI); fixed all outstanding clippy findings.
  • Accessibility audit script (tests/ui/a11y-audit.ps1): every interactive control is named and keyboard-focusable.

Download & run

Grab WinBlaze-v0.9.0-windows-x64-portable.zip below, unzip, and run WinBlaze.UI.exe. This build bundles the updater, so future releases can auto-install from within the app.

  • Run as Administrator for the fast NTFS MFT path (otherwise WinBlaze falls back to a directory walk).

Requirements: Windows 11 x64 (build 19041+), Windows App SDK 1.8 runtime.

SHA-256 (portable zip): 54b5cdfbfd13e2f506accff003e783c4fe29b476600160c3e603dd2ba707ebe9

Known limitations

  • Binaries are not yet code-signed, so SmartScreen may warn on first launch (code signing is the next milestone).
  • No MSI installer yet — portable build only.
  • Auto-update currently verifies transport (HTTPS) + archive integrity; SHA-256 verification against a signed manifest is a planned follow-up.

Privacy

No telemetry. WinBlaze writes only local logs and its index cache under %LOCALAPPDATA%\WinBlaze.

v0.8.0 — High Velocity

Choose a tag to compare

@marksmayo marksmayo released this 06 Jul 23:22

WinBlaze is a high-performance disk-usage analyzer for Windows: a Rust NTFS scanning engine paired with a C++/WinRT WinUI 3 front-end and a GPU-accelerated Direct2D treemap. High Velocity is the first public preview — the app is feature-complete and fast, and this milestone marks the point where it scans a full system drive in seconds.

Highlights

  • Scans C:\ in ~4 seconds. A raw-volume NTFS Master File Table reader enumerates ~2.3M files / ~547k directories end-to-end and paints an interactive tree + treemap in about four seconds on a warm cache — the engine itself finishes in ~2.7 s.
  • The High Velocity design system. A red-on-black shell with a sidebar navigation rail, monospace status strip, and GPU-rendered visuals — Dashboard, Insights, Cleanup, Explorer, and Settings views.
  • Live results while it scans. Folders appear in the tree as the scan discovers them; size rollups land the moment it completes.
  • GPU squarified treemap. Extension-colored Direct2D tiles with progressive deepening that never blocks the UI thread, hover focus, and click-to-zoom.
  • Persistent, incremental index. Compact binary snapshots reload instantly; Incremental rescan diffs against the previous scan and reports exactly what was added, removed, modified, renamed, or moved.

Performance

Measured on a live C:\ system volume (~2.3M files / ~547k directories / 464 GB), Windows 11, NVMe, warm cache:

Stage Time
Raw-MFT engine (scan → summary) ~2.7 s
In-app scan, idle → idle (tree + treemap rendered) ~4.0 s
Post-scan index flush < 1 s
Worst single UI-thread stall < 1 s

That is the result of a sustained optimization effort: the raw-MFT full-drive scan went from 143.7 s → 2.7 s across the overhaul rounds, and the snapshot on disk shrank from 562 MB → 323 MB.

Compared to WizTree and WinDirStat (warm C:)

  • WinBlaze: ~4.0 s to an interactive view.
  • WinDirStat 2.6: ~10.5 s (multithreaded directory walk).
  • WizTree 4.31: a comparably fast raw MFT read, but ~14–55 s to a fully materialized interactive view because it builds the entire file list up front.

WinBlaze reaches an interactive view fastest because it pages and caps the UI (paged tree, 8,192-entry live catalog, deferred snapshot) instead of materializing every file. See benchmarks/perf-overhaul-baselines.md for methodology and raw runs.

Full feature list

  • Real NTFS MFT scanning (boot-sector geometry, runlist extents, USA fixups) with correct handling of deleted records, named streams, extension records, and hardlinks
  • Parallel directory-walk fallback with junction/symlink cycle protection for non-MFT roots
  • Expandable folder tree with logical/physical/count/timestamp rollups and paged children
  • GPU squarified treemap with progressive deepening
  • Instant search over the persistent index
  • Cleanup center (largest files, temp/log potential) with Open-in-Explorer
  • Insights (top directories, per-extension breakdown) and a capacity Dashboard
  • Structured local logging; no telemetry

Download & run

Grab WinBlaze-v0.8.0-windows-x64-portable.zip below, unzip anywhere, and run WinBlaze.UI.exe.

  • Run as Administrator to enable the fast NTFS MFT path; without elevation WinBlaze falls back to the slower directory walk.
  • The root path defaults to C:\ — adjust it and click Start scan.

Requirements: Windows 11 x64 (build 19041+), with the Windows App SDK 1.8 runtime.

SHA-256 (portable zip): 603dbd2b745eb4ee6a68e1a336a44d4873c52a0be4d51a35cb01374f812ef712

Known limitations (this is a preview)

  • Binaries are not yet code-signed, so SmartScreen/Defender may warn on first launch.
  • No MSI installer or in-app auto-update yet — this is a portable build.
  • Competitor timings and scale calibration are single-machine, warm-cache figures.

These, along with clean-machine release validation, are tracked in TODO.md on the road to 1.0.

Privacy

WinBlaze has no telemetry. It writes only local logs (%LOCALAPPDATA%\WinBlaze\logs) and its index cache (%LOCALAPPDATA%\WinBlaze\index).