Release v1.4.4
dazzlesum v1.4.4
Cross-platform file checksum utility: per-folder .shasum manifests, shadow directories, and (since 1.4.0) true incremental updates -- rehash only what changed, even across synced machines.
The 1.4.x line so far
1.4 is the incremental-update line. dazzlesum update went from dead code to a real incremental engine: a disposable per-machine state cache records each file's (size, mtime) at last hash, so a rescan of an unchanged collection is stat-bound instead of rehash-bound. On a real 2.5-million-file library, the bootstrap that projected 7.5 hours now covers the same ground in ~25 minutes (v1.4.3's batched cache writes measured 105x on the write path), and steady-state sweeps skip even the manifest reads for unchanged folders. Change detection is sync-safe by design -- stat equality against recorded state, so content arriving with older origin mtimes (e.g. Resilio) is still caught -- and external change detectors (git hooks, filesystem watchers) can drive scoped updates via --dirs-from.
What's New in v1.4.4
A correctness release for the verbosity system: silent mode now exists, and its exit codes tell the truth.
-qqqqqq/--verbosity=-6was unreachable (an off-by-one clamp capped at -5), so "silent" runs still printed the banner and grand totals. It is now genuinely silent.- Worse, the aggregate exit code was computed as a side effect of displaying grand totals -- silent mode skipped the display and always exited 0, even with failures. Exit codes are now finalized unconditionally: silent mode is exit-codes-only, not exit-code-less.
- The verbosity ladder is now monotonic: raising verbosity can no longer remove information (levels -3/-2 keep -4's forced status lines; extras-only directories appear at -1 as documented and hide at -2).
--squelchcategories absent from a level's defaults were silently ignored (e.g.--squelch EXTRA_SUMMARY); explicit categories now always apply. Found by this release's human test checklist.- Test suite fully green (126 passed) for the first time since v1.3.6.
Version History (1.4.x)
| Version | Key Change |
|---|---|
| v1.4.4 | Current -- silent mode works: reachable, truthful exit codes, monotonic verbosity ladder |
| v1.4.3 | 105x cache write path (batched commits, schema v2, steady-state fast path) |
| v1.4.2 | git-repokit-common subtree; shared version tooling |
| v1.4.1 | -V flag; single-source version cleanup (setup.py removed) |
| v1.4.0 | Incremental update mode; exclude-traversal + junction fixes; first PyPI release |
Installation
pip install -U dazzlesumOr clone and pip install -e ., or copy dazzlesum.py standalone (single file, stdlib only).
Platform Support
| Platform | Status |
|---|---|
| Windows 10 / 11 | Tested (2.5M-file library) |
| Linux / macOS / BSD | Pure stdlib; CI-tested on Linux |
Full Changelog: v1.4.2...v1.4.4