"Fossies" - the Fresh Open Source Software Archive

Member "jansson-2.14/CHANGES" (9 Sep 2021, 23838 Bytes) of package /linux/www/jansson-2.14.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "CHANGES": 2.13.1_vs_2.14.

    1 Version 2.14
    2 ============
    3 
    4 Released 2021-09-09
    5 
    6 * New Features:
    7 
    8   - Add `json_object_getn`, `json_object_setn`, `json_object_deln`, and the
    9     corresponding `nocheck` functions. (#520, by Maxim Zhukov)
   10 
   11 * Fixes:
   12 
   13   - Handle `sprintf` corner cases (#537, by Tobias Stoeckmann)
   14 
   15 * Build:
   16 
   17   - Symbol versioning for all exported symbols (#540, by Simon McVittie)
   18   - Fix compiler warnings (#555, by Kelvin Lee)
   19 
   20 * Documentation:
   21 
   22   - Small fixes (#544, #546, by @i-ky)
   23   - Sphinx 3 compatibility (#543, by Pierce Lopez)
   24 
   25 
   26 Version 2.13.1
   27 ==============
   28 
   29 Released 2020-05-07
   30 
   31 * Build:
   32 
   33   - Include `jansson_version_str()` and `jansson_version_cmp()` in
   34     shared library. (#534)
   35 
   36   - Include ``scripts/`` in tarball. (#535)
   37 
   38 
   39 Version 2.13
   40 ============
   41 
   42 Released 2020-05-05
   43 
   44 * New Features:
   45 
   46   - Add `jansson_version_str()` and `jansson_version_cmp()` for runtime
   47     version checking (#465).
   48 
   49   - Add `json_object_update_new()`, `json_object_update_existing_new()`
   50     and `json_object_update_missing_new()` functions (#499).
   51 
   52   - Add `json_object_update_recursive()` (#505).
   53 
   54 * Build:
   55 
   56   - Add ``-Wno-format-truncation`` to suppress format truncation warnings (#489).
   57 
   58 * Bug fixes:
   59 
   60   - Remove ``strtod`` macro definition for MinGW (#498).
   61 
   62   - Add infinite loop check in `json_deep_copy()` (#490).
   63 
   64   - Add ``pipe`` macro definition for MinGW (#500).
   65 
   66   - Enhance ``JANSSON_ATTRS`` macro to support earlier C standard(C89) (#501).
   67 
   68   - Update version detection for sphinx-build (#502).
   69 
   70 * Documentation:
   71 
   72   - Fix typos (#483, #494).
   73 
   74   - Document that call the custom free function to free the return value 
   75     of `json_dumps()` if you have a custom malloc/free (#490).
   76 
   77   - Add vcpkg installation instructions (#496).
   78 
   79   - Document that non-blocking file descriptor is not supported on
   80     `json_loadfd()` (#503).
   81 
   82 
   83 Version 2.12
   84 ============
   85 
   86 Released 2018-11-26
   87 
   88 * Bug fixes:
   89 
   90   - Fix error message in `json_pack()` for NULL object (#409).
   91 
   92   - Avoid invalid memory read in `json_pack()` (#421).
   93 
   94   - Call va_end after va_copy in `json_vsprintf()` (#427).
   95 
   96   - Improve handling of formats with '?' and '*' in `json_pack()` (#438).
   97 
   98   - Remove inappropriate `jsonp_free()` which caused segmentation fault in
   99     error handling (#444).
  100 
  101 * Build:
  102 
  103   - Add function attributes for GCC and CLANG to provide warnings on improper
  104     use of jansson routines (#404).
  105 
  106   - Many CMake fixes (#408, #412, #415).
  107 
  108   - Enable -Bsymbolic-functions linker flag whenever possible.
  109 
  110   - Resolve various compiler warnings (#423, #430, #435, #436).
  111 
  112   - Fix code coverage ignored paths (#439).
  113 
  114 * Other:
  115 
  116   - Test coverage improvements (#398, #400).
  117 
  118   - Add VS 2017 to appveyor, update Visual Studio documentation (#417).
  119 
  120   - Update copyright for 2018 (#424).
  121 
  122   - Update install instructions in README (#401).
  123 
  124 Version 2.11
  125 ============
  126 
  127 Released 2018-02-09
  128 
  129 * New features:
  130 
  131   - Add `json_pack()` format specifiers s*, o* and O* for values that
  132     can be omitted if null (#339).
  133 
  134   - Add `json_error_code()` to retrieve numeric error codes (#365, #380,
  135     #381).
  136 
  137   - Enable thread safety for `json_dump()` on all systems.  Enable thread
  138     safe `json_decref()` and `json_incref()` for modern compilers (#389).
  139 
  140   - Add `json_sprintf()` and `json_vsprintf()` (#393).
  141 
  142 * Bug Fixes:
  143 
  144   - Fix incorrect report of success from `json_dump_file()` when an error
  145     is returned by `fclose()` (#359).
  146 
  147   - Make json_equal() const-correct (#344).
  148 
  149   - Fix incomplete stealing of references by `json_pack()` (#374).
  150 
  151 * Build:
  152 
  153   - Work around gcc's -Wimplicit-fallthrough.
  154 
  155   - Fix CMake detection of ``sys/types.h`` header (#375).
  156 
  157   - Fix `jansson.pc` generated by CMake to be more consistent with the one
  158     generated using GNU Autotools (#368).
  159 
  160 * Other:
  161 
  162   - Miscellaneous documentation fixes (#356, #378, #395).
  163 
  164   - Remove unnecessary reference actions from parsers (#377).
  165 
  166 Version 2.10
  167 ============
  168 
  169 Released 2017-03-02
  170 
  171 * New features:
  172 
  173   - Add JSON_EMBED encoding flag allowing arrays and objects to be encoded
  174     into existing streams (#329).
  175 
  176   - Add `json_dumpb()` function for dumping to a pre-allocated buffer (#328).
  177 
  178   - Add `json_dumpfd()` and `json_loadfd()` functions for dumping to streaming
  179     file descriptors (#328).
  180 
  181   - Add support for parsing buffers larger than 2GB (#309).
  182 
  183 * Build:
  184 
  185   - Fix CMake build when LONG_LONG_INT is defined as "" (#321)
  186 
  187 * Other:
  188 
  189   - Internal code cleanup (#311, #314)
  190 
  191 Version 2.9
  192 ===========
  193 
  194 Released 2016-09-18
  195 
  196 * New features:
  197 
  198   - Add ``json_auto_t`` to automatically decref a value that goes out
  199     of scope. Available only on GCC and Clang. (#301)
  200 
  201 * Build:
  202 
  203   - Fix CMake build (at least on Linux) by removing conflicting
  204     jansson_config.h from the distribution (#306)
  205 
  206   - Change CMake install target generation to be optional (#305)
  207 
  208 * Documentation:
  209 
  210   - Small documentation fixes.
  211 
  212 
  213 Version 2.8
  214 ===========
  215 
  216 Released 2016-08-30
  217 
  218 * New features:
  219 
  220   - Always preserve insertion order of object items.
  221     `json_object_iter()` and friends, `json_object_foreach()` and
  222     `json_dumps()` and friends now always work in the insertion order of
  223     object items (#293).
  224 
  225   - Add `json_object_foreach_safe()` macro that allows
  226     `json_object_del()` calls during iteration (#230).
  227 
  228   - Add `json_get_alloc_funcs()` to allow reading the allocation
  229     functions set by `json_set_alloc_funcs()` (#262, #264).
  230 
  231   - Add `json_pack()` format specifiers s?, o? and O? for values that
  232     can be null (#261, #270).
  233 
  234 * Bug fixes:
  235 
  236   - Fix a crash when parsing inputs consisting of very deeply nested
  237     arrays or objects (#282, #284).
  238 
  239   - Never convert numbers to integers in the parser when
  240     JSON_DECODE_INT_AS_REAL is set. This fixes error messages for
  241     overflowing numbers when JSON_DECODE_INT_AS_REAL is set (#212).
  242 
  243   - Fix a use-after-free in `json_pack()` error handling.
  244 
  245   - Fix subnormal number parsing on mingw32.
  246 
  247   - Handle out-of-memory situations gracefully in the hashtable
  248     implementation (#298).
  249 
  250 * Build:
  251 
  252   - Fix build with CMake on all versions of Visual Studio up to 2015
  253     (#262, #289).
  254 
  255   - Fix pkgconfig libdir when using CMake (#268).
  256 
  257   - Fix CMake config for static CRT builds on Windows (#206).
  258 
  259   - Fix warnings on LLVM 6.0 targeting iOS arm64 (#208).
  260 
  261   - Add coverlls.io support via Travis for a nice test coverage badge
  262     (#211).
  263 
  264   - Don't expect ``jansson_config.h`` to be in the compiler's include
  265     path (#209).
  266 
  267   - Add a build-time option to set initial hashtable size (#213).
  268 
  269   - Use snprintf and strncpy in place of sprintf and strcpy to silence
  270     linker warnings on OpenBSD (#233).
  271 
  272 * Documentation:
  273 
  274   - Fix various typos in documentation, and a broken link (#258).
  275 
  276   - Add an example program in ``examples/`` (#214, #217).
  277 
  278   - Fix building of documentation man pages (#207).
  279 
  280   - Document the fact that copying objects doesn't preserve the
  281     insertion order of keys (#237).
  282 
  283 * Tests:
  284 
  285   - Don't use the nonstandard __FUNCTION__ macro in tests.
  286 
  287   - Use expr instead of $((...)) in shell scripts for Solaris 10
  288     compatibility.
  289 
  290   - Disable Visual Studio warning C4756 when triggered deliberately in
  291     tests (#216).
  292 
  293   - Other minor fixes (#221, #248).
  294 
  295 * Other changes:
  296 
  297   - List all unrecognized object keys when strict unpacking fails
  298     (#263).
  299 
  300   - Alter the order of the members of the hashtable_pair struct for
  301     easier debugging.
  302 
  303   - Minor performance improvement to `json_dump()` and friends (#234).
  304 
  305   - Minor style fixes (#255, #257).
  306 
  307 
  308 Version 2.7
  309 ===========
  310 
  311 Released 2014-10-02
  312 
  313 * New features:
  314 
  315   - `json_pack()` and friends: Add format specifiers ``s%`` and ``+%``
  316     for a size_t string length (#141).
  317 
  318   - `json_unpack()` and friends: Add format specifier ``s%`` for
  319     unpacking the string length along with the string itself (#141).
  320 
  321   - Add length-aware string constructors `json_stringn()` and
  322     `json_stringn_nocheck()`, length-aware string mutators
  323     `json_string_setn()` and `json_string_setn_nocheck()`, and a
  324     function for getting string's length `json_string_length()` (#141,
  325     #143).
  326 
  327   - Support ``\u0000`` escapes in the decoder. The support can be
  328     enabled by using the ``JSON_ALLOW_NUL`` decoding flag (#141).
  329 
  330   - Add `json_boolean_value()` as an alias for `json_is_true()`
  331     (#146).
  332 
  333   - Add JSON_REAL_PRECISION encoding flag/macro for controlling real
  334     number precision (#178).
  335 
  336   - Define the maximum indentation as JSON_MAX_INDENT (#191).
  337 
  338 * Bug fixes:
  339 
  340   - Some malformed ``\uNNNN`` escapes could crash the decoder with an
  341     assertion failure.
  342 
  343   - Avoid integer overflows with very long strings in UTF-8 decoder and
  344     hashtable.
  345 
  346   - Check for *NULL* key in `json_object_get()` and
  347     `json_object_del()` (#151).
  348 
  349   - Enhance hashtable seeding on Windows (#162).
  350 
  351   - `json_unpack()`: Allow mixing JSON_STRICT with optional keys
  352     (#162, #163).
  353 
  354   - Fix int/int32 mismatch (#142).
  355 
  356   - Parse subnormal numbers correctly (#202).
  357 
  358 * Build:
  359 
  360   - Remove VS2010 build files. CMake should be used on Windows instead
  361     (#165).
  362 
  363   - Fix CMake build flags for MinGW (#193).
  364 
  365   - Add CMake config files for find_package. Rename config.h to
  366     jansson_private_config.h (#157, #159).
  367 
  368   - Make Valgrind checks work with CMake (#160).
  369 
  370   - Fix feature checks to use correct __ATOMIC flags.
  371 
  372   - Fix CMake checks for uint16_t and uint8_t support (#177).
  373 
  374   - Make Jansson build on SmartOS/Solaris (#171).
  375 
  376   - Work around a GCC bug on Solaris (#175).
  377 
  378   - Fix autoreconf on Debian (#182).
  379 
  380   - Don't use GNU make specific export for global AM_CFLAGS (#203,
  381     #204).
  382 
  383   - Fix building on Android using the supplied Android.mk (#166,
  384     #174).
  385 
  386   - Android.mk: Add -DHAVE_STDINT_H to LOCAL_CFLAGS (#200).
  387 
  388 * Documentation:
  389 
  390   - Document JANSSON_BUILD_SHARED_LIBS CMake option (#187).
  391 
  392 * Tests:
  393 
  394   - Close file handles correctly (#198).
  395 
  396 * Other changes:
  397 
  398   - ``\uNNNN`` escapes are now encoded in upper case for better
  399     readability.
  400 
  401   - Enable usage of AddressSanitizer (#180).
  402 
  403 
  404 Version 2.6
  405 ===========
  406 
  407 Released 2014-02-11
  408 
  409 * Security:
  410 
  411   - CVE-2013-6401: The hash function used by the hashtable
  412     implementation has been changed, and is automatically seeded with
  413     random data when the first JSON object is created. This prevents
  414     an attacker from causing large JSON objects with specially crafted
  415     keys perform poorly.
  416 
  417 * New features:
  418 
  419   - `json_object_seed()`: Set the seed value of the hash function.
  420 
  421 * Bug fixes:
  422 
  423   - Include CMake specific files in the release tarball.
  424 
  425 * Documentation:
  426 
  427   - Fix tutorial source to send a User-Agent header, which is now
  428     required by the GitHub API.
  429 
  430   - Set all memory to zero in secure_free() example.
  431 
  432 
  433 Version 2.5
  434 ===========
  435 
  436 Released 2013-09-19
  437 
  438 * New features:
  439 
  440   - `json_pack()` and friends: Add format specifiers ``s#``, ``+`` and
  441     ``+#``.
  442 
  443   - Add ``JSON_DECODE_INT_AS_REAL`` decoding flag to treat all numbers
  444     as real in the decoder (#123).
  445 
  446   - Add `json_array_foreach()`, paralleling `json_object_foreach()`
  447     (#118).
  448 
  449 * Bug fixes:
  450 
  451   - `json_dumps()` and friends: Don't crash if json is *NULL* and
  452     ``JSON_ENCODE_ANY`` is set.
  453 
  454   - Fix a theoretical integer overflow in `jsonp_strdup()`.
  455 
  456   - Fix `l_isxdigit()` macro (#97).
  457 
  458   - Fix an off-by-one error in `json_array_remove()`.
  459 
  460 * Build:
  461 
  462   - Support CMake in addition to GNU Autotools (#106, #107, #112,
  463     #115, #120, #127).
  464 
  465   - Support building for Android (#109).
  466 
  467   - Don't use ``-Werror`` by default.
  468 
  469   - Support building and testing with VPATH (#93).
  470 
  471   - Fix compilation when ``NDEBUG`` is defined (#128)
  472 
  473 * Tests:
  474 
  475   - Fix a refleak in ``test/bin/json_process.c``.
  476 
  477 * Documentation:
  478 
  479   - Clarify the return value of `json_load_callback_t`.
  480 
  481   - Document how to circumvent problems with separate heaps on Windows.
  482 
  483   - Fix memory leaks and warnings in ``github_commits.c``.
  484 
  485   - Use `json_decref()` properly in tutorial.
  486 
  487 * Other:
  488 
  489   - Make it possible to forward declare ``struct json_t``.
  490 
  491 
  492 Version 2.4
  493 ===========
  494 
  495 Released 2012-09-23
  496 
  497 * New features:
  498 
  499   - Add `json_boolean()` macro that returns the JSON true or false
  500     value based on its argument (#86).
  501 
  502   - Add `json_load_callback()` that calls a callback function
  503     repeatedly to read the JSON input (#57).
  504 
  505   - Add JSON_ESCAPE_SLASH encoding flag to escape all occurences of
  506     ``/`` with ``\/``.
  507 
  508 * Bug fixes:
  509 
  510   - Check for and reject NaN and Inf values for reals. Encoding these
  511     values resulted in invalid JSON.
  512 
  513   - Fix `json_real_set()` to return -1 on error.
  514 
  515 * Build:
  516 
  517   - Jansson now builds on Windows with Visual Studio 2010, and
  518     includes solution and project files in ``win32/vs2010/``
  519     directory.
  520 
  521   - Fix build warnings (#77, #78).
  522 
  523   - Add ``-no-undefined`` to LDFLAGS (#90).
  524 
  525 * Tests:
  526 
  527   - Fix the symbol exports test on Linux/PPC64 (#88).
  528 
  529 * Documentation:
  530 
  531   - Fix typos (#73, #84).
  532 
  533 
  534 Version 2.3.1
  535 =============
  536 
  537 Released 2012-04-20
  538 
  539 * Build issues:
  540 
  541   - Only use ``long long`` if ``strtoll()`` is also available.
  542 
  543 * Documentation:
  544 
  545   - Fix the names of library version constants in documentation. (#52)
  546 
  547   - Change the tutorial to use GitHub API v3. (#65)
  548 
  549 * Tests:
  550 
  551   - Make some tests locale independent. (#51)
  552 
  553   - Distribute the library exports test in the tarball.
  554 
  555   - Make test run on shells that don't support the ``export FOO=bar``
  556     syntax.
  557 
  558 
  559 Version 2.3
  560 ===========
  561 
  562 Released 2012-01-27
  563 
  564 * New features:
  565 
  566   - `json_unpack()` and friends: Add support for optional object keys
  567     with the ``{s?o}`` syntax.
  568 
  569   - Add `json_object_update_existing()` and
  570     `json_object_update_missing()`, for updating only existing keys or
  571     only adding missing keys to an object. (#37)
  572 
  573   - Add `json_object_foreach()` for more convenient iteration over
  574     objects. (#45, #46)
  575 
  576   - When decoding JSON, write the number of bytes that were read from
  577     input to ``error.position`` also on success. This is handy with
  578     ``JSON_DISABLE_EOF_CHECK``.
  579 
  580   - Add support for decoding any JSON value, not just arrays or
  581     objects. The support is enabled with the new ``JSON_DECODE_ANY``
  582     flag. Patch by Andrea Marchesini. (#4)
  583 
  584 * Bug fixes
  585 
  586   - Avoid problems with object's serial number growing too big. (#40,
  587     #41)
  588 
  589   - Decoding functions now return NULL if the first argument is NULL.
  590     Patch by Andrea Marchesini.
  591 
  592   - Include ``jansson_config.h.win32`` in the distribution tarball.
  593 
  594   - Remove ``+`` and leading zeros from exponents in the encoder.
  595     (#39)
  596 
  597   - Make Jansson build and work on MinGW. (#39, #38)
  598 
  599 * Documentation
  600 
  601   - Note that the same JSON values must not be encoded in parallel by
  602     separate threads. (#42)
  603 
  604   - Document MinGW support.
  605 
  606 
  607 Version 2.2.1
  608 =============
  609 
  610 Released 2011-10-06
  611 
  612 * Bug fixes:
  613 
  614   - Fix real number encoding and decoding under non-C locales. (#32)
  615 
  616   - Fix identifier decoding under non-UTF-8 locales. (#35)
  617 
  618   - `json_load_file()`: Open the input file in binary mode for maximum
  619     compatiblity.
  620 
  621 * Documentation:
  622 
  623   - Clarify the lifecycle of the result of the ``s`` fromat of
  624     `json_unpack()`. (#31)
  625 
  626   - Add some portability info. (#36)
  627 
  628   - Little clarifications here and there.
  629 
  630 * Other:
  631 
  632   - Some style fixes, issues detected by static analyzers.
  633 
  634 
  635 Version 2.2
  636 ===========
  637 
  638 Released 2011-09-03
  639 
  640 * New features:
  641 
  642   - `json_dump_callback()`: Pass the encoder output to a callback
  643     function in chunks.
  644 
  645 * Bug fixes:
  646 
  647   - `json_string_set()`: Check that target is a string and value is
  648     not NULL.
  649 
  650 * Other:
  651 
  652   - Documentation typo fixes and clarifications.
  653 
  654 
  655 Version 2.1
  656 ===========
  657 
  658 Released 2011-06-10
  659 
  660 * New features:
  661 
  662   - `json_loadb()`: Decode a string with a given size, useful if the
  663     string is not null terminated.
  664 
  665   - Add ``JSON_ENCODE_ANY`` encoding flag to allow encoding any JSON
  666     value. By default, only arrays and objects can be encoded. (#19)
  667 
  668   - Add ``JSON_REJECT_DUPLICATES`` decoding flag to issue a decoding
  669     error if any JSON object in the input contins duplicate keys. (#3)
  670 
  671   - Add ``JSON_DISABLE_EOF_CHECK`` decoding flag to stop decoding after a
  672     valid JSON input. This allows other data after the JSON data.
  673 
  674 * Bug fixes:
  675 
  676   - Fix an additional memory leak when memory allocation fails in
  677     `json_object_set()` and friends.
  678 
  679   - Clear errno before calling `strtod()` for better portability. (#27)
  680 
  681 * Building:
  682 
  683   - Avoid set-but-not-used warning/error in a test. (#20)
  684 
  685 * Other:
  686 
  687   - Minor clarifications to documentation.
  688 
  689 
  690 Version 2.0.1
  691 =============
  692 
  693 Released 2011-03-31
  694 
  695 * Bug fixes:
  696 
  697   - Replace a few `malloc()` and `free()` calls with their
  698     counterparts that support custom memory management.
  699 
  700   - Fix object key hashing in json_unpack() strict checking mode.
  701 
  702   - Fix the parentheses in ``JANSSON_VERSION_HEX`` macro.
  703 
  704   - Fix `json_object_size()` return value.
  705 
  706   - Fix a few compilation issues.
  707 
  708 * Portability:
  709 
  710   - Enhance portability of `va_copy()`.
  711 
  712   - Test framework portability enhancements.
  713 
  714 * Documentation:
  715 
  716   - Distribute ``doc/upgrading.rst`` with the source tarball.
  717 
  718   - Build documentation in strict mode in ``make distcheck``.
  719 
  720 
  721 Version 2.0
  722 ===========
  723 
  724 Released 2011-02-28
  725 
  726 This release is backwards incompatible with the 1.x release series.
  727 See the chapter "Upgrading from older versions" in documentation for
  728 details.
  729 
  730 * Backwards incompatible changes:
  731 
  732   - Unify unsigned integer usage in the API: All occurences of
  733     unsigned int and unsigned long have been replaced with size_t.
  734 
  735   - Change JSON integer's underlying type to the widest signed integer
  736     type available, i.e. long long if it's supported, otherwise long.
  737     Add a typedef json_int_t that defines the type.
  738 
  739   - Change the maximum indentation depth to 31 spaces in encoder. This
  740     frees up bits from the flags parameter of encoding functions
  741     `json_dumpf()`, `json_dumps()` and `json_dump_file()`.
  742 
  743   - For future needs, add a flags parameter to all decoding functions
  744     `json_loadf()`, `json_loads()` and `json_load_file()`.
  745 
  746 * New features
  747 
  748   - `json_pack()`, `json_pack_ex()`, `json_vpack_ex()`: Create JSON
  749     values based on a format string.
  750 
  751   - `json_unpack()`, `json_unpack_ex()`, `json_vunpack_ex()`: Simple
  752     value extraction and validation functionality based on a format
  753     string.
  754 
  755   - Add column, position and source fields to the ``json_error_t``
  756     struct.
  757 
  758   - Enhance error reporting in the decoder.
  759 
  760   - ``JANSSON_VERSION`` et al.: Preprocessor constants that define the
  761     library version.
  762 
  763   - `json_set_alloc_funcs()`: Set custom memory allocation functions.
  764 
  765 * Fix many portability issues, especially on Windows.
  766 
  767 * Configuration
  768 
  769   - Add file ``jansson_config.h`` that contains site specific
  770     configuration. It's created automatically by the configure script,
  771     or can be created by hand if the configure script cannot be used.
  772     The file ``jansson_config.h.win32`` can be used without
  773     modifications on Windows systems.
  774 
  775   - Add a section to documentation describing how to build Jansson on
  776     Windows.
  777 
  778   - Documentation now requires Sphinx 1.0 or newer.
  779 
  780 
  781 Version 1.3
  782 ===========
  783 
  784 Released 2010-06-13
  785 
  786 * New functions:
  787 
  788   - `json_object_iter_set()`, `json_object_iter_set_new()`: Change
  789     object contents while iterating over it.
  790 
  791   - `json_object_iter_at()`: Return an iterator that points to a
  792     specific object item.
  793 
  794 * New encoding flags:
  795 
  796   - ``JSON_PRESERVE_ORDER``: Preserve the insertion order of object
  797     keys.
  798 
  799 * Bug fixes:
  800 
  801   - Fix an error that occured when an array or object was first
  802     encoded as empty, then populated with some data, and then
  803     re-encoded
  804 
  805   - Fix the situation like above, but when the first encoding resulted
  806     in an error
  807 
  808 * Documentation:
  809 
  810   - Clarify the documentation on reference stealing, providing an
  811     example usage pattern
  812 
  813 
  814 Version 1.2.1
  815 =============
  816 
  817 Released 2010-04-03
  818 
  819 * Bug fixes:
  820 
  821   - Fix reference counting on ``true``, ``false`` and ``null``
  822   - Estimate real number underflows in decoder with 0.0 instead of
  823     issuing an error
  824 
  825 * Portability:
  826 
  827   - Make ``int32_t`` available on all systems
  828   - Support compilers that don't have the ``inline`` keyword
  829   - Require Autoconf 2.60 (for ``int32_t``)
  830 
  831 * Tests:
  832 
  833   - Print test names correctly when ``VERBOSE=1``
  834   - ``test/suites/api``: Fail when a test fails
  835   - Enhance tests for iterators
  836   - Enhance tests for decoding texts that contain null bytes
  837 
  838 * Documentation:
  839 
  840   - Don't remove ``changes.rst`` in ``make clean``
  841   - Add a chapter on RFC conformance
  842 
  843 
  844 Version 1.2
  845 ===========
  846 
  847 Released 2010-01-21
  848 
  849 * New functions:
  850 
  851   - `json_equal()`: Test whether two JSON values are equal
  852   - `json_copy()` and `json_deep_copy()`: Make shallow and deep copies
  853     of JSON values
  854   - Add a version of all functions taking a string argument that
  855     doesn't check for valid UTF-8: `json_string_nocheck()`,
  856     `json_string_set_nocheck()`, `json_object_set_nocheck()`,
  857     `json_object_set_new_nocheck()`
  858 
  859 * New encoding flags:
  860 
  861   - ``JSON_SORT_KEYS``: Sort objects by key
  862   - ``JSON_ENSURE_ASCII``: Escape all non-ASCII Unicode characters
  863   - ``JSON_COMPACT``: Use a compact representation with all unneeded
  864     whitespace stripped
  865 
  866 * Bug fixes:
  867 
  868   - Revise and unify whitespace usage in encoder: Add spaces between
  869     array and object items, never append newline to output.
  870   - Remove const qualifier from the ``json_t`` parameter in
  871     `json_string_set()`, `json_integer_set()` and `json_real_set`.
  872   - Use ``int32_t`` internally for representing Unicode code points
  873     (int is not enough on all platforms)
  874 
  875 * Other changes:
  876 
  877   - Convert ``CHANGES`` (this file) to reStructured text and add it to
  878     HTML documentation
  879   - The test system has been refactored. Python is no longer required
  880     to run the tests.
  881   - Documentation can now be built by invoking ``make html``
  882   - Support for pkg-config
  883 
  884 
  885 Version 1.1.3
  886 =============
  887 
  888 Released 2009-12-18
  889 
  890 * Encode reals correctly, so that first encoding and then decoding a
  891   real always produces the same value
  892 * Don't export private symbols in ``libjansson.so``
  893 
  894 
  895 Version 1.1.2
  896 =============
  897 
  898 Released 2009-11-08
  899 
  900 * Fix a bug where an error message was not produced if the input file
  901   could not be opened in `json_load_file()`
  902 * Fix an assertion failure in decoder caused by a minus sign without a
  903   digit after it
  904 * Remove an unneeded include of ``stdint.h`` in ``jansson.h``
  905 
  906 
  907 Version 1.1.1
  908 =============
  909 
  910 Released 2009-10-26
  911 
  912 * All documentation files were not distributed with v1.1; build
  913   documentation in make distcheck to prevent this in the future
  914 * Fix v1.1 release date in ``CHANGES``
  915 
  916 
  917 Version 1.1
  918 ===========
  919 
  920 Released 2009-10-20
  921 
  922 * API additions and improvements:
  923 
  924   - Extend array and object APIs
  925   - Add functions to modify integer, real and string values
  926   - Improve argument validation
  927   - Use unsigned int instead of ``uint32_t`` for encoding flags
  928 
  929 * Enhance documentation
  930 
  931   - Add getting started guide and tutorial
  932   - Fix some typos
  933   - General clarifications and cleanup
  934 
  935 * Check for integer and real overflows and underflows in decoder
  936 * Make singleton values thread-safe (``true``, ``false`` and ``null``)
  937 * Enhance circular reference handling
  938 * Don't define ``-std=c99`` in ``AM_CFLAGS``
  939 * Add C++ guards to ``jansson.h``
  940 * Minor performance and portability improvements
  941 * Expand test coverage
  942 
  943 
  944 Version 1.0.4
  945 =============
  946 
  947 Released 2009-10-11
  948 
  949 * Relax Autoconf version requirement to 2.59
  950 * Make Jansson compile on platforms where plain ``char`` is unsigned
  951 * Fix API tests for object
  952 
  953 
  954 Version 1.0.3
  955 =============
  956 
  957 Released 2009-09-14
  958 
  959 * Check for integer and real overflows and underflows in decoder
  960 * Use the Python json module for tests, or simplejson if the json
  961   module is not found
  962 * Distribute changelog (this file)
  963 
  964 
  965 Version 1.0.2
  966 =============
  967 
  968 Released 2009-09-08
  969 
  970 * Handle EOF correctly in decoder
  971 
  972 
  973 Version 1.0.1
  974 =============
  975 
  976 Released 2009-09-04
  977 
  978 * Fixed broken `json_is_boolean()`
  979 
  980 
  981 Version 1.0
  982 ===========
  983 
  984 Released 2009-08-25
  985 
  986 * Initial release