Releases: aether-framework/aether-pack
Releases · aether-framework/aether-pack
🚀 Aether Pack v0.1.0 — Initial Release
🚀 Aether Pack v0.1.0 — Initial Release
Aether Pack is a modern binary archive format for the JVM.
It provides chunked storage with built-in support for compression, encryption, and error correction —
designed for game assets, save files, and any application requiring efficient, secure, and reliable data storage.
🎯 Highlights in v0.1.0
- ✅ Chunked Storage
- Large files split into configurable chunks (default 256KB) for streaming and random access.
- ✅ Compression
- ZSTD (levels 1-22) and LZ4 via pluggable
CompressionProviderSPI.
- ZSTD (levels 1-22) and LZ4 via pluggable
- ✅ Encryption
- AES-256-GCM and ChaCha20-Poly1305 with AEAD for confidentiality and integrity.
- ✅ Key Derivation
- Argon2id and PBKDF2 for secure password-based encryption.
- ✅ Error Correction
- Reed-Solomon ECC for data recovery from corruption.
- ✅ Checksums
- XXH3-64 (default) and CRC-32 for integrity verification.
- ✅ Container & Stream Mode
- Table of Contents (TOC) for random access or sequential streaming.
- ✅ Custom Attributes
- Key-value metadata per entry (String, Long, Double, Boolean, Bytes).
- ✅ CLI Tool
- Full command-line interface: create, extract, list, info, verify.
📦 Installation
Tip
All Aether artifacts are available on Maven Central — no extra repository required.
Maven
<dependency>
<groupId>de.splatgames.aether.pack</groupId>
<artifactId>aether-pack-core</artifactId>
<version>0.1.0</version>
</dependency>
<!-- For compression support -->
<dependency>
<groupId>de.splatgames.aether.pack</groupId>
<artifactId>aether-pack-compression</artifactId>
<version>0.1.0</version>
</dependency>
<!-- For encryption support -->
<dependency>
<groupId>de.splatgames.aether.pack</groupId>
<artifactId>aether-pack-crypto</artifactId>
<version>0.1.0</version>
</dependency>Gradle (Groovy)
dependencies {
implementation 'de.splatgames.aether.pack:aether-pack-core:0.1.0'
implementation 'de.splatgames.aether.pack:aether-pack-compression:0.1.0'
implementation 'de.splatgames.aether.pack:aether-pack-crypto:0.1.0'
}Gradle (Kotlin)
dependencies {
implementation("de.splatgames.aether.pack:aether-pack-core:0.1.0")
implementation("de.splatgames.aether.pack:aether-pack-compression:0.1.0")
implementation("de.splatgames.aether.pack:aether-pack-crypto:0.1.0")
}🧰 Usage
1) Create an Archive
ApackConfiguration config = ApackConfiguration.builder()
.compressionProvider("zstd")
.compressionLevel(6)
.checksumProvider("xxh3-64")
.build();
try (AetherPackWriter writer = AetherPackWriter.create(path, config)) {
writer.addEntry(EntryMetadata.of("data/config.json"), configBytes);
writer.addEntry(EntryMetadata.of("assets/texture.png"), textureBytes);
}2) Read an Archive
try (AetherPackReader reader = AetherPackReader.open(path)) {
for (Entry entry : reader.getEntries()) {
System.out.printf("%s (%d bytes)%n", entry.getName(), entry.getOriginalSize());
}
try (InputStream in = reader.openEntry("data/config.json")) {
byte[] data = in.readAllBytes();
}
}3) CLI Commands
# Create archive with ZSTD compression
apack create -c zstd archive.apack files/
# Create encrypted archive
apack create -c zstd -e aes-256-gcm archive.apack files/
# Extract archive
apack extract archive.apack -o output/
# List contents
apack list -l archive.apack
# Verify integrity
apack verify archive.apack📝 Changelog
New in 0.1.0
- 🎉 Initial release with complete archive format implementation:
- Binary format with 64-byte file header, chunked entries, and trailer with TOC
AetherPackWriterandAetherPackReaderfor archive I/OCompressionProviderSPI with ZSTD and LZ4 implementationsEncryptionProviderSPI with AES-256-GCM and ChaCha20-Poly1305KeyDerivationwith Argon2id and PBKDF2-SHA256ChecksumProviderSPI with XXH3-64 and CRC-32- Reed-Solomon error correction codec
- Processing pipeline: Checksum → Compress → Encrypt
- CLI tool with create, extract, list, info, verify commands
- Comprehensive JavaDoc documentation
🗺️ Roadmap (next)
-
0.2.x
- Graphical User Interface (GUI) for archive management
-
1.0.x
- Stable API surface
- Comprehensive documentation
- Production-ready release
📜 License
MIT — see LICENSE.