Yyjson

Latest version: v2.3.1

Safety actively analyzes 627248 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

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 as `double`: 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()` and `ptr_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, add `alc` parameter.
- **DEPRECATED:** Deprecate `get_pointer()` functions, rename to `ptr_get()`.
- Improve performance of `yyjson_mut_write()` function.

Fixed
- Fix inaccurate error code for truncated JSON: 103

0.6.0

Added
- Add functions to modify the content of a JSON value, such as `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 the built-in floating point conversion is disabled, the `sprintf()` output for floating point numbers is missing a decimal point, for example 123 should be 123.0.

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).

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()` functions for mutable input.
- Add `yyjson_equals()` and `yyjson_mut_equals()` functions to compare two values.
- Add `yyjson_mut_obj_remove_key()` and `yyjson_mut_obj_remove_keyn()` functions to simplify key removal.
- Add `YYJSON_READ_NUMBER_AS_RAW` option and `RAW` type support.
- Add `YYJSON_READ_ALLOW_INVALID_UNICODE` and `YYJSON_WRITE_ALLOW_INVALID_UNICODE` options to allow invalid unicode.

Changed
- Change `yyjson_mut_obj_remove()` return type from `bool` to `yyjson_mut_val *`.
- Rewrite string serialization function, validate unicode encoding by default.
- Rewrite the JSON Pointer implementation, remove internal malloc() calls.

Fixed
- Make the code work correctly with `setlocale()` function and `-ffast-math` flag: 54
- Fix negative infinity literals read error: 64
- Fix non null-terminated string write error.
- Fix incorrect behavior of `YYJSON_DISABLE_NON_STANDARD` flag: 80

0.4.0

Added
- Add `YYJSON_WRITE_INF_AND_NAN_AS_NULL` flag for JSON writer.
- Add `yyjson_merge_patch()` function for JSON Merge-Path API (RFC 7386).
- Add `yyjson_mut_obj_replace()` and `yyjson_mut_obj_insert()` functions for object modification.
- Add `yyjson_obj_iter_get()` and `yyjson_mut_obj_iter_get()` functions for faster object search.
- Add `yyjson_version()` function.

Changed
- Replace `YYJSON_DISABLE_COMMENT_READER` and `YYJSON_DISABLE_INF_AND_NAN_READER` with `YYJSON_DISABLE_NON_STANDARD` compile-time flag.
- Replace `YYJSON_DISABLE_FP_READER` and `YYJSON_DISABLE_FP_WRITER` with `YYJSON_DISABLE_FAST_FP_CONV` compile-time flag.

Fixed
- Fix compiler warning with `-Wconversion`
- Fix compiler error for GCC 4.4 (53) and MSVC 6.0 (55)

0.3.0

Added
- Add `JSON Pointer` support.
- Add CMake install target.

Changed
- Improve performance for some architectures that don't support unaligned memory access.

Fixed
- Fix some compiler warnings for GCC and Clang.
- Fix MSVC build error on UWP (uninitialized local variable).
- Fix stream file reading error on some platforms.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.