Changelog
All notable changes to ZIGX are documented in this file.
[0.0.1] - Initial Release
Added
Format Version 1: Stable archive format with versioning
- 128-byte header with magic bytes, flags, and checksums
- SHA-256 payload hash
- Support for signing and encryption flags (reserved for future)
Compression Version 1: Zstandard (zstd) algorithm
- Industry-leading compression ratios via zstd.zig bindings
- Levels 1-19 (fast to best compression)
- Extremely fast decompression (~135 MB/s)
- CRC32 checksums for integrity verification
- Multiple compression levels: BEST, DEFAULT, FAST, STORE
Unified API
includeoption for files and directoriesexcludeoption for pattern-based filtering- Function aliases:
bundle(),unbundle(),verify(),list(),isValid()
Core Functions
getArchiveInfo(): Get comprehensive archive metadatabundle()/compress(): Create archivesunbundle()/extract(): Extract archivesverify()/validate(): Validate archive integritylist()/listFiles(): List archive contentsisValid()/isValidArchive(): Quick validity checkdetectCorruption(): Detect corruption type
Exclude Patterns
- Glob-style pattern matching (
*.tmp,node_modules) - Directory pattern support
- Wildcard prefix and suffix patterns
- Glob-style pattern matching (
Example Application (
examples/self_bundle.zig)bundlecommand: Create archivesdebundlecommand: Extract archivesinfocommand: Display archive informationlistcommand: List files in archivecomparecommand: Compare compression levelshelpcommand: Show usage information
Build Integration
- Single executable with subcommands
- Shortcut build steps:
zig build bundle,zig build debundle - Test runner integration
Documentation
- VitePress documentation site
- API reference
- Usage guides and examples
Technical Details
Format Specification
| Section | Size | Description |
|---|---|---|
| Magic | 4 bytes | ZIGX |
| Version | 2 bytes | 0x0001 |
| Flags | 4 bytes | Compression type, signed, encrypted |
| Metadata | Variable | Key-value pairs |
| Checksums | Variable | File hashes |
| Payload | Variable | Compressed data |
Compression Performance
| Level | zstd Level | Typical Ratio | Use Case |
|---|---|---|---|
| BEST | 19 | 19-25% | Distribution |
| DEFAULT | 3 | 21-28% | General use |
| FAST | 1 | 25-33% | Development |
| STORE | - | 100%+ | Pre-compressed |
Compatibility
- Zig 0.15.0 or later required
- Cross-platform: Windows, macOS, Linux
Planned Features
- Digital signature implementation
- Encryption support
- Streaming compression API
- Progress callbacks
- Delta compression
- Multi-threaded compression
- Archive merging
- Partial extraction
