更新日志
此页面记录 CompressKit 每个版本的变更。
All notable user-facing changes to CompressKit are tracked here.
The project follows Keep a Changelog style categories and uses semantic versioning for releases.
Unreleased
RLE format now includes 4-byte magic number
RLE\x00for file type identification.Added
.golangci.ymlfor Go linting configuration.Added
.clippy.tomlfor Rust linting configuration.Executable cross-language conformance matrix via
make test-conformance.Streaming API lifecycle and buffer contract coverage across shared C++/Go/Rust layers.
Unified CLI launcher module for all algorithms (shared/go/cli, shared/cpp/cli_launcher, shared/rust/cli).
C++ buffer API now uses platform-appropriate temp directory instead of hardcoded
/tmp/.Rust RLE decode now validates count=0 to prevent invalid data.
Rust Huffman encoding performance improved by using
Vec<u8>instead ofStringfor bitstream.Fixed Rust Arithmetic Coding streaming decode compatibility for short bitstreams.
Fixed Rust Arithmetic Coding treatment of
0x00input bytes so they are not confused with the EOF symbol.Unified buffer growth strategies across C++, Go, and Rust for semantic consistency.
Transactional retry logic now preserves partial writes correctly.
BREAKING: RLE format now includes 4-byte magic header. Old RLE files without magic are incompatible.
Archived future shared-frame, extended-conformance, and benchmark-governance proposals as deferred OpenSpec design context.
Refined README and documentation entry points so the GitHub README stays a concise repository gateway.
Removed 41 unused BMAD skills from
.claude/skills/directory (~2MB reduction).Simplified
AGENTS.mdandCLAUDE.mdfor better AI agent guidance.Architecture Deepening: Unified CLI entry points (94% boilerplate reduction) and buffer layer orchestration.
Archived internal decision documents to
.archive/superpowers-20260508/for cleaner documentation structure.
1.0.0 (2026-01-07)
- Huffman Coding, Arithmetic Coding, Range Coder, and Run-Length Encoding implementations.
- C++17, Go, and Rust command-line tools for all four algorithms.
- Unified CLI shape:
<binary> <encode|decode> <input> <output>. - Cross-language file compatibility goals for educational verification.
- Test data generation scripts and benchmark scripts.
- VitePress documentation site with English and Chinese content.
- MIT license, contribution guide, code of conduct, security policy, issue templates, and pull request template.
Security
- Documented maximum input size of 4 GiB.
- Documented maximum decoded output size of 1 GiB for decompression-bomb protection.