🚀 LunarDump v0.2.0 Release Notes
We are excited to announce LunarDump v0.2.0! This release introduces a major new disaster recovery feature: Stream Integrity & Checksum Verification (lunardump restore --verify), along with seamless environment variable loading, uv package manager support, and improved configuration guidance.
🌟 What's New in v0.2.0
🛡️ Backup Integrity & Checksum Verification (--verify)
Ensuring that your encrypted database backups are uncorrupted, authentic, and decryptable before a real disaster strikes is crucial. With lunardump restore --verify, you can now validate your backup archives on-the-fly without restoring them to a live database or writing unencrypted data to disk.
- AES-256-GCM Stream Validation: Authenticates header signatures (
LUNARDUMP_V1), salt, nonces, and cryptographic authentication tags across every chunk. - Cryptographic Checksums: Generates instant SHA-256 and MD5 checksums of the unencrypted payload.
- Zero-Disk Overhead: Performs verification entirely in memory (64KB chunks).
- Direct Cloud Storage Verification: Verify remote backup archives stored in AWS S3, Google Cloud Storage, MinIO, or Cloudflare R2 without manual downloading.
Command Examples:
# 1. Verify local encrypted backup file
lunardump restore --file backup_20260730.enc --key secret.key --verify
# 2. Download and verify directly from Cloud Storage (S3 / GCS)
lunardump restore --config config.yaml --remote-key daily/mysql/backup_20260730.enc --verifyVerification Terminal Report:
LunarDump Backup Integrity & Verification Report
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Metric ┃ Details ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Backup Source │ s3://company-db-backups/daily/mysql/backup_20260730.enc │
│ Integrity Status │ PASSED (AES-256-GCM Authenticated) │
│ Decrypted Size │ 14.28 MB (14,972,812 bytes) │
│ SHA-256 Checksum │ a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8 │
│ MD5 Checksum │ c4ca4238a0b923820dcc509a6f75849b │
│ Validated Chunks │ 228 chunk(s) │
└━━━━━━━━━━━━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┘
✓ Backup file is authentic, uncorrupted, and ready for disaster recovery.
⚡ Improvements & Fixes
📦 Automatic .env Loading Across All Terminals
- Added
python-dotenv>=1.0.0to core package dependencies. - Added automatic
.envinitialization at CLI entrypoint (lunardump/main.py), resolving environment variables seamlessly out-of-the-box.
⚡ Package Manager Support (uv & uvx)
- Full support and documentation for installing LunarDump via
uv:- Global CLI installation:
uv tool install lunardump - One-off instant execution:
uvx lunardump run --config config.yaml
- Global CLI installation:
📝 Enhanced Configuration & Guidance
- Updated
config.example.yamlandREADME.mdwith explicit comments forstorage:provider options (S3, GCS, MinIO, R2, Local). - Added explanatory notes for
notifications:channels (requires at least 1 channel, supports multi-channel notification setups).
📄 Full Changelog
feat(cli): Added--verifyflag torestorecommand for integrity and checksum verification.feat(cli): Added--remote-keyand--configsupport torestorefor direct cloud storage verification.feat(security): Addedverify_streammethod inStreamCiphercalculating SHA-256 & MD5 checksums.fix(deps): Movedpython-dotenvinto core dependencies array inpyproject.toml.docs: AddedCONTRIBUTING.md,SECURITY.md, and updatedconfig.example.yamlcomments.
⚙️ Installation & Upgrade
Via pip:
pip install --upgrade lunardumpVia uv:
uv tool install --upgrade lunardumpFull Commit History & Repository: github.com/indhifarhandika/LunarDump