Skip to content

v1.4.4 - Silent Mode Works: True Exit Codes + Fully Green Suite

Latest

Choose a tag to compare

@djdarcy djdarcy released this 17 Jul 18:13

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=-6 was 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).
  • --squelch categories 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 dazzlesum

Or 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