All Versions
7
Latest Version
Avg Release Cycle
290 days
Latest Release
2798 days ago

Changelog History

  • v1.1.0 Changes

    August 25, 2016

    Highlights

    ➕ Added

    • ➕ Add GenericDocument ctor overload to specify JSON type (#369)
    • ➕ Add FAQ (#372, #373, #374, #376)
    • ➕ Add forward declaration header fwd.h
    • ➕ Add @platformio Library Registry manifest file (#400)
    • Implement assignment operator for BigInteger (#404)
    • ➕ Add comments support (#443)
    • ➕ Adding coapp definition (#460)
    • ✅ documenttest.cpp: EXPECT_THROW when checking empty allocator (470)
    • 📜 GenericDocument: add implicit conversion to ParseResult (#480)
    • 🏁 Use <wchar.h> with C++ linkage on Windows ARM (#485)
    • Detect little endian for Microsoft ARM targets
    • Check Nan/Inf when writing a double (#510)
    • ➕ Add JSON Schema Implementation (#522)
    • ➕ Add iostream wrapper (#530)
    • ➕ Add Jsonx example for converting JSON into JSONx (a XML format) (#531)
    • ➕ Add optional unresolvedTokenIndex parameter to Pointer::Get() (#532)
    • ➕ Add encoding validation option for Writer/PrettyWriter (#534)
    • ➕ Add Writer::SetMaxDecimalPlaces() (#536)
    • 👌 Support {0, } and {0, m} in Regex (#539)
    • ➕ Add Value::Get/SetFloat(), Value::IsLossLessFloat/Double() (#540)
    • ➕ Add stream position check to reader unit tests (#541)
    • ➕ Add Templated accessors and range-based for (#542)
    • ➕ Add (Pretty)Writer::RawValue() (#543)
    • Add Document::Parse(std::string), Document::Parse(const char*, size_t length) and related APIs. (#553)
    • ➕ Add move constructor for GenericSchemaDocument (#554)
    • ➕ Add VS2010 and VS2015 to AppVeyor CI (#555)
    • ➕ Add parse-by-parts example (#556, #562)
    • 👌 Support parse number as string (#564, #589)
    • ➕ Add kFormatSingleLineArray for PrettyWriter (#577)
    • ➕ Added optional support for trailing commas (#584)
    • ➕ Added filterkey and filterkeydom examples (#615)
    • ➕ Added npm docs (#639)
    • 👍 Allow options for writing and parsing NaN/Infinity (#641)
    • Add std::string overload to PrettyWriter::Key() when RAPIDJSON_HAS_STDSTRING is defined (#698)

    🛠 Fixed

    • 🛠 Fix gcc/clang/vc warnings (#350, #394, #397, #444, #447, #473, #515, #582, #589, #595, #667)
    • 🛠 Fix documentation (#482, #511, #550, #557, #614, #635, #660)
    • 🛠 Fix emscripten alignment issue (#535)
    • 🛠 Fix missing allocator to uses of AddMember in document (#365)
    • CMake will no longer complain that the minimum CMake version is not specified (#501)
    • 👉 Make it usable with old VC8 (VS2005) (#383)
    • 🚚 Prohibit C++11 move from Document to Value (#391)
    • Try to fix incorrect 64-bit alignment (#419)
    • Check return of fwrite to avoid warn_unused_result build failures (#421)
    • 🛠 Fix UB in GenericDocument::ParseStream (#426)
    • 📜 Keep Document value unchanged on parse error (#439)
    • ➕ Add missing return statement (#450)
    • 🛠 Fix Document::Parse(const Ch*) for transcoding (#478)
    • encodings.h: fix typo in preprocessor condition (#495)
    • Custom Microsoft headers are necessary only for Visual Studio 2012 and lower (#559)
    • 🛠 Fix memory leak for invalid regex (26e69ff)
    • 🛠 Fix a bug in schema minimum/maximum keywords for 64-bit integer (e7149d6)
    • 🛠 Fix a crash bug in regex (#605)
    • 🛠 Fix schema "required" keyword cannot handle duplicated keys (#609)
    • 🛠 Fix cmake CMP0054 warning (#612)
    • ➕ Added missing include guards in istreamwrapper.h and ostreamwrapper.h (#634)
    • 🛠 Fix undefined behaviour (#646)
    • 🛠 Fix buffer overrun using PutN (#673)
    • 🛠 Fix rapidjson::value::Getstd::string() may returns wrong data (#681)
    • ➕ Add Flush() for all value types (#689)
    • 🖐 Handle malloc() fail in PoolAllocator (#691)
    • 🛠 Fix builds on x32 platform. #703

    🔄 Changed

    • Clarify problematic JSON license (#392)
    • 🚚 Move Travis to container based infrastructure (#504, #558)
    • 👉 Make whitespace array more compact (#513)
    • ⚡️ Optimize Writer::WriteString() with SIMD (#544)
    • x86-64 48-bit pointer optimization for GenericValue (#546)
    • Define RAPIDJSON_HAS_CXX11_RVALUE_REFS directly in clang (#617)
    • 👉 Make GenericSchemaDocument constructor explicit (#674)
    • ⚡️ Optimize FindMember when use std::string (#690)
  • v1.0.2 Changes

    May 14, 2015

    ➕ Added

    • ➕ Add Value::XXXMember(...) overloads for std::string (#335)

    🛠 Fixed

    • Include rapidjson.h for all internal/error headers.
    • 📜 Parsing some numbers incorrectly in full-precision mode (kFullPrecisionParseFlag) (#342)
    • 🛠 Fix alignment of 64bit platforms (#328)
    • 🛠 Fix MemoryPoolAllocator::Clear() to clear user-buffer (0691502)

    🔄 Changed

    • CMakeLists for include as a thirdparty in projects (#334, #337)
    • 🔄 Change Document::ParseStream() to use stack allocator for Reader (ffbe386)
  • v1.0.1 Changes

    April 25, 2015

    ➕ Added

    🛠 Fixed

    • 📜 Parsing of some numbers (e.g. "1e-00011111111111") causing assertion (#314).
    • Visual C++ 32-bit compilation error in diyfp.h (#317).
  • v1.0.0 Changes

    April 22, 2015

    🚀 This is the final v1.0.0 release of RapidJSON.

    🚀 After the v1.0-beta, a lot of efforts have been put to make RapidJSON 100% line-of-code covered by the unit tests.

    Major changes since v1.0-beta

    • 🛠 Fixed a bug in trimming long number sequence (4824f12)
    • 🛠 Fix double quote in unicode escape (#288)
    • 🛠 Fix negative zero roundtrip (double only) (#289)
    • ✂ Remove an invalid Document::ParseInsitu() API (e7f1c6d)
    • ✂ Remove dead branches and add more unit tests for coverage
    • Standardize behavior of memcpy() and malloc() (0c5c153, #305, 0e8bbe5)
    • ➕ Add version macros (#311)
  • v1.0-beta Changes

    April 08, 2015

    🚀 This is the first pre-release of RapidJSON at GitHub.

    🛠 There have been a lot of improvements and bug fixes since v0.11. Some notable ones are listed as follows.

    🔋 Features

    • RFC 7159 (#101)
    • 📜 Optional Iterative Parser (#76)
    • Deep-copy values (#20)
    • Error code and message (#27)
    • ASCII Encoding (#70)
    • 📜 kParseStopWhenDoneFlag (#83)
    • 📜 kParseFullPrecisionFlag (881c91d)
    • ➕ Add Key() to handler concept (#134)
    • 👍 C++11 compatibility and support (#128)

    Optimizations

    • ⚡️ Optimized number-to-string and vice versa conversions (#137, #80)
    • Short-String Optimization (#131)
    • Local stream optimization by traits (#32)

    🏗 Build

    • Migrating from Premake to CMAKE (#192)
    • ✂ Remove other JSON libraries for performance comparison (#180)
    • Travis & Appveyor Continuous Integration, with Valgrind verification (#24, #242)
    • ⚠ Resolve all warning reports

    📚 Documentation

    • 📚 Redo all documentation
    • English, Simplified Chinese
    • Doxygen with Markdown
    • Gitbook

    Notes

    Note that the copyright owner is changed but the project is still distributed under MIT license.

    🚀 Please help testing this release in your development platform. The API shall not be changed in v1.0. Only bug fixes are permitted.

    🚀 It is planned to release the official v1.0 at 15 April 2015.

  • v0.11

    November 16, 2012