Overview

Request 560218 accepted

- json-c 0.13
+ Deprecated and removed features:
* Internal use of bits.h has been eliminated.
* lh_abort() is deprecated
+ Behavior changes:
* Tighten the number parsing algorithm to raise errors instead
of truncating the results. For example 12.3.4 or 2015-01-15,
which now return null.
* Use size_t for array length and size. Platforms where
sizeof(size_t) != sizeof(int) may not be backwards compatible
* Check for failue when allocating memory, returning NULL and
errno=ENOMEM.
* Change json_object_object_add() return type from void to int,
and will return -1 on failures, instead of exiting. (Note:
this is not an ABI change)
+ New features:
* Aiming to follow RFC 7159 now.
* Support for JSON pointer, RFC 6901 (see json_pointer.h)
* Add a couple of additional option to json_object_to_json_string_ext:
JSON_C_TO_STRING_PRETTY_TAB
JSON_C_TO_STRING_NOSLASHESCAPE
* json_object_object_add_ex() - better perf when certain
constraints are known to be true
* Serialization format of doubles now configurable
* New functions
- json_object_equal() - utility function for comparing
json_objects
- json_object_deep_copy() - a way to copy entire object
trees
- json_object_set_() - modify the value of
existing json_object's without the need to recreate them.
Also add a json_object_int_inc function to adjust an int's'
value.
- json_util_get_last_err() - retrieve the string describing
the cause of errors, instead of printing to stderr.
- perllike hash function for strings
* json_global_set_string_hash()
* json_c_visit() - a way to iterate over a tree of json-c
objects.
+ Notable bug fixes and other improvements:
* Make reference increment and decrement atomic to allow
passing json objects between threads.
* Fix json_object_object_foreach to avoid uninitialized
variable warnings.
* Improve performance by removing unneeded data items from
hashtable code and reducing duplicate hash computation.
* Performance: store small strings inside json_object
* Performance: of json_object_to_json_string by removing
variadic printf
* Fix parsing of "-Infinity", and avoid needlessly copying the
input when doing so.
* Fix stack buffer overflow in json_object_double_to_json_string_format()
* Fix various potential null ptr deref and int32 overflows
* Fix a long-standing bug in array_list_put_idx() where it
would attempt to free previously free'd entries due to not
checking the current array length.
* use uselocale() instead of setlocale() in json_tokener to
behave better in threaded environments.
* Fix out of bounds read when handling unicode surrogate pairs.
* Ensure doubles that happen to be a whole number are emitted
with ".0"
* Visual Studio: use a snprintf/vsnprintf wrapper that ensures
the string is terminated.
* Fix double to int cast overflow in json_object_get_int64.
* Clamp double to int32 when narrowing in json_object_get_int.
* Use strtoll() to parse ints - instead of sscanf
* usual code linting
+ Build changes:
* Add Appveyor and Travis build support
* Support for MacOS and Windows through CMake
* Silent build by default
* Link against libm when needed
* Add support for building with AddressSanitizer
* Add support for building with Clang
* Add a --enable-threading configure option, and only use the
(slower) __sync_add_and_fetch()/__sync_sub_and_fetch()
function when it is specified.
- cleanup with spec-cleaner
- remove fix-set-but-not-used.patch
+ fixed: https://github.com/json-c/json-c/issues/240
- remove gcc7-fix.patch
+ fixed in 014924ba899f659917bb64392bbff7d3c803afc2

Loading...
Request History
Avindra Goolcharan's avatar

avindra created request

- json-c 0.13
+ Deprecated and removed features:
* Internal use of bits.h has been eliminated.
* lh_abort() is deprecated
+ Behavior changes:
* Tighten the number parsing algorithm to raise errors instead
of truncating the results. For example 12.3.4 or 2015-01-15,
which now return null.
* Use size_t for array length and size. Platforms where
sizeof(size_t) != sizeof(int) may not be backwards compatible
* Check for failue when allocating memory, returning NULL and
errno=ENOMEM.
* Change json_object_object_add() return type from void to int,
and will return -1 on failures, instead of exiting. (Note:
this is not an ABI change)
+ New features:
* Aiming to follow RFC 7159 now.
* Support for JSON pointer, RFC 6901 (see json_pointer.h)
* Add a couple of additional option to json_object_to_json_string_ext:
JSON_C_TO_STRING_PRETTY_TAB
JSON_C_TO_STRING_NOSLASHESCAPE
* json_object_object_add_ex() - better perf when certain
constraints are known to be true
* Serialization format of doubles now configurable
* New functions
- json_object_equal() - utility function for comparing
json_objects
- json_object_deep_copy() - a way to copy entire object
trees
- json_object_set_() - modify the value of
existing json_object's without the need to recreate them.
Also add a json_object_int_inc function to adjust an int's'
value.
- json_util_get_last_err() - retrieve the string describing
the cause of errors, instead of printing to stderr.
- perllike hash function for strings
* json_global_set_string_hash()
* json_c_visit() - a way to iterate over a tree of json-c
objects.
+ Notable bug fixes and other improvements:
* Make reference increment and decrement atomic to allow
passing json objects between threads.
* Fix json_object_object_foreach to avoid uninitialized
variable warnings.
* Improve performance by removing unneeded data items from
hashtable code and reducing duplicate hash computation.
* Performance: store small strings inside json_object
* Performance: of json_object_to_json_string by removing
variadic printf
* Fix parsing of "-Infinity", and avoid needlessly copying the
input when doing so.
* Fix stack buffer overflow in json_object_double_to_json_string_format()
* Fix various potential null ptr deref and int32 overflows
* Fix a long-standing bug in array_list_put_idx() where it
would attempt to free previously free'd entries due to not
checking the current array length.
* use uselocale() instead of setlocale() in json_tokener to
behave better in threaded environments.
* Fix out of bounds read when handling unicode surrogate pairs.
* Ensure doubles that happen to be a whole number are emitted
with ".0"
* Visual Studio: use a snprintf/vsnprintf wrapper that ensures
the string is terminated.
* Fix double to int cast overflow in json_object_get_int64.
* Clamp double to int32 when narrowing in json_object_get_int.
* Use strtoll() to parse ints - instead of sscanf
* usual code linting
+ Build changes:
* Add Appveyor and Travis build support
* Support for MacOS and Windows through CMake
* Silent build by default
* Link against libm when needed
* Add support for building with AddressSanitizer
* Add support for building with Clang
* Add a --enable-threading configure option, and only use the
(slower) __sync_add_and_fetch()/__sync_sub_and_fetch()
function when it is specified.
- cleanup with spec-cleaner
- remove fix-set-but-not-used.patch
+ fixed: https://github.com/json-c/json-c/issues/240
- remove gcc7-fix.patch
+ fixed in 014924ba899f659917bb64392bbff7d3c803afc2


Adam Majer's avatar

adamm accepted request

Thanks

openSUSE Build Service is sponsored by