Oxidelta
High-performance VCDIFF (RFC 3284) delta encoding/decoding in Rust.
oxidelta targets interoperability with xdelta3 at the file format level, while providing a Rust-native library API and an idiomatic CLI.
Quick Start
Install
Alternative (prebuilt binary, faster install):
Manual binary install:
- Download your platform archive from GitHub Releases.
- Extract it and place
oxideltaon yourPATH.
Package manager note:
- Homebrew/Scoop/apt/rpm distribution is supported by the release pipeline artifacts.
- If you maintain internal package repos, consume release tarballs and checksums from releases.
Encode
Decode
Inspect a patch
CLI Highlights
- Subcommand-first CLI:
encode,decode,config,header,headers,delta,recode,merge - Tunables:
--level 0..9--window-size--source-window-size--duplicate-window-size--instruction-buffer-size--secondary {none,lzma,zlib,djw,fgk}
- Output controls:
--stdout--check-only--json- global
--force,--quiet,--verbose
Library Usage
use ;
use decoder;
More examples:
examples/basic_encode_decode.rsexamples/library_usage.rsexamples/custom_backend.rsexamples/integration_pipeline.rs
Documentation
- Architecture:
ARCHITECTURE.md - Performance and benchmark methodology:
PERFORMANCE.md - Compatibility matrix and differences:
COMPATIBILITY.md - Migration guide from xdelta CLI workflows:
MIGRATION.md
API docs:
Hosted docs are intended at: https://docs.rs/oxidelta
Release and Binaries
Automated release pipelines build and publish binaries for:
- Linux:
x86_64-unknown-linux-gnu,aarch64-unknown-linux-gnu - macOS:
x86_64-apple-darwin,aarch64-apple-darwin - Windows:
x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
See .github/workflows/release.yml for details.
For crates.io publishing, configure repository secret CARGO_REGISTRY_TOKEN (an API token with publish permissions).
Status
Production hardening is ongoing. The project is already heavily tested (unit, integration, property tests, cross-interop tests against xdelta3), and release/benchmark workflows are in place.