Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

Unreleased

Full Changelog

  • concatenate objects #252

  • Unit test fails when doing a CMake out-of-tree build #241

  • Additional integration options #237

  • Can't use basic_json::iterator as a base iterator for std::move_iterator #233

  • Provide a FAQ #163

  • Create PULL_REQUEST_TEMPLATE.md #213 (whackashoe)

  • fixed noexcept; added constexpr #208 (nlohmann)

  • Add support for afl-fuzz testing #207 (mykter)

  • Issue #178 - Extending support to full uint64_t/int64_t range and unsigned type (updated) #193 (twelsby)

  • json::diff generates incorrect patch when removing multiple array elements. #269

  • -Wconversion warning #259

  • Maybe a bug #258

  • -Wconversion warnings #239

  • ambiguous overload for ‘push_back’ and ‘operator+=’ #235

  • Incorrect dumping of parsed numbers with exponents, but without decimal places #230

  • double values are serialized with commas as decimal points #228

  • Move semantics with std::initializer_list #225

  • abort during getline in yyfill #223

  • Wrong link in the README.md #217

  • Small bugs in json.hpp (get_number) and unit.cpp (non-standard integer type test) #199

  • GCC/clang floating point parsing bug in strtod() #195

  • Bugs in miloyip/nativejson-benchmark: roundtrips #187

  • Floating point exceptions #181

  • In basic_json::basic_json(const CompatibleArrayType& val), the requirement of CompatibleArrayType is not strict enough. #174

  • Implicit assignment to std::string fails #144

  • Fix Issue #265 #266 (06needhamt)

  • Issue #195 - update Travis to Trusty due to gcc/clang strtod() bug #196 (twelsby)

  • Compiler Errors With JSON.hpp #265

  • VS2015 compile fail #260

  • Error when using json in g++ #254

  • Update long-term goals #246

  • Error compile Android NDK error: ‘strtof’ is not a member of ‘std’ #219

  • Conflicting typedef of ssize_t on Windows 32 bit when using Boost.Python #204

  • Integer conversion to unsigned #178

  • Define CMake/CTest tests #247 (robertmrk)

  • Out of tree builds and a few other miscellaneous CMake cleanups. #242 (ChrisKitching)

  • Implement additional integration options #238 (robertmrk)

  • make serialization locale-independent #232 (nlohmann)

  • fixes #223 by updating README.md #227 (kevin--)

  • Use namespace std for int64_t and uint64_t #226 (lv-zheng)

  • Added missing cerrno header to fix ERANGE compile error on android #222 (Teemperor)

  • Corrected readme #218 (Annihil)

  • replaced ssize_t occurrences with auto (addresses #204) #205 (nlohmann)

  • Fixed issue #199 - Small bugs in json.hpp (get_number) and unit.cpp (non-standard integer type test) #200 (twelsby)

  • Fix broken link #197 (vog)

v1.1.0 (2016-01-24)

Full Changelog

  • JSON performance benchmark comparision #177

  • Since re2c is often ignored in pull requests, it may make sense to make a contributing.md file #175

  • Add assertions #168

  • range based for loop for objects #83

  • Implementation of get_ref() #184 (dariomt)

  • Small error in pull #185 #194

  • Bugs in miloyip/nativejson-benchmark: floating-point parsing #186

  • Cannot index by key of type static constexpr const char* #171

  • Fixed Issue #171 - added two extra template overloads of operator[] for T* arguments #189 (twelsby)

  • Fixed issue #167 - removed operator ValueType() condition for VS2015 #188 (twelsby)

  • Floating point equality #185

  • Unused variables in catch #180

  • Typo in documentation #179

  • Android? #172

  • MSVC 2015 build fails when attempting to compare object_t #167

  • Member detector is not portable #166

  • Unnecessary const_cast #162

  • Consider submitting this to the Boost Library Incubator #66

  • Fixed Issue #186 - add strto(f|d|ld) overload wrappers, “-0.0” special case and FP trailing zero #191 (twelsby)

  • Issue #185 - remove approx() and use #pragma to kill warnings #190 (twelsby)

  • Fixed some typos in CONTRIBUTING.md #182 (nibroc)

v1.0.0 (2015-12-27)

Full Changelog

  • add key name to exception #160

  • prevent json.hpp from emitting compiler warnings #154

  • json::parse(string) does not check utf8 bom #152

  • unsigned 64bit values output as signed #151

  • Wish feature: json5 #150

  • overload of at() with default value #133

  • Memory leak in face of exceptions #118

  • Find and Count for arrays #117

  • dynamically constructing an arbitrarily nested object #114

  • object field accessors #103

  • v8pp and json #95

  • Wishlist #65

  • Windows/Visual Studio (through 2013) is unsupported #62

  • Bug in basic_json::operator[] const overload #135

  • wrong enable_if for const pointer (instead of pointer-to-const) #134

  • Visual Studio 14 Debug assertion failed #125

  • Compile error with g++ 4.9.3 cygwin 64-bit #112

  • error: unterminated raw string #109

  • [clang-3.6.2] string/sstream with number to json issue #107

  • Getting member discarding qualifyer #159

  • basic_json::iterator::value() output includes quotes while basic_json::iterator::key() doesn't #158

  • Indexing const basic\_json\<\> with const basic\_string\<char\> #157

  • token_type_name(token_type t): not all control paths return a value #156

  • Unable to compile on MSVC 2015 with SDL checking enabled: This function or variable may be unsafe. #149

  • dump() convert strings encoded by utf-8 to shift-jis on windows 10. #147

  • Unable to get field names in a json object #145

  • json.hpp:5746:32: error: ‘to_string’ is not a member of ‘std’ #136

  • Returning any data type #113

  • vector<json> copy constructor really weird #108

  • maintaining order of keys during iteration #106

  • Replace sprintf with hex function, this fixes #149 #153 (whackashoe)

  • Fix character skipping after a surrogate pair #146 (robertmrk)

  • Detect correctly pointer-to-const #137 (dariomt)

  • disabled “CopyAssignable” test for MSVC in Debug mode, see #125 #131 (dariomt)

  • removed stream operator for iterator, resolution for #125 #130 (dariomt)

  • fixed typos in comments for examples #129 (dariomt)

  • Remove superfluous inefficiency #126 (d-frey)

  • remove invalid parameter ‘-stdlib=libc++’ in CMakeLists.txt #124 (emvivre)

  • exception-safe object creation, fixes #118 #122 (d-frey)

  • Fix small oversight. #121 (ColinH)

  • Overload parse() to accept an rvalue reference #120 (silverweed)

  • Use the right variable name in doc string #115 (whoshuu)

v1.0.0-rc1 (2015-07-26)

  • Adjust wording to JSON RFC #97

  • access by (const) reference #91

  • is_integer and is_float tests #90

  • MinGW have no std::to_string #80

  • erase elements using iterators #57

  • Removing item from array #56

  • Serialize/Deserialize like PHP? #55

  • Document erase, count, and iterators key and value #52

  • Supported compilers #50

  • Use non-member begin/end #48

  • Erase key #47

  • Key iterator #46

  • Add count member function #45

  • Printing attribute names #39

  • Avoid using spaces when encoding without pretty print #31

  • Cannot encode long numbers #30

  • Creating an empty array #27

  • Custom allocator support #25

  • create a header-only version #16

  • Add to_string overload for indentation #13

  • move code into namespace #9

  • free functions for explicit objects and arrays in initializer lists #8

  • Test case coverage #2

  • Parse streams incrementally. #40 (aburgh)

  • Binary string causes numbers to be dumped as hex #101

  • failed to iterator json object with reverse_iterator #100

  • static analysis warnings #94

  • reverse_iterator operator inheritance problem #93

  • Nonstandard integer type #89

  • lexer::get_number return NAN #82

  • Handle infinity and NaN cases #70

  • errors in g++-4.8.1 #68

  • Double quotation mark is not parsed correctly #60

  • Do not use std::to_string #51

  • Confused about iterating through json objects #49

  • Problem getting vector (array) of strings #44

  • Compilation error due to assuming that private=public #43

  • Use of deprecated implicit copy constructor #42

  • dumping a small number_float just outputs 0.000000 #37

  • Avoid using spaces when encoding without pretty print #31

  • Cannot encode long numbers #30

  • segmentation fault when iterating over empty arrays/objects #28

  • Improper parsing of JSON string “\” #17

  • Don't return “const values” #15

  • string parser does not recognize uncompliant strings #12

  • free functions for explicit objects and arrays in initializer lists #8

  • Runtime error in Travis job #1

  • Fix compilation of json_unit with GCC 5 #59 (dkopecek)

  • Finish documenting the public interface in Doxygen #102

  • ‘noexcept’ : unknown override specifier #99

  • Keys when iterating over objects #67

  • Complete brief documentation #61

  • Get coverage back to 100% #58

  • possible double-free in find function #11

  • UTF-8 encoding/deconding/testing #10

  • Add unit tests #4

  • Drop C++98 support #3

  • Keyword ‘inline’ is useless when member functions are defined in headers #87 (ahamez)

  • Remove useless typename #86 (ahamez)

  • Avoid warning with Xcode's clang #85 (ahamez)

  • Fix typos #73 (aqnouch)

  • Replace default\_callback function with nullptr and check for null… #72 (aburgh)

  • support enum #71 (likebeta)

  • Fix performance regression introduced with the parsing callback feature. #69 (aburgh)

  • Improve the implementations of the comparission-operators #63 (Florianjw)

  • Feature/small float serialization #38 (jrandall)

  • template version with re2c scanner #36 (nlohmann)

  • more descriptive documentation in example #33 (luxe)

  • Fix string conversion under Clang #26 (wancw)

  • Fixed dumping of strings #24 (Teemperor)

  • Added a remark to the readme that coverage is GCC only for now #23 (Teemperor)

  • Unicode escaping #22 (Teemperor)

  • Implemented the JSON spec for string parsing for everything but the \uXXXX escaping #21 (Teemperor)

  • add the std iterator typedefs to iterator and const_iterator #19 (kirkshoop)

  • Fixed escaped quotes #18 (Teemperor)

  • Fix double delete on std::bad_alloc exception #14 (elliotgoodrich)

  • Added CMake and lcov #6 (Teemperor)

  • Version 2.0 #5 (nlohmann)

* This Change Log was automatically generated by github_changelog_generator