Releases
0.9.0
Compare
Sorry, something went wrong.
No results found
iliaal
released this
30 Sep 03:21
Changed
Bundled yyjson is 0.13.0; lowercase \uXXXX now uses upstream YYJSON_WRITE_LOWERCASE_HEX, retiring patch P-001.
fastjson_validate() reads the input in place and tracks depth during the parse: peak memory is constant and it runs ~30% fewer instructions.
Decode shares repeated object-key strings (up to 64 bytes, inputs of 4 KiB+): key-heavy documents peak ~15% lower and decode 3-4% faster, while mostly unique or 256+ distinct names cost 3-5%.
fastjson_file_decode() frees the file contents before building the result, lowering its peak 9-33%.
Encode writes escaped strings of 8 KiB+ in 2 KiB chunks instead of a 6x reserve; a 1 MiB string with ordinary escaping peaks 59-83% lower.
Fixed
The "trailing comma is not allowed" error position now points at the comma itself, in decode, validate, pointer, and merge-patch calls.
fastjson_validate() no longer accepts a trailing comma after container elements, such as [[],] or [{"a":1},].
On 32-bit builds, the validate-only reader's stack growth no longer overflows its allocation size at depth 2^28 (vendor patch P-006).
Restore decoder and pointer error state after partial-output and throw-mode replacement failures.
fastjson_validate() reports "expected a string key" and "expected ':' after key" like fastjson_decode().
You can’t perform that action at this time.