| @@ -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 | |||
| *** | |||