|
1 | 1 |
|
2 |
| -Next Release 0.15 |
3 |
| -===================== |
| 2 | +0.16 (up to commit 66dcdf5, 2022-04-13) |
| 3 | +======================================== |
| 4 | + |
| 5 | +Deprecated and removed features: |
| 6 | +-------------------------------- |
| 7 | +* JSON_C_OBJECT_KEY_IS_CONSTANT is deprecated in favor of |
| 8 | + JSON_C_OBJECT_ADD_CONSTANT_KEY |
| 9 | +* Direct access to lh_table and lh_entry structure members is deprecated. |
| 10 | + Use access functions instead, lh_table_head(), lh_entry_next(), etc... |
| 11 | +* Drop REFCOUNT_DEBUG code. |
| 12 | + |
| 13 | +New features |
| 14 | +------------ |
| 15 | +* The 0.16 release introduces no new features |
| 16 | + |
| 17 | +Build changes |
| 18 | +------------- |
| 19 | +* Add a DISABLE_EXTRA_LIBS option to skip using libbsd |
| 20 | +* Add a DISABLE_JSON_POINTER option to skip compiling in json_pointer support. |
| 21 | + |
| 22 | +Significant changes and bug fixes |
| 23 | +--------------------------------- |
| 24 | +* Cap string length at INT_MAX to avoid various issues with very long strings. |
| 25 | +* json_object_deep_copy: fix deep copy of strings containing '\0' |
| 26 | +* Fix read past end of buffer in the "json_parse" command |
| 27 | +* Avoid out of memory accesses in the locally provided vasprintf() function |
| 28 | + (for those platforms that use it) |
| 29 | +* Handle allocation failure in json_tokener_new_ex |
| 30 | +* Fix use-after-free in json_tokener_new_ex() in the event of printbuf_new() returning NULL |
| 31 | +* printbuf_memset(): set gaps to zero - areas within the print buffer which |
| 32 | + have not been initialized by using printbuf_memset |
| 33 | +* printbuf: return -1 on invalid arguments (len < 0 or total buffer > INT_MAX) |
| 34 | +* sprintbuf(): propagate printbuf_memappend errors back to the caller |
| 35 | + |
| 36 | +Optimizations |
| 37 | +-------------- |
| 38 | +* Speed up parsing by replacing ctype functions with simplified, faster |
| 39 | + non-locale-sensitive ones in json_tokener and json_object_to_json_string. |
| 40 | +* Neither vertical tab nor formfeed are considered whitespace per the JSON spec |
| 41 | +* json_object: speed up creation of objects, calloc() -> malloc() + set fields |
| 42 | +* Avoid needless extra strlen() call in json_c_shallow_copy_default() and |
| 43 | + json_object_equal() when the object is known to be a json_type_string. |
| 44 | + |
| 45 | +Other changes |
| 46 | +------------- |
| 47 | +* Validate size arguments in arraylist functions. |
| 48 | +* Use getrandom() if available; with GRND_NONBLOCK to allow use of json-c |
| 49 | + very early during boot, such as part of cryptsetup. |
| 50 | +* Use arc4random() if it's available. |
| 51 | +* random_seed: on error, continue to next method instead of exiting the process |
| 52 | +* Close file when unable to read from /dev/urandom in get_dev_random_seed() |
| 53 | + |
| 54 | +*** |
| 55 | + |
| 56 | +0.15 (up to commit 870965e, 2020/07/26) |
| 57 | +======================================== |
4 | 58 |
|
5 | 59 | Deprecated and removed features:
|
6 | 60 | --------------------------------
|
@@ -59,7 +113,7 @@ Other changes
|
59 | 113 | * #589 - Detect broken RDRAND during initialization; also, fix segfault
|
60 | 114 | in the CPUID check.
|
61 | 115 | * #592 - Fix integer overflows to prevert out of bounds write on large input.
|
62 |
| -* Protect against division by zero in linkhash, when creaed with zero size. |
| 116 | +* Protect against division by zero in linkhash, when created with zero size. |
63 | 117 | * #602 - Fix json_parse_uint64() internal error checking, leaving the retval
|
64 | 118 | untouched in more failure cases.
|
65 | 119 | * #614 - Prevent truncation when custom double formatters insert extra \0's
|
@@ -185,7 +239,7 @@ Behavior changes:
|
185 | 239 | * Use size_t for array length and size. Platforms where sizeof(size_t) != sizeof(int) may not be backwards compatible
|
186 | 240 | See commits 45c56b, 92e9a5 and others.
|
187 | 241 |
|
188 |
| -* Check for failue when allocating memory, returning NULL and errno=ENOMEM. |
| 242 | +* Check for failure when allocating memory, returning NULL and errno=ENOMEM. |
189 | 243 | See commit 2149a04.
|
190 | 244 |
|
191 | 245 | * 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)
|
@@ -376,7 +430,7 @@ List of new functions added:
|
376 | 430 | * Add an alternative iterator implementation, see json_object_iterator.h
|
377 | 431 | * Make json_object_iter public to enable external use of the
|
378 | 432 | json_object_object_foreachC macro.
|
379 |
| - * Add a printbuf_memset() function to provide an effecient way to set and |
| 433 | + * Add a printbuf_memset() function to provide an efficient way to set and |
380 | 434 | append things like whitespace indentation.
|
381 | 435 | * Adjust json_object_is_type and json_object_get_type so they return
|
382 | 436 | json_type_null for NULL objects and handle NULL passed to
|
@@ -462,7 +516,7 @@ List of new functions added:
|
462 | 516 | 0.7
|
463 | 517 | ===
|
464 | 518 | * Add escaping of backslash to json output
|
465 |
| - * Add escaping of foward slash on tokenizing and output |
| 519 | + * Add escaping of forward slash on tokenizing and output |
466 | 520 | * Changes to internal tokenizer from using recursion to
|
467 | 521 | using a depth state structure to allow incremental parsing
|
468 | 522 |
|
|
0 commit comments