A Rust implementation of V8's ValueSerializer and ValueDeserializer
by denolandRust
Last 12 weeks · 0 commits
2 of 6 standards met
V8 14.9 (rusty_v8 149+) bumped the value-serializer wire format from 15 to 16. The only payload change is that ArrayBuffer / ArrayBufferView byte_length, byte_offset, and max_byte_length are written as size_t-width varints instead of uint32_t (see v8/src/objects/value-serializer.cc). For values whose magnitudes fit in u32 — the common case in practice — the on-wire bytes are identical, so accepting v16 in the deserializer lets us read values produced by V8 14.9 without further changes. Embedders that need to serialize ArrayBuffers larger than 4 GiB still need a wider follow-up. Bumps to 0.1.2 so denokv_sqlite (and downstream) can pick up the fix without a deno_kv API change. Needed for denoland/deno#34226.
Repository: denoland/v8_valueserializer. Description: A Rust implementation of V8's ValueSerializer and ValueDeserializer Stars: 11, Forks: 2. Primary language: Rust. Languages: Rust (98.8%), TypeScript (1.2%). License: MIT. Homepage: https://docs.rs/v8_valueserializer Latest release: 0.1.0 (2y ago). Open PRs: 0, open issues: 0. Last activity: 3mo ago. Community health: 37%. Top contributors: lucacasonato, losfair, bartlomieju, johnspurlock-skymethod.