Eric Haszlakiewicz | 8ce53f9 | 2012-07-29 18:43:55 -0500 | [diff] [blame] | 1 | |
Eric Haszlakiewicz | 515ba0d | 2014-04-10 22:44:13 -0400 | [diff] [blame] | 2 | NEXT.VERSION |
| 3 | |
| 4 | ...nothing yet... |
| 5 | |
Eric Haszlakiewicz | f84d9c5 | 2014-04-10 21:07:20 -0400 | [diff] [blame] | 6 | 0.12 |
| 7 | |
| 8 | * Address security issues: |
| 9 | * CVE-2013-6371: hash collision denial of service |
| 10 | * CVE-2013-6370: buffer overflow if size_t is larger than int |
| 11 | |
| 12 | * Avoid potential overflow in json_object_get_double |
| 13 | |
| 14 | * Eliminate the mc_abort() function and MC_ABORT macro. |
| 15 | |
| 16 | * Make the json_tokener_errors array local. It has been deprecated for |
| 17 | a while, and json_tokener_error_desc() should be used instead. |
| 18 | |
| 19 | * change the floating point output format to %.17g so values with |
| 20 | more than 6 digits show up in the output. |
| 21 | |
| 22 | * Remove the old libjson.so name compatibility support. The library is |
| 23 | only created as libjson-c.so now and headers are only installed |
| 24 | into the ${prefix}/json-c directory. |
| 25 | |
| 26 | * When supported by the linker, add the -Bsymbolic-functions flag. |
| 27 | |
| 28 | * Various changes to fix the build on MSVC. |
| 29 | |
| 30 | * Make strict mode more strict: |
| 31 | * number must not start with 0 |
| 32 | * no single-quote strings |
| 33 | * no comments |
| 34 | * trailing char not allowed |
| 35 | * only allow lowercase literals |
Eric Haszlakiewicz | 4207147 | 2013-04-02 21:22:59 -0500 | [diff] [blame] | 36 | |
Eric Haszlakiewicz | 51993c2 | 2013-09-11 20:27:39 -0500 | [diff] [blame] | 37 | * Added a json_object_new_double_s() convenience function to allow |
| 38 | an exact string representation of a double to be specified when |
| 39 | creating the object and use it in json_tokener_parse_ex() so |
| 40 | a re-serialized object more exactly matches the input. |
Eric Haszlakiewicz | 4207147 | 2013-04-02 21:22:59 -0500 | [diff] [blame] | 41 | |
Eric Haszlakiewicz | f84d9c5 | 2014-04-10 21:07:20 -0400 | [diff] [blame] | 42 | * Add support NaN and Infinity |
| 43 | |
| 44 | |
Eric Haszlakiewicz | eee744c | 2013-03-31 20:57:08 -0500 | [diff] [blame] | 45 | 0.11 |
Eric Haszlakiewicz | 8ce53f9 | 2012-07-29 18:43:55 -0500 | [diff] [blame] | 46 | |
| 47 | * IMPORTANT: the name of the library has changed to libjson-c.so and |
| 48 | the header files are now in include/json-c. |
| 49 | The pkgconfig name has also changed from json to json-c. |
| 50 | You should change your build to use appropriate -I and -l options. |
| 51 | A compatibility shim is in place so builds using the old name will |
| 52 | continue to work, but that will be removed in the next release. |
Remi Collet | 197cb1d | 2012-11-27 09:01:45 +0100 | [diff] [blame] | 53 | * Maximum recursion depth is now a runtime option. |
| 54 | json_tokener_new() is provided for compatibility. |
| 55 | json_tokener_new_ex(depth) |
Eric Haszlakiewicz | eee744c | 2013-03-31 20:57:08 -0500 | [diff] [blame] | 56 | * Include json_object_iterator.h in the installed headers. |
| 57 | * Add support for building on Android. |
| 58 | * Rewrite json_object_object_add to replace just the value if the key already exists so keys remain valid. |
| 59 | * Make it safe to delete keys while iterating with the json_object_object_foreach macro. |
| 60 | * Add a json_set_serializer() function to allow the string output of a json_object to be customized. |
| 61 | * Make float parsing locale independent. |
| 62 | * Add a json_tokener_set_flags() function and a JSON_TOKENER_STRICT flag. |
| 63 | * Enable -Werror when building. |
| 64 | * speed improvements to parsing 64-bit integers on systems with working sscanf |
| 65 | * Add a json_object_object_length function. |
| 66 | * Fix a bug (buffer overrun) when expanding arrays to more than 64 entries. |
Eric Haszlakiewicz | 8ce53f9 | 2012-07-29 18:43:55 -0500 | [diff] [blame] | 67 | |
Michael Clark | f5dd43a | 2009-08-27 06:40:00 +0000 | [diff] [blame] | 68 | 0.10 |
Eric Haszlakiewicz | 1abaaee | 2012-04-29 12:54:14 -0500 | [diff] [blame] | 69 | |
| 70 | * Add a json_object_to_json_string_ext() function to allow output to be |
| 71 | formatted in a more human readable form. |
| 72 | * Add json_object_object_get_ex(), a NULL-safe get object method, to be able |
| 73 | to distinguish between a key not present and the value being NULL. |
| 74 | * Add an alternative iterator implementation, see json_object_iterator.h |
| 75 | * Make json_object_iter public to enable external use of the |
| 76 | json_object_object_foreachC macro. |
| 77 | * Add a printbuf_memset() function to provide an effecient way to set and |
| 78 | append things like whitespace indentation. |
| 79 | * Adjust json_object_is_type and json_object_get_type so they return |
| 80 | json_type_null for NULL objects and handle NULL passed to |
| 81 | json_objct_object_get(). |
| 82 | * Rename boolean type to json_bool. |
| 83 | * Fix various compile issues for Visual Studio and MinGW. |
| 84 | * Allow json_tokener_parse_ex() to be re-used to parse multiple object. |
| 85 | Also, fix some parsing issues with capitalized hexadecimal numbers and |
| 86 | number in E notation. |
| 87 | * Add json_tokener_get_error() and json_tokener_error_desc() to better |
| 88 | encapsulate the process of retrieving errors while parsing. |
| 89 | * Various improvements to the documentation of many functions. |
| 90 | * Add new json_object_array_sort() function. |
Eric Haszlakiewicz | 20707f4 | 2011-05-03 21:17:50 +0000 | [diff] [blame] | 91 | * Fix a bug in json_object_get_int(), which would incorrectly return 0 |
| 92 | when called on a string type object. |
| 93 | Eric Haszlakiewicz |
| 94 | * Add a json_type_to_name() function. |
| 95 | Eric Haszlakiewicz |
| 96 | * Add a json_tokener_parse_verbose() function. |
| 97 | Jehiah Czebotar |
| 98 | * Improve support for null bytes within JSON strings. |
| 99 | Jehiah Czebotar |
Michael Clark | bd0a567 | 2010-10-13 14:09:41 +0000 | [diff] [blame] | 100 | * Fix file descriptor leak if memory allocation fails in json_util |
| 101 | Zachary Blair, zack_blair at hotmail dot com |
Michael Clark | c4dceae | 2010-10-06 16:39:20 +0000 | [diff] [blame] | 102 | * Add int64 support. Two new functions json_object_net_int64 and |
| 103 | json_object_get_int64. Binary compatibility preserved. |
| 104 | Eric Haszlakiewicz, EHASZLA at transunion com |
| 105 | Rui Miguel Silva Seabra, rms at 1407 dot org |
Michael Clark | f5dd43a | 2009-08-27 06:40:00 +0000 | [diff] [blame] | 106 | * Fix subtle bug in linkhash where lookup could hang after all slots |
| 107 | were filled then successively freed. |
| 108 | Spotted by Jean-Marc Naud, j dash m at newtraxtech dot com |
| 109 | * Make json_object_from_file take const char *filename |
| 110 | Spotted by Vikram Raj V, vsagar at attinteractive dot com |
Brent Miller | 126ad95 | 2009-08-20 06:50:22 +0000 | [diff] [blame] | 111 | * Add handling of surrogate pairs (json_tokener.c, test4.c, Makefile.am) |
| 112 | Brent Miller, bdmiller at yahoo dash inc dot com |
Brent Miller | f8663fc | 2009-08-20 06:41:32 +0000 | [diff] [blame] | 113 | * Correction to comment describing printbuf_memappend in printbuf.h |
| 114 | Brent Miller, bdmiller at yahoo dash inc dot com |
| 115 | |
Michael Clark | 68cafad | 2009-01-06 22:56:57 +0000 | [diff] [blame] | 116 | 0.9 |
Michael Clark | 09abeff | 2009-08-19 07:23:23 +0000 | [diff] [blame] | 117 | * Add README.html README-WIN32.html config.h.win32 to Makefile.am |
| 118 | Michael Clark, <michael@metaparadigm.com> |
Christopher Watford | b22565d | 2009-07-31 02:12:46 +0000 | [diff] [blame] | 119 | * Add const qualifier to the json_tokener_parse functions |
| 120 | Eric Haszlakiewicz, EHASZLA at transunion dot com |
Michael Clark | 7fb9b03 | 2009-07-25 00:13:44 +0000 | [diff] [blame] | 121 | * Rename min and max so we can never clash with C or C++ std library |
Michael Clark | c80ba8d | 2009-07-25 00:21:18 +0000 | [diff] [blame] | 122 | Ian Atha, thatha at yahoo dash inc dot com |
Christopher Watford | 543bb14 | 2009-07-08 03:46:10 +0000 | [diff] [blame] | 123 | * Fix any noticeable spelling or grammar errors. |
| 124 | * Make sure every va_start has a va_end. |
| 125 | * Check all pointers for validity. |
| 126 | Erik Hovland, erik at hovland dot org |
Michael Clark | 24ea8c0 | 2009-04-27 08:22:22 +0000 | [diff] [blame] | 127 | * Fix json_object_get_boolean to return false for empty string |
| 128 | Spotted by Vitaly Kruglikov, Vitaly dot Kruglikov at palm dot com |
Michael Clark | 95f55a7 | 2009-04-27 08:16:58 +0000 | [diff] [blame] | 129 | * optimizations to json_tokener_parse_ex(), printbuf_memappend() |
| 130 | Brent Miller, bdmiller at yahoo dash inc dot com |
Christopher Watford | c5cbf82 | 2009-06-30 03:40:53 +0000 | [diff] [blame] | 131 | * Disable REFCOUNT_DEBUG by default in json_object.c |
Michael Clark | 266a3fd | 2009-02-25 01:55:31 +0000 | [diff] [blame] | 132 | * Don't use this as a variable, so we can compile with a C++ compiler |
Michael Clark | aaec1ef | 2009-02-25 02:31:32 +0000 | [diff] [blame] | 133 | * Add casts from void* to type of assignment when using malloc |
| 134 | * Add #ifdef __cplusplus guards to all of the headers |
| 135 | * Add typedefs for json_object, json_tokener, array_list, printbuf, lh_table |
Michael Clark | 266a3fd | 2009-02-25 01:55:31 +0000 | [diff] [blame] | 136 | Michael Clark, <michael@metaparadigm.com> |
Michael Clark | 22dee7c | 2009-02-25 01:51:40 +0000 | [diff] [blame] | 137 | * Null pointer dereference fix. Fix json_object_get_boolean strlen test |
| 138 | to not return TRUE for zero length string. Remove redundant includes. |
| 139 | Erik Hovland, erik at hovland dot org |
Michael Clark | e8de078 | 2009-02-25 01:45:00 +0000 | [diff] [blame] | 140 | * Fixed warning reported by adding -Wstrict-prototypes |
| 141 | -Wold-style-definition to the compilatin flags. |
| 142 | Dotan Barak, dotanba at gmail dot com |
Michael Clark | 68cafad | 2009-01-06 22:56:57 +0000 | [diff] [blame] | 143 | * Add const correctness to public interfaces |
| 144 | Gerard Krol, g dot c dot krol at student dot tudelft dot nl |
| 145 | |
Michael Clark | dfaf670 | 2007-10-25 02:26:00 +0000 | [diff] [blame] | 146 | 0.8 |
Michael Clark | 8cdac64 | 2009-01-05 03:57:59 +0000 | [diff] [blame] | 147 | * Add va_end for every va_start |
| 148 | Dotan Barak, dotanba at gmail dot com |
Michael Clark | dfaf670 | 2007-10-25 02:26:00 +0000 | [diff] [blame] | 149 | * Add macros to enable compiling out debug code |
| 150 | Geoffrey Young, geoff at modperlcookbook dot org |
Michael Clark | c8f4a6e | 2007-12-07 02:44:24 +0000 | [diff] [blame] | 151 | * Fix bug with use of capital E in numbers with exponents |
| 152 | Mateusz Loskot, mateusz at loskot dot net |
| 153 | * Add stddef.h include |
Michael Clark | 14862b1 | 2007-12-07 02:50:42 +0000 | [diff] [blame] | 154 | * Patch allows for json-c compile with -Werror and not fail due to |
| 155 | -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations |
| 156 | Geoffrey Young, geoff at modperlcookbook dot org |
Michael Clark | dfaf670 | 2007-10-25 02:26:00 +0000 | [diff] [blame] | 157 | |
Michael Clark | a850f8e | 2007-03-13 08:26:26 +0000 | [diff] [blame] | 158 | 0.7 |
| 159 | * Add escaping of backslash to json output |
| 160 | * Add escaping of foward slash on tokenizing and output |
| 161 | * Changes to internal tokenizer from using recursion to |
| 162 | using a depth state structure to allow incremental parsing |
| 163 | |
Michael Clark | 837240f | 2007-03-13 08:26:25 +0000 | [diff] [blame] | 164 | 0.6 |
| 165 | * Fix bug in escaping of control characters |
| 166 | Johan Björklund, johbjo09 at kth dot se |
| 167 | * Remove include "config.h" from headers (should only |
| 168 | be included from .c files) |
| 169 | Michael Clark <michael@metaparadigm.com> |
| 170 | |
Michael Clark | f6a6e48 | 2007-03-13 08:26:23 +0000 | [diff] [blame] | 171 | 0.5 |
| 172 | * Make headers C++ compatible by change *this to *obj |
| 173 | * Add ifdef C++ extern "C" to headers |
| 174 | * Use simpler definition of min and max in bits.h |
| 175 | Larry Lansing, llansing at fuzzynerd dot com |
| 176 | |
| 177 | * Remove automake 1.6 requirement |
| 178 | * Move autogen commands into autogen.sh. Update README |
| 179 | * Remove error pointer special case for Windows |
| 180 | * Change license from LGPL to MIT |
| 181 | Michael Clark <michael@metaparadigm.com> |
| 182 | |
Michael Clark | 0370baa | 2007-03-13 08:26:22 +0000 | [diff] [blame] | 183 | 0.4 |
| 184 | * Fix additional error case in object parsing |
| 185 | * Add back sign reversal in nested object parse as error pointer |
| 186 | value is negative, while error value is positive. |
| 187 | Michael Clark <michael@metaparadigm.com> |
| 188 | |
Michael Clark | 7b899b6 | 2007-03-13 08:26:21 +0000 | [diff] [blame] | 189 | 0.3 |
| 190 | * fix pointer arithmetic bug for error pointer check in is_error() macro |
| 191 | * fix type passed to printbuf_memappend in json_tokener |
| 192 | * update autotools bootstrap instructions in README |
| 193 | Michael Clark <michael@metaparadigm.com> |
| 194 | |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 195 | 0.2 |
| 196 | * printbuf.c - C. Watford (christopher.watford@gmail.com) |
| 197 | Added a Win32/Win64 compliant implementation of vasprintf |
| 198 | * debug.c - C. Watford (christopher.watford@gmail.com) |
| 199 | Removed usage of vsyslog on Win32/Win64 systems, needs to be handled |
| 200 | by a configure script |
| 201 | * json_object.c - C. Watford (christopher.watford@gmail.com) |
| 202 | Added scope operator to wrap usage of json_object_object_foreach, this |
| 203 | needs to be rethought to be more ANSI C friendly |
| 204 | * json_object.h - C. Watford (christopher.watford@gmail.com) |
| 205 | Added Microsoft C friendly version of json_object_object_foreach |
| 206 | * json_tokener.c - C. Watford (christopher.watford@gmail.com) |
| 207 | Added a Win32/Win64 compliant implementation of strndup |
| 208 | * json_util.c - C. Watford (christopher.watford@gmail.com) |
| 209 | Added cast and mask to suffice size_t v. unsigned int conversion |
| 210 | correctness |
| 211 | * json_tokener.c - sign reversal issue on error info for nested object parse |
| 212 | spotted by Johan Björklund (johbjo09 at kth.se) |
| 213 | * json_object.c - escape " in json_escape_str |
| 214 | * Change to automake and libtool to build shared and static library |
| 215 | Michael Clark <michael@metaparadigm.com> |
| 216 | |
| 217 | 0.1 |
| 218 | * initial release |