json-c v0.10 Release Notes

Release Date: 2012-05-31 // almost 12 years ago
    • Add a json_object_to_json_string_ext() function to allow output to be formatted in a more human readable form.
    • Add json_object_object_get_ex(), a NULL-safe get object method, to be able to distinguish between a key not present and the value being NULL.
    • Add an alternative iterator implementation, see json_object_iterator.h
    • Make json_object_iter public to enable external use of the json_object_object_foreachC macro.
    • Add a printbuf_memset() function to provide an efficient way to set and append things like whitespace indentation.
    • Adjust json_object_is_type and json_object_get_type so they return json_type_null for NULL objects and handle NULL passed to json_objct_object_get().
    • Rename boolean type to json_bool.
    • Fix various compile issues for Visual Studio and MinGW.
    • Allow json_tokener_parse_ex() to be re-used to parse multiple object. Also, fix some parsing issues with capitalized hexadecimal numbers and number in E notation.
    • Add json_tokener_get_error() and json_tokener_error_desc() to better encapsulate the process of retrieving errors while parsing.
    • Various improvements to the documentation of many functions.
    • Add new json_object_array_sort() function.
    • Fix a bug in json_object_get_int(), which would incorrectly return 0 when called on a string type object. Eric Haszlakiewicz
    • Add a json_type_to_name() function. Eric Haszlakiewicz
    • Add a json_tokener_parse_verbose() function. Jehiah Czebotar
    • Improve support for null bytes within JSON strings. Jehiah Czebotar
    • Fix file descriptor leak if memory allocation fails in json_util Zachary Blair, zack_blair at hotmail dot com
    • Add int64 support. Two new functions json_object_net_int64 and json_object_get_int64. Binary compatibility preserved. Eric Haszlakiewicz, EHASZLA at transunion com Rui Miguel Silva Seabra, rms at 1407 dot org
    • Fix subtle bug in linkhash where lookup could hang after all slots were filled then successively freed. Spotted by Jean-Marc Naud, j dash m at newtraxtech dot com
    • Make json_object_from_file take const char *filename Spotted by Vikram Raj V, vsagar at attinteractive dot com
    • Add handling of surrogate pairs (json_tokener.c, test4.c, Makefile.am) Brent Miller, bdmiller at yahoo dash inc dot com
    • Correction to comment describing printbuf_memappend in printbuf.h Brent Miller, bdmiller at yahoo dash inc dot com

    0.9

    • Add README.html README-WIN32.html config.h.win32 to Makefile.am Michael Clark, [email protected]
    • Add const qualifier to the json_tokener_parse functions Eric Haszlakiewicz, EHASZLA at transunion dot com
    • Rename min and max so we can never clash with C or C++ std library Ian Atha, thatha at yahoo dash inc dot com
    • Fix any noticeable spelling or grammar errors.
    • Make sure every va_start has a va_end.
    • Check all pointers for validity. Erik Hovland, erik at hovland dot org
    • Fix json_object_get_boolean to return false for empty string Spotted by Vitaly Kruglikov, Vitaly dot Kruglikov at palm dot com
    • optimizations to json_tokener_parse_ex(), printbuf_memappend() Brent Miller, bdmiller at yahoo dash inc dot com
    • Disable REFCOUNT_DEBUG by default in json_object.c
    • Don't use this as a variable, so we can compile with a C++ compiler
    • Add casts from void* to type of assignment when using malloc
    • Add #ifdef __cplusplus guards to all of the headers
    • Add typedefs for json_object, json_tokener, array_list, printbuf, lh_table Michael Clark, [email protected]
    • Null pointer dereference fix. Fix json_object_get_boolean strlen test to not return TRUE for zero length string. Remove redundant includes. Erik Hovland, erik at hovland dot org
    • Fixed warning reported by adding -Wstrict-prototypes -Wold-style-definition to the compilatin flags. Dotan Barak, dotanba at gmail dot com
    • Add const correctness to public interfaces Gerard Krol, g dot c dot krol at student dot tudelft dot nl

    0.8

    • Add va_end for every va_start Dotan Barak, dotanba at gmail dot com
    • Add macros to enable compiling out debug code Geoffrey Young, geoff at modperlcookbook dot org
    • Fix bug with use of capital E in numbers with exponents Mateusz Loskot, mateusz at loskot dot net
    • Add stddef.h include
    • Patch allows for json-c compile with -Werror and not fail due to -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations Geoffrey Young, geoff at modperlcookbook dot org

    0.7

    • Add escaping of backslash to json output
    • Add escaping of forward slash on tokenizing and output
    • Changes to internal tokenizer from using recursion to using a depth state structure to allow incremental parsing

    0.6

    • Fix bug in escaping of control characters Johan Björklund, johbjo09 at kth dot se
    • Remove include "config.h" from headers (should only be included from .c files) Michael Clark [email protected]

    0.5

    • Make headers C++ compatible by change *this to *obj
    • Add ifdef C++ extern "C" to headers
    • Use simpler definition of min and max in bits.h Larry Lansing, llansing at fuzzynerd dot com

    • Remove automake 1.6 requirement

    • Move autogen commands into autogen.sh. Update README

    • Remove error pointer special case for Windows

    • Change license from LGPL to MIT Michael Clark [email protected]

    0.4

    • Fix additional error case in object parsing
    • Add back sign reversal in nested object parse as error pointer value is negative, while error value is positive. Michael Clark [email protected]

    0.3

    • fix pointer arithmetic bug for error pointer check in is_error() macro
    • fix type passed to printbuf_memappend in json_tokener
    • update autotools bootstrap instructions in README Michael Clark [email protected]

    0.2

    • printbuf.c - C. Watford ([email protected]) Added a Win32/Win64 compliant implementation of vasprintf
    • debug.c - C. Watford ([email protected]) Removed usage of vsyslog on Win32/Win64 systems, needs to be handled by a configure script
    • json_object.c - C. Watford ([email protected]) Added scope operator to wrap usage of json_object_object_foreach, this needs to be rethought to be more ANSI C friendly
    • json_object.h - C. Watford ([email protected]) Added Microsoft C friendly version of json_object_object_foreach
    • json_tokener.c - C. Watford ([email protected]) Added a Win32/Win64 compliant implementation of strndup
    • json_util.c - C. Watford ([email protected]) Added cast and mask to suffice size_t v. unsigned int conversion correctness
    • json_tokener.c - sign reversal issue on error info for nested object parse spotted by Johan Björklund (johbjo09 at kth.se)
    • json_object.c - escape " in json_escape_str
    • Change to automake and libtool to build shared and static library Michael Clark [email protected]

    0.1

    • initial release