The data serialization foundation of the COOLJAPAN scientific computing ecosystem just leveled up.
Yesterday we released OxiCode 0.2.1 — a complete, production-grade modern binary serialization library written entirely in Rust. It is the spiritual and binary successor to bincode.
No C dependencies. No unsafe code in hot paths. No Python pickle or Java serialization overhead.
Just clean, memory-safe, blazing-fast encode/decode that compiles to a single static binary (or WASM) and runs everywhere.
Why OxiCode 0.2.1 is a game changer
For years, binary serialization in Rust meant either the aging bincode crate or heavy external solutions (Protocol Buffers, MessagePack, JSON, or language-specific formats).
These tools are powerful but suffer from:
- No zero-copy deserialization
- Missing modern performance features (SIMD, built-in compression)
- C/FFI dependencies or decompression bomb risks
- Poor no_std / embedded / async support
- No built-in schema evolution or checksum validation
OxiCode 0.2.1 ends all of that.
It delivers 100% binary compatibility with bincode 2.0 (via config::legacy()) while adding modern Rust superpowers.
Notable results:
- SIMD array encoding: 2–4× faster than plain bincode
- Zero-copy decoding via
BorrowDecodetrait - Integrated OxiARC-powered LZ4/Zstd compression (no C zlib ever)
Technical Deep Dive: How We Built the Modern Successor to bincode in Pure Rust
The architecture is clean, layered, and radically optimized:
-
Core Layer (
oxicode)
Varint/fixed-width encoding,Encode/Decode/BorrowDecodetraits,encoded_sizeAPI, CRC32 checksums, versioning & migration. -
SIMD Acceleration
Hardware auto-detection (SSE2 → AVX2 → AVX-512) for massive array/struct packing — 2–4× speedup on supported CPUs. -
Compression & Integrity (new in 0.2.1)
Full integration with OxiARC: pure-Rust LZ4 (speed) + Zstd (ratio), plus built-in decompression bomb protection. -
Async & Streaming
Tokio-compatible non-blocking I/O,decode_iter_from_slicefor streaming multi-item buffers. -
Derive & Validation (
oxicode_derive)
9 field + container attributes, constraint-based middleware, optional serde support.
Key Rust advantages:
- Zero-copy everywhere possible (
BorrowDecode) no_std+allocsupport (embedded & WASM ready)- Strict “no unwrap” policy + comprehensive error handling
- Minimal allocations + pre-computed size API
What’s inside 0.2.1 (released March 16)
- Stability improvements and CI hardening
- Full switch to OxiARC pure-Rust compression backend (C dependencies completely removed)
- Enhanced decompression bomb protection
- Expanded async streaming and versioning support
- Production readiness confirmed through 19,927 passing tests (including 18 byte-for-byte bincode compatibility tests)
- 513,128 lines of pure Rust across 973 files — zero warnings, all files < 2000 LOC
This is the foundation
OxiCode is now the official serialization backend for the entire COOLJAPAN scientific and data stack:
- SciRS2 / NumRS2 — all numerical data exchange and checkpointing
- ToRSh / OxiRAG — high-throughput tensor and vector serialization
- OxiARC — seamless archive-embedded serialization
- Spintronics / OxiHuman — simulation state save/load
- OxiGDAL — geospatial dataset serialization
- Future integration with OxiLean for formally verified encoding
Repository: https://github.com/cool-japan/oxicode
Star the repo if you want fast, safe, and future-proof binary serialization without the old bincode limitations.
The era of “just use bincode and hope” or “add another C dependency” is over.
Pure Rust modern serialization is here — fast, compatible, and sovereign.
— KitaSan at COOLJAPAN OÜ March 16, 2026