blob: 01351671c6d82acc72e858abe0500de6dea78376 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.7-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<title>RapidJSON: Change Log</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygenextra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="topbanner"><a href="https://github.com/Tencent/rapidjson" title="RapidJSON GitHub"><i class="githublogo"></i></a></div>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md__c_h_a_n_g_e_l_o_g.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Change Log </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>All notable changes to this project will be documented in this file. This project adheres to <a href="http://semver.org/">Semantic Versioning</a>.</p>
<h1><a class="anchor" id="autotoc_md12"></a>
&lt;a href="https://github.com/Tencent/rapidjson/compare/v1.1.0...HEAD"&gt;Unreleased&lt;/a&gt;</h1>
<h1><a class="anchor" id="autotoc_md13"></a>
1.1.0 - 2016-08-25</h1>
<h2><a class="anchor" id="autotoc_md14"></a>
Added</h2>
<ul>
<li>Add GenericDocument ctor overload to specify JSON type (#369)</li>
<li>Add FAQ (#372, #373, #374, #376)</li>
<li>Add forward declaration header <code><a class="el" href="fwd_8h_source.html">fwd.h</a></code></li>
<li>Add @PlatformIO Library Registry manifest file (#400)</li>
<li>Implement assignment operator for BigInteger (#404)</li>
<li>Add comments support (#443)</li>
<li>Adding coapp definition (#460)</li>
<li>documenttest.cpp: EXPECT_THROW when checking empty allocator (470)</li>
<li>GenericDocument: add implicit conversion to ParseResult (#480)</li>
<li>Use &lt;wchar.h&gt; with C++ linkage on Windows ARM (#485)</li>
<li>Detect little endian for Microsoft ARM targets</li>
<li>Check Nan/Inf when writing a double (#510)</li>
<li>Add JSON Schema Implementation (#522)</li>
<li>Add iostream wrapper (#530)</li>
<li>Add Jsonx example for converting JSON into JSONx (a XML format) (#531)</li>
<li>Add optional unresolvedTokenIndex parameter to Pointer::Get() (#532)</li>
<li>Add encoding validation option for Writer/PrettyWriter (#534)</li>
<li>Add Writer::SetMaxDecimalPlaces() (#536)</li>
<li>Support {0, } and {0, m} in Regex (#539)</li>
<li>Add Value::Get/SetFloat(), Value::IsLossLessFloat/Double() (#540)</li>
<li>Add stream position check to reader unit tests (#541)</li>
<li>Add Templated accessors and range-based for (#542)</li>
<li>Add (Pretty)Writer::RawValue() (#543)</li>
<li>Add Document::Parse(std::string), Document::Parse(const char*, size_t length) and related APIs. (#553)</li>
<li>Add move constructor for GenericSchemaDocument (#554)</li>
<li>Add VS2010 and VS2015 to AppVeyor CI (#555)</li>
<li>Add parse-by-parts example (#556, #562)</li>
<li>Support parse number as string (#564, #589)</li>
<li>Add kFormatSingleLineArray for PrettyWriter (#577)</li>
<li>Added optional support for trailing commas (#584)</li>
<li>Added filterkey and filterkeydom examples (#615)</li>
<li>Added npm docs (#639)</li>
<li>Allow options for writing and parsing NaN/Infinity (#641)</li>
<li>Add std::string overload to PrettyWriter::Key() when RAPIDJSON_HAS_STDSTRING is defined (#698)</li>
</ul>
<h2><a class="anchor" id="autotoc_md15"></a>
Fixed</h2>
<ul>
<li>Fix gcc/clang/vc warnings (#350, #394, #397, #444, #447, #473, #515, #582, #589, #595, #667)</li>
<li>Fix documentation (#482, #511, #550, #557, #614, #635, #660)</li>
<li>Fix emscripten alignment issue (#535)</li>
<li>Fix missing allocator to uses of AddMember in document (#365)</li>
<li>CMake will no longer complain that the minimum CMake version is not specified (#501)</li>
<li>Make it usable with old VC8 (VS2005) (#383)</li>
<li>Prohibit C++11 move from Document to Value (#391)</li>
<li>Try to fix incorrect 64-bit alignment (#419)</li>
<li>Check return of fwrite to avoid warn_unused_result build failures (#421)</li>
<li>Fix UB in GenericDocument::ParseStream (#426)</li>
<li>Keep Document value unchanged on parse error (#439)</li>
<li>Add missing return statement (#450)</li>
<li>Fix Document::Parse(const Ch*) for transcoding (#478)</li>
<li><a class="el" href="encodings_8h_source.html">encodings.h</a>: fix typo in preprocessor condition (#495)</li>
<li>Custom Microsoft headers are necessary only for Visual Studio 2012 and lower (#559)</li>
<li>Fix memory leak for invalid regex (26e69ffde95ba4773ab06db6457b78f308716f4b)</li>
<li>Fix a bug in schema minimum/maximum keywords for 64-bit integer (e7149d665941068ccf8c565e77495521331cf390)</li>
<li>Fix a crash bug in regex (#605)</li>
<li>Fix schema "required" keyword cannot handle duplicated keys (#609)</li>
<li>Fix cmake CMP0054 warning (#612)</li>
<li>Added missing include guards in <a class="el" href="istreamwrapper_8h_source.html">istreamwrapper.h</a> and <a class="el" href="ostreamwrapper_8h_source.html">ostreamwrapper.h</a> (#634)</li>
<li>Fix undefined behaviour (#646)</li>
<li>Fix buffer overrun using PutN (#673)</li>
<li>Fix rapidjson::value::Get&lt;std::string&gt;() may returns wrong data (#681)</li>
<li>Add Flush() for all value types (#689)</li>
<li>Handle malloc() fail in PoolAllocator (#691)</li>
<li>Fix builds on x32 platform. #703</li>
</ul>
<h2><a class="anchor" id="autotoc_md16"></a>
Changed</h2>
<ul>
<li>Clarify problematic JSON license (#392)</li>
<li>Move Travis to container based infrastructure (#504, #558)</li>
<li>Make whitespace array more compact (#513)</li>
<li>Optimize Writer::WriteString() with SIMD (#544)</li>
<li>x86-64 48-bit pointer optimization for GenericValue (#546)</li>
<li>Define RAPIDJSON_HAS_CXX11_RVALUE_REFS directly in clang (#617)</li>
<li>Make GenericSchemaDocument constructor explicit (#674)</li>
<li>Optimize FindMember when use std::string (#690)</li>
</ul>
<h1><a class="anchor" id="autotoc_md17"></a>
&lt;a href="https://github.com/Tencent/rapidjson/compare/v1.0.1...v1.0.2"&gt;1.0.2&lt;/a&gt; - 2015-05-14</h1>
<h2><a class="anchor" id="autotoc_md18"></a>
Added</h2>
<ul>
<li>Add Value::XXXMember(...) overloads for std::string (#335)</li>
</ul>
<h2><a class="anchor" id="autotoc_md19"></a>
Fixed</h2>
<ul>
<li>Include <a class="el" href="rapidjson_8h.html" title="common definitions and configuration">rapidjson.h</a> for all internal/error headers.</li>
<li>Parsing some numbers incorrectly in full-precision mode (<code>kFullPrecisionParseFlag</code>) (#342)</li>
<li>Fix some numbers parsed incorrectly (#336)</li>
<li>Fix alignment of 64bit platforms (#328)</li>
<li>Fix MemoryPoolAllocator::Clear() to clear user-buffer (0691502573f1afd3341073dd24b12c3db20fbde4)</li>
</ul>
<h2><a class="anchor" id="autotoc_md20"></a>
Changed</h2>
<ul>
<li>CMakeLists for include as a thirdparty in projects (#334, #337)</li>
<li>Change Document::ParseStream() to use stack allocator for Reader (ffbe38614732af8e0b3abdc8b50071f386a4a685)</li>
</ul>
<h1><a class="anchor" id="autotoc_md21"></a>
&lt;a href="https://github.com/Tencent/rapidjson/compare/v1.0.0...v1.0.1"&gt;1.0.1&lt;/a&gt; - 2015-04-25</h1>
<h2><a class="anchor" id="autotoc_md22"></a>
Added</h2>
<ul>
<li>Changelog following <a href="https://github.com/olivierlacan/keep-a-changelog">Keep a CHANGELOG</a> suggestions.</li>
</ul>
<h2><a class="anchor" id="autotoc_md23"></a>
Fixed</h2>
<ul>
<li>Parsing of some numbers (e.g. "1e-00011111111111") causing assertion (#314).</li>
<li>Visual C++ 32-bit compilation error in <code><a class="el" href="diyfp_8h_source.html">diyfp.h</a></code> (#317).</li>
</ul>
<h1><a class="anchor" id="autotoc_md24"></a>
&lt;a href="https://github.com/Tencent/rapidjson/compare/v1.0-beta...v1.0.0"&gt;1.0.0&lt;/a&gt; - 2015-04-22</h1>
<h2><a class="anchor" id="autotoc_md25"></a>
Added</h2>
<ul>
<li>100% <a href="https://coveralls.io/r/Tencent/rapidjson?branch=master">Coverall</a> coverage.</li>
<li>Version macros (#311)</li>
</ul>
<h2><a class="anchor" id="autotoc_md26"></a>
Fixed</h2>
<ul>
<li>A bug in trimming long number sequence (4824f12efbf01af72b8cb6fc96fae7b097b73015).</li>
<li>Double quote in unicode escape (#288).</li>
<li>Negative zero roundtrip (double only) (#289).</li>
<li>Standardize behavior of <code>memcpy()</code> and <code>malloc()</code> (0c5c1538dcfc7f160e5a4aa208ddf092c787be5a, #305, 0e8bbe5e3ef375e7f052f556878be0bd79e9062d).</li>
</ul>
<h2><a class="anchor" id="autotoc_md27"></a>
Removed</h2>
<ul>
<li>Remove an invalid <code>Document::ParseInsitu()</code> API (e7f1c6dd08b522cfcf9aed58a333bd9a0c0ccbeb).</li>
</ul>
<h1><a class="anchor" id="autotoc_md28"></a>
1.0-beta - 2015-04-8</h1>
<h2><a class="anchor" id="autotoc_md29"></a>
Added</h2>
<ul>
<li>RFC 7159 (#101)</li>
<li>Optional Iterative Parser (#76)</li>
<li>Deep-copy values (#20)</li>
<li>Error code and message (#27)</li>
<li>ASCII Encoding (#70)</li>
<li><code>kParseStopWhenDoneFlag</code> (#83)</li>
<li><code>kParseFullPrecisionFlag</code> (881c91d696f06b7f302af6d04ec14dd08db66ceb)</li>
<li>Add <code>Key()</code> to handler concept (#134)</li>
<li>C++11 compatibility and support (#128)</li>
<li>Optimized number-to-string and vice versa conversions (#137, #80)</li>
<li>Short-String Optimization (#131)</li>
<li>Local stream optimization by traits (#32)</li>
<li>Travis &amp; Appveyor Continuous Integration, with Valgrind verification (#24, #242)</li>
<li>Redo all documentation (English, Simplified Chinese)</li>
</ul>
<h2><a class="anchor" id="autotoc_md30"></a>
Changed</h2>
<ul>
<li>Copyright ownership transferred to THL A29 Limited (a Tencent company).</li>
<li>Migrating from Premake to CMAKE (#192)</li>
<li>Resolve all warning reports</li>
</ul>
<h2><a class="anchor" id="autotoc_md31"></a>
Removed</h2>
<ul>
<li>Remove other JSON libraries for performance comparison (#180)</li>
</ul>
<h1><a class="anchor" id="autotoc_md32"></a>
0.11 - 2012-11-16</h1>
<h1><a class="anchor" id="autotoc_md33"></a>
0.1 - 2011-11-18</h1>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.7-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
</ul>
</div>
</body>
</html>