A Rust implementation of V8's ValueSerializer and ValueDeserializer
by denolandRust
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. License: MIT. Homepage: https://docs.rs/v8_valueserializer Open PRs: 0, open issues: 0. Last activity: 1mo ago. Top contributors: lucacasonato, losfair, bartlomieju, johnspurlock-skymethod.