COOLJAPAN

Posts tagged #serialization

11 posts

Aug 6, 2026 · 10 min

OxiCode 0.2.6 Released — Nine Bytes Was All It Took to Loop Forever

OxiCode 0.2.6 hardens the serde bridge, closing an infinite-decode-loop bug and unbounded allocations 0.2.5 missed. A wire-format-relevant fix restores byte compatibility with bincode::serde (migration note included). Adds bounded-length decode entry points and decode contexts in the derive macros. 20,198 tests passing.

releaseoxicodebincode
Aug 6, 2026 · 7 min

OxiProto 0.1.5 Released — Protobuf Editions Actually Work Now (prost-reflect Used to Panic on the Word)

OxiProto 0.1.5 ships Editions 2023 support end to end: full feature resolution (field_presence, enum_type, repeated_field_encoding, utf8_validation, message_encoding, json_format), enforcement at decode time, and a downlevel-to-proto2 rewrite so the prost-reflect facade — which panics trying to even format the 'unknown syntax editions' error — can handle Editions files at all. Plus a wrong-buffer bug in generated packed-repeated decode, a proto2 packing default that diverged from protoc, and two new nesting-depth DoS bounds. Pure Rust Protocol Buffers, no protoc required.

releaseoxiprotopure-rust
Jul 30, 2026 · 8 min

OxiCode 0.2.5 Released — Every Allocation Now Asks Permission First

OxiCode 0.2.5 is a hardening release: fixes decode-time allocation-DoS, decompression-bomb, and checksum-overflow issues across containers, streaming, and derive macros, and replaces a fabricated SIMD speedup claim with real AVX2/SSE2/NEON kernels. No wire-format change for valid input. 20,126 tests passing.

releaseoxicodebincode
Jul 27, 2026 · 6 min

OxiProto 0.1.4 Released — oxiproto-protoc Deletes protoc From Everyone Else's Build Too

OxiProto 0.1.4 ships oxiproto-protoc — a protoc-argv-compatible binary letting any prost-build/tonic-build project skip the C++ compiler entirely by pointing PROTOC at pure Rust. This release also closes an unbounded-recursion decode DoS across all three nested-message paths and removes OxiProto's own last internal protoc dependency. Pure Rust, Apache-2.0.

releaseoxiprotopure-rust
Jun 20, 2026 · 6 min

OxiProto 0.1.3 — Pure-Rust Protocol Buffers, with the protoc binary deleted

OxiProto is the COOLJAPAN Pure-Rust Protocol Buffers stack — a native .proto parser, codegen, and wire runtime that replaces the protoc C++ compiler. No protoc binary, no build-time C++, no -sys crates. Proto2 + proto3, multi-file imports, reflection, JSON, and a CLI, all part of the NoFFI sovereign Rust stack.

releaseoxiprotopure-rust
Jun 4, 2026 · 5 min

OxiCode 0.2.4 Released — Config-Aware Streaming and no_std Error Trait Support

OxiCode 0.2.4 makes the streaming encoder/decoder generic over the Config type so encoder and decoder pairs can share an explicit codec configuration via new_with_config, implements core::error::Error for DeError/SerError in no_std + alloc, bumps the MSRV to 1.81, and moves OxiARC pure Rust compression to 0.3.2. Same 100% bincode-2.0 binary compatibility.

releaseoxicodebincode
May 8, 2026 · 4 min

OxiCode 0.2.3 Released — A Clean Clippy Run and Collision-Free Concurrent Tests

A small OxiCode patch that restores a fully clean clippy run across the workspace and eliminates temp-file collisions in seven async and file-I/O test modules under concurrent execution. No API or wire-format changes — same 100% bincode-2.0 binary compatibility, same Pure Rust guarantee.

releaseoxicodebincode
May 3, 2026 · 4 min

OxiCode 0.2.2 Released — Dependency Hardening and Pure Rust Compression, Bumped

A focused OxiCode patch: a deny.toml policy gate to ban unsafe or incompatible crates, the bincode dev-dependency pinned to =2.0.1, OxiARC pure Rust compression bumped to 0.2.7, and more robust temp-file handling in the file-I/O test suite. Same 100% bincode-2.0 binary compatibility, same Pure Rust guarantee.

releaseoxicodebincode
Mar 16, 2026 · 6 min

OxiCode 0.2.0 Released — Zero-Copy Decode, Size Pre-Computation, and a Much Bigger API

OxiCode's first 0.2 minor: a major API expansion with a BorrowDecode derive for zero-copy decoding, the SizeWriter / encoded_size pre-allocation API, encode_to_file / decode_from_file, lazy DecodeIter streaming, CRC32 checksums, versioned-value helpers, and a rich set of derive attributes — all while keeping 100% bincode 2.0 binary compatibility. 19,929 passing tests, zero warnings.

releaseoxicodebincode
Mar 16, 2026 · 3 min

OxiCode 0.2.1 Released — Modern Pure Rust Binary Serialization, Successor to bincode

100% binary-compatible drop-in replacement for bincode with zero-copy decoding, SIMD-accelerated arrays (2–4× faster), built-in LZ4/Zstd compression (powered by OxiARC), CRC32 checksums, async streaming, schema evolution, and no_std support. 513k LOC of pure Rust, 19,927 passing tests. The sovereign serialization layer for SciRS2 and the entire COOLJAPAN ecosystem.

releaseoxicodebincode
Dec 28, 2025 · 5 min

OxiCode 0.1.0 Released — A Modern Pure Rust Binary Serializer, the Successor to bincode

The first real release of OxiCode: a compact, fast, no_std-friendly binary serialization library for Rust with 100% bincode 2.0 binary compatibility. Drop-in encode/decode, derive macros, optional SIMD, compression, schema versioning, streaming, and validation. 10,860 lines of pure Rust, 211 passing tests, zero unwrap.

releaseoxicodebincode