All Versions
Latest Version
Avg Release Cycle
267 days
Latest Release
408 days ago

Changelog History
Page 2

  • v2.4 Changes

    September 23, 2012

    ๐Ÿš€ Released 2012-09-23

    • ๐Ÿ†• New features:

      • Add json_boolean() macro that returns the JSON true or false value based on its argument (#86).
      • Add json_load_callback() that calls a callback function repeatedly to read the JSON input (#57).
      • Add JSON_ESCAPE_SLASH encoding flag to escape all occurences of / with \/.
    • ๐Ÿ› Bug fixes:

      • Check for and reject NaN and Inf values for reals. Encoding these values resulted in invalid JSON.
      • Fix json_real_set() to return -1 on error.
    • ๐Ÿ— Build:

      • Jansson now builds on Windows with Visual Studio 2010, and includes solution and project files in win32/vs2010/ directory.
      • Fix build warnings (#77, #78).
      • Add -no-undefined to LDFLAGS (#90).
    • โœ… Tests:

      • Fix the symbol exports test on Linux/PPC64 (#88).
    • ๐Ÿ“š Documentation:

      • Fix typos (#73, #84).
  • v2.3.1 Changes

    April 20, 2012

    ๐Ÿš€ Released 2012-04-20

    • ๐Ÿ— Build issues:

      • Only use long long if strtoll() is also available.
    • ๐Ÿ“š Documentation:

      • Fix the names of library version constants in documentation. (#52)
      • Change the tutorial to use GitHub API v3. (#65)
    • โœ… Tests:

      • Make some tests locale independent. (#51)
      • Distribute the library exports test in the tarball.
      • Make test run on shells that don't support the export FOO=bar syntax.
  • v2.3 Changes

    ๐Ÿš€ Released 2012-01-27

    • ๐Ÿ†• New features:

      • json_unpack() and friends: Add support for optional object keys with the {s?o} syntax.
      • Add json_object_update_existing() and json_object_update_missing(), for updating only existing keys or only adding missing keys to an object. (#37)
      • Add json_object_foreach() for more convenient iteration over objects. (#45, #46)
      • When decoding JSON, write the number of bytes that were read from input to error.position also on success. This is handy with JSON_DISABLE_EOF_CHECK.
      • Add support for decoding any JSON value, not just arrays or objects. The support is enabled with the new JSON_DECODE_ANY flag. Patch by Andrea Marchesini. (#4)
    • ๐Ÿ› Bug fixes

      • Avoid problems with object's serial number growing too big. (#40, #41)
      • Decoding functions now return NULL if the first argument is NULL. Patch by Andrea Marchesini.
      • Include jansson_config.h.win32 in the distribution tarball.
      • Remove + and leading zeros from exponents in the encoder. (#39)
      • Make Jansson build and work on MinGW. (#39, #38)
    • ๐Ÿ“š Documentation

      • Note that the same JSON values must not be encoded in parallel by separate threads. (#42)
      • Document MinGW support.
  • v2.2.1 Changes

    ๐Ÿš€ Released 2011-10-06

    • ๐Ÿ› Bug fixes:

      • Fix real number encoding and decoding under non-C locales. (#32)
      • Fix identifier decoding under non-UTF-8 locales. (#35)
      • json_load_file(): Open the input file in binary mode for maximum compatiblity.
    • ๐Ÿ“š Documentation:

      • Clarify the lifecycle of the result of the s fromat of json_unpack(). (#31)
      • Add some portability info. (#36)
      • Little clarifications here and there.
    • Other:

      • Some style fixes, issues detected by static analyzers.
  • v2.2 Changes

    ๐Ÿš€ Released 2011-09-03

    • ๐Ÿ†• New features:

      • json_dump_callback(): Pass the encoder output to a callback function in chunks.
    • ๐Ÿ› Bug fixes:

      • json_string_set(): Check that target is a string and value is not NULL.
    • Other:

      • Documentation typo fixes and clarifications.
  • v2.1 Changes

    ๐Ÿš€ Released 2011-06-10

    • ๐Ÿ†• New features:

      • json_loadb(): Decode a string with a given size, useful if the string is not null terminated.
      • Add JSON_ENCODE_ANY encoding flag to allow encoding any JSON value. By default, only arrays and objects can be encoded. (#19)
      • Add JSON_REJECT_DUPLICATES decoding flag to issue a decoding error if any JSON object in the input contins duplicate keys. (#3)
      • Add JSON_DISABLE_EOF_CHECK decoding flag to stop decoding after a valid JSON input. This allows other data after the JSON data.
    • ๐Ÿ› Bug fixes:

      • Fix an additional memory leak when memory allocation fails in json_object_set() and friends.
      • Clear errno before calling strtod() for better portability. (#27)
    • ๐Ÿ— Building:

      • Avoid set-but-not-used warning/error in a test. (#20)
    • Other:

      • Minor clarifications to documentation.
  • v2.0.1 Changes

    ๐Ÿš€ Released 2011-03-31

    • ๐Ÿ› Bug fixes:

      • Replace a few malloc() and free() calls with their counterparts that support custom memory management.
      • Fix object key hashing in json_unpack() strict checking mode.
      • Fix the parentheses in JANSSON_VERSION_HEX macro.
      • Fix json_object_size() return value.
      • Fix a few compilation issues.
    • Portability:

      • Enhance portability of va_copy().
      • Test framework portability enhancements.
    • ๐Ÿ“š Documentation:

      • Distribute doc/upgrading.rst with the source tarball.
      • Build documentation in strict mode in make distcheck.
  • v2.0 Changes

    ๐Ÿš€ Released 2011-02-28

    ๐Ÿš€ This release is backwards incompatible with the 1.x release series. ๐Ÿ“š See the chapter "Upgrading from older versions" in documentation for details.

    • Backwards incompatible changes:

      • Unify unsigned integer usage in the API: All occurences of unsigned int and unsigned long have been replaced with size_t.
      • Change JSON integer's underlying type to the widest signed integer type available, i.e. long long if it's supported, otherwise long. Add a typedef json_int_t that defines the type.
      • Change the maximum indentation depth to 31 spaces in encoder. This frees up bits from the flags parameter of encoding functions json_dumpf(), json_dumps() and json_dump_file().
      • For future needs, add a flags parameter to all decoding functions json_loadf(), json_loads() and json_load_file().
    • ๐Ÿ†• New features

      • json_pack(), json_pack_ex(), json_vpack_ex(): Create JSON values based on a format string.
      • json_unpack(), json_unpack_ex(), json_vunpack_ex(): Simple value extraction and validation functionality based on a format string.
      • Add column, position and source fields to the json_error_t struct.
      • Enhance error reporting in the decoder.
      • JANSSON_VERSION et al.: Preprocessor constants that define the library version.
      • json_set_alloc_funcs(): Set custom memory allocation functions.
    • ๐Ÿ›  Fix many portability issues, especially on Windows.

    • ๐Ÿ”ง Configuration

      • Add file jansson_config.h that contains site specific configuration. It's created automatically by the configure script, or can be created by hand if the configure script cannot be used. The file jansson_config.h.win32 can be used without modifications on Windows systems.
      • Add a section to documentation describing how to build Jansson on Windows.
      • Documentation now requires Sphinx 1.0 or newer.
  • v1.3 Changes

    ๐Ÿš€ Released 2010-06-13

    • ๐Ÿ†• New functions:

      • json_object_iter_set(), json_object_iter_set_new(): Change object contents while iterating over it.
      • json_object_iter_at(): Return an iterator that points to a specific object item.
    • ๐Ÿ†• New encoding flags:

      • JSON_PRESERVE_ORDER: Preserve the insertion order of object keys.
    • ๐Ÿ› Bug fixes:

      • Fix an error that occured when an array or object was first encoded as empty, then populated with some data, and then re-encoded
      • Fix the situation like above, but when the first encoding resulted in an error
    • ๐Ÿ“š Documentation:

      • Clarify the documentation on reference stealing, providing an example usage pattern
  • v1.2.1 Changes

    ๐Ÿš€ Released 2010-04-03

    • ๐Ÿ› Bug fixes:

      • Fix reference counting on true, false and null
      • Estimate real number underflows in decoder with 0.0 instead of issuing an error
    • Portability:

      • Make int32_t available on all systems
      • Support compilers that don't have the inline keyword
      • Require Autoconf 2.60 (for int32_t)
    • โœ… Tests:

      • Print test names correctly when VERBOSE=1
      • test/suites/api: Fail when a test fails
      • Enhance tests for iterators
      • Enhance tests for decoding texts that contain null bytes
    • ๐Ÿ“š Documentation:

      • Don't remove changes.rst in make clean
      • Add a chapter on RFC conformance