Releases: ibireme/yyjson
Releases · ibireme/yyjson
Version 0.10.0
Version 0.9.0
Version 0.8.0
Added
- Add
YYJSON_SUBTYPE_NOESC
subtype to mark strings that do not need to be escaped. - Add
YYJSON_DISABLE_UTF8_VALIDATION
flag to allow disabling UTF-8 validation at compile-time. - Add dynamic allocator API:
yyjson_alc_dyn_new()
andyyjson_alc_dyn_free()
. - Add the missing API
yyjson_mut_obj_add_arr()
andyyjson_mut_obj_add_obj()
: #140
Changed
- Improve the write performance of strings with
YYJSON_SUBTYPE_NOESC
.
Fixed
- Fix clang-16 valgrind fail: #134
- Fix compile break when both
FAST_FP
andREADER
are disabled
Version 0.7.0
Added
- Add
YYJSON_WRITE_PRETTY_TWO_SPACES
option to allow 2 spaces instead of 4 spaces when writing pretty JSON: #99 - Add
YYJSON_READ_BIGNUM_AS_RAW
option to read big numbers as raw strings: #124 - Add
yyjson_get_num()
function to convert and return any number value asdouble
: #108 - Add support for Loongarch: #112
- Add functions to get type-specific values specified by JSON Pointer: #116
- Add functions to read/write JSON with file pointer
FILE *
: #122 - Add functions to support modifying memory pool size of
yyjson_mut_doc
. - Add convenience functions
iter_with()
for creating iterator. - Add functions to modify JSON using JSON Pointer, such as
ptr_set()
andptr_remove()
. - Add support for JSON Patch (RFC 6902).
Changed
- BREAKING CHANGE: Change the allocator's realloc function signature, add
old_size
parameter for custom allocator: #100 - BREAKING CHANGE: Change
yyjson_read_number()
function, addalc
parameter. - DEPRECATED: Deprecate
get_pointer()
functions, rename toptr_get()
. - Improve performance of
yyjson_mut_write()
function.
Fixed
- Fix inaccurate error code for truncated JSON: #103
Version 0.6.0
Added
- Add functions to modify the content of a JSON value, for example
yyjson_set_int(yyjson_val *val, int num)
. - Add functions to copy from mutable doc to immutable doc.
- Add functions to support renaming an object's key.
- Add the
yyjson_read_number()
function to parse numeric strings. - Add a placeholder allocator if
yyjson_alc_pool_init()
fails.
Fixed
- Fix quite NaN on MIPS and HPPA arch.
- Fixed compile error before
GCC 4.5
which doesn't support empty optional extended asm label. - When built-in floating point conversion is disabled, sprintf() output for floating point numbers is missing a decimal point, for example 123 should be 123.0.
Version 0.5.1
Fixed
- Fix run-time error when compiling as
cpp
and 32-bit (g++-5 -m32 -fPIC) #85 - Fix incurrect output number format, remove unnecessary digits (e.g. 2.0e34 -> 2e34).
Version 0.5.0
Added
- Add LibFuzzer support.
- Add Doxygen support.
- Add functions to support serializing a single JSON value.
- Add
yyjson_mut_doc_mut_copy()
,yyjson_mut_val_mut_copy()
,yyjson_mut_merge_patch()
function for mutable input. - Add
yyjson_equals()
andyyjson_mut_equals()
function to compare two values. - Add
yyjson_mut_obj_remove_key()
andyyjson_mut_obj_remove_keyn()
to make it easier to remove a key. - Add
YYJSON_READ_NUMBER_AS_RAW
option andRAW
type support. - Add
YYJSON_READ_ALLOW_INVALID_UNICODE
andYYJSON_WRITE_ALLOW_INVALID_UNICODE
options to allow invalid unicode.
Changed
- Change
yyjson_mut_obj_remove()
return type frombool
toyyjson_mut_val *
. - Rewrite string serialization function, validate unicode encoding by default.
- Rewrite the JSON Pointer implementation, remove internal malloc() calls.
Fixed
Version 0.4.0
Added
- Add
YYJSON_WRITE_INF_AND_NAN_AS_NULL
flag for JSON writer. - Add
merge_path()
function for JSON Merge-Path API (RFC 7386). - Add
obj_replace()
andobj_insert()
function for object modification. - Add
obj_iter_get()
function for faster object query. - Add
yyjson_version()
function.
Changed
- Replace
YYJSON_DISABLE_COMMENT_READER
andYYJSON_DISABLE_INF_AND_NAN_READER
withYYJSON_DISABLE_NON_STANDARD
compiler flag. - Replace
YYJSON_DISABLE_FP_READER
andYYJSON_DISABLE_FP_WRITER
withYYJSON_DISABLE_FAST_FP_CONV
compiler flag.
Fixed
Version 0.3.0
Added
- Add
JSON Pointer
support. - Add CMake install target.
Changed
- Improve performance for some arch which doesn't support unaligned memory access.
Fixed
- Fix some compiler warning for GCC and Clang.
- Fix MSVC build error on UWP (uninitialized local variable).
- Fix stream file reading error on some platform.
Version 0.2.0
Added
- Add swift package manager support.
Changed
- Improve JSON reader performance for gcc.
- Improve double number reader performance with a fast path.
- Rewrite double number writer with Schubfach algrithm: #4.
- Strict UTF-8 validation for JSON reader.
Removed
- Remove
YYJSON_READ_FASTFP
flag.
Fixed
- Fix a compile error for old version gcc on linux: #7.