changes.html revision 4139
4139N/A<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4139N/A "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4139N/A
4139N/A
4139N/A<html xmlns="http://www.w3.org/1999/xhtml">
4139N/A <head>
4139N/A <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4139N/A
4139N/A <title>Changes in Jansson &mdash; Jansson 2.7 documentation</title>
4139N/A
4139N/A <link rel="stylesheet" href="_static/default.css" type="text/css" />
4139N/A <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
4139N/A
4139N/A <script type="text/javascript">
4139N/A var DOCUMENTATION_OPTIONS = {
4139N/A URL_ROOT: './',
4139N/A VERSION: '2.7',
4139N/A COLLAPSE_INDEX: false,
4139N/A FILE_SUFFIX: '.html',
4139N/A HAS_SOURCE: true
4139N/A };
4139N/A </script>
4139N/A <script type="text/javascript" src="_static/jquery.js"></script>
4139N/A <script type="text/javascript" src="_static/underscore.js"></script>
4139N/A <script type="text/javascript" src="_static/doctools.js"></script>
4139N/A <link rel="top" title="Jansson 2.7 documentation" href="index.html" />
4139N/A <link rel="prev" title="API Reference" href="apiref.html" />
4139N/A </head>
4139N/A <body>
4139N/A <div class="related">
4139N/A <h3>Navigation</h3>
4139N/A <ul>
4139N/A <li class="right" style="margin-right: 10px">
4139N/A <a href="genindex.html" title="General Index"
4139N/A accesskey="I">index</a></li>
4139N/A <li class="right" >
4139N/A <a href="apiref.html" title="API Reference"
4139N/A accesskey="P">previous</a> |</li>
4139N/A <li><a href="index.html">Jansson 2.7 documentation</a> &raquo;</li>
4139N/A </ul>
4139N/A </div>
4139N/A
4139N/A <div class="document">
4139N/A <div class="documentwrapper">
4139N/A <div class="bodywrapper">
4139N/A <div class="body">
4139N/A
4139N/A <div class="section" id="changes-in-jansson">
4139N/A<h1>Changes in Jansson<a class="headerlink" href="#changes-in-jansson" title="Permalink to this headline">¶</a></h1>
4139N/A<div class="section" id="version-2-7">
4139N/A<h2>Version 2.7<a class="headerlink" href="#version-2-7" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2014-10-02</p>
4139N/A<ul class="simple">
4139N/A<li>New features:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_pack" title="json_pack"><tt class="xref c c-func docutils literal"><span class="pre">json_pack()</span></tt></a> and friends: Add format specifiers <tt class="docutils literal"><span class="pre">s%</span></tt> and <tt class="docutils literal"><span class="pre">+%</span></tt>
4139N/Afor a size_t string length (#141).</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_unpack" title="json_unpack"><tt class="xref c c-func docutils literal"><span class="pre">json_unpack()</span></tt></a> and friends: Add format specifier <tt class="docutils literal"><span class="pre">s%</span></tt> for
4139N/Aunpacking the string length along with the string itself (#141).</li>
4139N/A<li>Add length-aware string constructors <a class="reference internal" href="apiref.html#c.json_stringn" title="json_stringn"><tt class="xref c c-func docutils literal"><span class="pre">json_stringn()</span></tt></a> and
4139N/A<a class="reference internal" href="apiref.html#c.json_stringn_nocheck" title="json_stringn_nocheck"><tt class="xref c c-func docutils literal"><span class="pre">json_stringn_nocheck()</span></tt></a>, length-aware string mutators
4139N/A<a class="reference internal" href="apiref.html#c.json_string_setn" title="json_string_setn"><tt class="xref c c-func docutils literal"><span class="pre">json_string_setn()</span></tt></a> and <a class="reference internal" href="apiref.html#c.json_string_setn_nocheck" title="json_string_setn_nocheck"><tt class="xref c c-func docutils literal"><span class="pre">json_string_setn_nocheck()</span></tt></a>, and a
4139N/Afunction for getting string&#8217;s length <a class="reference internal" href="apiref.html#c.json_string_length" title="json_string_length"><tt class="xref c c-func docutils literal"><span class="pre">json_string_length()</span></tt></a> (#141,
4139N/A#143).</li>
4139N/A<li>Support <tt class="docutils literal"><span class="pre">\u0000</span></tt> escapes in the decoder. The support can be
4139N/Aenabled by using the <tt class="docutils literal"><span class="pre">JSON_ALLOW_NUL</span></tt> decoding flag (#141).</li>
4139N/A<li>Add <a class="reference internal" href="apiref.html#c.json_boolean_value" title="json_boolean_value"><tt class="xref c c-func docutils literal"><span class="pre">json_boolean_value()</span></tt></a> as an alias for <a class="reference internal" href="apiref.html#c.json_is_true" title="json_is_true"><tt class="xref c c-func docutils literal"><span class="pre">json_is_true()</span></tt></a>
4139N/A(#146).</li>
4139N/A<li>Add JSON_REAL_PRECISION encoding flag/macro for controlling real
4139N/Anumber precision (#178).</li>
4139N/A<li>Define the maximum indentation as JSON_MAX_INDENT (#191).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Some malformed <tt class="docutils literal"><span class="pre">\uNNNN</span></tt> escapes could crash the decoder with an
4139N/Aassertion failure.</li>
4139N/A<li>Avoid integer overflows with very long strings in UTF-8 decoder and
4139N/Ahashtable.</li>
4139N/A<li>Check for <em>NULL</em> key in <a class="reference internal" href="apiref.html#c.json_object_get" title="json_object_get"><tt class="xref c c-func docutils literal"><span class="pre">json_object_get()</span></tt></a> and
4139N/A<a class="reference internal" href="apiref.html#c.json_object_del" title="json_object_del"><tt class="xref c c-func docutils literal"><span class="pre">json_object_del()</span></tt></a> (#151).</li>
4139N/A<li>Enhance hashtable seeding on Windows (#162).</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_unpack" title="json_unpack"><tt class="xref c c-func docutils literal"><span class="pre">json_unpack()</span></tt></a>: Allow mixing JSON_STRICT with optional keys
4139N/A(#162, #163).</li>
4139N/A<li>Fix int/int32 mismatch (#142).</li>
4139N/A<li>Parse subnormal numbers correctly (#202).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Build:<ul>
4139N/A<li>Remove VS2010 build files. CMake should be used on Windows instead
4139N/A(#165).</li>
4139N/A<li>Fix CMake build flags for MinGW (#193).</li>
4139N/A<li>Add CMake config files for find_package. Rename config.h to
4139N/Ajansson_private_config.h (#157, #159).</li>
4139N/A<li>Make Valgrind checks work with CMake (#160).</li>
4139N/A<li>Fix feature checks to use correct __ATOMIC flags.</li>
4139N/A<li>Fix CMake checks for uint16_t and uint8_t support (#177).</li>
4139N/A<li>Make Jansson build on SmartOS/Solaris (#171).</li>
4139N/A<li>Work around a GCC bug on Solaris (#175).</li>
4139N/A<li>Fix autoreconf on Debian (#182).</li>
4139N/A<li>Don&#8217;t use GNU make specific export for global AM_CFLAGS (#203,
4139N/A#204).</li>
4139N/A<li>Fix building on Android using the supplied Android.mk (#166,
4139N/A#174).</li>
4139N/A<li>Android.mk: Add -DHAVE_STDINT_H to LOCAL_CFLAGS (#200).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Document JANSSON_BUILD_SHARED_LIBS CMake option (#187).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Tests:<ul>
4139N/A<li>Close file handles correctly (#198).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Other changes:<ul>
4139N/A<li><tt class="docutils literal"><span class="pre">\uNNNN</span></tt> escapes are now encoded in upper case for better
4139N/Areadability.</li>
4139N/A<li>Enable usage of AddressSanitizer (#180).</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-6">
4139N/A<h2>Version 2.6<a class="headerlink" href="#version-2-6" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2014-02-11</p>
4139N/A<ul class="simple">
4139N/A<li>Security:<ul>
4139N/A<li>CVE-2013-6401: The hash function used by the hashtable
4139N/Aimplementation has been changed, and is automatically seeded with
4139N/Arandom data when the first JSON object is created. This prevents
4139N/Aan attacker from causing large JSON objects with specially crafted
4139N/Akeys perform poorly.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>New features:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_object_seed" title="json_object_seed"><tt class="xref c c-func docutils literal"><span class="pre">json_object_seed()</span></tt></a>: Set the seed value of the hash function.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Include CMake specific files in the release tarball.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Fix tutorial source to send a User-Agent header, which is now
4139N/Arequired by the GitHub API.</li>
4139N/A<li>Set all memory to zero in secure_free() example.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-5">
4139N/A<h2>Version 2.5<a class="headerlink" href="#version-2-5" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2013-09-19</p>
4139N/A<ul class="simple">
4139N/A<li>New features:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_pack" title="json_pack"><tt class="xref c c-func docutils literal"><span class="pre">json_pack()</span></tt></a> and friends: Add format specifiers <tt class="docutils literal"><span class="pre">s#</span></tt>, <tt class="docutils literal"><span class="pre">+</span></tt> and
4139N/A<tt class="docutils literal"><span class="pre">+#</span></tt>.</li>
4139N/A<li>Add <tt class="docutils literal"><span class="pre">JSON_DECODE_INT_AS_REAL</span></tt> decoding flag to treat all numbers
4139N/Aas real in the decoder (#123).</li>
4139N/A<li>Add <a class="reference internal" href="apiref.html#c.json_array_foreach" title="json_array_foreach"><tt class="xref c c-func docutils literal"><span class="pre">json_array_foreach()</span></tt></a>, paralleling <a class="reference internal" href="apiref.html#c.json_object_foreach" title="json_object_foreach"><tt class="xref c c-func docutils literal"><span class="pre">json_object_foreach()</span></tt></a>
4139N/A(#118).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_dumps" title="json_dumps"><tt class="xref c c-func docutils literal"><span class="pre">json_dumps()</span></tt></a> and friends: Don&#8217;t crash if json is <em>NULL</em> and
4139N/A<tt class="docutils literal"><span class="pre">JSON_ENCODE_ANY</span></tt> is set.</li>
4139N/A<li>Fix a theoretical integer overflow in <tt class="xref c c-func docutils literal"><span class="pre">jsonp_strdup()</span></tt>.</li>
4139N/A<li>Fix <tt class="xref c c-func docutils literal"><span class="pre">l_isxdigit()</span></tt> macro (#97).</li>
4139N/A<li>Fix an off-by-one error in <a class="reference internal" href="apiref.html#c.json_array_remove" title="json_array_remove"><tt class="xref c c-func docutils literal"><span class="pre">json_array_remove()</span></tt></a>.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Build:<ul>
4139N/A<li>Support CMake in addition to GNU Autotools (#106, #107, #112,
4139N/A#115, #120, #127).</li>
4139N/A<li>Support building for Android (#109).</li>
4139N/A<li>Don&#8217;t use <tt class="docutils literal"><span class="pre">-Werror</span></tt> by default.</li>
4139N/A<li>Support building and testing with VPATH (#93).</li>
4139N/A<li>Fix compilation when <tt class="docutils literal"><span class="pre">NDEBUG</span></tt> is defined (#128)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Tests:<ul>
4139N/A<li>Fix a refleak in <tt class="docutils literal"><span class="pre">test/bin/json_process.c</span></tt>.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Clarify the return value of <a class="reference internal" href="apiref.html#c.json_load_callback_t" title="json_load_callback_t"><tt class="xref c c-func docutils literal"><span class="pre">json_load_callback_t()</span></tt></a>.</li>
4139N/A<li>Document how to circumvent problems with separate heaps on Windows.</li>
4139N/A<li>Fix memory leaks and warnings in <tt class="docutils literal"><span class="pre">github_commits.c</span></tt>.</li>
4139N/A<li>Use <a class="reference internal" href="apiref.html#c.json_decref" title="json_decref"><tt class="xref c c-func docutils literal"><span class="pre">json_decref()</span></tt></a> properly in tutorial.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Other:<ul>
4139N/A<li>Make it possible to forward declare <tt class="docutils literal"><span class="pre">struct</span> <span class="pre">json_t</span></tt>.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-4">
4139N/A<h2>Version 2.4<a class="headerlink" href="#version-2-4" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2012-09-23</p>
4139N/A<ul class="simple">
4139N/A<li>New features:<ul>
4139N/A<li>Add <a class="reference internal" href="apiref.html#c.json_boolean" title="json_boolean"><tt class="xref c c-func docutils literal"><span class="pre">json_boolean()</span></tt></a> macro that returns the JSON true or false
4139N/Avalue based on its argument (#86).</li>
4139N/A<li>Add <a class="reference internal" href="apiref.html#c.json_load_callback" title="json_load_callback"><tt class="xref c c-func docutils literal"><span class="pre">json_load_callback()</span></tt></a> that calls a callback function
4139N/Arepeatedly to read the JSON input (#57).</li>
4139N/A<li>Add JSON_ESCAPE_SLASH encoding flag to escape all occurences of
4139N/A<tt class="docutils literal"><span class="pre">/</span></tt> with <tt class="docutils literal"><span class="pre">\/</span></tt>.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Check for and reject NaN and Inf values for reals. Encoding these
4139N/Avalues resulted in invalid JSON.</li>
4139N/A<li>Fix <a class="reference internal" href="apiref.html#c.json_real_set" title="json_real_set"><tt class="xref c c-func docutils literal"><span class="pre">json_real_set()</span></tt></a> to return -1 on error.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Build:<ul>
4139N/A<li>Jansson now builds on Windows with Visual Studio 2010, and
4139N/Aincludes solution and project files in <tt class="docutils literal"><span class="pre">win32/vs2010/</span></tt>
4139N/Adirectory.</li>
4139N/A<li>Fix build warnings (#77, #78).</li>
4139N/A<li>Add <tt class="docutils literal"><span class="pre">-no-undefined</span></tt> to LDFLAGS (#90).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Tests:<ul>
4139N/A<li>Fix the symbol exports test on Linux/PPC64 (#88).</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Fix typos (#73, #84).</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-3-1">
4139N/A<h2>Version 2.3.1<a class="headerlink" href="#version-2-3-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2012-04-20</p>
4139N/A<ul class="simple">
4139N/A<li>Build issues:<ul>
4139N/A<li>Only use <tt class="docutils literal"><span class="pre">long</span> <span class="pre">long</span></tt> if <tt class="docutils literal"><span class="pre">strtoll()</span></tt> is also available.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Fix the names of library version constants in documentation. (#52)</li>
4139N/A<li>Change the tutorial to use GitHub API v3. (#65)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Tests:<ul>
4139N/A<li>Make some tests locale independent. (#51)</li>
4139N/A<li>Distribute the library exports test in the tarball.</li>
4139N/A<li>Make test run on shells that don&#8217;t support the <tt class="docutils literal"><span class="pre">export</span> <span class="pre">FOO=bar</span></tt>
4139N/Asyntax.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-3">
4139N/A<h2>Version 2.3<a class="headerlink" href="#version-2-3" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2012-01-27</p>
4139N/A<ul class="simple">
4139N/A<li>New features:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_unpack" title="json_unpack"><tt class="xref c c-func docutils literal"><span class="pre">json_unpack()</span></tt></a> and friends: Add support for optional object keys
4139N/Awith the <tt class="docutils literal"><span class="pre">{s?o}</span></tt> syntax.</li>
4139N/A<li>Add <a class="reference internal" href="apiref.html#c.json_object_update_existing" title="json_object_update_existing"><tt class="xref c c-func docutils literal"><span class="pre">json_object_update_existing()</span></tt></a> and
4139N/A<a class="reference internal" href="apiref.html#c.json_object_update_missing" title="json_object_update_missing"><tt class="xref c c-func docutils literal"><span class="pre">json_object_update_missing()</span></tt></a>, for updating only existing keys or
4139N/Aonly adding missing keys to an object. (#37)</li>
4139N/A<li>Add <a class="reference internal" href="apiref.html#c.json_object_foreach" title="json_object_foreach"><tt class="xref c c-func docutils literal"><span class="pre">json_object_foreach()</span></tt></a> for more convenient iteration over
4139N/Aobjects. (#45, #46)</li>
4139N/A<li>When decoding JSON, write the number of bytes that were read from
4139N/Ainput to <tt class="docutils literal"><span class="pre">error.position</span></tt> also on success. This is handy with
4139N/A<tt class="docutils literal"><span class="pre">JSON_DISABLE_EOF_CHECK</span></tt>.</li>
4139N/A<li>Add support for decoding any JSON value, not just arrays or
4139N/Aobjects. The support is enabled with the new <tt class="docutils literal"><span class="pre">JSON_DECODE_ANY</span></tt>
4139N/Aflag. Patch by Andrea Marchesini. (#4)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes<ul>
4139N/A<li>Avoid problems with object&#8217;s serial number growing too big. (#40,
4139N/A#41)</li>
4139N/A<li>Decoding functions now return NULL if the first argument is NULL.
4139N/APatch by Andrea Marchesini.</li>
4139N/A<li>Include <tt class="docutils literal"><span class="pre">jansson_config.h.win32</span></tt> in the distribution tarball.</li>
4139N/A<li>Remove <tt class="docutils literal"><span class="pre">+</span></tt> and leading zeros from exponents in the encoder.
4139N/A(#39)</li>
4139N/A<li>Make Jansson build and work on MinGW. (#39, #38)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation<ul>
4139N/A<li>Note that the same JSON values must not be encoded in parallel by
4139N/Aseparate threads. (#42)</li>
4139N/A<li>Document MinGW support.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-2-1">
4139N/A<h2>Version 2.2.1<a class="headerlink" href="#version-2-2-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2011-10-06</p>
4139N/A<ul class="simple">
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Fix real number encoding and decoding under non-C locales. (#32)</li>
4139N/A<li>Fix identifier decoding under non-UTF-8 locales. (#35)</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_load_file" title="json_load_file"><tt class="xref c c-func docutils literal"><span class="pre">json_load_file()</span></tt></a>: Open the input file in binary mode for maximum
4139N/Acompatiblity.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Clarify the lifecycle of the result of the <tt class="docutils literal"><span class="pre">s</span></tt> fromat of
4139N/A<a class="reference internal" href="apiref.html#c.json_unpack" title="json_unpack"><tt class="xref c c-func docutils literal"><span class="pre">json_unpack()</span></tt></a>. (#31)</li>
4139N/A<li>Add some portability info. (#36)</li>
4139N/A<li>Little clarifications here and there.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Other:<ul>
4139N/A<li>Some style fixes, issues detected by static analyzers.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-2">
4139N/A<h2>Version 2.2<a class="headerlink" href="#version-2-2" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2011-09-03</p>
4139N/A<ul class="simple">
4139N/A<li>New features:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_dump_callback" title="json_dump_callback"><tt class="xref c c-func docutils literal"><span class="pre">json_dump_callback()</span></tt></a>: Pass the encoder output to a callback
4139N/Afunction in chunks.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_string_set" title="json_string_set"><tt class="xref c c-func docutils literal"><span class="pre">json_string_set()</span></tt></a>: Check that target is a string and value is
4139N/Anot NULL.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Other:<ul>
4139N/A<li>Documentation typo fixes and clarifications.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-1">
4139N/A<h2>Version 2.1<a class="headerlink" href="#version-2-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2011-06-10</p>
4139N/A<ul class="simple">
4139N/A<li>New features:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_loadb" title="json_loadb"><tt class="xref c c-func docutils literal"><span class="pre">json_loadb()</span></tt></a>: Decode a string with a given size, useful if the
4139N/Astring is not null terminated.</li>
4139N/A<li>Add <tt class="docutils literal"><span class="pre">JSON_ENCODE_ANY</span></tt> encoding flag to allow encoding any JSON
4139N/Avalue. By default, only arrays and objects can be encoded. (#19)</li>
4139N/A<li>Add <tt class="docutils literal"><span class="pre">JSON_REJECT_DUPLICATES</span></tt> decoding flag to issue a decoding
4139N/Aerror if any JSON object in the input contins duplicate keys. (#3)</li>
4139N/A<li>Add <tt class="docutils literal"><span class="pre">JSON_DISABLE_EOF_CHECK</span></tt> decoding flag to stop decoding after a
4139N/Avalid JSON input. This allows other data after the JSON data.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Fix an additional memory leak when memory allocation fails in
4139N/A<a class="reference internal" href="apiref.html#c.json_object_set" title="json_object_set"><tt class="xref c c-func docutils literal"><span class="pre">json_object_set()</span></tt></a> and friends.</li>
4139N/A<li>Clear errno before calling <tt class="xref c c-func docutils literal"><span class="pre">strtod()</span></tt> for better portability. (#27)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Building:<ul>
4139N/A<li>Avoid set-but-not-used warning/error in a test. (#20)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Other:<ul>
4139N/A<li>Minor clarifications to documentation.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-0-1">
4139N/A<h2>Version 2.0.1<a class="headerlink" href="#version-2-0-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2011-03-31</p>
4139N/A<ul class="simple">
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Replace a few <tt class="xref c c-func docutils literal"><span class="pre">malloc()</span></tt> and <tt class="xref c c-func docutils literal"><span class="pre">free()</span></tt> calls with their
4139N/Acounterparts that support custom memory management.</li>
4139N/A<li>Fix object key hashing in json_unpack() strict checking mode.</li>
4139N/A<li>Fix the parentheses in <tt class="docutils literal"><span class="pre">JANSSON_VERSION_HEX</span></tt> macro.</li>
4139N/A<li>Fix <a class="reference internal" href="apiref.html#c.json_object_size" title="json_object_size"><tt class="xref c c-func docutils literal"><span class="pre">json_object_size()</span></tt></a> return value.</li>
4139N/A<li>Fix a few compilation issues.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Portability:<ul>
4139N/A<li>Enhance portability of <tt class="xref c c-func docutils literal"><span class="pre">va_copy()</span></tt>.</li>
4139N/A<li>Test framework portability enhancements.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Distribute <tt class="docutils literal"><span class="pre">doc/upgrading.rst</span></tt> with the source tarball.</li>
4139N/A<li>Build documentation in strict mode in <tt class="docutils literal"><span class="pre">make</span> <span class="pre">distcheck</span></tt>.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-2-0">
4139N/A<h2>Version 2.0<a class="headerlink" href="#version-2-0" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2011-02-28</p>
4139N/A<p>This release is backwards incompatible with the 1.x release series.
4139N/ASee the chapter &#8220;Upgrading from older versions&#8221; in documentation for
4139N/Adetails.</p>
4139N/A<ul class="simple">
4139N/A<li>Backwards incompatible changes:<ul>
4139N/A<li>Unify unsigned integer usage in the API: All occurences of
4139N/Aunsigned int and unsigned long have been replaced with size_t.</li>
4139N/A<li>Change JSON integer&#8217;s underlying type to the widest signed integer
4139N/Atype available, i.e. long long if it&#8217;s supported, otherwise long.
4139N/AAdd a typedef json_int_t that defines the type.</li>
4139N/A<li>Change the maximum indentation depth to 31 spaces in encoder. This
4139N/Afrees up bits from the flags parameter of encoding functions
4139N/A<a class="reference internal" href="apiref.html#c.json_dumpf" title="json_dumpf"><tt class="xref c c-func docutils literal"><span class="pre">json_dumpf()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_dumps" title="json_dumps"><tt class="xref c c-func docutils literal"><span class="pre">json_dumps()</span></tt></a> and <a class="reference internal" href="apiref.html#c.json_dump_file" title="json_dump_file"><tt class="xref c c-func docutils literal"><span class="pre">json_dump_file()</span></tt></a>.</li>
4139N/A<li>For future needs, add a flags parameter to all decoding functions
4139N/A<a class="reference internal" href="apiref.html#c.json_loadf" title="json_loadf"><tt class="xref c c-func docutils literal"><span class="pre">json_loadf()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_loads" title="json_loads"><tt class="xref c c-func docutils literal"><span class="pre">json_loads()</span></tt></a> and <a class="reference internal" href="apiref.html#c.json_load_file" title="json_load_file"><tt class="xref c c-func docutils literal"><span class="pre">json_load_file()</span></tt></a>.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>New features<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_pack" title="json_pack"><tt class="xref c c-func docutils literal"><span class="pre">json_pack()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_pack_ex" title="json_pack_ex"><tt class="xref c c-func docutils literal"><span class="pre">json_pack_ex()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_vpack_ex" title="json_vpack_ex"><tt class="xref c c-func docutils literal"><span class="pre">json_vpack_ex()</span></tt></a>: Create JSON
4139N/Avalues based on a format string.</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_unpack" title="json_unpack"><tt class="xref c c-func docutils literal"><span class="pre">json_unpack()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_unpack_ex" title="json_unpack_ex"><tt class="xref c c-func docutils literal"><span class="pre">json_unpack_ex()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_vunpack_ex" title="json_vunpack_ex"><tt class="xref c c-func docutils literal"><span class="pre">json_vunpack_ex()</span></tt></a>: Simple
4139N/Avalue extraction and validation functionality based on a format
4139N/Astring.</li>
4139N/A<li>Add column, position and source fields to the <tt class="docutils literal"><span class="pre">json_error_t</span></tt>
4139N/Astruct.</li>
4139N/A<li>Enhance error reporting in the decoder.</li>
4139N/A<li><tt class="docutils literal"><span class="pre">JANSSON_VERSION</span></tt> et al.: Preprocessor constants that define the
4139N/Alibrary version.</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_set_alloc_funcs" title="json_set_alloc_funcs"><tt class="xref c c-func docutils literal"><span class="pre">json_set_alloc_funcs()</span></tt></a>: Set custom memory allocation functions.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Fix many portability issues, especially on Windows.</li>
4139N/A<li>Configuration<ul>
4139N/A<li>Add file <tt class="docutils literal"><span class="pre">jansson_config.h</span></tt> that contains site specific
4139N/Aconfiguration. It&#8217;s created automatically by the configure script,
4139N/Aor can be created by hand if the configure script cannot be used.
4139N/AThe file <tt class="docutils literal"><span class="pre">jansson_config.h.win32</span></tt> can be used without
4139N/Amodifications on Windows systems.</li>
4139N/A<li>Add a section to documentation describing how to build Jansson on
4139N/AWindows.</li>
4139N/A<li>Documentation now requires Sphinx 1.0 or newer.</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-3">
4139N/A<h2>Version 1.3<a class="headerlink" href="#version-1-3" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2010-06-13</p>
4139N/A<ul class="simple">
4139N/A<li>New functions:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_object_iter_set" title="json_object_iter_set"><tt class="xref c c-func docutils literal"><span class="pre">json_object_iter_set()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_object_iter_set_new" title="json_object_iter_set_new"><tt class="xref c c-func docutils literal"><span class="pre">json_object_iter_set_new()</span></tt></a>: Change
4139N/Aobject contents while iterating over it.</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_object_iter_at" title="json_object_iter_at"><tt class="xref c c-func docutils literal"><span class="pre">json_object_iter_at()</span></tt></a>: Return an iterator that points to a
4139N/Aspecific object item.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>New encoding flags:<ul>
4139N/A<li><tt class="docutils literal"><span class="pre">JSON_PRESERVE_ORDER</span></tt>: Preserve the insertion order of object
4139N/Akeys.</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Fix an error that occured when an array or object was first
4139N/Aencoded as empty, then populated with some data, and then
4139N/Are-encoded</li>
4139N/A<li>Fix the situation like above, but when the first encoding resulted
4139N/Ain an error</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Clarify the documentation on reference stealing, providing an
4139N/Aexample usage pattern</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-2-1">
4139N/A<h2>Version 1.2.1<a class="headerlink" href="#version-1-2-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2010-04-03</p>
4139N/A<ul class="simple">
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Fix reference counting on <tt class="docutils literal"><span class="pre">true</span></tt>, <tt class="docutils literal"><span class="pre">false</span></tt> and <tt class="docutils literal"><span class="pre">null</span></tt></li>
4139N/A<li>Estimate real number underflows in decoder with 0.0 instead of
4139N/Aissuing an error</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Portability:<ul>
4139N/A<li>Make <tt class="docutils literal"><span class="pre">int32_t</span></tt> available on all systems</li>
4139N/A<li>Support compilers that don&#8217;t have the <tt class="docutils literal"><span class="pre">inline</span></tt> keyword</li>
4139N/A<li>Require Autoconf 2.60 (for <tt class="docutils literal"><span class="pre">int32_t</span></tt>)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Tests:<ul>
4139N/A<li>Print test names correctly when <tt class="docutils literal"><span class="pre">VERBOSE=1</span></tt></li>
4139N/A<li><tt class="docutils literal"><span class="pre">test/suites/api</span></tt>: Fail when a test fails</li>
4139N/A<li>Enhance tests for iterators</li>
4139N/A<li>Enhance tests for decoding texts that contain null bytes</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Documentation:<ul>
4139N/A<li>Don&#8217;t remove <tt class="docutils literal"><span class="pre">changes.rst</span></tt> in <tt class="docutils literal"><span class="pre">make</span> <span class="pre">clean</span></tt></li>
4139N/A<li>Add a chapter on RFC conformance</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-2">
4139N/A<h2>Version 1.2<a class="headerlink" href="#version-1-2" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2010-01-21</p>
4139N/A<ul class="simple">
4139N/A<li>New functions:<ul>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_equal" title="json_equal"><tt class="xref c c-func docutils literal"><span class="pre">json_equal()</span></tt></a>: Test whether two JSON values are equal</li>
4139N/A<li><a class="reference internal" href="apiref.html#c.json_copy" title="json_copy"><tt class="xref c c-func docutils literal"><span class="pre">json_copy()</span></tt></a> and <a class="reference internal" href="apiref.html#c.json_deep_copy" title="json_deep_copy"><tt class="xref c c-func docutils literal"><span class="pre">json_deep_copy()</span></tt></a>: Make shallow and deep copies
4139N/Aof JSON values</li>
4139N/A<li>Add a version of all functions taking a string argument that
4139N/Adoesn&#8217;t check for valid UTF-8: <a class="reference internal" href="apiref.html#c.json_string_nocheck" title="json_string_nocheck"><tt class="xref c c-func docutils literal"><span class="pre">json_string_nocheck()</span></tt></a>,
4139N/A<a class="reference internal" href="apiref.html#c.json_string_set_nocheck" title="json_string_set_nocheck"><tt class="xref c c-func docutils literal"><span class="pre">json_string_set_nocheck()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_object_set_nocheck" title="json_object_set_nocheck"><tt class="xref c c-func docutils literal"><span class="pre">json_object_set_nocheck()</span></tt></a>,
4139N/A<a class="reference internal" href="apiref.html#c.json_object_set_new_nocheck" title="json_object_set_new_nocheck"><tt class="xref c c-func docutils literal"><span class="pre">json_object_set_new_nocheck()</span></tt></a></li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>New encoding flags:<ul>
4139N/A<li><tt class="docutils literal"><span class="pre">JSON_SORT_KEYS</span></tt>: Sort objects by key</li>
4139N/A<li><tt class="docutils literal"><span class="pre">JSON_ENSURE_ASCII</span></tt>: Escape all non-ASCII Unicode characters</li>
4139N/A<li><tt class="docutils literal"><span class="pre">JSON_COMPACT</span></tt>: Use a compact representation with all unneeded
4139N/Awhitespace stripped</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Bug fixes:<ul>
4139N/A<li>Revise and unify whitespace usage in encoder: Add spaces between
4139N/Aarray and object items, never append newline to output.</li>
4139N/A<li>Remove const qualifier from the <tt class="docutils literal"><span class="pre">json_t</span></tt> parameter in
4139N/A<a class="reference internal" href="apiref.html#c.json_string_set" title="json_string_set"><tt class="xref c c-func docutils literal"><span class="pre">json_string_set()</span></tt></a>, <a class="reference internal" href="apiref.html#c.json_integer_set" title="json_integer_set"><tt class="xref c c-func docutils literal"><span class="pre">json_integer_set()</span></tt></a> and <a class="reference internal" href="apiref.html#c.json_real_set" title="json_real_set"><tt class="xref c c-func docutils literal"><span class="pre">json_real_set()</span></tt></a>.</li>
4139N/A<li>Use <tt class="docutils literal"><span class="pre">int32_t</span></tt> internally for representing Unicode code points
4139N/A(int is not enough on all platforms)</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Other changes:<ul>
4139N/A<li>Convert <tt class="docutils literal"><span class="pre">CHANGES</span></tt> (this file) to reStructured text and add it to
4139N/AHTML documentation</li>
4139N/A<li>The test system has been refactored. Python is no longer required
4139N/Ato run the tests.</li>
4139N/A<li>Documentation can now be built by invoking <tt class="docutils literal"><span class="pre">make</span> <span class="pre">html</span></tt></li>
4139N/A<li>Support for pkg-config</li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-1-3">
4139N/A<h2>Version 1.1.3<a class="headerlink" href="#version-1-1-3" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-12-18</p>
4139N/A<ul class="simple">
4139N/A<li>Encode reals correctly, so that first encoding and then decoding a
4139N/Areal always produces the same value</li>
4139N/A<li>Don&#8217;t export private symbols in <tt class="docutils literal"><span class="pre">libjansson.so</span></tt></li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-1-2">
4139N/A<h2>Version 1.1.2<a class="headerlink" href="#version-1-1-2" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-11-08</p>
4139N/A<ul class="simple">
4139N/A<li>Fix a bug where an error message was not produced if the input file
4139N/Acould not be opened in <a class="reference internal" href="apiref.html#c.json_load_file" title="json_load_file"><tt class="xref c c-func docutils literal"><span class="pre">json_load_file()</span></tt></a></li>
4139N/A<li>Fix an assertion failure in decoder caused by a minus sign without a
4139N/Adigit after it</li>
4139N/A<li>Remove an unneeded include of <tt class="docutils literal"><span class="pre">stdint.h</span></tt> in <tt class="docutils literal"><span class="pre">jansson.h</span></tt></li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-1-1">
4139N/A<h2>Version 1.1.1<a class="headerlink" href="#version-1-1-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-10-26</p>
4139N/A<ul class="simple">
4139N/A<li>All documentation files were not distributed with v1.1; build
4139N/Adocumentation in make distcheck to prevent this in the future</li>
4139N/A<li>Fix v1.1 release date in <tt class="docutils literal"><span class="pre">CHANGES</span></tt></li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-1">
4139N/A<h2>Version 1.1<a class="headerlink" href="#version-1-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-10-20</p>
4139N/A<ul class="simple">
4139N/A<li>API additions and improvements:<ul>
4139N/A<li>Extend array and object APIs</li>
4139N/A<li>Add functions to modify integer, real and string values</li>
4139N/A<li>Improve argument validation</li>
4139N/A<li>Use unsigned int instead of <tt class="docutils literal"><span class="pre">uint32_t</span></tt> for encoding flags</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Enhance documentation<ul>
4139N/A<li>Add getting started guide and tutorial</li>
4139N/A<li>Fix some typos</li>
4139N/A<li>General clarifications and cleanup</li>
4139N/A</ul>
4139N/A</li>
4139N/A<li>Check for integer and real overflows and underflows in decoder</li>
4139N/A<li>Make singleton values thread-safe (<tt class="docutils literal"><span class="pre">true</span></tt>, <tt class="docutils literal"><span class="pre">false</span></tt> and <tt class="docutils literal"><span class="pre">null</span></tt>)</li>
4139N/A<li>Enhance circular reference handling</li>
4139N/A<li>Don&#8217;t define <tt class="docutils literal"><span class="pre">-std=c99</span></tt> in <tt class="docutils literal"><span class="pre">AM_CFLAGS</span></tt></li>
4139N/A<li>Add C++ guards to <tt class="docutils literal"><span class="pre">jansson.h</span></tt></li>
4139N/A<li>Minor performance and portability improvements</li>
4139N/A<li>Expand test coverage</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-0-4">
4139N/A<h2>Version 1.0.4<a class="headerlink" href="#version-1-0-4" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-10-11</p>
4139N/A<ul class="simple">
4139N/A<li>Relax Autoconf version requirement to 2.59</li>
4139N/A<li>Make Jansson compile on platforms where plain <tt class="docutils literal"><span class="pre">char</span></tt> is unsigned</li>
4139N/A<li>Fix API tests for object</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-0-3">
4139N/A<h2>Version 1.0.3<a class="headerlink" href="#version-1-0-3" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-09-14</p>
4139N/A<ul class="simple">
4139N/A<li>Check for integer and real overflows and underflows in decoder</li>
4139N/A<li>Use the Python json module for tests, or simplejson if the json
4139N/Amodule is not found</li>
4139N/A<li>Distribute changelog (this file)</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-0-2">
4139N/A<h2>Version 1.0.2<a class="headerlink" href="#version-1-0-2" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-09-08</p>
4139N/A<ul class="simple">
4139N/A<li>Handle EOF correctly in decoder</li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-0-1">
4139N/A<h2>Version 1.0.1<a class="headerlink" href="#version-1-0-1" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-09-04</p>
4139N/A<ul class="simple">
4139N/A<li>Fixed broken <a class="reference internal" href="apiref.html#c.json_is_boolean" title="json_is_boolean"><tt class="xref c c-func docutils literal"><span class="pre">json_is_boolean()</span></tt></a></li>
4139N/A</ul>
4139N/A</div>
4139N/A<div class="section" id="version-1-0">
4139N/A<h2>Version 1.0<a class="headerlink" href="#version-1-0" title="Permalink to this headline">¶</a></h2>
4139N/A<p>Released 2009-08-25</p>
4139N/A<ul class="simple">
4139N/A<li>Initial release</li>
4139N/A</ul>
4139N/A</div>
4139N/A</div>
4139N/A
4139N/A
4139N/A </div>
4139N/A </div>
4139N/A </div>
4139N/A <div class="sphinxsidebar">
4139N/A <div class="sphinxsidebarwrapper">
4139N/A <h3><a href="index.html">Table Of Contents</a></h3>
4139N/A <ul>
4139N/A<li><a class="reference internal" href="#">Changes in Jansson</a><ul>
4139N/A<li><a class="reference internal" href="#version-2-7">Version 2.7</a></li>
4139N/A<li><a class="reference internal" href="#version-2-6">Version 2.6</a></li>
4139N/A<li><a class="reference internal" href="#version-2-5">Version 2.5</a></li>
4139N/A<li><a class="reference internal" href="#version-2-4">Version 2.4</a></li>
4139N/A<li><a class="reference internal" href="#version-2-3-1">Version 2.3.1</a></li>
4139N/A<li><a class="reference internal" href="#version-2-3">Version 2.3</a></li>
4139N/A<li><a class="reference internal" href="#version-2-2-1">Version 2.2.1</a></li>
4139N/A<li><a class="reference internal" href="#version-2-2">Version 2.2</a></li>
4139N/A<li><a class="reference internal" href="#version-2-1">Version 2.1</a></li>
4139N/A<li><a class="reference internal" href="#version-2-0-1">Version 2.0.1</a></li>
4139N/A<li><a class="reference internal" href="#version-2-0">Version 2.0</a></li>
4139N/A<li><a class="reference internal" href="#version-1-3">Version 1.3</a></li>
4139N/A<li><a class="reference internal" href="#version-1-2-1">Version 1.2.1</a></li>
4139N/A<li><a class="reference internal" href="#version-1-2">Version 1.2</a></li>
4139N/A<li><a class="reference internal" href="#version-1-1-3">Version 1.1.3</a></li>
4139N/A<li><a class="reference internal" href="#version-1-1-2">Version 1.1.2</a></li>
4139N/A<li><a class="reference internal" href="#version-1-1-1">Version 1.1.1</a></li>
4139N/A<li><a class="reference internal" href="#version-1-1">Version 1.1</a></li>
4139N/A<li><a class="reference internal" href="#version-1-0-4">Version 1.0.4</a></li>
4139N/A<li><a class="reference internal" href="#version-1-0-3">Version 1.0.3</a></li>
4139N/A<li><a class="reference internal" href="#version-1-0-2">Version 1.0.2</a></li>
4139N/A<li><a class="reference internal" href="#version-1-0-1">Version 1.0.1</a></li>
4139N/A<li><a class="reference internal" href="#version-1-0">Version 1.0</a></li>
4139N/A</ul>
4139N/A</li>
4139N/A</ul>
4139N/A
4139N/A <h4>Previous topic</h4>
4139N/A <p class="topless"><a href="apiref.html"
4139N/A title="previous chapter">API Reference</a></p>
4139N/A <h3>This Page</h3>
4139N/A <ul class="this-page-menu">
4139N/A <li><a href="_sources/changes.txt"
4139N/A rel="nofollow">Show Source</a></li>
4139N/A </ul>
4139N/A<div id="searchbox" style="display: none">
4139N/A <h3>Quick search</h3>
4139N/A <form class="search" action="search.html" method="get">
4139N/A <input type="text" name="q" />
4139N/A <input type="submit" value="Go" />
4139N/A <input type="hidden" name="check_keywords" value="yes" />
4139N/A <input type="hidden" name="area" value="default" />
4139N/A </form>
4139N/A <p class="searchtip" style="font-size: 90%">
4139N/A Enter search terms or a module, class or function name.
4139N/A </p>
4139N/A</div>
4139N/A<script type="text/javascript">$('#searchbox').show(0);</script>
4139N/A </div>
4139N/A </div>
4139N/A <div class="clearer"></div>
4139N/A </div>
4139N/A <div class="related">
4139N/A <h3>Navigation</h3>
4139N/A <ul>
4139N/A <li class="right" style="margin-right: 10px">
4139N/A <a href="genindex.html" title="General Index"
4139N/A >index</a></li>
4139N/A <li class="right" >
4139N/A <a href="apiref.html" title="API Reference"
4139N/A >previous</a> |</li>
4139N/A <li><a href="index.html">Jansson 2.7 documentation</a> &raquo;</li>
4139N/A </ul>
4139N/A </div>
4139N/A <div class="footer">
4139N/A &copy; Copyright 2009-2014, Petri Lehtinen.
4139N/A Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
4139N/A </div>
4139N/A </body>
4139N/A</html>