From: Eric Haszlakiewicz Date: Mon, 20 Jul 2020 03:39:01 +0000 (+0000) Subject: Update the ChangeLog with recent changes, in preparation for a 0.15 release. X-Git-Tag: json-c-0.15-20200726~5 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=024e835f4cfb2aacf420d9a330ddbcf5c8dd12d2;p=thirdparty%2Fjson-c.git Update the ChangeLog with recent changes, in preparation for a 0.15 release. --- diff --git a/ChangeLog b/ChangeLog index 6e46cdab..8e1ac539 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,14 +4,36 @@ Next Release 0.15 Deprecated and removed features: -------------------------------- -* array_list_new() has been deprecated in favor of array_list_new2() +* Deprecate `array_list_new()` in favor of `array_list_new2()` +* Remove the THIS_FUNCTION_IS_DEPRECATED define. +* Remove config.h.win32 + +New features +------------ +* Add a `JSON_TOKENER_ALLOW_TRAILING_CHARS` flag to allow multiple objects + to be parsed even when `JSON_TOKENER_STRICT` is set. +* Add `json_object_new_array_ext(int)` and `array_list_new_2(int)` to allow + arrays to be allocated with the exact size needed, when known. +* Add `json_object_array_shrink()` (and `array_list_shrink()`) and use it in + json_tokener to minimize the amount of memory used. +* Add a json_parse binary, for use in testing changes (not installed, but + available in the apps directory). -Other changes --------------- -* Add a json_parse binary, for use in testing changes (not installed). -* Issue #471: always create directories with mode 0755, regardless of umask. -* Added a JSON_TOKENER_ALLOW_TRAILING_CHARS flag to allow multiple objects - to be parsed even when JSON_TOKENER_STRICT is set. +Build changes +------------- +* #639/#621 - Add symbol versions to all exported symbols +* #508/#634 - Always enable -fPIC to allow use of the json-c static library in + other libraries +* Build both static and shared libraries at the same time. +* #626 - Restore compatibility with cmake 2.8 +* #471 - Always create directories with mode 0755, regardless of umask. +* #606/#604 - Improve support for OSes like AIX and IBM i, as well as for + MINGW32 and old versions of MSVC +* #451/#617 - Add a DISABLE_THREAD_LOCAL_STORAGE cmake option to disable + the use of thread-local storage. + +Significant changes and bug fixes +--------------------------------- * Split the internal json_object structure into several sub-types, one for each json_type (json_object_object, json_object_string, etc...). This improves memory usage and speed, with the benchmark under @@ -23,9 +45,7 @@ Other changes arrays to the exact number of elements parsed. On bench/ benchmark: 9% faster test time, 39%(max RSS)-50%(peak heap) less memory usage. Add json_object_array_shrink() and array_list_shrink() functions. -* Add json_object_new_array_ext(int) and array_list_new_2(int) to allow - arrays to be allocated with the exact size needed, when known. -* Parsing of surrogate pairs in unicode escapes now properly handles +* #616 - Parsing of surrogate pairs in unicode escapes now properly handles incremental parsing. * Fix incremental parsing of numbers, especially those with exponents, e.g. so parsing "[0", "e+", "-]" now properly returns an error. @@ -34,6 +54,16 @@ Other changes followed by a "-", "." or "e". This makes parsing things like "123-45" behave consistently with things like "123xyz". +Other changes +------------- +* #589 - Detect broken RDRAND during initialization; also, fix segfault + in the CPUID check. +* #592 - Fix integer overflows to prevert out of bounds write on large input. +* Protect against division by zero in linkhash, when creaed with zero size. +* #602 - Fix json_parse_uint64() internal error checking, leaving the retval + untouched in more failure cases. +* #614 - Prevent truncation when custom double formatters insert extra \0's + ***