All Versions
34
Latest Version
Avg Release Cycle
60 days
Latest Release
211 days ago

Changelog History
Page 1

  • v3.9.1

    August 06, 2020

    πŸš€ Release date: 2020-08-06
    SHA-256: 7804b38146921d03374549c9e2a5e3acda097814c43caf2b96a0278e58df26e0 (json.hpp), 6bea5877b1541d353bd77bdfbdb2696333ae5ed8f9e8cc22df657192218cad91 (include.zip)

    Summary

    This release fixes two bugs in the features introduced in release 3.9.0. The lexer did not accept consecutive comments , and ordered_json lacked some functions from json. All changes are backward-compatible.

    πŸ‘Œ πŸ’° Note you can support this project via GitHub sponsors or PayPal.

    🍱 πŸ› Bug Fixes

    • The lexer did not accept input with two or more consecutive comments (e.g. /* one */ /* two */ []). #2330 #2332
    • The newly introduced ordered_json container did not implement the complete interface of basic_json which broke existing code when json was replaced by ordered_json, in particular when trying to call ordered_json::parse. #2315 #2319 #2331

    🍱 πŸ”¨ Further Changes

    • Install pkg-config file to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR #2318
    • Make installation directory of pkg-config file depend on CMAKE_INSTALL_LIBDIR. #2314
    • πŸ›  Fix -Wimplicit-fallthrough warning. #2333
    • πŸ›  Fix name of Homebrew formula in documentation. #2326 #2327
    • πŸ›  Fix typo in documentation. #2320

    🍱 πŸ”₯ Deprecated functions

    🚚 The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

    πŸ—„ All deprecations are annotated with HEDLEY_DEPRECATED_FOR to report which function to use instead.

  • v3.9.0

    July 27, 2020

    Full Changelog

    • Unknown Type Name clang error when using NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE #2313
    • ⚠ Clang 10.0 / GCC 10.1 warnings on disabled exceptions #2304
    • Application stalls indefinitely with message byte size 10 #2293
    • πŸ”— linker error #2292
    • βž• Add support for high-precision numbers in UBJSON encoding #2286
    • NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE fails if the length of the argument is 10 #2280
    • Custom types : MACRO expansion bug #2267
    • to/from_json Failing To Convert String #2238
    • ⚠ clang 9.0 report warning: unused type alias 'size_type' [-Wunused-local-typedef] #2221
    • Enormous array created when working with map<int,T> #2220
    • Can I disable sorting of json values #2219
    • Getting Qt types to work #2217
    • Convert to Qt QVariant #2216
    • How to custom serialize same data type of vector? #2215
    • πŸ‘ json constructor does not support std::optional #2214
    • πŸ“œ Failing to Parse Valid JSON #2209
    • (De-)Serialization of std::variant with namespaces #2208
    • βž• Addint support for complex type #2207
    • array_index possible out of range #2205
    • Object deserialized as array #2204
    • Sending to a function a reference to a sub-branch #2200
    • How to Serialize derived class to JSON object? #2199
    • JSON incorrectly serialized #2198
    • Exception Unhandled out_of_range error #2197
    • msgpack serialisation : float is treated as 64bit float, not 32bit float. #2196
    • Is it possible to use compile-time type guarantees for JSON structures? #2195
    • 🐎 Question : performance against python dict #2194
    • vs2017 compile error #2192
    • Check if a key exists #2191
    • πŸ— Failed to run tests due to missing test data on builders without Internet access #2190
    • βœ… 3.8.0: unit-cbor.cpp test failures #2189
    • 'nlohmann/json.hpp' file not found #2188
    • How to send json data over the wire? #2185
    • πŸ‘ Ubuntu 16 not supporting nlohmann/json? #2184
    • .get<std::string> causing emdash errors #2180
    • Object properties should not be re-sorted alphabetically #2179
    • Custom type registration : instrusive API #2175
    • Many version of the function "void to_json(json& j, const MyStruct& struct)" #2171
    • How should strings be escaped? #2155
    • βž• Adding a value to an existing json puts it at the beginning instead of the end #2149
    • The header file is big, can we use what we need. #2134
    • 0️⃣ Changing the default format for unordered_map (or other set) #2132
    • Getting size of deserialized bson document #2131
    • implicit conversion failure #2128
    • πŸ“œ Error thrown when parsing in a subclass #2124
    • explicit conversion to string not considered for std::map keys in GCC8 #2096
    • βž• Add support for JSONC #2061
    • Library provides template arg for string_type but assumes std::string in some places #2059
    • πŸ“œ incremental parsing with sax_parser #2030
    • Question about flatten and unflatten #1989
    • πŸ“œ CBOR parser doesn't skip tags #1968
    • 🏁 Compilation failure using Clang on Windows #1898
    • πŸ— Fail to build when including json.hpp as a system include #1818
    • πŸ“œ Parsing string into json doesn't preserve the order correctly. #1817
    • [C++17] Allow std::optional to convert to nlohmann::json #1749
    • How can I save json object in file in order? #1717
    • πŸ‘Œ Support for Comments #1513
    • clang compiler: error : unknown type name 'not' #1119
    • dump() without alphabetical order #1106
    • operator T() considered harmful #958
    • Order of the elements in JSON object #952
    • How to prevent alphabetical sorting of data? #727
    • Why is an object ordering values by Alphabetical Order? #660
    • πŸ”‹ Feature request: Comments #597
    • Head Elements Sorting #543
    • Automatic ordered JSON #424
    • πŸ‘Œ Support for comments. #376
    • πŸ‘ Optional comment support. #363
    • Strip comments / Minify #294
    • maintaining order of keys during iteration #106

    • πŸ“š Update documentation #2312 (nlohmann)

    • πŸ›  Fix bug in CBOR tag handling #2308 (nlohmann)

    • added inline to NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE macro #2306 (jwittbrodt)

    • πŸ›  fixes unused variable 'ex' for #2304 #2305 (AODQ)

    • βž• Add test with multiple translation units #2301 (nlohmann)

    • πŸ”€ Merge GitHub actions #2300 (nlohmann)

    • πŸ›  Fix unused parameter #2299 (nlohmann)

    • βž• Add support for high-precision numbers in UBJSON encoding #2297 (nlohmann)

    • fix eof for get_binary and get_string #2294 (jprochazk)

    • Serialisation macros: increase upper bound on number of member variables #2287 (pfeatherstone)

    • βž• add inline specifier for detail::combine #2285 (T0b1-iOS)

    • βž• Add static assertion for missing binary function in SAX interface #2282 (nlohmann)

    • Add test for target_include_directories #2279 (nlohmann)

    • πŸ‘• Clean up maintainer Makefiles and fix some linter warnings #2274 (nlohmann)

    • βž• Add option to ignore CBOR tags #2273 (nlohmann)

    • Hash function without allocation #2269 (nlohmann)

    • βž• Add ClangCL for MSVC #2268 (t-b)

    • πŸ‘‰ Makefile: Always use SED variable #2264 (t-b)

    • βž• Add Xcode 12 CI #2262 (nlohmann)

    • 🏁 Make library work with Clang on Windows #2259 (nlohmann)

    • βž• Add ordered_json specialization with ordered object keys #2258 (nlohmann)

    • βž• Add pkg-config file #2253 (ericonr)

    • πŸ›  Fix regression from #2181 #2251 (nlohmann)

    • 🏷 Tag binary values in cbor if set #2244 (matthewbauer)

    • πŸ”§ Make assert configurable via JSON_ASSERT #2242 (nlohmann)

    • βž• Add specialization of get_to #2233 (nlohmann)

    • πŸ“š Refine documentation of error_handler parameter #2232 (nlohmann)

    • Simplify conversion from/to custom types #2225 (nlohmann)

    • βœ‚ Remove unused typedefs #2224 (nlohmann)

    • Enable CMake policy CMP0077 #2222 (alexreinking)

    • βž• Add option to ignore comments in parse/accept functions #2212 (nlohmann)

    • πŸ›  Fix Clang-Tidy warnings #2211 (nlohmann)

    • πŸ‘ Simple ordered_json that works on all supported compilers #2206 (gatopeich)

    • πŸ‘‰ Use unsigned indizies for array index in json pointer #2203 (t-b)

    • βž• Add option to not rely on Internet connectivity during test stage #2202 (nlohmann)

    • Serialize floating-point numbers with 32 bit when possible (MessagePack) #2201 (nlohmann)

    • Fix consistency in function int\_to\_string\(\) #2193 (dota17)

    • πŸ›  Fix issue#1275 #2181 (dota17)

    • πŸ‘ C++20 support by removing swap specialization #2176 (gracicot)

    • Feat/explicit conversion operator #1559 (theodelrieu)

  • v3.8.0

    June 14, 2020

    Full Changelog

    • sorry delete this issue, i'm stupid #2187
    • Append to a std::nlohmann::json type #2186
    • Object properties should not be re-sorted alphabetically #2179
    • Some troubles to compile the last revision #2177
    • ​#​ TopΒ levelΒ CMakeLists.txt​ ​project​(FOO) ... πŸ‘‰ ​option​(FOO_USE_EXTERNAL_JSON ​"UseΒ anΒ externalΒ JSONΒ library"​ ​OFF​) ... ​add_subdirectory​(thirdparty) ... ​add_library​(fooΒ ...) ... ​#​ NoteΒ thatΒ theΒ namespacedΒ targetΒ willΒ alwaysΒ beΒ availableΒ regardlessΒ ofΒ the​ ​#​ importΒ method​ πŸ”— ​target_link_libraries​(foo ​PRIVATE​ nlohmann_json::nlohmann_json) #2170
    • https://www.github.com/nlohmann/json/tree/develop/include%2Fnlohmann%2Fjson\_fwd.hpp #2169
    • templated from_json of non primitive types causes gcc error #2168
    • ⚠ few warnings/errors in copy assignment #2167
    • ⬆️ Different output when upgrading from clang 9 to clang 10 #2166
    • πŸ— Cannot build with VS 2019 / C++17 #2163
    • Q: When I received an illegal string,How the program knows? #2162
    • Problem while reading a json file #2161
    • converting std::chrono::system_clock::time_point to json. #2159
    • πŸ“œ how to parse vector<struct> format #2157
    • nlohmann::json and =nullptr #2156
    • βœ… test-cbor fails #2154
    • Accessing array inside array syntax? #2151
    • Best way to catch errors when querying json #2150
    • βž• Adding a value to an existing json puts it at the beginning instead of the end #2149
    • JSON Data Mapping Key-Value from other Key-Value #2148
    • Conflicts with std <any> compiling with GCC 10 #2146
    • Incorrect CMake FetchContent example #2142
    • Help for a Beginner? #2141
    • Read Json from File #2139
    • How to feed a predefined integer value into json string #2138
    • getting json array inside json object #2135
    • βž• Add .contains example to doc #2133
    • Is it safe to return string.c_str() received from get()? #2130
    • GCC 10: Compilation error when including any before including json header in C++17 mode #2129
    • Intersection of two json files #2127
    • App crashes when dump method called for non ascii chars. #2126
    • iterator based erase method #2122
    • quick and convenient api to get/set nested json values #2120
    • assigning nullptr to std::string #2118
    • ⚠ usless_cast warnings with gcc 9.3 and 10.1 (C++17) #2114
    • ⚠ clang 10 warning #2113
    • Possible incorrect _MSC_VER reference #2112
    • ⚠ warning under gcc 10.1 #2110
    • πŸ—„ Wdeprecated-declarations from GCC v10.1.0 #2109
    • Global std::vector from json #2108
    • βœ… heap-buffer-overflow when using nlohmann/json, ASAN, and gtest #2107
    • πŸ‘» exception 0x770DC5AF when i read an special char in json file #2106
    • πŸ“œ json::parse() fails to parse a dump(2,' ') output, yet does successfully parse dump() #2105
    • βœ… run test-udt error in MSVC 19.16.27034.0 #2103
    • Unable to dump to stringstream #2102
    • Can't ad an object in another objet #2101
    • Implicit conversion causes "cannot use operator[] with a string argument with string" #2098
    • C++20: char8_t #2097
    • UTF8 #2095
    • Compilation issues when included in project #2094
    • string value with null character causes infinite loop #2093
    • corrupted size vs. prev_size (aborted) #2092
    • Get string field content without return std::string copy #2091
    • JSON Comments (JSON 5) #2090
    • βœ‚ Remove #include <ciso646> #2089
    • JSON library as a git submodule #2088
    • 🍎 Apple Clang 11.0.3 on MacOS Catalina 10.15.4 not compiling #2087
    • Value function return empty object even if it exist #2086
    • Cannot debug but Run works #2085
    • Question about serialization. #2084
    • How to include in an external project #2083
    • βœ… Missing tests for binary values #2082
    • 0️⃣ How to override default string serialization? #2079
    • Can't have a json type as a property in an arbitrary type #2078
    • πŸ†• New release? #2075
    • πŸ“š CMake FetchContent > Updating the documentation? #2073
    • How to convert STL Vector (of user defined type) to Json #2072
    • how to make an array of objects #2070
    • β€˜__int64’ was not declared #2068
    • πŸ‘» [json.exception.type_error.317] cannot serialize binary data to text JSON #2067
    • Unexpected end of input; expected '[', '{', or a literal #2066
    • Json structure can be nested? #2065
    • πŸ› Bug: returning reference to local temporary object #2064
    • πŸ‘ Allow to use non strict parsing #2063
    • Crashing on json::at #2062
    • βž• Add support for JSONC #2061
    • πŸ“œ How to convert a const std::vector<char8_t> message to a json, to be able to parse it and extract information from it? Can you point to any examples? #2058
    • Nice library #2057
    • ⚑️ json.hpp:15372:22: error: expected unqualified-id if (not std::isfinite(x)): Started getting this bug after updating my XCode #2056
    • Confused as how I can extract the values from the JSON object. #2055
    • ⚠ Warnings with GCC 10 #2052
    • ⚠ Warnings with Clang 10 #2049
    • ⚑️ Update doctest #2048
    • Unclear error message: "cannot use operator[] with a string argument with array" #2047
    • Serializing std::variant<T, std::vector<T>> #2045
    • πŸ“œ Crash when parse big jsonfile #2042
    • How to check if a key exists without silently generating null objects on the path #2041
    • Crash when traversing over items() of temporary json objects #2040
    • πŸ“œ How to parse multiple line value ? #2039
    • SAX API uses unsigned std::size_t but -1 if element size is not known; #2037
    • πŸ“œ How to parse big decimal data #2036
    • how use template <typename T> struct adl_serializer #2035
    • auto iterator returned by find to handle value depending if is string or numeric. #2032
    • pass find returned iterator to numeric variable. #2031
    • πŸ“œ Parse error on valid json file #2029
    • Is here any elegant way to combine serialization and deserialization code? #2028
    • Notes about dump function #2027
    • 🐧 Different JSON printouts for empty dictionary on Linux and Mac. #2026
    • easier way to get exception reason out of json_sax_dom_callback_parser without exceptions #2024
    • Using fifo_map with base class and derived class #2023
    • Error reading JSON File #2022
    • πŸ“œ Parse causing crash on android. Cannot catch. #2021
    • Extra backslashes in nested json #2020
    • πŸ”€ How to create patch for merge_patch input ? #2018
    • CppUTest/include/CppUTestExt/MockSupport.h:40: error: default argument for β€˜MockFailureReporter* failureReporterForThisCall’ has type β€˜void*’ #2017
    • including another file #2016
    • GNU PREREQ Error with gcc 9.3.0 #2015
    • πŸ“œ Parse error: json.exception.parse_error.101 - invalid string: ill-formed UTF-8 byte #2014
    • βž• Add more flexibility to basic_json's ObjectType (and ArrayType) #2013
    • afl persistent mode #2012
    • πŸ‘· Compiler Errors under VS2019 in Appveyor CI #2009
    • Another compilation failure with Visual Studio #2007
    • Implicit cast to std::string broken again with VS2019 16.5.0 #2006
    • error: no matching member function for call to 'AddRaw' #2005
    • When I re-create an object again after the network request, an error is reported #2003
    • πŸ”€ How to merge (and not replace) different Json::Value objects in jsoncpp #2001
    • scalar transforms to list #2000
    • Dump JSON containing multibyte characters #1999
    • πŸ— Build error when modify value #1998
    • How do i include a vector of pointers in my json? #1997
    • Compiler error wrt incomplete types changed in gcc8.3.0-26 #1996
    • NaN-like comparison behavior of discarded is inconvenient #1988
    • πŸ“¦ Maintaining JSON package in my CMake #1987
    • reading int number and string number #1986
    • πŸ— Build error: keyword is hidden by macro definition! #1985
    • JSON patch diff for op=add formation is not as per standard (RFC 6902) #1983
    • πŸ‘» json_pointer.contains() exception is incorrectly raised #1982
    • Error with non existing key #1981
    • Closed #1978
    • Where is the library built and what is the name? #1977
    • πŸ— The cmake_import example does not build #1976
    • Dumping core when reading invalid file #1975
    • Abort in dump() method #1973
    • Unclear docs regarding parser_callback_t callbacks #1972
    • Possible memory leak on push_back #1971
    • Is it possible to get a safe mutable reference/pointer to internal variant used in nlohmann json? #1970
    • Getting a flatten json to map<string, string> #1957
    • πŸ‘» forced type conversion or lexical cast without exception. #1955
    • βž• Add json_view type support to avoid excessive copying #1954
    • βž• Adding "examples" section for real-life usages #1953
    • πŸ–¨ GDB pretty printing support #1952
    • βž• Add nlohmann::json::key_type #1951
    • cannot use operator[] with a string argument with string #1949
    • std::ifstream >> json error #1948
    • ⚑️ Cannot update json data in an iterator? #1947
    • πŸ— How can i build this library in VS 2017? #1943
    • json_pointer.contains() exceptions when path not found #1942
    • Nested objects serialize/deserialize #1941
    • ⚠ Compile warning on architectures that are not x86 #1939
    • πŸ”– Version of nlohmann-json-dev in debian packages #1938
    • Create a json object for every cycle #1937
    • How to get the object name? #1936
    • Reserve and resize function for basic json #1935
    • πŸ“œ How to use json parse in tsl::ordread_map? #1934
    • πŸ‘ C++14 support is not enabled with msvc2015 #1932
    • Need help with to_json for derived class, keep getting "cannot use operator" #1931
    • How to handle std::vector<std::uint8_t> #1930
    • Heap corruption issue #1929
    • βž• Add std::wistream support. #1928
    • This i can write and read any file thanks #1927
    • How can I get this simple example working? #1926
    • πŸ‘€ emplace_back does not seems to work with the int 0 #1925
    • πŸš€ Why nlohmann does not release memory #1924
    • πŸ“œ Is it possible to have template json::parse with noexcept specifier? #1922
    • JSON to wstring? #1921
    • πŸ— GCC 10 tests build failure #1920
    • Size of binary json representations #1919
    • Accessing strings (for example in keys or values) without having the lib create a copy of it. #1916
    • πŸ“š operator== documentation should show how to apply custom comparison function #1915
    • πŸ‘ char8_t and std::u8string support #1914
    • πŸ—„ std::is_pod is deprecated in C++20 #1913
    • Incomplete types reported by (experimental) GCC10 #1912
    • ⚠ Compile warnings on MSVC 14.2 #1911
    • πŸ“œ How to parse json file with type composition of std::optional and std::variant #1910
    • why root_schema be implemented as unique_ptr in json-validator.cpp,could I use it as shared_ptr? #1908
    • compile error in gcc-6.3.0 #1906
    • Scalar constexpr is odr-used when used as json initializer #1905
    • install Slack app #1904
    • typo in a comment #1903
    • Watch JSON variables in Debug #1902
    • does Json sdk cares about dfc dfd utf8 issue? #1901
    • 🏁 Compilation failure using Clang on Windows #1898
    • πŸ‘ Allow multiple line string value in JSON #1897
    • Writing map to json file #1896
    • πŸ“š Small documentation mistake #1895
    • πŸ“œ why static function parse cann't find in visual studio 2019 #1894
    • Best way to handle json files with missing key value pairs. #1893
    • accessing json object as multimap #1892
    • πŸ“œ What is the best way to parse vec3s into glm::vec3 #1891
    • Get array of items without using vector #1890
    • 🍎 Build errors (clang 11.0.0) on macOS 10.15.2 #1889
    • Multiple arrays to vectors help #1888
    • πŸ“œ json::parse(begin, end) parse error on first character using uchar* #1887
    • πŸ†“ issue in free() #1886
    • is_number_unsigned() returns false for positive integers (int or 0 or 1 literals) #1885
    • MSVC build failure with /Zc:__cplusplus and C++17 #1883
    • RFC 6901 op:replace & arrays #1882
    • Problem with serialization of my custom template doubly-linked list #1881
    • is_array() is True, but raise 'cannot use operator[] for object iterators' #1880
    • Serialize dynamic array #1879
    • Serialization of struct object. #1877
    • ⚠ warning:c4503 #1875
    • Why are flattened empty objects/arrays not representable? #1874
    • Container Overflow (ASAN) when using operator >> on an ifs #1873
    • Sub-array to vector or map object? #1870
    • 🚧 WIP: QT (cute) type supports #1869
    • Compiler flags to disable features and shrink code size #1868
    • null strings #1867
    • Struct with array of struct and __attribute__((packed)) #1866
    • Best way to extract numbers in the string? #1865
    • Displaying \?\Volume{guid} from string to json giving error #1864
    • not working when compiling as x86 #1863
    • 🌲 Skipping evaluation of log line expressions with a macro, is it possible? #1862
    • ⚠ Suppress warnings #1861
    • 🏁 conflit with g++ compile option -mwindows #1860
    • How to serialize nested classes to semi-flat JSON object? #1859
    • Memory Requirement for large json file #1858
    • Query a binary format (BSON, CBOR, MessagePack, UBJSON) #1856
    • πŸ“š Documentation on operator[] behavior with missing keys #1855
    • πŸ“œ Problem in converting string into JSON; Can't parse successfully. #1854
    • json.at_or_default(key, defaultval) #1852
    • πŸ“š please improve the enum conversion documentation (my example gist provided) #1851
    • Default value returned on ValueType nlohmann::basic_json::value (const typename object_t::key_type& key, const ValueType& default_value) #1850
    • Accounting for arbitrary precision numerical literals #1849
    • While trying to make a simple array, I get a nested array instead #1848
    • πŸ“œ How to reuse the parser and serializer intermediate storage? #1847
    • Too much content in json.hpp leads to slow compilation #1845
    • Cannot read some data in json file #1843
    • Precompiled JSON library? #1842
    • Please change assert into throw(maybe) in line 17946 #1841
    • JSON for modern C++ ECCN information #1840
    • πŸ— CI: reduce build time for Travis valgrind #1836
    • How do I traverse a json object and add new elements into the hierarchy #1834
    • Invalid UTF-8 byte at index 1: 0x65 #1831
    • Serialize big data in json #1828
    • πŸ‘» Backslash '\' in value causes exception #1827
    • 0️⃣ from_json for non default constructible class with dependency injection #1819
    • πŸ— Fail to build when including json.hpp as a system include #1818
    • βœ… Semi-frequent timeouts in test-unicode\_all with 3.6.1 (aarch64) #1816
    • input_adapter not user extensible #1813
    • crash at json::destroy on android #1812
    • πŸ”Š Logs are repeating while cmake #1809
    • βž• Add a the possibility to add dynamic json objects #1795
    • πŸš€ Unnecessary test data file in the release #1790
    • βž• Add support for parse stack limiting #1788
    • ⚠ GCC -Wuseless-cast warnings #1777
    • compilation issue with NVCC 9.0 #1773
    • Unexpected behavior with fifo_map json when copy and append #1763
    • πŸ“œ Parse error #1761
    • Assignment (using value()) to nonexistent element behaves differently on Xcode 8 vs Xcode 10 #1758
    • Readme out of date #1756
    • cmake_* tests don't use the build system's compiler #1747
    • Static assertions for template type properties required #1729
    • πŸ‘‰ Use float and possibly half in json::to_cbor #1719
    • json::from_cbor does not respect allow_exceptions = false when input is string literal #1715
    • /Zc:__cplusplus leads to C2416 #1695
    • unflatten vs objects with number-ish keys #1575
    • πŸš€ A "thinner" source code tar as part of release? #1572
    • Repository is almost 450MB #1497
    • 🐎 Substantial performance penalty caused by polymorphic input adapter #1457
    • 🚚 Move tests to a separate repo #1235
    • ⬇️ reduce repos size #1185
    • πŸš€ CMakeLists.txt in release zips? #1184
    • Minimal branch? #1066
    • 🚚 Move test blobs to a submodule? #732
    • βœ… [Question] When using this as git submodule, will it clone the whole thing include test data and benchmark? #620
    • Need to improve ignores.. #567
    • Minimal repository (current size very large) #556
    • πŸ‘― For a header-only library you have to clone 214MB #482
    • 17 MB / 90 MB repo size!? #96

    • Improve parse_ubjson_fuzzer #2182 (tanuj208)

    • βž• Add input adapter tests #2178 (nlohmann)

    • πŸ›  Fix warnings #2174 (nlohmann)

    • πŸ›  Fix PR#1006 #2158 (dota17)

    • πŸ›  Fix issue#1972 #2153 (dota17)

    • ⚑️ Update URLs to HTTPS #2152 (TotalCaesar659)

    • πŸ›  Fix Issue#1813: user defined input adapters #2145 (FrancoisChabot)

    • πŸ›  Fix issue#1939: Cast character to unsigned for comparison #2144 (XyFreak)

    • πŸ›  Fix issue#2142: readme: fix typo in CMake FetchContent example #2143 (quentin-dev)

    • Respect allow_exceptions=false for binary formats #2140 (nlohmann)

    • πŸ›  Fix issue 2112 #2137 (dota17)

    • βž• Add bleeding edge GCC to CI #2136 (aokellermann)

    • Clean up implementation of binary type #2125 (nlohmann)

    • πŸ›  Fixed a compilation error in MSVC #2121 (gistrec)

    • πŸ‘· Overwork CI #2119 (nlohmann)

    • πŸ›  Fix warnings from Clang 10 and GCC 9 #2116 (nlohmann)

    • Do not include <ciso646> when using C++17 #2115 (nlohmann)

    • πŸ›  Fix issue#2086: disallow json::value_t type parameter in value() #2104 (dota17)

    • πŸ›  Fix Coveralls integration #2100 (nlohmann)

    • βž• Add tests for binary values #2099 (nlohmann)

    • βœ… Use external test data #2081 (nlohmann)

    • βœ‚ Remove Doozer CI #2080 (nlohmann)

    • πŸ›  Fix README.md. Missing ``` #2077 (ArthurSonzogni)

    • πŸ›  Fix error message about invalid surrogate pairs #2076 (rmisev)

    • βž• Add CMake fetchcontent documentation and tests #2074 (ArthurSonzogni)

    • Properly pass serialize_binary to dump function #2071 (nlohmann)

    • πŸ›  Fix returning reference to local temporary object #2069 (nlohmann)

    • ⚑️ updated wandbox link #2060 (alexandermyasnikov)

    • πŸ›  Fix bug in diff function #2054 (nlohmann)

    • πŸ›  Fix GCC compiler warnings #2053 (nlohmann)

    • πŸ›  Fix Clang compiler warnings #2051 (nlohmann)

    • ⚑️ Update doctest to 2.3.7 #2050 (nlohmann)

    • πŸ›  Fix issue#1719 #2044 (dota17)

    • βž• Add missing testcase about NaN in unit-constructor1.cpp #2043 (dota17)

    • Templatize basic_json constructor from json_ref #2034 (ArtemSarmini)

    • πŸ—„ Replace deprecated std::is_pod #2033 (nlohmann)

    • πŸ›  fix #1982:json_pointer.contains() exception is incorrectly raised #2019 (dota17)

    • catch exceptions for json_pointer : ..../+99 #1990 (dota17)

    • πŸ›  fix warnings in serializer.hpp for VS2019 #1969 (dota17)

    • πŸ›  Fix C26451 warnnings in to_chars.hpp #1967 (dota17)

    • templated input adapters #1950 (FrancoisChabot)

    • πŸ‘‰ make CMake's version config file architecture-independent #1746 (uhoreg)

    • βž• Add binary type support to all binary file formats, as well as an internally represented binary type #1662 (OmnipotentEntity)

  • v3.7.3

    November 17, 2019

    πŸš€ Release date: 2019-11-17
    SHA-256: 3b5d2b8f8282b80557091514d8ab97e27f9574336c804ee666fda673a9b59926 (json.hpp), 87b5884741427220d3a33df1363ae0e8b898099fbc59f1c451113f6732891014 (include.zip)

    Summary

    πŸš€ This release fixes a bug introduced in release 3.7.2 which could yield quadratic complexity in destructor calls. All changes are backward-compatible.

    🍱 πŸ› Bug Fixes

    • βœ‚ Removed reserve() calls from the destructor which could lead to quadratic complexity. #1837 #1838

    🍱 πŸ”₯ Deprecated functions

    πŸš€ This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

  • v3.7.2

    November 10, 2019

    πŸš€ Release date: 2019-11-10
    SHA-256: 0a65fcbbe1b334d3f45c9498e5ee28c3f3b2428aea98557da4a3ff12f0f14ad6 (json.hpp), 67f69c9a93b7fa0612dc1b6273119d2c560317333581845f358aaa68bff8f087 (include.zip)

    Summary

    Project bad_json_parsers tested how JSON parser libraries react on deeply nested inputs. It turns out that this library segfaulted at a certain nesting depth. This bug was fixed with this release. Now the parsing is only bounded by the available memory. All changes are backward-compatible.

    🍱 πŸ› Bug Fixes

    • πŸ›  Fixed a bug that lead to stack overflow for deeply nested JSON values (objects, array) by changing the implementation of the destructor from a recursive to an iterative approach. #832, #1419, #1835

    🍱 πŸ”¨ Further Changes

    • βž• Added WhiteStone Bolt. #1830

    🍱 πŸ”₯ Deprecated functions

    πŸš€ This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

  • v3.7.1

    November 06, 2019

    Full Changelog

    • std::is_constructible is always true with tuple #1825
    • Can't compile from_json(std::valarray<T>). #1824
    • json class should have a get_or member function #1823
    • NLOHMANN_JSON_SERIALIZE_ENUM macro capture's json objects by value #1822
    • πŸ“œ Parse fails when number literals start with zero #1820
    • πŸ“œ Parsing string into json doesn't preserve the order correctly. #1817
    • Weird behaviour of contains with json\_pointer #1815
    • strange behaviour with json_pointer and .contains() #1811
    • Can #1695 be re-opened? #1808
    • πŸ”€ Merge two json objects #1807
    • std::is_constructible<json, std::unordered_map<std::string, Data>> when to_json not defined #1805
    • πŸ“œ Private data on parsing #1802
    • Capturing Line and Position when querying #1800
    • πŸ“œ json error on parsing DBL_MAX from string #1796
    • De/Serialisation of vector of tupple object with nested obect need Help please #1794
    • Output json is corrupted #1793
    • variable name byte sometimes used as a #define #1792
    • Can't read json file #1791
    • Problems with special German letters #1789
    • πŸ‘Œ Support for trailing commas #1787
    • json_pointer construction bug #1786
    • ⚠ Visual Studio 2017 warning #1784
    • ciso646 header become obsolete #1782
    • Migrate LGTM.com installation from OAuth to GitHub App #1781
    • JSON comparison, contains and operator& #1778
    • pass a json object to a class contructor adds an array around the object #1776
    • 'Float' number_float_function_t template parameter name conflicts with C '#define Float float' #1775
    • πŸ— A weird building problem :-( #1774
    • What is this json_ref? #1772
    • Interoperability with other languages #1770
    • Json dump #1768
    • json_pointer<>::back() should be const #1764
    • How to get value from array #1762
    • πŸ”€ Merge two jsons #1757
    • Unable to locate nlohmann_jsonConfig.cmake #1755
    • json.hpp won;t compile VS2019 CLR/CLI app but does in console app #1754
    • [Nested Json Objects] Segmentation fault #1753
    • βœ‚ remove/replace assert with exceptions #1752
    • βž• Add array support for update() function #1751
    • Is there a reason the get\_to method is defined in include/nlohmann/json.hpp but not in single\_include/nlohmann/json.hpp? #1750
    • how to validate json object before calling dump() #1748
    • Unable to invoke accessors on json objects in lldb #1745
    • πŸ“œ Escaping string before parsing #1743
    • Construction in a member initializer list using curly braces is set as 'array' #1742
    • Read a subkey from json object #1740
    • Serialize vector of glm:vec2 #1739
    • Support nlohmann::basic_json::value with JSON_NOEXCEPTION #1738
    • πŸ“œ how to know the parse is error #1737
    • How to check if a given key exists in a JSON object #1736
    • πŸ‘ Allow The Colon Key-Value Delimiter To Have A Space Before It [@ READ ONLY] #1735
    • πŸ‘ Allow Tail { "Key": "Value" } Comma [@ READ ONLY] #1734
    • No-throw json::value() #1733
    • JsonObject.dump() #1732
    • πŸ“œ basic_json has no member "parse" #1731
    • πŸ‘» Exception "type must be string, but is array" #1730
    • json::contains usage to find a path #1727
    • How to create JSON Object from my Structures of Data and Json File from that Object #1726
    • please provide an API to read JSON from file directly. #1725
    • How to modify a value stored at a key? #1723
    • πŸ”§ CMake not correctly finding the configuration package for 3.7.0 #1721
    • πŸ“¦ name typo in the "spack package management" section of README.md #1720
    • How to add json to another json? #1718
    • How can I save json object in file in order? #1717
    • πŸ“œ json::parse() ubsan regression with v3.7.0 #1716
    • What I am doing wrong?!? #1714
    • Potential memory leak detected by Valgrind #1713
    • πŸ“œ json::parse is not thread safe? #1712
    • static analysis alarm by cppcheck #1711
    • The compilation time is slow #1710
    • not linking properly with cmake #1709
    • Error in dump() with int64_t minimum value #1708
    • Crash on trying to deserialize json string on 3ds homebrew #1707
    • Can't compile VS2019. 13 Errors #1706
    • find an object that matches the search criteria #1705
    • IntelliSense goes crazy on VS2019 #1704
    • Installing on Ubuntu 16.04 #1703
    • πŸ“œ Where is json::parse now? #1702
    • Forward header should't be amalgamated #1700
    • πŸ‘ Json support for Cmake version 2.8.12 #1699
    • Intruisive scientific notation when using .dump(); #1698
    • πŸ‘ Is there support for automatic serialization/deserialization? #1696
    • on MSVC dump() will hard crash for larger json #1693
    • puzzled implicit conversions #1692
    • Information: My project uses this awesome library #1691
    • Consider listing files explicitly instead of using GLOB #1686
    • βœ… Failing tests on MSVC with VS2019 15.9.13 x64 #1685
    • Consider putting the user-defined literals in a namespace #1682
    • πŸ”„ Change from v2 to v3. Encoding with cp1252 #1680
    • How to add Fifo_map into json using Cmake #1679
    • πŸ— include.zip should contain meson.build #1672
    • πŸ“œ [Question] How do I parse JSON into custom types? #1669
    • Binary (0x05) data type for BSON to JSON conversion #1668
    • Possible to call dump from lldb? #1666
    • Segmentation fault when linked with libunwind #1665
    • Should I include single-header after my to_json and from_json custom functions declaration? Why not? #1663
    • ⚠ Errors/Warnings in VS 2019 when Including Header File #1659
    • Return null object from object's const operator[] as well. #1658
    • Can't stream json object in to std::basic_stringstream<wchar_t> #1656
    • C2440 in vs2015 cannot convert from 'initializer-list' to nlohmann::basic_json #1655
    • Issues around get and pointers #1653
    • Non-member operator== breaks enum (de)serialization #1647
    • Valgrind: bytes in 1 blocks are definitely lost #1646
    • Convenient way to make 'basic_json' accept 'QString' as an key type as well? #1640
    • mongodb: nan, inf #1599
    • Error in adl_serializer #1590
    • Injecting class during serialization #1584
    • output_adapter not user extensible #1534
    • 🐧 Inclusion of nlohmann/json.hpp causes OS/ABI to change on Linux #1410
    • βž• Add library versioning using inline namespaces #1394
    • πŸ‘ CBOR byte string support #1129
    • How to deserialize array with derived objects #716

    • βž• Add restriction for tuple specialization of to_json #1826 (cbegue)

    • πŸ›  Fix for #1647 #1821 (AnthonyVH)

    • πŸ›  Fix issue #1805 #1806 (cbegue)

    • πŸ›  Fix some spelling errors - mostly in comments & documentation. #1803 (flopp)

    • ⚑️ Update Hedley to v11. #1799 (nemequ)

    • iteration_proxy: Fix integer truncation from std::size_t to int #1797 (t-b)

    • πŸ‘ appveyor.yml: Add MSVC 16 2019 support #1780 (t-b)

    • βœ… test/CMakeLists.txt: Use an explicit list instead of GLOB #1779 (t-b)

    • πŸ‘‰ Make json_pointer::back const (resolves #1764) #1769 (chris0x44)

    • did you mean 'serialization'? #1767 (0xflotus)

    • πŸ‘ Allow items() to be used with custom string #1765 (crazyjul)

    • πŸ›  Cppcheck fixes #1760 (Xav83)

    • πŸ›  Fix and add test's for SFINAE problem #1741 (tete17)

    • πŸ›  Fix clang sanitizer invocation #1728 (t-b)

    • βž• Add gcc 9 and compile with experimental C++20 support #1724 (t-b)

    • πŸ›  Fix int64 min issue #1722 (t-b)

    • πŸš€ release: add singleinclude and meson.build to include.zip #1694 (eli-schwartz)

  • v3.7.0

    July 28, 2019

    Full Changelog

    • How can I retrieve uknown strings from json file in my C++ program. #1684
    • contains() is sometimes causing stack-based buffer overrun exceptions #1683
    • How to deserialize arrays from json #1681
    • Compilation failed in VS2015 #1678
    • Why the compiled object file is so huge? #1677
    • From Version 2.1.1 to 3.6.1 serialize std::set #1676
    • πŸ—„ Qt deprecation model halting compiltion #1675
    • πŸ— Build For Raspberry pi , Rapbery with new Compiler C++17 #1671
    • πŸ— Build from Raspberry pi #1667
    • Can not translate map with integer key to dict string ? #1664
    • Double type converts to scientific notation #1661
    • Missing v3.6.1 tag on master branch #1657
    • πŸ‘Œ Support Fleese Binary Data Format #1654
    • Suggestion: replace alternative tokens for !, && and || with their symbols #1652
    • πŸ— Build failure test-allocator.vcxproj #1651
    • How to provide function json& to_json() which is similar as 'void to_json(json&j, const CObject& obj)' ? #1650
    • πŸ‘» Can't throw exception when starting file is a number #1649
    • to_json / from_json with nested type #1648
    • How to create a json object from a std::string, created by j.dump? #1645
    • Problem getting vector (array) of strings #1644
    • json.hpp compilation issue with other typedefs with same name #1642
    • nlohmann::adl_serializer<T,void>::to_json no matching overloaded function found #1641
    • overwrite adl_serializer<bool, void> to change behaviour #1638
    • json.SelectToken("Manufacturers.Products.Price"); #1637
    • βž• Add json type as value #1636
    • βœ… Unit conversion test error: conversion from 'nlohmann::json' to non-scalar type 'std::string_view' requested #1634
    • nlohmann VS JsonCpp by C++17 #1633
    • To integrate an inline helper function that return type name as string #1632
    • Return JSON as reference #1631
    • ⚑️ Updating from an older version causes problems with assing a json object to a struct #1630
    • 0️⃣ Can without default constructor function for user defined classes when only to_json is needed? #1629
    • Compilation fails with clang 6.x-8.x in C++14 mode #1628
    • Treating floating point as string #1627
    • πŸ“œ error parsing character Γ₯ #1626
    • 🐎 [Help] How to Improve Json Output Performance with Large Json Arrays #1624
    • Suggested link changes for reporting new issues [blob/develop/REAME.md and blob/develop/.github/CONTRIBUTING.md] #1623
    • Broken link to issue template in CONTRIBUTING.md #1622
    • Missing word in README.md file #1621
    • πŸ“¦ Package manager instructions in README for brew is incorrect #1620
    • πŸ— Building with Visual Studio 2019 #1619
    • Precedence of to_json and builtin harmful #1617
    • πŸ“š The type json is missing from the html documentation #1616
    • πŸš€ variant is not support in Release 3.6.1? #1615
    • Replace assert with throw for const operator[] #1614
    • Memory Overhead is Too High (10x or more) #1613
    • program crash everytime, when other data type incomming in json stream as expected #1612
    • πŸ‘Œ Improved Enum Support #1611
    • is it possible convert json object back to stl container ? #1610
    • βž• Add C++17-like emplace.back() for arrays. #1609
    • is_nothrow_copy_constructible fails for json::const_iterator on MSVC2015 x86 Debug build #1608
    • Reading and writing array elements #1607
    • Converting json::value to int #1605
    • I have a vector of keys and and a string of value and i want to create nested json array #1604
    • In compatible JSON object from nlohmann::json to nohman::json - unexpected end of input; expected '[', '{', or a literal #1603
    • πŸ“œ json parser crash if having a large number integer in message #1602
    • πŸ‘» Value method with undocumented throwing 302 exception #1601
    • Accessing value with json pointer adds key if not existing #1600
    • πŸ“š README.md broken link to project documentation #1597
    • Random Kudos: Thanks for your work on this! #1596
    • πŸ“œ json::parse return value and errors #1595
    • πŸŽ‰ initializer list constructor makes curly brace initialization fragile #1594
    • 🌲 trying to log message for missing keyword, difference between ["foo"] and at("foo") #1593
    • std::string and std::wstring to\_json #1592
    • I have a C structure which I need to convert to a JSON. How do I do it? Haven't found proper examples so far. #1591
    • dump_escaped possible error ? #1589
    • πŸ“œ json::parse() into a vector<string> results in unhandled exception #1587
    • push_back()/emplace_back() on array invalidates pointers to existing array items #1586
    • πŸ“œ Getting nlohmann::detail::parse_error on JSON generated by nlohmann::json not sure why #1583
    • getting error terminate called after throwing an instance of 'std::domain_error' what(): cannot use at() with string #1582
    • how i create json file #1581
    • prevent rounding of double datatype values #1580
    • πŸ“š Documentation Container Overview Doesn't Reference Const Methods #1579
    • Writing an array into a nlohmann::json object #1578
    • compilation error when using with another library #1577
    • Homebrew on OSX doesn't install cmake config file #1576
    • unflatten vs objects with number-ish keys #1575
    • πŸ“œ JSON Parse Out of Range Error #1574
    • Integrating into existing CMake Project #1573
    • πŸš€ A "thinner" source code tar as part of release? #1572
    • conversion to std::string failed #1571
    • jPtr operation does not throw #1569
    • How to generate dll file for this project #1568
    • how to pass variable data to json in c #1567
    • ⬆️ I want to achieve an upgraded function. #1566
    • How to determine the type of elements read from a JSON array? #1564
    • try_get_to #1563
    • example code compile error #1562
    • How to iterate over nested json object #1561
    • πŸ— Build Option/Separate Function to Allow to Throw on Duplicate Keys #1560
    • Compiler Switches -Weffc++ & -Wshadow are throwing errors #1558
    • ⚠ warning: use of the 'nodiscard' attribute is a C++17 extension #1557
    • Import/Export compressed JSON files #1556
    • GDB renderers for json library #1554
    • Is it possible to construct a json string object from a binary buffer? #1553
    • json objects in list #1552
    • Matrix output #1550
    • πŸ”€ Using json merge_patch on ordered non-alphanumeric datasets #1549
    • πŸ“œ Invalid parsed value for big integer #1548
    • Integrating with android ndk issues. #1547
    • βž• add noexcept json::value("key", default) method variant? #1546
    • Thank you! πŸ™Œ #1545
    • Output and input matrix #1544
    • βž• Add regression tests for MSVC #1543
    • πŸ“„ [Help Needed!] Season of Docs #1542
    • program still abort() or exit() with try catch #1541
    • πŸ‘» Have a json::type_error exception because of JSON object #1540
    • Using versioned namespaces #1539
    • Quoted numbers #1538
    • Reading a JSON file into an object #1537
    • πŸš€ Releases 3.6.0 and 3.6.1 don't build on conda / windows #1536
    • ⚠ [Clang] warning: use of the 'nodiscard' attribute is a C++17 extension [-Wc++17-extensions] #1535
    • wchar_t/std::wstring json can be created but not accessed #1533
    • json stringify #1532
    • How can I use std::string_view as the json_key to "operator []" ? #1529
    • How can I use it from gcc on RPI #1528
    • std::pair treated as an array instead of key-value in std::vector\<std::pair\<\>\> #1520
    • Excessive Memory Usage for Large Json File #1516
    • SAX dumper #1512
    • Conversion to user type containing a std::vector not working with documented approach #1511
    • πŸ“œ How to get position info or parser context with custom from_json() that may throw exceptions? #1508
    • Inconsistent use of type alias. #1507
    • Is there a current way to represent strings as json int? #1503
    • Intermittent issues with loadJSON #1484
    • πŸ‘‰ use json construct std::string #1462
    • JSON Creation #1461
    • 🐎 Substantial performance penalty caused by polymorphic input adapter #1457
    • Null bytes in files are treated like EOF #1095
    • πŸ”‹ Feature: to_string(const json& j); #916

    • πŸ‘‰ Use GNUInstallDirs instead of hard-coded path. #1673 (remyabel)

    • πŸ“¦ Package Manager: MSYS2 (pacman) #1670 (podsvirov)

    • πŸ›  Fix json.hpp compilation issue with other typedefs with same name (Issue #1642) #1643 (kevinlul)

    • βž• Add explicit conversion from json to std::string_view in conversion unit test #1639 (taylorhoward92)

    • πŸ›  Minor fixes in docs #1625 (nickaein)

    • πŸ›  Fix broken links to documentation #1598 (nickaein)

    • βž• Added to_string and added basic tests #1585 (Macr0Nerd)

    • βœ… Regression tests for MSVC #1570 (nickaein)

    • πŸ›  Fix/1511 #1555 (theodelrieu)

    • βœ‚ Remove C++17 extension warning from clang; #1535 #1551 (heavywatal)

    • 🚚 moved from Catch to doctest for unit tests #1439 (onqtam)

  • v3.6.1

    March 20, 2019

    πŸš€ Release date: 2019-03-20
    SHA-256: d2eeb25d2e95bffeb08ebb7704cdffd2e8fca7113eba9a0b38d60a5c391ea09a (json.hpp), 69cc88207ce91347ea530b227ff0776db82dcb8de6704e1a3d74f4841bc651cf (include.zip)

    Summary

    πŸ›  This release fixes a regression and a bug introduced by the earlier 3.6.0 release. All changes are backward-compatible.

    🍱 πŸ› Bug Fixes

    • πŸ›  Fixed regression of #590 which could lead to compilation errors with GCC 7 and GCC 8. #1530
    • πŸ›  Fixed a compilation error when <Windows.h> was included. #1531

    🍱 πŸ”¨ Further Changes

    • πŸ›  Fixed a warning for missing field initializers. #1527

    🍱 πŸ”₯ Deprecated functions

    πŸš€ This release does not deprecate any functions. As an overview, the following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

  • v3.6.0

    March 19, 2019

    Full Changelog

    • How can I turn a string of a json array into a json array? #1526
    • Minor: missing a std:: namespace tag #1521
    • how to precision to four decimal for double when use to_json #1519
    • πŸ“œ error parse #1518
    • Compile error: template argument deduction/substitution failed #1515
    • πŸ‘Œ Support for Comments #1513
    • std::complex type #1510
    • πŸ‘ CBOR byte string support #1509
    • βœ… Compilation error getting a std::pair<> on latest VS 2017 compiler #1506
    • πŸ“š "Integration" section of documentation needs update? #1505
    • Json object from string from a TCP socket #1504
    • ⚠ MSVC warning C4946 ("reinterpret_cast used between related classes") compiling json.hpp #1502
    • How to programmatically fill an n-th dimensional JSON object? #1501
    • Error compiling with clang and JSON\_NOEXCEPTION: need to include cstdlib #1500
    • The code compiles unsuccessfully with android-ndk-r10e #1499
    • πŸš€ Cmake 3.1 in develop, when is it likely to make it into a stable release? #1498
    • Repository is almost 450MB #1497
    • Some Help please object inside array #1494
    • How to get data into vector of user-defined type from a Json object #1493
    • how to find subelement without loop #1490
    • json to std::map #1487
    • Type in README.md #1486
    • πŸ“œ Error in parsing and reading msgpack-lite #1485
    • Compiling issues with libc 2.12 #1483
    • How do I use reference or pointer binding values? #1482
    • Compilation fails in MSVC with the Microsoft Language Extensions disabled #1481
    • Functional visit #1480
    • [Question] Unescaped dump #1479
    • Some Help please #1478
    • Global variables are stored within the JSON file, how do I declare them as global variables when I read them out in my C++ program? #1476
    • Unable to modify one of the values within the JSON file, and save it #1475
    • πŸ“š Documentation of parse function has two identical @pre causes #1473
    • πŸ— GCC 9.0 build failure #1472
    • Can we have an exists\(\) method? #1471
    • πŸ“œ How to parse multi object json from file? #1470
    • How to returns the name of the upper object? #1467
    • Error: "tuple_size" has already been declared in the current scope #1466
    • Checking keys of two jsons against eachother #1465
    • Disable installation when used as meson subproject #1463
    • Unpack list of integers to a std::vector<int> #1460
    • Implement DRY definition of JSON representation of a c++ class #1459
    • πŸ‘» json.exception.type_error.305 with GCC 4.9 when using C++ {} initializer #1458
    • API to convert an "uninitialized" json into an empty object or empty array #1456
    • πŸ“œ How to parse a vector of objects with const attributes #1453
    • NLOHMANN_JSON_SERIALIZE_ENUM potentially requires duplicate definitions #1450
    • Question about making json object from file directory #1449
    • .get() throws error if used with userdefined structs in unordered_map #1448
    • Integer Overflow (OSS-Fuzz 12506) #1447
    • If a string has too many invalid UTF-8 characters, json::dump attempts to index an array out of bounds. #1445
    • Setting values of .JSON file #1444
    • alias object_t::key_type in basic_json #1442
    • πŸ“¦ Latest Ubuntu package is 2.1.1 #1438
    • πŸ–¨ lexer.hpp(1363) '_snprintf': is not a member | Visualstudio 2017 #1437
    • Static method invites inadvertent logic error. #1433
    • EOS compilation produces "fatal error: 'nlohmann/json.hpp' file not found" #1432
    • πŸ‘Œ Support for bad commas #1429
    • πŸ‘» Please have one base exception class for all json exceptions #1427
    • ⚠ Compilation warning: 'tuple_size' defined as a class template here but previously declared as a struct template #1426
    • Which version can be used with GCC 4.8.2 ? #1424
    • Ignore nullptr values on constructing json object from a container #1422
    • πŸ‘Œ Support for custom float precision via unquoted strings #1421
    • Segmentation fault (stack overflow) due to unbounded recursion #1419
    • It is possible to call json::find with a json_pointer as argument. This causes runtime UB/crash. #1418
    • πŸ‘» Dump throwing exception #1416
    • πŸ— Build error #1415
    • Append version to include.zip #1412
    • 🏁 error C2039: '_snprintf': is not a member of 'std' - Windows #1408
    • Deserializing to vector #1407
    • Efficient way to set a json object as value into another json key #1406
    • πŸ“œ Document return value of parse() when allow_exceptions == false and parsing fails #1405
    • Unexpected behaviour with structured binding #1404
    • Which native types does get<type>() allow? #1403
    • βž• Add something like Json::StaticString #1402
    • -Wmismatched-tags in 3.5.0? #1401
    • Coverity Scan reports an UNCAUGHT_EXCEPT issue #1400
    • fff #1399
    • sorry this is not an issue, just a Question, How to change a key value in a file and save it ? #1398
    • βž• Add library versioning using inline namespaces #1394
    • πŸ— appveyor x64 builds appear to be using Win32 toolset #1374
    • Serializing/Deserializing a Class containing a vector of itself #1373
    • Retrieving array elements. #1369
    • Deserialize #1366
    • call of overloaded for push_back and operator+= is ambiguous #1352
    • got an error and cann't figure it out #1351
    • πŸ‘Œ Improve number-to-string conversion #1334
    • Implicit type conversion error on MSVC #1333
    • πŸ“¦ NuGet Package #1132

    • πŸ”„ Change macros to numeric_limits #1514 (naszta)

    • πŸ›  fix GCC 7.1.1 - 7.2.1 on CentOS #1496 (lieff)

    • ⚑️ Update Buckaroo instructions in README.md #1495 (njlr)

    • πŸ›  Fix gcc9 build error test/src/unit-allocator.cpp (Issue #1472) #1492 (stac47)

    • πŸ›  Fix typo in README.md #1491 (nickaein)

    • Do proper endian conversions #1489 (andreas-schwab)

    • πŸ›  Fix documentation #1477 (nickaein)

    • Implement contains() member function #1474 (nickaein)

    • βž• Add operator/= and operator/ to construct a JSON pointer by appending two JSON pointers #1469 (garethsb-sony)

    • Disable Clang -Wmismatched-tags warning on tuple_size / tuple_element #1468 (past-due)

    • Disable installation when used as meson subproject. #1463 #1464 (elvisoric)

    • πŸ“„ docs: README typo #1455 (wythe)

    • βœ‚ remove extra semicolon from readme #1451 (Afforix)

    • attempt to fix #1445, flush buffer in serializer::dump_escaped in UTF8_REJECT case. #1446 (scinart)

    • πŸ‘‰ Use C++11 features supported by CMake 3.1. #1441 (iwanders)

    • ⚠ :rotating_light: fixed unused variable warning #1435 (pboettch)

    • allow push_back() and pop_back() calls on json_pointer #1434 (pboettch)

    • βž• Add instructions about using nlohmann/json with the conda package manager #1430 (nicoddemus)

    • ⚑️ Updated year in README.md #1425 (hijxf)

    • πŸ›  Fixed broken links in the README file #1423 (skypjack)

    • πŸ›  Fixed broken links in the README file #1420 (skypjack)

    • πŸ“„ docs: typo in README #1417 (wythe)

    • πŸ›  Fix x64 target platform for appveyor #1414 (nickaein)

    • πŸ‘Œ Improve dump_integer performance #1411 (nickaein)

    • πŸ— buildsystem: relax requirement on cmake version #1409 (yann-morin-1998)

    • CMake: Optional Install if Embedded #1330 (ax3l)

  • v3.5.0

    December 21, 2018

    Full Changelog

    • Copyconstructor inserts original into array with single element #1397
    • Get value without explicit typecasting #1395
    • πŸ“œ Big file parsing #1393
    • ⚠ some static analysis warning at line 11317 #1390
    • βž• Adding Structured Binding Support #1388
    • map<json::value_t, string> exhibits unexpected behavior #1387
    • Error Code Return #1386
    • using unordered_map as object type #1385
    • float precision #1384
    • πŸ‘» [json.exception.type_error.316] invalid UTF-8 byte at index 1: 0xC3 #1383
    • Inconsistent Constructor (GCC vs. Clang) #1381
    • #define or || #1379
    • How to iterate inside the values ? #1377
    • items() unable to get the elements #1375
    • conversion json to std::map doesn't work for types <int, double> #1372
    • πŸ— A minor issue in the build instructions #1371
    • Using this library without stream ? #1370
    • Writing and reading BSON data #1368
    • Retrieving array elements from object type iterator. #1367
    • json::dump() silently crashes if items contain accented letters #1365
    • ⚠ warnings in MSVC (2015) in 3.4.0 related to bool... #1364
    • Cant compile with -C++17 and beyond compiler options #1362
    • json to concrete type conversion through reference or pointer fails #1361
    • the first attributes of JSON string is misplaced #1360
    • Copy-construct using initializer-list converts objects to arrays #1359
    • 0️⃣ About value(key, default_value) and operator[](key) #1358
    • πŸ–¨ Problem with printing json response object #1356
    • Serializing pointer segfaults #1355
    • Read long long int data as a number. #1354
    • eclipse oxygen in ubuntu get<size_t> is ambiguous #1353
    • πŸ— Can't build on Visual Studio 2017 v15.8.9 #1350
    • πŸ“œ cannot parse from string? #1349
    • Error: out_of_range #1348
    • expansion pattern 'CompatibleObjectType' contains no argument packs, with CUDA 10 #1347
    • ⚑️ Unable to update a value for a nested(multi-level) json file #1344
    • Fails to compile when std::iterator_traits is not SFINAE friendly. #1341
    • EOF flag not set on exhausted input streams. #1340
    • πŸ”€ Shadowed Member in merge_patch #1339
    • Periods/literal dots in keys? #1338
    • Protect macro expansion of commonly defined macros #1337
    • πŸ“œ How to validate an input before parsing? #1336
    • 🌲 Non-verifying dump() alternative for debugging/logging needed #1335
    • Json Libarary is not responding for me in c++ #1332
    • Question - how to find an object in an array #1331
    • Nesting additional data in json object #1328
    • can to_json() be defined inside a class? #1324
    • CodeBlocks IDE can't find json.hpp header #1318
    • Change json_pointer to provide an iterator begin/end/etc, don't use vectors, and also enable string_view #1312
    • Xcode - adding it to library #1300
    • unicode: accept char16_t, char32_t sequences #1298
    • unicode: char16_t* is compiler error, but char16_t[] is accepted #1297
    • 🐳 Dockerfile Project Help Needed #1296
    • Comparisons between large unsigned and negative signed integers #1295
    • CMake alias to nlohmann::json #1291
    • πŸš€ Release zips without tests #1285
    • 🚚 Suggestion to improve value() accessors with respect to move semantics #1275
    • separate object_t::key_type from basic_json::key_type, and use an allocator which returns object_t::key_type #1274
    • Is there a nice way to associate external values with json elements? #1256
    • βœ‚ Delete by json_pointer #1248
    • πŸ”¦ Expose lexer, as a StAX parser #1219
    • Subclassing json() & error on recursive load #1201
    • Check value for existence by json_pointer #1194

    • πŸ”‹ Feature/add file input adapter #1392 (dumarjo)

    • πŸ‘ Added Support for Structured Bindings #1391 (pratikpc)

    • πŸ”— Link to issue #958 broken #1382 (kjpus)

    • readme: fix typo #1380 (manu-chroma)

    • recommend using explicit from JSON conversions #1363 (theodelrieu)

    • πŸ›  Fix merge_patch shadow warning #1346 (ax3l)

    • πŸ‘ Allow installation via Meson #1345 (mpoquet)

    • Set eofbit on exhausted input stream. #1343 (mefyl)

    • βž• Add a SFINAE friendly iterator_traits and use that instead. #1342 (dgavedissian)

    • πŸ›  Fix EOL Whitespaces & CMake Spelling #1329 (ax3l)