|
yyjson 0.11.1
A high performance C JSON library.
|
All notable changes to this project will be documented in this file.
YYJSON_READ_ALLOW_BOM flag to allow UTF-8 BOM.YYJSON_WRITE_FP_TO_FLOAT flag to write real numbers using single-precison.YYJSON_WRITE_FP_TO_FIXED(prec) flag to write real numbers using fix-point notation.set_fp_to_float() and set_fp_to_fixed() functions to control the output format of a specific number.set_str_noesc() function to skip escaping for a specific string during writing.yyjson_incr_read(), yyjson_incr_new(), yyjson_incr_free() functions for incremental DOM reading.UNEXPECTED_END instead of INVALID_COMMENT for unclosed comments.YYJSON_TYPE_RAW in prettify function: #178yyjson_mut_arr_iter_remove(): #194yyjson_locate_pos() function to locate the line and column number for error position: #166YYJSON_READ_NUMBER_AS_RAW not overriding YYJSON_READ_BIGNUM_AS_RAW as per documentation: #170YYJSON_WRITE_NEWLINE_AT_END flag for JSON writer: #147yyjson_ptr_get_uint/sint(): #152bool type support: #161YYJSON_SUBTYPE_NOESC subtype to mark strings that do not need to be escaped.YYJSON_DISABLE_UTF8_VALIDATION flag to allow disable UTF-8 validation at compile-time.yyjson_alc_dyn_new(), yyjson_alc_dyn_free().yyjson_mut_obj_add_arr/obj() API: #140YYJSON_SUBTYPE_NOESC.FAST_FP and READER are disabledYYJSON_WRITE_PRETTY_TWO_SPACES option to allow 2 spaces instead of 4 spaces when writing pretty JSON: #99YYJSON_READ_BIGNUM_AS_RAW option to read big numbers as raw strings: #124yyjson_get_num() function to convert and return any number value as double: #108FILE *: #122yyjson_mut_doc.iter_with() for creating iterator.ptr_set() and ptr_remove().old_size parameter for custom allocator: #100yyjson_read_number() function, add alc parameter.get_pointer() functions, rename to ptr_get().yyjson_mut_write() function.yyjson_set_int(yyjson_val *val, int num).yyjson_read_number() function to parse numeric strings.yyjson_alc_pool_init() fails.GCC 4.5, which doesn't support empty optional extended asm label.sprintf() output for floating point numbers is missing a decimal point, for example 123 should be 123.0.yyjson_mut_doc_mut_copy(), yyjson_mut_val_mut_copy(), yyjson_mut_merge_patch() functions for mutable input.yyjson_equals() and yyjson_mut_equals() functions to compare two values.yyjson_mut_obj_remove_key() and yyjson_mut_obj_remove_keyn() functions to simplify key removal.YYJSON_READ_NUMBER_AS_RAW option and RAW type support.YYJSON_READ_ALLOW_INVALID_UNICODE and YYJSON_WRITE_ALLOW_INVALID_UNICODE options to allow invalid unicode.yyjson_mut_obj_remove() return type from bool to yyjson_mut_val *.setlocale() function and -ffast-math flag: #54YYJSON_DISABLE_NON_STANDARD flag: #80YYJSON_WRITE_INF_AND_NAN_AS_NULL flag for JSON writer.yyjson_merge_patch() function for JSON Merge-Path API (RFC 7386).yyjson_mut_obj_replace() and yyjson_mut_obj_insert() functions for object modification.yyjson_obj_iter_get() and yyjson_mut_obj_iter_get() functions for faster object search.yyjson_version() function.YYJSON_DISABLE_COMMENT_READER and YYJSON_DISABLE_INF_AND_NAN_READER with YYJSON_DISABLE_NON_STANDARD compile-time flag.YYJSON_DISABLE_FP_READER and YYJSON_DISABLE_FP_WRITER with YYJSON_DISABLE_FAST_FP_CONV compile-time flag.-WconversionJSON Pointer support.YYJSON_READ_FASTFP compile-time flag.sanitizer and valgrind memory checker.API and DataStructure documentation.