blob: 584ed1fd012b7241ba6d2e346cb22b47013d680e [file] [log] [blame]
Eric Haszlakiewicz8ce53f92012-07-29 18:43:55 -05001
Eric Haszlakiewicz515ba0d2014-04-10 22:44:13 -04002NEXT.VERSION
3
4 ...nothing yet...
5
Eric Haszlakiewiczf84d9c52014-04-10 21:07:20 -040060.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 Haszlakiewicz42071472013-04-02 21:22:59 -050036
Eric Haszlakiewicz51993c22013-09-11 20:27:39 -050037 * 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 Haszlakiewicz42071472013-04-02 21:22:59 -050041
Eric Haszlakiewiczf84d9c52014-04-10 21:07:20 -040042 * Add support NaN and Infinity
43
44
Eric Haszlakiewiczeee744c2013-03-31 20:57:08 -0500450.11
Eric Haszlakiewicz8ce53f92012-07-29 18:43:55 -050046
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 Collet197cb1d2012-11-27 09:01:45 +010053 * Maximum recursion depth is now a runtime option.
54 json_tokener_new() is provided for compatibility.
55 json_tokener_new_ex(depth)
Eric Haszlakiewiczeee744c2013-03-31 20:57:08 -050056 * 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 Haszlakiewicz8ce53f92012-07-29 18:43:55 -050067
Michael Clarkf5dd43a2009-08-27 06:40:00 +0000680.10
Eric Haszlakiewicz1abaaee2012-04-29 12:54:14 -050069
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 Haszlakiewicz20707f42011-05-03 21:17:50 +000091 * 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 Clarkbd0a5672010-10-13 14:09:41 +0000100 * Fix file descriptor leak if memory allocation fails in json_util
101 Zachary Blair, zack_blair at hotmail dot com
Michael Clarkc4dceae2010-10-06 16:39:20 +0000102 * 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 Clarkf5dd43a2009-08-27 06:40:00 +0000106 * 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 Miller126ad952009-08-20 06:50:22 +0000111 * Add handling of surrogate pairs (json_tokener.c, test4.c, Makefile.am)
112 Brent Miller, bdmiller at yahoo dash inc dot com
Brent Millerf8663fc2009-08-20 06:41:32 +0000113 * Correction to comment describing printbuf_memappend in printbuf.h
114 Brent Miller, bdmiller at yahoo dash inc dot com
115
Michael Clark68cafad2009-01-06 22:56:57 +00001160.9
Michael Clark09abeff2009-08-19 07:23:23 +0000117 * Add README.html README-WIN32.html config.h.win32 to Makefile.am
118 Michael Clark, <michael@metaparadigm.com>
Christopher Watfordb22565d2009-07-31 02:12:46 +0000119 * Add const qualifier to the json_tokener_parse functions
120 Eric Haszlakiewicz, EHASZLA at transunion dot com
Michael Clark7fb9b032009-07-25 00:13:44 +0000121 * Rename min and max so we can never clash with C or C++ std library
Michael Clarkc80ba8d2009-07-25 00:21:18 +0000122 Ian Atha, thatha at yahoo dash inc dot com
Christopher Watford543bb142009-07-08 03:46:10 +0000123 * 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 Clark24ea8c02009-04-27 08:22:22 +0000127 * Fix json_object_get_boolean to return false for empty string
128 Spotted by Vitaly Kruglikov, Vitaly dot Kruglikov at palm dot com
Michael Clark95f55a72009-04-27 08:16:58 +0000129 * optimizations to json_tokener_parse_ex(), printbuf_memappend()
130 Brent Miller, bdmiller at yahoo dash inc dot com
Christopher Watfordc5cbf822009-06-30 03:40:53 +0000131 * Disable REFCOUNT_DEBUG by default in json_object.c
Michael Clark266a3fd2009-02-25 01:55:31 +0000132 * Don't use this as a variable, so we can compile with a C++ compiler
Michael Clarkaaec1ef2009-02-25 02:31:32 +0000133 * 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 Clark266a3fd2009-02-25 01:55:31 +0000136 Michael Clark, <michael@metaparadigm.com>
Michael Clark22dee7c2009-02-25 01:51:40 +0000137 * 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 Clarke8de0782009-02-25 01:45:00 +0000140 * Fixed warning reported by adding -Wstrict-prototypes
141 -Wold-style-definition to the compilatin flags.
142 Dotan Barak, dotanba at gmail dot com
Michael Clark68cafad2009-01-06 22:56:57 +0000143 * Add const correctness to public interfaces
144 Gerard Krol, g dot c dot krol at student dot tudelft dot nl
145
Michael Clarkdfaf6702007-10-25 02:26:00 +00001460.8
Michael Clark8cdac642009-01-05 03:57:59 +0000147 * Add va_end for every va_start
148 Dotan Barak, dotanba at gmail dot com
Michael Clarkdfaf6702007-10-25 02:26:00 +0000149 * Add macros to enable compiling out debug code
150 Geoffrey Young, geoff at modperlcookbook dot org
Michael Clarkc8f4a6e2007-12-07 02:44:24 +0000151 * 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 Clark14862b12007-12-07 02:50:42 +0000154 * 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 Clarkdfaf6702007-10-25 02:26:00 +0000157
Michael Clarka850f8e2007-03-13 08:26:26 +00001580.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 Clark837240f2007-03-13 08:26:25 +00001640.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 Clarkf6a6e482007-03-13 08:26:23 +00001710.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 Clark0370baa2007-03-13 08:26:22 +00001830.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 Clark7b899b62007-03-13 08:26:21 +00001890.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 Clark4504df72007-03-13 08:26:20 +00001950.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
2170.1
218 * initial release