Skip to content

v1.3.6 - Final Monolithic Release

Choose a tag to compare

@djdarcy djdarcy released this 08 Apr 01:11
v1.3.6
9ec9ccb

Dazzlesum v1.3.6 — Final Monolithic Release

Cross-platform checksum tool for data integrity verification. Generates .shasum files per directory or monolithic checksum files for entire trees, with shadow directory support, 11-level verbosity, and native OS tool integration.

Note: This is the final release of dazzlesum as a single-file script. Future versions will be restructured as a proper PyPI package with python -m dazzlesum invocation.

What's New in v1.3.6

Verify --exclude/--include Support

verify now accepts --exclude and --include flags, matching create command behavior. Essential for directories with content that was never checksummed:

# Skip .sync directory during verification
dazzlesum verify -r --exclude .sync /path/to/data

Shadow Directory Path Fix

Fixed a bug where shadow-dir verification resolved filenames against the source root instead of the current directory being verified. This caused 100% false "missing" failures on any non-root directory. Discovered during real-world pilot testing on a 615-file research library.

Progress Monitoring

  • Directory counting stage now reports progress every 100 directories for large trees
  • "Scanning directory tree... found X dirs, Y files" summary before processing
  • MB/s throughput and data volume displayed in the progress bar
  • files/sec metric in grand totals summary

Windows Compatibility

  • Replaced all Unicode box-drawing and progress bar characters with ASCII equivalents (prevents crashes on Windows codepage 437/1252)
  • Added encoding='utf-8', errors='replace' to all 7 subprocess calls (handles non-ASCII filenames)
  • Fixed setup.py encoding for Windows pip installations
  • Scripts now auto-detect python3 vs python (Windows Store python3 stub lacks pip modules)

Other Fixes

  • Directory counting respects --exclude patterns (excluded dirs were inflating progress totals)
  • Exit code calculation uses aggregate results for recursive operations
  • Interactive monolithic file overwrite handling with --yes flag for automation
  • Cross-platform atomic file replacement (Windows backup-swap pattern)
  • Context-aware auto-detection (create vs verify based on directory contents)
  • Removed 187 lines of dead code (deprecated command dispatch functions)

Installation

# Clone and use directly (current approach)
git clone https://github.com/DazzleTools/dazzlesum.git
python dazzlesum/dazzlesum.py create -r /path/to/data

# Or install via pip
pip install -e ./dazzlesum
dazzlesum create -r /path/to/data

Version History (1.3.x)

Version Key Change
v1.3.6 Current -- Verify fixes, progress monitoring, Windows compatibility
v1.3.5 Exit code fixes, CI/CD alignment, development workflow
v1.3.4 Monolithic overwrite handling, dead code removal
v1.3.3 Major feature release: 11-level verbosity, squelch system, shadow directories, auto-detection

Platform Support

Platform Status
Windows 10/11 Tested (primary development platform)
Linux Expected to work (CI tested)
macOS Expected to work
Python 3.7+ Required

Test Results

  • 77 unit tests passing
  • 21 one-off diagnostic tests passing
  • Pre-push validation: flake8 clean, all tests pass in strict mode