All Versions
33
Latest Version
Avg Release Cycle
359 days
Latest Release
140 days ago

Changelog History
Page 1

  • v2.15.0 Changes

    January 24, 2026

    ๐Ÿ”– Version 2.15.0

    ๐Ÿš€ Released 2026-01-24

    • ๐Ÿ†• New features:

    • ๐Ÿ›  Fixes:

    • ๐Ÿ— Build

  • v2.14.1 Changes

    March 23, 2025

    ๐Ÿ›  Fixes:

    • ๐Ÿ›  Fix thread safety of encoding and decoding when uselocale or newlocale
      is used to switch locales inside the threads (#674, #675, #677. Thanks to
      Bruno Haible for the report and help with fixing.)

    • ๐Ÿ–จ Use David M. Gay's dtoa() algorithm to avoid misprinting issues of real
      numbers that are not exactly representable as a double (#680).

    ๐Ÿ— Build:

    • ๐Ÿ— Make test output nicer in CMake based builds (#683)
    • โœ… Simplify tests (#685)
  • v2.14 Changes

    September 09, 2021

    ๐Ÿš€ Released 2021-09-09

    • ๐Ÿ†• New Features:

      • Add json_object_getn, json_object_setn, json_object_deln, and the corresponding nocheck functions. (#520, by Maxim Zhukov)
    • ๐Ÿ›  Fixes:

      • Handle sprintf corner cases (#537, by Tobias Stoeckmann)
    • ๐Ÿ— Build:

      • Symbol versioning for all exported symbols (#540, by Simon McVittie)
      • Fix compiler warnings (#555, by Kelvin Lee)
    • ๐Ÿ“š Documentation:

      • Small fixes (#544, #546, by @i-ky)
      • Sphinx 3 compatibility (#543, by Pierce Lopez)
  • v2.13.1 Changes

    May 07, 2020

    ๐Ÿš€ Released 2020-05-07

    • ๐Ÿ— Build:

      • Include jansson_version_str() and jansson_version_cmp() in shared library. (#534)
      • Include scripts/ in tarball. (#535)
  • v2.13 Changes

    May 05, 2020

    ๐Ÿš€ Released xxxx-xx-xx

    • ๐Ÿ†• New Features:

      • Add jansson_version_str() and jansson_version_cmp() for runtime version checking (#465).
      • Add json_object_update_new(), json_object_update_existing_new() and json_object_update_missing_new() functions (#499).
      • Add json_object_update_recursive() (#505).
    • ๐Ÿ— Build:

      • Add -Wno-format-truncation to suppress format truncation warnings (#489).
    • ๐Ÿ› Bug fixes:

      • Remove strtod macro definition for MinGW (#498).
      • Add infinite loop check in json_deep_copy() (#490).
      • Add pipe macro definition for MinGW (#500).
      • Enhance JANSSON_ATTRS macro to support earlier C standard(C89) (#501).
      • Update version detection for sphinx-build (#502).
    • ๐Ÿ“š Documentation:

      • Fix typos (#483, #494).
      • Document that call the custom free function to free the return value of json_dumps() if you have a custom malloc/free (#490).
      • Add vcpkg installation instructions (#496).
      • Document that non-blocking file descriptor is not supported on json_loadfd() (#503).
  • v2.12 Changes

    November 26, 2018

    ๐Ÿš€ Released 2018-11-26

    • ๐Ÿ› Bug fixes:

      • Fix error message in json_pack() for NULL object (#409).
      • Avoid invalid memory read in json_pack() (#421).
      • Call va_end after va_copy in json_vsprintf() (#427).
      • Improve handling of formats with '?' and '*' in json_pack() (#438).
      • Remove inappropriate jsonp_free() which caused segmentation fault in error handling (#444).
    • ๐Ÿ— Build:

      • Add function attributes for GCC and CLANG to provide warnings on improper use of jansson routines (#404).
      • Many CMake fixes (#408, #412, #415).
      • Enable -Bsymbolic-functions linker flag whenever possible.
      • Resolve various compiler warnings (#423, #430, #435, #436).
      • Fix code coverage ignored paths (#439).
    • Other:

      • Test coverage improvements (#398, #400).
      • Add VS 2017 to appveyor, update Visual Studio documentation (#417).
      • Update copyright for 2018 (#424).
      • Update install instructions in README (#401).
  • v2.11 Changes

    February 11, 2018

    ๐Ÿš€ Released 2018-02-09

    • ๐Ÿ†• New features:

      • Add json_pack() format specifiers s*, o* and O* for values that can be omitted if null (#339).
      • Add json_error_code() to retrieve numeric error codes (#365, #380, #381).
      • Enable thread safety for json_dump() on all systems. Enable thread safe json_decref() and json_incref() for modern compilers (#389).
      • Add json_sprintf() and json_vsprintf() (#393).
    • ๐Ÿ› Bug Fixes:

      • Fix incorrect report of success from json_dump_file() when an error is returned by fclose() (#359).
      • Make json_equal() const-correct (#344).
      • Fix incomplete stealing of references by json_pack() (#374).
    • ๐Ÿ— Build:

      • Work around gcc's -Wimplicit-fallthrough.
      • Fix CMake detection of sys/types.h header (#375).
      • Fix jansson.pc generated by CMake to be more consistent with the one generated using GNU Autotools (#368).
    • Other:

      • Miscellaneous documentation fixes (#356, #378, #395).
      • Remove unnecessary reference actions from parsers (#377).
  • v2.10 Changes

    March 02, 2017

    ๐Ÿš€ Released 2017-03-02

    • ๐Ÿ†• New features:

      • Add JSON_EMBED encoding flag allowing arrays and objects to be encoded into existing streams (#329).
      • Add json_dumpb() function for dumping to a pre-allocated buffer (#328).
      • Add json_dumpfd() and json_loadfd() functions for dumping to streaming file descriptors (#328).
      • Add support for parsing buffers larger than 2GB (#309).
    • ๐Ÿ— Build:

      • Fix CMake build when LONG_LONG_INT is defined as "" (#321)
    • Other:

      • Internal code cleanup (#311, #314)
  • v2.9 Changes

    November 02, 2016

    ๐Ÿš€ Released 2016-09-18

    • ๐Ÿ†• New features:

      • Add json_auto_t to automatically decref a value that goes out of scope. Available only on GCC and Clang. (#301)
    • ๐Ÿ— Build:

      • Fix CMake build (at least on Linux) by removing conflicting jansson_config.h from the distribution (#306)
      • Change CMake install target generation to be optional (#305)
    • ๐Ÿ“š Documentation:

      • Small documentation fixes.
  • v2.8 Changes

    August 30, 2016

    ๐Ÿš€ Released 2016-08-30

    • ๐Ÿ†• New features:

      • Always preserve insertion order of object items. json_object_iter() and friends, json_object_foreach() and json_dumps() and friends now always work in the insertion order of object items (#293).
      • Add json_object_foreach_safe() macro that allows json_object_del() calls during iteration (#230).
      • Add json_get_alloc_funcs() to allow reading the allocation functions set by json_set_alloc_funcs() (#262, #264).
      • Add json_pack() format specifiers s?, o? and O? for values that can be null (#261, #270).
    • ๐Ÿ› Bug fixes:

      • Fix a crash when parsing inputs consisting of very deeply nested arrays or objects (#282, #284).
      • Never convert numbers to integers in the parser when JSON_DECODE_INT_AS_REAL is set. This fixes error messages for overflowing numbers when JSON_DECODE_INT_AS_REAL is set (#212).
      • Fix a use-after-free in json_pack() error handling.
      • Fix subnormal number parsing on mingw32.
      • Handle out-of-memory situations gracefully in the hashtable implementation (#298).
    • ๐Ÿ— Build:

      • Fix build with CMake on all versions of Visual Studio up to 2015 (#262, #289).
      • Fix pkgconfig libdir when using CMake (#268).
      • Fix CMake config for static CRT builds on Windows (#206).
      • Fix warnings on LLVM 6.0 targeting iOS arm64 (#208).
      • Add coverlls.io support via Travis for a nice test coverage badge (#211).
      • Don't expect jansson_config.h to be in the compiler's include path (#209).
      • Add a build-time option to set initial hashtable size (#213).
      • Use snprintf and strncpy in place of sprintf and strcpy to silence linker warnings on OpenBSD (#233).
    • ๐Ÿ“š Documentation:

      • Fix various typos in documentation, and a broken link (#258).
      • Add an example program in examples/ (#214, #217).
      • Fix building of documentation man pages (#207).
      • Document the fact that copying objects doesn't preserve the insertion order of keys (#237).
    • โœ… Tests:

      • Don't use the nonstandard FUNCTION macro in tests.
      • Use expr instead of $((...)) in shell scripts for Solaris 10 compatibility.
      • Disable Visual Studio warning C4756 when triggered deliberately in tests (#216).
      • Other minor fixes (#221, #248).
    • Other changes:

      • List all unrecognized object keys when strict unpacking fails (#263).
      • Alter the order of the members of the hashtable_pair struct for easier debugging.
      • Minor performance improvement to json_dump() and friends (#234).
      • Minor style fixes (#255, #257).