v1.4.0 — 20 Enhancements + Standalone Application
What's New in v1.4.0
20 Feature Enhancements
- Metadata injection — write copyright, artist, software, description, datetime into JPEG/PNG/WebP
- SVG verification — sanitize
<script>, event handlers, external references - Encrypted PDF handling —
--pdf-passwordCLI flag - HEIC/AVIF byte cleanup — free box re-tagging for smaller output
- Steganography detection —
--stego-checkscans for hidden data - Thumbnail strip verification —
hasThumbnailData()in verify - Embedded file detection — detect PDF embedded files & JavaScript
- Benchmarking suite —
bench/bench.tsfor performance testing - Deno/Bun cross-runtime tests — verified compatibility
- Plugin/format extension API —
registerFormat(),registerPlugin() - Diff mode —
--diffshows before/after metadata comparison - Git pre-commit hook — auto-scrub staged files
- CLI glob patterns —
--include/--excludefilters - Structured exit codes — 0 (success), 1 (partial), 2 (total failure), 3 (no files)
- Dark/light theme toggle in desktop GUI
- Before/after size comparison in GUI
- Drag-drop folder support in GUI
- i18n localization — English, Spanish, French, German, Japanese, Chinese
- Fuzz testing harness —
fuzz/fuzz.ts - Real-file integration tests
Standalone Application
HB Scrub can now be installed as a fully standalone system application:
sudo ./install.sh # Install CLI + GUI system-wide
sudo ./uninstall.sh # Remove completely| Component | Location |
|---|---|
| CLI | /usr/local/bin/hb-scrub |
| GUI | /usr/local/bin/hb-scrub-gui |
| Desktop entry | Applications → Utility |
| App files | /opt/hb-scrub/ |
Stats
- 296 tests passing across 12 test files
- 36 files changed, 3,180 insertions
- TypeScript clean (0 errors), build clean