Skip to content

Releases

v6.0.3

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:49
b0b7a4c

Patch Changes

  • 5cd712a: perf: use native JSON.stringify for strings that need escaping, instead of a per-character loop
  • b49ae34: chore: lower required node version to >=18
  • c411e5e: fix: use explicit .js extension in type imports for nodenext compatibility

v6.0.2

Choose a tag to compare

@github-actions github-actions released this 22 Sep 09:46
b36fdee

Patch Changes

v6.0.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 20:53
d763272

Patch Changes

  • c13cf6a: fix: populate error.path for values reached through a promise in stringifyAsync
  • 6156b2e: perf: stringify and uneval skip per-character escaping for strings with nothing to escape
  • e7a9a73: fix: throw Invalid input instead of a raw TypeError for malformed typed array and boxed primitive payloads
  • 6156b2e: perf: only format path when an error is raised
  • 6156b2e: perf: cache quoted property names
  • 9e44253: Fix uneval for typed array views whose backing buffer ends with a partial element

v6.0.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 11:27
80e75e7

Major Changes

  • afb3cb4: breaking: use tagged template js for uneval replacers instead of nested uneval
  • 3100507: breaking: require Node 22.17 or newer

Minor Changes

  • afb3cb4: feat: support cyclic custom objects

Patch Changes

  • ac295fb: fix: escape unpaired surrogates so uneval/stringify output survives UTF-8 transport

v5.9.4

Choose a tag to compare

@github-actions github-actions released this 18 Sep 19:03
434358a

Patch Changes

  • 067b125: perf: annotate module-level Object.freeze calls as pure so unused operation tables tree-shake

v5.9.3

Choose a tag to compare

@github-actions github-actions released this 18 Sep 18:44
53cd3db

Patch Changes

  • 6861dbb: fix: avoid scanning sparse array holes in uneval traversal and shared-array population
  • 9ec5130: fix: reject non-string null-prototype object keys in parse and unflatten to prevent bypassing the __proto__ check
  • dae8153: fix: prevent unhandled internal rejections in stringifyAsync when serializing multiple promises
  • 84f6f67: fix: prevent quadratic uneval output expansion for repeated strings and bigints
  • 6861dbb: fix: avoid eager allocation when evaluating sparse arrays emitted by uneval
  • 8f8d78e: fix: validate revived backing buffers before constructing typed arrays
  • 46dc877: fix: serialize only the visible bytes of Node Buffers in stringify, stringifyAsync and uneval, preventing disclosure of unrelated data from their shared allocation pool

v5.9.2

Choose a tag to compare

@github-actions github-actions released this 27 Aug 14:13
a3d30d9

Patch Changes

  • 8b2a456: fix: reject out-of-bounds indices

v5.9.1

Choose a tag to compare

@github-actions github-actions released this 20 Aug 16:45
3e01a6c

Patch Changes

  • 39457ce: fix: uneval emits valid JS for graphs with more than 65534 repeated references
  • 686e379: fix: emit valid JS for Node Buffer in uneval
  • 376b65c: fix: preserve -0 in float typed arrays in uneval

v5.9.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 19:42
e82bc08

Minor Changes

  • 07d6a38: feat: export filterArrayIndices, the array-index filtering used by the indicesOf stringify operation, so custom operations can reuse it instead of reimplementing it
  • 07d6a38: feat: add pluggable operations option to parse/unflatten, allowing customization of how values are constructed while reviving (e.g. cross-realm or foreign-runtime revival)
  • 5b53532: feat: add pluggable operations option to stringify/stringifyAsync, allowing customization of how values are introspected during serialization (e.g. side-effect-free or foreign-runtime serialization)

v5.8.2

Choose a tag to compare

@github-actions github-actions released this 20 Jul 15:16
d4e10da

Patch Changes

  • 48cc81f: fix: serialize DataView subviews with the correct byte offset and length
  • cd6da94: fix: resolve circular references through custom revivers when payload is already hydrated
  • 29a3382: fix: uneval now produces valid output for a repeated empty Map or Set
  • 8c0db06: fix: serialize Temporal values referenced more than once in uneval
  • 3770846: fix: emit valid JS for BigInt64Array and BigUint64Array in uneval
  • 756265a: fix: preserve shared-reference identity for Map keys in uneval
  • faa8a05: fix: emit uneval reconstructions before the statements that reference them
  • 06129ad: fix: do not grow sparse arrays by one slot in uneval