Skip to content

Releases: Jay-D-S/HashCheck

HashCheck v1.0.3

Choose a tag to compare

@Jay-D-S Jay-D-S released this 28 Jun 20:00

v1.0.3 — Fix broken UI in release builds

Several core features — the Dashboard, Validate, Settings, and Media Group pages — were non-functional in the distributed build despite working correctly during development. This was caused by a bug in Microsoft's WinRT/CsWinRT interop layer: when publishing a self-contained .exe, the IL trimmer strips COM vtable entries that WinUI 3's compiled data binding ({x:Bind}) silently depends on at runtime. The generated binding initialisation code throws a NullReferenceException internally, and because it's caught by the framework rather than propagated, the entire page's bindings never fire — leaving lists empty, status messages invisible, and buttons permanently disabled with no visible error.

Fixed in this release:

  • Dashboard now correctly loads and displays hash sets
  • Validate page shows progress rows and no longer freezes the UI during directory scanning
  • Settings page loads correctly and saves/restores all values
  • Media Group and Repair pages now populate their volume lists
  • Browse button in Settings correctly shows the selected folder path

No .hash files are affected — this was purely a UI rendering issue in the packaged build.

HashCheck v1.0.2

Choose a tag to compare

@Jay-D-S Jay-D-S released this 27 Jun 13:19

App wasn't informing user when reading directory structure, so it looked like it was frozen. Better communication with the user to say it's busy reading directories and files before hashing.

HashCheck v1.0.1

Choose a tag to compare

@Jay-D-S Jay-D-S released this 27 Jun 12:25

Fixed bug where the TreeView isn't showing drive names/directories.

HashCheck v1.0.0

Choose a tag to compare

@Jay-D-S Jay-D-S released this 27 Jun 00:54

HashCheck v1.0.0 — Bit-Rot Detection for Archived Media

Silent data corruption (bit-rot) can destroy irreplaceable photos, videos, and
documents on drives that appear perfectly healthy. HashCheck creates a verified
baseline of your archived files and alerts you when something has silently changed
— before you find out the hard way.


What it does

Create — scan a drive or folder and record a hash baseline. Runs in the
background; your PC stays responsive throughout.

Validate — compare your files against the baseline. HashCheck doesn't just
flag mismatches — it tells you why:

  • 🔴 Corrupted — hash differs but size and date unchanged. Classic bit-rot.
  • 🟡 Modified — hash differs and size or date changed. Probably a legitimate edit.
  • Missing — was in the baseline, gone from the drive.
  • 🟢 New — on the drive, not yet in the baseline.

Reminders — set a validation interval per archive. HashCheck reminds you
when a set is overdue so cold archives don't go unchecked for years.

Re-create — when you intentionally update an archive, re-baseline it.
The old .hash file is automatically backed up first.

Autoscan — optionally add new files to the baseline automatically when
a drive is connected, without re-hashing everything.

Media Groups — register multiple physical copies of the same archive
(local drive, NAS, USB backup). Validate all copies in one pass, and repair
a corrupted copy from a known-good one.

Cross-Drive Repair — when corruption is found, HashCheck can copy the
good version from another registered copy, verify the repair hash matches
the stored baseline, and replace the corrupted file — automatically.


Key details

  • Runs quietly in the system tray — out of your way until needed
  • Portable — unzip and run, nothing to install, no registry entries
  • Default hash algorithm: XxHash3 (fast, non-cryptographic — optimised
    for speed on large archives, not tamper resistance)
    Also supports: MD5, SHA-1, SHA-256
  • .hash files are plain UTF-8 text — human-readable and stable across versions
  • Archives identified by volume serial number, not drive letter — works
    correctly when drives move between machines or change letters
  • All file operations use atomic writes — a partial or corrupt .hash
    file is never left on disk
  • Supports long paths (beyond the Windows 260-character limit)
  • Windows 10 / 11 x64

Download

HashCheck-v1.0.0-portable.zip — unzip anywhere, run HashCheck.exe.
No installation required.


Verification

SHA-256: 92d9869d674364ba22d7a6df54ab49f5e63f881d51b0345dcafea9ff54e5ea1d
VirusTotal: https://www.virustotal.com/gui/file/92d9869d674364ba22d7a6df54ab49f5e63f881d51b0345dcafea9ff54e5ea1d/detection


Background

HashCheck was inspired by watching a photographer lose archived shoots to
bit-rot on drives that showed no errors. The goal: a tool that's simple
enough for non-technical users but honest enough to tell you what kind
of change it found — because a corrupted file and an edited file are very
different problems.


Feedback & Issues

Found a bug or have a suggestion? Open an issue — all feedback welcome.