Skip to content

v2.1.2

Choose a tag to compare

@cristiancmoises cristiancmoises released this 06 Apr 22:38
· 134 commits to master since this release

Zupt v2.1.2 πŸ—Ώ β˜•β˜•.β˜•.β˜•β˜•

Release date: 2026-04-06

Summary

This release introduces full-disk backup and restore functionality, improves compression and encryption handling, and expands the test suite to 77 tests. All tests pass cleanly under ASAN and UBSan.


New Features

Full-Disk Backup / Restore (src/zupt_disk.c)

  • Backup: zupt disk backup output.zupt /dev/sda1
    • Streams 4MB blocks
    • Detects sparse regions
    • Supports all codecs
  • Restore: zupt disk restore archive.zupt /dev/sda1
    • Per-block checksum validation
    • Immediate failure on wrong password

Sparse Detection

  • 8-byte-wide zero check
  • Zero blocks stored as STORE (near-zero overhead)

Encryption

  • Supports:
    • Password (-p)
    • PQ hybrid (--pq)
    • None
  • All modes tested and verified

Compression

  • High repetition: ~2928:1
  • Random data: ~1.33:1 (auto-STORE fallback)

Device Size Detection

  • Linux: BLKGETSIZE64
  • macOS: DKIOCGETBLOCKCOUNT
  • Fallback: lseek

Safety

  • ZUPT_FLAG_DISK_IMAGE prevents accidental zupt extract on disk archives

Tests

77 tests passing:

  • 11 VV unit
  • 13 NIST / RFC vectors
  • 22 regression
  • 14 multi-threaded
  • 10 post-quantum
  • 7 disk tests (normal, encrypted, PQ, sparse, LZHP codec, extreme compression, wrong-password rejection)

Release Stats

  • 74 files
  • 168 KB
  • Zero .o files included
  • 77/77 tests passing
  • ASAN + UBSan fully clean