ChangeLog.md 298 KB

Changelog

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

3.11.2 (2022-08-12)

Full Changelog

v3.11.1 (2022-08-01)

Full Changelog

v3.11.0 (2022-08-01)

Full Changelog

  • ICPC: warning #1098: the qualifier on this friend declaration is ignored #3632
  • Starting with 3.10.4, just adding \#include json.hpp causes compile error: `overload resolution selected deleted operator '=' #3620
  • xwidgets doesn't compile with version >3.10.3 #3602
  • json_pointer__pop_back.cpp example does not compile #3600
  • nlohmann::json::array 'push_back' is ambiguous #3589
  • Multiple versions causing conflict #3588
  • ERROR: ThreadSanitizer: SEGV on unknown address #3584
  • unicode4 test consistently fails on RISC-V hardware #3579
  • sax_parse(iterator, json_sax_t *) string callback clobbers spaces #3574
  • Nlohmann JSON Parse crash with raylib-cpp #3570
  • ordered_json doesn't accept keys of types other than string_t (e.g., string_view) #3558
  • turning an object into an array #3547
  • json:parse_bjdata_fuzzer: ASSERT: ref_stack.back()->is_array() #3541
  • Warning about potential null dereference in GCC 12.1 (Fedora 36) #3525
  • Enable 32bit unit test in CI #3524
  • Error when roundtripping BJData #3519
  • ASSERT error while parsing BJData #3513
  • An exception occurred when sending a string with double quotes #3504
  • Binary reader for BJData creates incorrect SAX events #3503
  • It can't support "nan", "inf", "-inf" for float type #3494
  • ASAN error while parsing BJData (Heap-buffer-overflow READ 1) #3492
  • UBSAN error while parsing BJData (Null-dereference) #3491
  • UBSAN error while parsing BJData (Invalid-bool-value) #3490
  • json:parse_bjdata_fuzzer reaches assertion #3475
  • Compilation with -fmodules-ts and use inside of a module #3472
  • json.exception.parse_error.101 only occurs outside of IDE #3467
  • json:parse_bjdata_fuzzer reaches assertion #3461
  • NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT can not parse { "key" : null} #3458
  • Unable to compile when using Microsoft's _CRTDBG #3457
  • Compilation errors when including <filesystem> and using --std=c++17 or above (MinGW/Win10) #3449
  • Weird things on for statement #3447
  • Parsing error when there is a json string within a Json #3445
  • ordered_json vs json types comparison #3443
  • Error occurred when converting nlohmann::json to std::any #3428
  • I was forced to report an assertion error when copying an array of strings #3419
  • About Serialization Error invalid UTF-8 byte at index #3414
  • Comparison of NaN differs between json and float #3409
  • when i use it in C++ sserver,it it constantly show that fatal error: adl_serializer.hpp: No such file or directory #3404
  • parse error #3403
  • CMake script MAIN_PROJECT always OFF #3390
  • Parser unable to handle large floating point numbers #3389
  • Compilation error if json_pointer is used with alternative string type #3388
  • Unit tests conversions & items fail to build (Clang <4.0/C++14 only) #3384
  • Regression test for #3070 is not being run and fails when enabled #3377
  • Refactor unit tests to use more convenient doctest assertion macros #3365
  • An json.h issue reported in a static code analyzer #3361
  • Mixing different JSON_DIAGNOSTICS settings in separately compiled units leads to core #3360
  • json::out_of_range exception matches against lot of others while testing #3352
  • use mipsel-openwrt-linux-g++ -std=c++11 to compile, it has some errors "error: 'snprintf' is not a member of 'std'" #3349
  • Add proper issue templates #3348
  • switch from json to ordered_json #3343
  • Json dump use to compilation errors #3339
  • Ambiguous conversion from nlohmann::basic_json<> to custom class. #3333
  • Iterator doesn't satisfy std::incrementable because post-increment may change constness #3331
  • Inconsistent handling of floating point numbers after parse() #3329
  • Documentation for ordered_json should show proper use of the parse() function. #3325
  • "type must be boolean, but is object" error thrown on non-boolean object #3319
  • Incomplete Type in request parms #3318
  • 小米 MIX4 MIUI13 bug #3316
  • json.exception.parse_error.101 when parsing data received over a socket #3313
  • Parse to custom class from unordered_json breaks on G++11.2.0 with C++20 #3312
  • try to assign dumped string to a class member varible #3300
  • includedir in pkgconfig is error if install_headers() has subdir argument. #3284
  • SHA-256 sum of json-3.10.5.tar.xz changes over time (but not the content itself) #3281
  • items() method does not follow order of json message #3278
  • Perplexing template deduction failure serialising a 3rd party type using base class #3267
  • json.hpp 'isfinite' is not a member of 'std' also isinf; snprintf; stoull and to_string members of std #3263
  • JSON build fails for C++ cmake #3256
  • Unexpected implicit conversion #3254
  • Add a function that checks for valid json in a C++ string #3245
  • Replace use of standard IO from error handling #3239
  • Use Catch for unit tests #3232
  • Exception thrown during initialization causes a memory leak #3215
  • Tests failing when compiling with c++20 #3207
  • ambiguous regression #3204
  • Deserialization: if class is_constructible from std::string wrong from_json overload is being selected, compilation failed #3171
  • 'clang++ ./json.hpp' with no usage: Compiler syntax problem in clang 3.7.0 (tizen :/ ) #3153
  • build failure on upcoming gcc-12: test/src/unit-regression1.cpp:392:22: error: ambiguous overload for 'operator=' #3138
  • Applying JSON patch creates parent object #3134
  • Iterators cannot be used with range-v3 #3130
  • std::shared_ptr<T> == nlohmann::json compiles, which seem undesirable #3026
  • Error in test\download_test_data.vcxproj custom build step when compiling with Visual Studio 2019 16.7.7 msbuild on Windows 10 #2593
  • Consider putting the user-defined literals in a namespace #1682
  • Using versioned namespaces #1539
  • How can I use std::string_view as the json_key to "operator []" ? #1529
  • serialize std::variant<...> #1261

  • Prepare 3.11.0 release #3635 (nlohmann)

  • Fix warning #3634 (nlohmann)

  • Add license header to new files #3633 (nlohmann)

  • Add a unit test including windows.h #3631 (falbrechtskirchinger)

  • Fixed latest build error in msvc platform #3630 (KsaNL)

  • Add regression tests for #3204 and #3333 #3629 (falbrechtskirchinger)

  • Fix patch::add creating nonexistent parents #3628 (falbrechtskirchinger)

  • Adjust JSON Pointer examples #3622 (nlohmann)

  • Disable exceptions on ICPC #3621 (falbrechtskirchinger)

  • build: install .pc and .cmake files to share/ #3619 (Tachi107)

  • Fix MinGW CI failures #3618 (falbrechtskirchinger)

  • Fix Unicode test timeout (for real this time!) #3614 (falbrechtskirchinger)

  • Use 'concurrency' in GitHub workflows #3610 (falbrechtskirchinger)

  • Use swap() by ADL #3609 (falbrechtskirchinger)

  • Move UDLs out of the global namespace #3605 (falbrechtskirchinger)

  • Re-add value_type detection to distinguish string types #3604 (falbrechtskirchinger)

  • Add operator<<(json_pointer) #3601 (falbrechtskirchinger)

  • Add documentation for comparing json and ordered_json #3599 (nlohmann)

  • Clean up after #3581 #3596 (nlohmann)

  • Add assertion if nullptr is passed to parse function #3593 (nlohmann)

  • Minor documentation fixes #3592 (nlohmann)

  • Add versioned, ABI-tagged inline namespace and namespace macros #3590 (falbrechtskirchinger)

  • Add badge for https://repology.org/project/nlohmann-json/versions #3586 (nlohmann)

  • Add error message if test suite cannot be found #3585 (nlohmann)

  • add patch_inplace function #3581 (wolfv)

  • Enable overriding test properties and set Unicode test timeouts #3580 (falbrechtskirchinger)

  • Ignore output directory #3572 (NN---)

  • Optimize output vector adapter write #3569 (romainreignier)

  • Add overloads for more key types to ordered_map and fix ordered_map::erase(first, last) with first == last #3564 (falbrechtskirchinger)

  • Make certain usage patterns more prominent in the README #3557 (jez)

  • CI: fix "JSON_MultipleHeaders" option spelling #3555 (karzhenkov)

  • More documentation updates for 3.11.0 #3553 (falbrechtskirchinger)

  • Use DOCTEST_* compiler macros and suppress pragmas warning #3550 (falbrechtskirchinger)

  • Add unit test to make sure iterator_input_adapter advances iterators correctly #3548 (falbrechtskirchinger)

  • Use REUSE framework #3546 (nlohmann)

  • Use std::iterator_traits to extract iterator_category #3544 (Mike-Leo-Smith)

  • BJData dimension length can not be string_t::npos, fix #3541 #3543 (fangq)

  • Allow disabling default enum conversions #3536 (zxey)

  • Add to_json() for std::vector<bool>::reference #3534 (falbrechtskirchinger)

  • CI: Enable 32bit unit test (3) #3532 (falbrechtskirchinger)

  • Use new CI image #3528 (nlohmann)

  • Fix ndarray dimension signedness, fix ndarray length overflow (2); add 32bit unit test #3523 (falbrechtskirchinger)

  • Small documentation fixes #3520 (nlohmann)

  • Add assertion to converting constructor #3517 (falbrechtskirchinger)

  • CI: Remove -Wstrict-overflow #3516 (falbrechtskirchinger)

  • Fix nlohmann/json#3513, explain is_ndarray flag #3514 (fangq)

  • Prevent ndarray size vector from recursive use, fix nlohmann/json#3503 #3505 (fangq)

  • prevent ndarray dimension vector from recusive array, nlohmann/json#3500 #3502 (fangq)

  • Discard optimized containers with negative counts in UBJSON/BJData (#3491,#3492,#3490) #3500 (fangq)

  • Update json.hpp #3499 (ivanovmp)

  • Add assertion for invariant in SAX-DOM parser #3498 (nlohmann)

  • Add more macOS builders #3485 (nlohmann)

  • change bjdata ndarray flag to detect negative size, as part of #3475 #3479 (fangq)

  • Document fuzzer usage #3478 (nlohmann)

  • Add build step for ICPC (with fixes) #3465 (falbrechtskirchinger)

  • Complete documentation for 3.11.0 #3464 (nlohmann)

  • Handle invalid BJData optimized type, fix #3461 #3463 (fangq)

  • Reorganize directories #3462 (nlohmann)

  • Enable rapid testing and development on Compiler Explorer #3456 (falbrechtskirchinger)

  • cpplint 1.6.0 #3454 (nlohmann)

  • Disable regression test for #3070 on GCC <8.4 #3451 (falbrechtskirchinger)

  • Fix C++20/gcc-12 issues (Part 2) #3446 (falbrechtskirchinger)

  • Overwork documentation #3444 (nlohmann)

  • Fix typo in basic_json documentation #3439 (jhnlee)

  • Exclude std::any from implicit conversion (fixes #3428) #3437 (falbrechtskirchinger)

  • Document which version introduced the macros #3431 (nlohmann)

  • Fix constraints on from_json() for strings (fixes #3171, #3267, #3312, #3384) #3427 (falbrechtskirchinger)

  • at.md: fix typo #3426 (heinemml)

  • Implement support for string_view (attempt no. 3) #3423 (falbrechtskirchinger)

  • CI: speedup AppVeyor builds by ~30% #3422 (falbrechtskirchinger)

  • Restore disabled check for #3070 (except on MSVC) #3421 (falbrechtskirchinger)

  • Update CI image #3420 (nlohmann)

  • Add check if different version is also included #3418 (nlohmann)

  • Report the right __cplusplus value for MSVC in basic_json meta() #3417 (flagarde)

  • CI: windows-2016 has been deprecated; remove jobs #3416 (falbrechtskirchinger)

  • Re-template json_pointer on string type #3415 (falbrechtskirchinger)

  • Refactor unit tests to use more convenient doctest assertion macros (Part 2) #3405 (kkarbowiak)

  • Refactor unit tests to use more convenient doctest assertion macros #3393 (kkarbowiak)

  • Improve unit testing (Part 1) #3380 (falbrechtskirchinger)

  • Fix C++20/gcc-12 issues (Part 1) #3379 (falbrechtskirchinger)

  • Add clarification to avoid misunderstanding that cause #3360 #3378 (puffetto)

  • Fix ordered_map ctor with initializer_list (fixes #3343) #3370 (falbrechtskirchinger)

  • Fix and update CI #3368 (falbrechtskirchinger)

  • FetchContent_MakeAvailable #3351 (nlohmann)

  • Avoid clash with Arduino defines #3338 (DarkZeros)

  • Support UBJSON-derived Binary JData (BJData) format #3336 (fangq)

  • Make iterator operator++/--(int) equality-preserving #3332 (falbrechtskirchinger)

  • Add note on parsing ordered_json #3326 (nlohmann)

  • Fix CITATION.cff and add automatic validation of your citation metadata #3320 (fdiblen)

  • .github/workflows/windows.yml: Add support for Visual Studio 2022 #3295 (t-b)

  • Add maintainer targets to create source archive #3289 (nlohmann)

  • Fix a typo #3265 (fhuberts)

  • Fix typo #3249 (rex4539)

  • Add documentation for JSON Lines #3247 (nlohmann)

  • Improve documentation InputType and IteratorType #3246 (nlohmann)

  • Remove stringstream #3244 (nlohmann)

  • fix _MSC_VER version to check for std::filesystem #3240 (gcerretani)

  • Add macros NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT and ..._NON_INTRUSIVE_WITH_DEFAULT #3143 (pketelsen)

v3.10.5 (2022-01-03)

Full Changelog

  • #include <filesystem> doesn't work with gcc-7 when -std=c++17 is specified. #3203
  • Not able to use nlohmann json with c++ code built using emscripten to wasm #3200
  • Warning for shadowed variables #3188
  • Accessing missing keys on const json object leads to assert #3183
  • Data member is available, but null is reported, and program throws error #3173
  • serialization problem, from_json need construct new object #3169
  • std::filesystem unavailable on macOS lower deployment targets #3156
  • [json.exception.type_error.305] cannot use operator[] with a string argument with string #3151
  • json::dump() is not compatible with C++ standards #3147
  • Issue with json::parse decoding codepoints #3142
  • Simple parse of json object thinks it should be an array #3136
  • How to properly read a Json string that may be null in some cases? #3135
  • Deadlock on create json - windows only #3129
  • Wrong parsing of int64 values nearest of limit #3126
  • ordered_json doesn't support range based erase #3108
  • Apple build failed with json/single_include/nlohmann/json.hpp:4384:57: 'path' is unavailable #3097
  • GCC 7.5.0 with --std=c++17: filesystem: No such file or directory #3090
  • Drop Travis CI #3087
  • ordered_json::reset() compile error with nvcc #3013
  • Support for unordered_map as object_t #2932
  • Compiler warning with Intel compiler, same as #755 #2712
  • Compiler warnings with NVCC 11.2 #2676
  • some static analysis warning at line 11317 #1390
  • Compiling with icpc #755

  • Fix compilation error with NVCC #3234 (nlohmann)

  • Remove Travis CI #3233 (nlohmann)

  • Add build step for NVCC and fix a warning #3227 (nlohmann)

  • Update cpplint #3225 (nlohmann)

  • Fix: Warning for shadowed variables (#3188) #3193 (kernie)

  • Fix FAQ hyperlink typo in readme #3148 (Prince-Mendiratta)

  • Docs: Update skip_comments to ignore_comments #3145 (daniel-kun)

  • fix typos in documentation #3140 (striezel)

  • Fix spelling #3125 (axic)

  • Extend std specializations #3121 (nlohmann)

  • Add missing erase(first, last) function to ordered_map #3109 (nlohmann)

  • Fix typos in operator[] documentation #3102 (axnsan12)

  • Add C++17 copies of the test binaries #3101 (nlohmann)

  • Add examples for parsing from iterator pair #3100 (nlohmann)

  • Update CI #3088 (nlohmann)

  • Consolidate documentation #3071 (nlohmann)

  • Add recursive update function #3069 (nlohmann)

v3.10.4 (2021-10-16)

Full Changelog

  • Compiler error in output serializer due to 'incompatible initializer' #3081
  • Strange behaviour when using std::sort on std::vector<json> #3080
  • Unhandled exception: nlohmann::detail::parse_error #3078
  • explicit constructor with default does not compile #3077
  • Parse an object but get an array using GCC #3076
  • Version 3.10.3 breaks backward-compatibility with 3.10.2 #3070
  • Feature request, Add to_json/from_json to align with other to/from binary api. #3067
  • vcpkg is out of date #3066

  • Revert invalid fix #3082 (nlohmann)

  • Allow to use get with explicit constructor #3079 (nlohmann)

  • fix std::filesystem::path regression #3073 (theodelrieu)

v3.10.3 (2021-10-08)

Full Changelog

  • Parsing an emtpy string returns a string with size 1 instead of expected 0 #3057
  • Linking error "duplicate symbol: std::type_info::operator==" on static build with MinGW #3042
  • Yet another assertion failure when inserting into arrays with JSON_DIAGNOSTICS set #3032
  • accept and parse function not work well with a pure number string #3029
  • push_back doesn't work for serializing containers #3027
  • Strange behaviour when creating array with single element #3025
  • Input ordered_json doesn't work #3023
  • Issue iterating through 'items' #3021
  • Cannot spell the namespace right #3015
  • JSON Parse error when reading json object from file #3011
  • Parent pointer not properly set when using update() #3007
  • Overwriting terminated null character #3001
  • 'operator =' is ambiguous on VS2017 #2997
  • JSON Patch for Array Elements #2994
  • JSON Parse throwing error #2983
  • to_{binary format} does not provide a mechanism for specifying a custom allocator for the returned type. #2982
  • 3.10.1 zip json.hpp has version number 3.10.0 instead of 3.10.1 #2973
  • Assertion failure when serializing array with JSON_DIAGNOSTICS set #2926

  • Fix Clang version #3040 (nlohmann)

  • Fix assertion failure for JSON_DIAGNOSTICS #3037 (carlsmedstad)

  • meta: fix is_compatible/constructible traits #3020 (theodelrieu)

  • Set parent pointers for values inserted via update() (fixes #3007). #3008 (AnthonyVH)

  • Allow allocators for output_vector_adapter #2989 (nlohmann)

  • Re-add Clang 12 #2986 (nlohmann)

  • Use new Docker image #2981 (nlohmann)

  • Update docset generation script #2967 (nlohmann)

v3.10.2 (2021-08-26)

Full Changelog

  • Annoying -Wundef on new JSON_DIAGNOSTICS macro #2975
  • += issue with multiple redirection. #2970
  • "incomplete type ‘nlohmann::detail::wide_string_input_helper" compilation error #2969

  • Fix -Wunused warnings on JSON_DIAGNOSTICS #2976 (gcerretani)

v3.10.1 (2021-08-24)

Full Changelog

  • JSON_DIAGNOSTICS assertion for ordered_json #2962
  • Inserting in unordered json using a pointer retains the leading slash #2958
  • Test #9: test-cbor test case sample.json fails in debug mode - Stack overflow #2955
  • 3.10.0 broke at least the Bear project #2953
  • 2 tests fail in 3.10.0: cmake_fetch_content_configure, cmake_fetch_content_build #2951
  • ctest (58+60,/67 cmake_import_configure) fails when build with -D JSON_Install:BOOL=OFF because of missing nlohmann_jsonTargets.cmake #2946
  • Document vcpkg usage #2944
  • Linker error LNK2005 when compiling (x64) json-3.10.0.zip with Visual Studio 2019 16.11.1 #2941
  • Move Travis jobs to travis-ci.com #2938

  • Fixed typo in docs/api/basic_json/parse.md #2968 (mbadhan)

  • Add link to Homebrew package #2966 (nlohmann)

  • Fix parent update for diagnostics with ordered_json #2963 (nlohmann)

  • Set stack size for some unit tests when using MSVC #2961 (nlohmann)

  • Add regression test #2960 (nlohmann)

  • Update Travis badge #2959 (nlohmann)

  • Fix some extra ";" clang warnings #2957 (Hallot)

  • Add documentation for integration via vcpkg #2954 (nlohmann)

  • Avoid duplicate AppVeyor builds #2952 (nlohmann)

  • 🚨 fix gdb_pretty_printer failure on basic types #2950 (senyai)

  • Add header to use value_t #2948 (nlohmann)

  • Skip some tests if JSON_Install is not set #2947 (nlohmann)

  • Remove outdated json_unit test binary #2945 (nlohmann)

  • Updating the Homebrew Command #2943 (amirmasoudabdol)

v3.10.0 (2021-08-17)

Full Changelog

  • Latest version 3.9.1 uses throw instead of JSON_THROW in the amalgamated json.hpp file #2934
  • Copy to a variable inside a Structure #2933
  • warning C4068: unknown pragma 'GCC' on MSVC/cl #2924
  • Errors during ninja test #2918
  • compiler warning: "not return a value" #2917
  • Comparison floating points causes warning #2909
  • Why can't I have std::vector<json&> testList? #2900
  • [json.hpp] from releases doesnt work #2897
  • g++ (11) -Wuseless-cast gives lots of warnings #2893
  • Cannot serialize and immediatly deserialize json to/from bson #2892
  • Floating-point precision conversion error #2876
  • How to avoid escaping for an already escaped string in .dump() #2870
  • can't parse std::vector<std::byte> #2869
  • ASAN detects memory leaks #2865
  • Binary subtype field cannot represent all CBOR tags #2863
  • string literals possibly being parsed as another type due to the presence of only digits and full-stops #2852
  • json::parse() works only with absolute paths #2851
  • Compiler Warnings on Raspberry Pi OS #2850
  • Braced initialization and aggregate initialization behavior is different for json::array() function call. #2848
  • 3.9.1: test suite is failing #2845
  • Documentation for macro JSON_NO_IO is missing #2842
  • Assertion failure when inserting into arrays with JSON_DIAGNOSTICS set #2838
  • HELP! There is a memory leak in the code?! #2837
  • Elegant conversion of a 2-D-json array to a standard C++ array #2805
  • Swift Package Manager support #2802
  • Referencing a subkey which doesn't exist gives crash #2797
  • Failed benchmark due to renamed branch #2796
  • Build Errors with VS 2019 and json Version 3.9.1 when attempting to replicate SAX Example #2782
  • Value with spaces cannot be parsed #2781
  • [Question] CBOR rfc support. #2779
  • Using JSON.hpp header file in Visual Studio 2013 (C++ Project) #2775
  • compilation error on clang-8 + C++17 #2759
  • Undefined symbol EOF #2755
  • Parsing a string into json object behaves differently under g++ and MinGW compilers. #2746
  • big git history size #2742
  • How to get reference of std::vector<T> #2735
  • CMake failure in VS2019 Community #2734
  • Possibility to use with custom c++ version to use in intel sgx enclaves #2730
  • Possibility to use without the dependency to file io and streams to use in intel sgx enclaves #2728
  • error C2784& error C2839... in my visual studio 2015 compiler #2726
  • -fno-expection not respected anymore in 3.9.1 #2725
  • When exceptions disabled with JSON_NOEXCEPTION, lib just aborts without any message #2724
  • Critical error detected c0000374 on windows10 msvc 2019 16.8.5 #2710
  • unused parameter error/warning #2706
  • How to store data into a Map from json file #2691
  • Tests do not compile with pre-release glibc #2686
  • compile errors .... chromium-style #2680
  • .dump() not allowing compact form #2678
  • error: no matching function for call to ‘nlohmann::basic_json<>::value(int, std::set<int>&)’ #2671
  • Compiler warning: unused parameter #2668
  • Deserializing to a struct as shown on the project homepage throws compile time errors #2665
  • Unable to compile on MSVC 2019 with SDL checking enabled: This function or variable may be unsafe #2664
  • terminating with uncaught exception of type nlohmann::detail::type_error: [json.exception.type_error.302] type must be array, but is object #2661
  • unused-parameter on OSX when Diagnostics is off #2658
  • std::pair wrong serialization #2655
  • The result of json is_number_integer() function is wrong when read a json file #2653
  • 2 backslash cause problem #2652
  • No support for using an external/system copy of Hedley #2651
  • error: incomplete type 'qfloat16' used in type trait expression #2650
  • Unused variable in exception class when not using improved diagnostics #2646
  • I am trying to do this - converting from wstring works incorrectly! #2642
  • Exception 207 On ARM Processor During Literal String Parsing #2634
  • double free or corruption (!prev) error on Json push_back and write #2632
  • nlohmann::detail::parse_error: syntax error while parsing CBOR string: expected length specification (0x60-0x7B) or indefinite string type (0x7F) #2629
  • please allow disabling implicit conversions in non-single-file use #2621
  • Preserve decimal formatting #2618
  • Visual Studio Visual Assist code issues reported by VA code inspection of file json.hpp #2615
  • Missing get function and no viable overloaded '=' on mac #2610
  • corruption when parse from string #2603
  • Parse from byte-vector results in compile error #2602
  • Memory leak when working on ARM Linux #2601
  • Unhandled exception in test-cbor.exe Stack overflow when debugging project with Visual Studio 2019 16.7.7 compiled with c++17 or c++latest #2598
  • Error in download_test_data.vcxproj when compiling with Visual Studio 2019 16.7.7 Professional msbuild on Windows 10 2004 Professional #2594
  • Warnings C4715 and C4127 when building json-3.9.1 with Visual Studio 2019 16.7.7 #2592
  • I tried some change to dump() for [1,2,3...] #2584
  • try/catch block does not catch parsing error #2579
  • Serializing uint64_t is broken for large values #2578
  • deserializing arrays should be part of the library #2575
  • Deserialization to std::array with non-default constructable types fails #2574
  • Compilation error when trying to use same type for number_integer_t and number_unsigned_t in basic_json template specification. #2573
  • compiler error: directive output may be truncated writing between 2 and 8 bytes #2572
  • Incorrect convert map to json when key cannot construct an string i.e. int #2564
  • no matching function for call to ‘nlohmann::basic_json<>::basic_json(<brace-enclosed initializer list>)’ #2559
  • type_error factory creates a dangling pointer (in VisualStudio 2019) #2535
  • Cannot assign from ordered_json vector<CustomStruct> to value in not ordered json #2528
  • Qt6: Break changes #2519
  • valgrind memcheck Illegal instruction when use nlohmann::json::parse #2518
  • Buffer overflow #2515
  • Including CTest in the top-level CMakeLists.txt sets BUILD_TESTING=ON for parent projects #2513
  • Compilation error when using NLOHMANN_JSON_SERIALIZE_ENUM ordered_json on libc++ #2491
  • Missing "void insert( InputIt first, InputIt last );" overload in nlohmann::ordered_map #2490
  • Could not find a package configuration file provided by "nlohmann_json" #2482
  • json becomes empty for unknown reason #2470
  • Using std::wstring as StringType fails compiling #2459
  • Sample code in GIF slide outdated (cannot use emplace() with array) #2457
  • from_json<std::wstring> is treated as an array on latest MSVC #2453
  • MemorySanitizer: use-of-uninitialized-value #2449
  • I need help #2441
  • type conversion failing with clang ext_vector_type #2436
  • json::parse() can't be resolved under specific circumstances #2427
  • from_*(ptr, len) deprecation #2426
  • Error ONLY in release mode #2425
  • "Custom data source" exemple make no sense #2423
  • Refuses to compile in project #2419
  • Compilation failure of tests with C++20 standard (caused by change of u8 literals) #2413
  • No matching function for call to 'input_adapter' under Xcode of with nlohmann version 3.9.1 #2412
  • Git tags are not valid semvers #2409
  • after dump, stderr output disappear #2403
  • Using custom string. #2398
  • value() throws unhandled exception for partially specified json object #2393
  • assertion on runtime causes program to stop when accessing const json with missing key #2392
  • Usage with -fno-elide-constructors causes dump() output to be array of nulls #2387
  • Build fails with clang-cl due to override of CMAKE_CXX_COMPILER(?) #2384
  • std::optional not working with primitive types #2383
  • Unexpected array when initializing a json const& on gcc 4.8.5 using uniform syntax #2370
  • setprecision support #2362
  • json::parse(allow_exceptions = false) documentation is misleading. #2360
  • std::begin and std::end usage without specifying std namespace #2359
  • Custom object conversion to json hangs in background thread #2358
  • Add support of nullable fields to NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE and NLOHMANN_DEFINE_TYPE_INTRUSIVE #2356
  • the portfile for the vcpkg is not working. #2351
  • Compiler warns of implicit fallthrough when defining preprocessor macro NDEBUG #2348
  • Compile error on Intel compiler running in Windows #2346
  • Build error caused by overwriting CMAKE_CXX_COMPILER #2343
  • Error: an attribute list cannot appear here JSON_HEDLEY_DEPRECATED_FOR #2342
  • compiler warning #2341
  • 3.9.0: tests make build non-reproducible #2324
  • Initialization different between gcc/clang #2311
  • Attempt to get() a numeric value as a type which cannot represent it should throw #2310
  • Surprising behaviour with overloaded operators #2256
  • ADL issue in input_adapter #2248
  • Output adapters should be templated. #2172
  • error when using nlohmann::json, std::function and std::bind #2147
  • Remove undefined behavior for const operator[] #2111
  • json({}) gives null instead of empty object with GCC and -std=c++17 #2046
  • GDB pretty printing support #1952
  • Always compile tests with all warnings enabled and error out on warnings #1798
  • Fixes Cppcheck warnings #1759
  • How to get position info or parser context with custom from_json() that may throw exceptions? #1508
  • Suggestion to improve value() accessors with respect to move semantics #1275
  • Add Key name to Exception #932

  • Overwork warning flags #2936 (nlohmann)

  • Treat MSVC warnings as errors #2930 (nlohmann)

  • All: fix warnings when compiling with -Wswitch-enum #2927 (fhuberts)

  • Guard GCC pragmas #2925 (nlohmann)

  • Supress -Wfloat-equal on intended float comparisions #2911 (Finkman)

  • Fix binary subtypes #2908 (nlohmann)

  • Fix useless-cast warnings #2902 (nlohmann)

  • Add regression test #2898 (nlohmann)

  • Refactor Unicode tests #2889 (nlohmann)

  • CMake cleanup #2885 (nlohmann)

  • Avoid string in case of empty CBOR objects #2879 (nlohmann)

  • Suppress C4127 warning in unit-json_pointer.cpp #2875 (nlohmann)

  • Fix truncation warning #2874 (nlohmann)

  • Fix memory leak in to_json #2872 (nlohmann)

  • Fix assertion failure in diagnostics #2866 (nlohmann)

  • Update documentation #2861 (nlohmann)

  • Consistency with using in README.md #2826 (justanotheranonymoususer)

  • Properly constrain the basic_json conversion operator #2825 (ldionne)

  • Fix CI #2817 (nlohmann)

  • Specified git branch for google benchmark fetch in benchmark test #2795 (grafail)

  • Add C++ standards to macOS matrix #2790 (nlohmann)

  • Update URLs to HTTPS #2789 (TotalCaesar659)

  • Link to Conan Center package added #2771 (offa)

  • Keep consistent formatting #2770 (jasmcaus)

  • Add a cmake option to use SYSTEM in target_include_directories #2762 (jpl-mac)

  • replace EOF with std::char_traits<char>::eof() #2756 (nlohmann)

  • Fix typo in README #2754 (mortenfyhn)

  • Update documentation #2749 (nlohmann)

  • Add documentation for numbers #2747 (nlohmann)

  • Use Clang 12 in CI #2737 (nlohmann)

  • Fixes #2730 #2731 (theShmoo)

  • Possibility to use without the dependency to file io and streams to use in intel sgx enclaves #2729 (theShmoo)

  • Update json.hpp #2707 (raduteo)

  • pkg-config.pc.in: Don't concatenate paths #2690 (doronbehar)

  • add more CI steps #2689 (nlohmann)

  • Update doctest from 2.4.4 to 2.4.6 (fixes #2686) #2687 (musicinmybrain)

  • License fix #2683 (nlohmann)

  • Update parse_exceptions.md - correct json::exception::parse_error #2679 (frasermarlow)

  • Remove HEDLEY annotation from exception::what() #2673 (remyjette)

  • Fix amount of entries in the json object #2659 (abbaswasim)

  • Fix missing 1.78 in example in README.md #2625 (wawiesel)

  • Add GDB pretty printer #2607 (nlohmann)

  • readme: fix tilde character display #2582 (bl-ue)

  • Add support for deserialization of STL containers of non-default constructable types (fixes #2574). #2576 (AnthonyVH)

  • Better diagnostics #2562 (nlohmann)

  • CI targets #2561 (nlohmann)

  • Add switch to skip non-reproducible tests. #2560 (nlohmann)

  • Fix compilation of input_adapter(container) in edge cases #2553 (jasujm)

  • Allow parsing from std::byte containers #2550 (nlohmann)

  • Travis doesn't run any tests in C++17 mode #2540 (karzhenkov)

  • Doctest is updated to v2.4.3 #2538 (YarikTH)

  • Fix warnings #2537 (nlohmann)

  • Fix a shadowing warning #2536 (nlohmann)

  • Clarify license of is_complete_type implementation #2534 (nlohmann)

  • Do not unconditionally redefine C++14 constructs #2533 (nlohmann)

  • Doctest is updated to v2.4.1 #2525 (YarikTH)

  • Add MAIN_PROJECT check for test and install options #2514 (globberwops)

  • Ranged insert test section is added in unit-ordered_json.cpp #2512 (YarikTH)

  • Add asserts to suppress C28020 #2447 (jbzdarkid)

  • Change argument name "subtype" in byte_container_with_subtype #2444 (linev)

  • 📝 add CPM.Cmake example #2406 (leozz37)

  • Fix move constructor of json_ref #2405 (karzhenkov)

  • Properly select "Release" build for Travis #2375 (karzhenkov)

  • Update Hedley #2367 (nlohmann)

  • Fix and extend documentation of discarded values #2363 (nlohmann)

  • Fix typos in documentation #2354 (rbuch)

  • Remove "#define private public" from tests #2352 (nlohmann)

  • Remove -Wimplicit-fallthrough warning #2349 (nlohmann)

  • Fix code to work without exceptions #2347 (nlohmann)

  • fix cmake script overwriting compiler path #2344 (ongjunjie)

v3.9.1 (2020-08-06)

Full Changelog

  • Can't parse not formatted JSON. #2340
  • parse returns desired array contained in array when JSON text begins with square bracket on gcc 7.5.0 #2339
  • Unexpected deserialization difference between Mac and Linux #2338
  • Reading ordered_json from file causes compile error #2331
  • ignore_comment=true fails on multiple consecutive lines starting with comments #2330
  • Update documentation about Homebrew installation and CMake integration - Homebrew #2326
  • Chinese character initialize error #2325
  • json.update and vector<pair>does not work with ordered_json #2315
  • Ambiguous call to overloaded function #2210

  • Fix fallthrough warning #2333 (nlohmann)

  • Fix lexer to properly cope with repeated comments #2332 (nlohmann)

  • Fix name of Homebrew formula in documentation #2327 (nlohmann)

  • fix typo #2320 (wx257osn2)

  • Fix a bug due to missing overloads in ordered_map container #2319 (nlohmann)

  • cmake: install pkg-config file relative to current_binary_dir #2318 (eli-schwartz)

  • Fixed installation of pkg-config file on other than Ubuntu #2314 (xvitaly)

v3.9.0 (2020-07-27)

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
  • 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)

  • Cleanup #2303 (nlohmann)

  • 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 (2020-06-14)

Full Changelog

  • sorry delete this issue, i'm stupid #2187
  • Append to a std::nlohmann::json type #2186
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • from_json for non default constructible class with dependency injection #1819
  • 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)

  • Fixes #1971 (memory leak in basic_json::push_back) #2025 (ArtemSarmini)

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

  • Update LICENSE.MIT #2010 (magamig)

  • PR for #2006 to test in AppVeyor. #2008 (garethsb)

  • Added wsjcpp.yml #2004 (sea-kg)

  • fix error 'setw' is not a member of 'std' in Wandbox example #2002 (alexandermyasnikov)

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

  • Modify the document about operator== #1984 (dota17)

  • Rename argument array_index to array_indx in json_pointer methods #1980 (linev)

  • README: Fix string representation of dumped json #1979 (alexweej)

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

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

  • appveyor.yml: Compile and test with latest version for __cplusplus ma… #1958 (t-b)

  • Fix typo in examples #1956 (dota17)

  • templated input adapters #1950 (FrancoisChabot)

  • Update README.md : add a FAQ about memory release #1933 (dota17)

  • Some typos #1923 (Coeur)

  • Fix link to parse function in README #1918 (kastiglione)

  • Readme: Updated links to hunter repo & docs #1917 (jothepro)

  • Adds instruction for using Build2's package manager #1909 (Klaim)

  • Update README.md #1907 (pauljurczak)

  • Fix warning: ignoring return value #1871 (sonulohani)

  • docs: add central repository as conan source to readme #1857 (gocarlos)

  • README: Package in MSYS2 renamed to nlohmann-json #1853 (podsvirov)

  • Fix msvc warnings #1846 (MBalszun)

  • Update tests that generate CMake projects to use main project's C++ compiler #1844 (Tridacnid)

  • 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 (2019-11-17)

Full Changelog

  • Project branches #1839
  • Quadratic destruction complexity introduced in #1436 #1837
  • Trying to open a file #1814
  • Comparing data type with value_t::number_integer fails #1783
  • CMake version config file is architecture-dependent #1697

  • Fix quadratic destruction complexity #1838 (nickaein)

v3.7.2 (2019-11-10)

Full Changelog

  • Segmentation fault in destructor in case of large inputs #1835
  • type_name() is not consistent with type() #1833
  • json::parse is not a member #1832
  • How do you deal with json* ? #1829
  • Combined find_package/add_subdirectory not linking libraries #1771
  • example code for ifstream reading a json file results in no operator error #1766
  • Warning: unsequenced modification and access to 'range' #1674
  • Segmentation fault (stack overflow) due to unbounded recursion #1419
  • Stack-overflow (OSS-Fuzz 4234) #832

  • Configure WhiteSource Bolt for GitHub #1830 (mend-bolt-for-github[bot])

  • Prevent stackoverflow caused by recursive deconstruction #1436 (nickaein)

v3.7.1 (2019-11-06)

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
  • 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
  • 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
  • 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 (2019-07-28)

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
  • 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
  • JSON Parse Out of Range Error #1574
  • Integrating into existing CMake Project #1573
  • 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
  • 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 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
  • 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
  • Null bytes in files are treated like EOF #1095
  • Feature: to_string(const json& j); #916

  • Use GNUInstallDirs instead of hard-coded path. #1673 (ghost)

  • 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 (2019-03-20)

Full Changelog

3.6.1 (2019-03-20)

Full Changelog

  • Failed to build with <Windows.h> #1531
  • Compiling 3.6.0 with GCC > 7, array vs std::array #590 is back #1530
  • 3.6.0: warning: missing initializer for member 'std::array<char, 9ul>::_M_elems' [-Wmissing-field-initializers] #1527
  • unable to parse json #1525

v3.6.0 (2019-03-19)

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
  • 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
  • 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
  • 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
  • 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)

  • 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 (jef)

  • 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 (2018-12-21)

Full Changelog

  • Copyconstructor inserts original into array with single element #1397
  • Get value without explicit typecasting #1395
  • Big file parsing #1393
  • 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
  • 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
  • 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)

v3.4.0 (2018-10-30)

Full Changelog

  • Big uint64_t values are serialized wrong #1327
  • [Question] Efficient check for equivalency? #1325
  • Can't use ifstream and .clear() #1321
  • [Warning] -Wparentheses on line 555 on single_include #1319
  • Compilation error using at and find with enum struct #1316
  • Parsing JSON from a web address #1311
  • How to convert JSON to Struct with embeded subject #1310
  • Null safety/coalescing function? #1309
  • Building fails using single include file: json.hpp #1308
  • json::parse(std::string) Exception inside packaged Lib #1306
  • Problem in Dockerfile with installation of library #1304
  • compile error in from_json converting to container with std::pair #1299
  • Json that I am trying to parse, and I am lost Structure Array below top level #1293
  • Serializing std::variant causes stack overflow #1292
  • How do I go about customising from_json to support __int128_t/__uint128_t? #1290
  • merge_patch: inconsistent behaviour merging empty sub-object #1289
  • Buffer over/underrun using UBJson? #1288
  • Enable the latest C++ standard with Visual Studio #1287
  • truncation of constant value in to_cbor() #1286
  • eosio.wasmsdk error #1284
  • use the same interface for writing arrays and non-arrays #1283
  • How to read json file with optional entries and entries with different types #1281
  • merge result not as espected #1279
  • how to get only "name" from below json #1278
  • syntax error on right json string #1276
  • Parsing JSON Array where members have no key, using custom types #1267
  • I get a json exception periodically from json::parse for the same json #1263
  • GCC 8.2.1. Compilation error: invalid conversion from... #1246
  • BSON support #1244
  • enum to json mapping #1208
  • Soften the landing when dumping non-UTF8 strings (type_error.316 exception) #1198

  • Add macro to define enum/JSON mapping #1323 (nlohmann)

  • Add BSON support #1320 (nlohmann)

  • Properly convert constants to CharType #1315 (nlohmann)

  • Allow to set error handler for decoding errors #1314 (nlohmann)

  • Add Meson related info to README #1305 (koponomarenko)

  • Improve diagnostic messages for binary formats #1303 (nlohmann)

  • add new is_constructible_* traits used in from_json #1301 (theodelrieu)

  • add constraints for variadic json_ref constructors #1294 (theodelrieu)

  • Improve diagnostic messages #1282 (nlohmann)

  • Removed linter warnings #1280 (nlohmann)

  • Thirdparty benchmark: Fix Clang detection. #1277 (Lord-Kamina)

v3.3.0 (2018-10-05)

Full Changelog

3.3.0 (2018-10-05)

Full Changelog

  • When key is not found print the key name into error too #1273
  • Visual Studio 2017 15.8.5 "conditional expression is constant" warning on Line 1851 in json.hpp #1268
  • how can we get this working on WSL? #1264
  • Help needed #1259
  • A way to get to a JSON values "key" #1258
  • While compiling got 76 errors #1255
  • Two blackslashes on json output file #1253
  • Including nlohmann the badwrong way. #1250
  • how to build with clang? #1247
  • Cmake target_link_libraries unable to find nlohmann_json since version 3.2.0 #1243
  • [Question] Access to end() iterator reference #1242
  • Parsing different json format #1241
  • Parsing Multiple JSON Files #1240
  • Doesn't compile under C++17 #1239
  • Conversion operator for nlohmann::json is not SFINAE friendly #1237
  • Custom deserialization of number_float_t #1236
  • deprecated-declarations warnings when compiling tests with GCC 8.2.1. #1233
  • Incomplete type with json_fwd.hpp #1232
  • Parse Error #1229
  • json::get function with argument #1227
  • questions regarding from_json #1226
  • Lambda in unevaluated context #1225
  • NLohmann doesn't compile when enabling strict warning policies #1224
  • Creating array of objects #1223
  • Somewhat unhelpful error message "cannot use operator[] with object" #1220
  • single_include json.hpp #1218
  • Maps with enum class keys which are convertible to JSON strings should be converted to JSON dictionaries #1217
  • Adding JSON Array to the Array #1216
  • Best way to output a vector of a given type to json #1215
  • compiler warning: double definition of macro JSON_INTERNAL_CATCH #1213
  • Compilation error when using MOCK_METHOD1 from GMock and nlohmann::json #1212
  • Issues parsing a previously encoded binary (non-UTF8) string. #1211
  • Yet another ordering question: char * and parse() #1209
  • Error using gcc 8.1.0 on Ubuntu 14.04 #1207
  • "type must be string, but is " std::string(j.type_name() #1206
  • Returning empty json object from a function of type const json& ? #1205
  • VS2017 compiler suggests using constexpr if #1204
  • Template instatiation error on compiling #1203
  • BUG - json dump field with unicode -> array of ints (instead of string) #1197
  • Compile error using Code::Blocks // mingw-w64 GCC 8.1.0 - "Incomplete Type" #1193
  • SEGFAULT on arm target #1190
  • Compiler crash with old Clang #1179
  • Custom Precision on floating point numbers #1170
  • Can we have a json_view class like std::string_view? #1158
  • improve error handling #1152
  • We should remove static_asserts #960

  • Fix warning C4127: conditional expression is constant #1272 (antonioborondo)

  • Turn off additional deprecation warnings for GCC. #1271 (chuckatkins)

  • docs: Add additional CMake documentation #1270 (chuckatkins)

  • unit-testsuites.cpp: fix hangup if file not found #1262 (knilch0r)

  • Fix broken cmake imported target alias #1260 (chuckatkins)

  • GCC 48 #1257 (henryiii)

  • Add version and license to meson.build #1252 (koponomarenko)

  • #1179 Reordered the code. It seems to stop clang 3.4.2 in RHEL 7 from crash… #1249 (LEgregius)

  • Use a version check to provide backwards comatible CMake imported target names #1245 (chuckatkins)

  • Fix issue #1237 #1238 (theodelrieu)

  • Add a get overload taking a parameter. #1231 (theodelrieu)

  • Move lambda out of unevaluated context #1230 (mandreyel)

  • Remove static asserts #1228 (theodelrieu)

  • Better error 305 #1221 (rivertam)

  • Fix #1213 #1214 (simnalamburt)

  • Export package to allow builds without installing #1202 (dennisfischer)

v3.2.0 (2018-08-20)

Full Changelog

3.2.0 (2018-08-20)

Full Changelog

  • Am I doing this wrong? Getting an empty string #1199
  • Incompatible Pointer Type #1196
  • json.exception.type_error.316 #1195
  • Strange warnings in Code::Blocks 17.12, GNU GCC #1192
  • [Question] Current place in code to change floating point resolution #1191
  • Add key name when throwing type error #1189
  • Not able to include in visual studio code? #1188
  • Get an Index or row number of an element #1186
  • Difference between merge_patch and update #1183
  • Is there a way to get an element from a JSON without throwing an exception on failure? #1182
  • to_string? #1181
  • How to cache a json object's pointer into a map? #1180
  • Can this library work within a Qt project for Android using Qt Creator? #1178
  • How to get all keys of one object? #1177
  • How can I only parse the first level and get the value as string? #1175
  • I have a query regarding nlohmann::basic_json::basic_json #1174
  • unordered_map with vectors won't convert to json? #1173
  • return json objects from functions #1172
  • Problem when exporting to CBOR #1171
  • Roundtripping null to nullptr does not work #1169
  • MSVC fails to compile std::swap specialization for nlohmann::json #1168
  • Unexpected behaviour of is_null - Part II #1167
  • Floating point imprecision #1166
  • Combine json objects into one? #1165
  • Is there any way to know if the object has changed? #1164
  • Value throws on null string #1163
  • Weird template issue in large project #1162
  • _json returns a different result vs ::parse #1161
  • Showing difference between two json objects #1160
  • no instance of overloaded function "std::swap" matches the specified type #1159
  • resize(...)? #1157
  • Issue with struct nested in class' to_json #1155
  • Deserialize std::map with std::nan #1154
  • Parse throwing errors #1149
  • cocoapod integration #1148
  • wstring parsing #1147
  • Is it possible to dump a two-dimensional array to "[[null],[1,2,3]]"? #1146
  • Want to write a class member variable and a struct variable ( this structure is inside the class) to the json file #1145
  • Does json support converting an instance of a struct into json string? #1143
  • #Most efficient way to search for child parameters (recursive find?) #1141
  • could not find to_json() method in T's namespace #1140
  • chars get treated as JSON numbers not JSON strings #1139
  • How do I count number of objects in array? #1137
  • Serializing a vector of classes? #1136
  • Compile error. Unable convert form nullptr to nullptr&& #1135
  • std::unordered_map in struct, serialization #1133
  • dump() can't handle umlauts #1131
  • Add a way to get a key reference from the iterator #1127
  • can't not parse "\“ string #1123
  • if json file contain Internationalization chars , get exception #1122
  • How to use a json::iterator dereferenced value in code? #1120
  • Disable implicit conversions from json to std::initializer_list<T> for any T #1118
  • Implicit conversions to complex types can lead to surprising and confusing errors #1116
  • How can I write from_json for a complex datatype that is not default constructible? #1115
  • Compile error in VS2015 when compiling unit-conversions.cpp #1114
  • ADL Serializer for std::any / boost::any #1113
  • Unexpected behaviour of is_null #1112
  • How to resolve " undefined reference to `std::__throw_bad_cast()'" #1111
  • cannot compile on ubuntu 18.04 and 16.04 #1110
  • JSON representation for floating point values has too many digits #1109
  • Not working for classes containing "_declspec(dllimport)" in their declaration #1108
  • Get keys from json object #1107
  • Cannot deserialize types using std::ratio #1105
  • i want to learn json #1104
  • Type checking during compile #1103
  • Iterate through sub items #1102
  • cppcheck failing for version 3.1.2 #1101
  • Deserializing std::map #1100
  • accessing key by reference #1098
  • clang 3.8.0 croaks while trying to compile with debug symbols #1097
  • Serialize a list of class objects with json #1096
  • Small question #1094
  • Upgrading to 3.x: to_/from_json with enum class #1093
  • Q: few questions about json construction #1092
  • general crayCC compilation failure #1091
  • Merge Patch clears original data #1090
  • [Question] how to use nlohmann/json in c++? #1088
  • C++17 decomposition declaration support #1087
  • [Question] Access multi-level json objects #1086
  • Serializing vector #1085
  • update nested value in multi hierarchy json object #1084
  • Overriding default values? #1083
  • detail namespace collision with Cereal? #1082
  • Error using json.dump(); #1081
  • Consuming TCP Stream #1080
  • Compilation error with strong typed enums in map in combination with namespaces #1079
  • cassert error #1076
  • Valid json data not being parsed #1075
  • Feature request :: Better testing for key existance without try/catch #1074
  • Hi, I have input like a.b.c and want to convert it to \"a\"{\"b\": \"c\"} form. Any suggestions how do I do this? Thanks. #1073
  • ADL deserializer not picked up for non default-constructible type #1072
  • Deserializing std::array doesn't compiler (no insert()) #1071
  • Serializing OpenCV Mat problem #1070
  • Compilation error with ICPC compiler #1068
  • Not existing value, crash #1065
  • cyryllic symbols #1064
  • newbie usage question #1063
  • Trying j["strTest"] = "%A" produces "strTest": "-0X1.CCCCCCCCCCCCCP+205" #1062
  • convert json value to std::string??? #1061
  • Commented out test cases, should they be removed? #1060
  • different behaviour between clang and gcc with braced initialization #1059
  • json array: initialize with prescribed size and resize method. #1057
  • Is it possible to use exceptions istead of assertions? #1056
  • when using assign operator in with json object a static assertion fails.. #1055
  • Iterate over leafs of a JSON data structure: enrich the JSON pointer API #1054
  • [Feature request] Access by path #1053
  • document that implicit js -> primitive conversion does not work for std::string::value_type and why #1052
  • error: ‘BasicJsonType’ in namespace ‘::’ does not name a type #1051
  • Destructor is called when filling object through assignement #1050
  • Is this thing thread safe for reads? #1049
  • clang-tidy: Call to virtual function during construction #1046
  • Using STL algorithms with JSON containers with expected results? #1045
  • Usage with gtest/gmock not working as expected #1044
  • Consequences of from_json / to_json being in namespace of data struct. #1042
  • const_reference operator[](const typename object_t::key_type& key) const throw instead of assert #1039
  • Trying to retrieve data from nested objects #1038
  • Direct download link for json_fwd.hpp? #1037
  • I know the library supports UTF-8, but failed to dump the value #1036
  • Putting a Vec3-like vector into a json object #1035
  • Ternary operator crash #1034
  • Issued with Clion Inspection Resolution since 2018.1 #1033
  • Some testcases fail and one never finishes #1032
  • Can this class work with wchar_t / std::wstring? #1031
  • Makefile: Valgrind flags have no effect #1030
  • 「==」 Should be 「>」 #1029
  • HOCON reader? #1027
  • add json string in previous string?? #1025
  • RFC: fluent parsing interface #1023
  • Does it support chinese character? #1022
  • to/from_msgpack only works with standard typization #1021
  • Build failure using latest clang and GCC compilers #1020
  • can two json objects be concatenated? #1019
  • Erase by integer index #1018
  • Function find overload taking a json_pointer #1017
  • I think should implement an parser function #1016
  • Readme gif #1015
  • Python bindings #1014
  • how to add two json string in single object?? #1012
  • how to serialize class Object (convert data in object into json)?? #1011
  • Enable forward declaration of json by making json a class instead of a using declaration #997
  • compilation error while using intel c++ compiler 2018 #994
  • How to create a json variable? #990
  • istream >> json --- 1st character skipped in stream #976
  • Add a SAX parser #971
  • How to solve large json file? #927
  • json_pointer public push_back, pop_back #837
  • Using input_adapter in a slightly unexpected way #834

  • Fix -Wno-sometimes-uninitialized by initializing "result" in parse_sax #1200 (thyu)

  • [RFC] Introduce a new macro function: JSON_INTERNAL_CATCH #1187 (simnalamburt)

  • Fix unit tests that were silently skipped or crashed (depending on the compiler) #1176 (grembo)

  • Refactor/no virtual sax #1153 (theodelrieu)

  • Fixed compiler error in VS 2015 for debug mode #1151 (sonulohani)

  • Fix links to cppreference named requirements (formerly concepts) #1144 (jrakow)

  • meson: fix include directory #1142 (jrakow)

  • Feature/unordered map conversion #1138 (theodelrieu)

  • fixed compile error for #1045 #1134 (Daniel599)

  • test (non)equality for alt_string implementation #1130 (agrianius)

  • remove stringstream dependency #1117 (TinyTinni)

  • Provide a from_json overload for std::map #1089 (theodelrieu)

  • fix typo in README #1078 (martin-mfg)

  • Fix typo #1058 (dns13)

  • Misc cmake packaging enhancements #1048 (chuckatkins)

  • Fixed incorrect LLVM version number in README #1047 (jammehcow)

  • Fix trivial typo in comment. #1043 (coryan)

  • Package Manager: Spack #1041 (ax3l)

  • CMake: 3.8+ is Sufficient #1040 (ax3l)

  • Added support for string_view in C++17 #1028 (gracicot)

  • Added public target_compile_features for auto and constexpr #1026 (ktonon)

v3.1.2 (2018-03-14)

Full Changelog

3.1.2 (2018-03-14)

Full Changelog

  • STL containers are always serialized to a nested array like [[1,2,3]] #1013
  • The library doesn't want to insert an unordered_map #1010
  • Convert Json to uint8_t #1008
  • How to compare two JSON objects? #1007
  • Syntax checking #1003
  • more than one operator '=' matches these operands #1002
  • How to check if key existed #1000
  • nlohmann::json::parse exhaust memory in go binding #999
  • Range-based iteration over a non-array object #998
  • get<T> for types that are not default constructible #996
  • Prevent Null values to appear in .dump() #995
  • number parsing #993
  • C2664 (C++/CLR) cannot convert 'nullptr' to 'nullptr &&' #987
  • Uniform initialization from another json object differs between gcc and clang. #985
  • Problem with adding the lib as a submodule #983
  • UTF-8/Unicode error #982
  • "forcing MSVC stacktrace to show which T we're talking about." error #980
  • reverse order of serialization #979
  • Assigning between different json types #977
  • Support serialisation of unique_ptr<> and shared_ptr<> #975
  • Unexpected end of input (not same as one before) #974
  • Segfault on direct initializing json object #973
  • Segmentation fault on G++ when trying to assign json string literal to custom json type. #972
  • os_defines.h:44:19: error: missing binary operator before token "(" #970
  • Passing an iteration object by reference to a function #967
  • Json and fmt::lib's format_arg() #964

  • Allowing for user-defined string type in lexer/parser #1009 (nlohmann)

  • dump to alternative string type, as defined in basic_json template #1006 (agrianius)

  • Fix memory leak during parser callback #1001 (nlohmann)

  • fixed misprinted condition detected by PVS Studio. #992 (bogemic)

  • Fix/basic json conversion #986 (theodelrieu)

  • Make integration section concise #981 (wla80)

v3.1.1 (2018-02-13)

Full Changelog

  • Updation of child object isn't reflected in parent Object #968
  • How to add user defined C++ path to sublime text #966
  • fast number parsing #965
  • With non-unique keys, later stored entries are not taken into account anymore #963
  • Timeout (OSS-Fuzz 6034) #962
  • Incorrect parsing of indefinite length CBOR strings. #961
  • Reload a json file at runtime without emptying my std::ifstream #959
  • Split headers should be part of the release #956
  • Coveralls shows no coverage data #953
  • Feature request: Implicit conversion to bool #951
  • converting json to vector of type with templated constructor #924
  • No structured bindings support? #901
  • [Request] Macro generating from_json() and to_json() #895
  • basic_json::value throws exception instead of returning default value #871

  • Fix constraints on from_json(CompatibleArrayType) #969 (theodelrieu)

  • Make coveralls watch the include folder #957 (theodelrieu)

  • Fix links in README.md #955 (patrikhuber)

  • Add a note about installing the library with cget #954 (pfultz2)

v3.1.0 (2018-02-01)

Full Changelog

3.1.0 (2018-02-01)

Full Changelog

  • I have a proposal #949
  • VERSION define(s) #948
  • v3.0.1 compile error in icc 16.0.4 #947
  • Use in VS2017 15.5.5 #946
  • Process for reporting Security Bugs? #945
  • Please expose a NLOHMANN_JSON_VERSION macro #943
  • Change header include directory to nlohmann/json #942
  • string_type in binary_reader #941
  • compile error with clang 5.0 -std=c++1z and no string_view #939
  • Allow overriding JSON_THROW to something else than abort() #938
  • Handle invalid string in Json file #937
  • Unused variable 'kMinExp' #935
  • yytext is already defined #933
  • Equality operator fails #931
  • use in visual studio 2015 #929
  • Relative includes of json_fwd.hpp in detail/meta.hpp. [Develop branch] #928
  • GCC 7.x issue #926
  • json_fwd.hpp not installed #923
  • Use Google Benchmarks #921
  • Move class json_pointer to separate file #920
  • Unable to locate 'to_json()' and 'from_json()' methods in the same namespace #917
  • [answered]Read key1 from .value example #914
  • Don't use define private public in test files #913
  • value() template argument type deduction #912
  • Installation path is incorrect #910
  • H #909
  • Build failure using clang 5 #908
  • Amalgate #907
  • Update documentation and tests wrt. split headers #906
  • Lib not working on ubuntu 16.04 #905
  • Problem when writing to file. #904
  • C2864 error when compiling with VS2015 and VS 2017 #903
  • [json.exception.type_error.304] cannot use at() with object #902
  • How do I forward nlohmann::json declaration? #899
  • How to effectively store binary data? #898
  • How to get the length of a JSON string without retrieving its std::string? #897
  • Regression Tests Failure using "ctest" #887
  • Discuss: add JSON Merge Patch (RFC 7396)? #877
  • Discuss: replace static "iterator_wrapper" function with "items" member function #874
  • Make optional user-data available in from_json #864
  • Casting to std::string not working in VS2015 #861
  • Sequential reading of JSON arrays #851
  • Idea: Handle Multimaps Better #816
  • Floating point rounding #777
  • Loss of precision when serializing <double> #360

  • Templatize std::string in binary_reader #941 #950 (kaidokert)

  • fix cmake install directory (for real this time) #944 (theodelrieu)

  • Allow overriding THROW/CATCH/TRY macros with no-exceptions #938 #940 (kaidokert)

  • Removed compiler warning about unused variable 'kMinExp' #936 (zerodefect)

  • Fix a typo in README.md #930 (Pipeliner)

  • Howto installation of json_fwd.hpp (fixes #923) #925 (zerodefect)

  • fix sfinae on basic_json UDT constructor #919 (theodelrieu)

  • Floating-point formatting #915 (abolz)

  • Fix/cmake install #911 (theodelrieu)

  • fix link to the documentation of the emplace function #900 (Dobiasd)

  • JSON Merge Patch (RFC 7396) #876 (nlohmann)

  • Refactor/split it #700 (theodelrieu)

v3.0.1 (2017-12-29)

Full Changelog

3.0.1 (2017-12-29)

Full Changelog

  • Problem parsing array to global vector #896
  • Invalid RFC6902 copy operation succeeds #894
  • How to rename a key during looping? #893
  • clang++-6.0 (6.0.0-svn321357-1) warning #892
  • Make json.hpp aware of the modules TS? #891
  • All enum values not handled in switch cases. ( -Wswitch-enum ) #889
  • JSON Pointer resolve failure resulting in incorrect exception code #888
  • Unexpected nested arrays from std::vector #886
  • erase multiple elements from a json object #884
  • Container function overview in Doxygen is not updated #883
  • How to use this for binary file uploads #881
  • Allow setting JSON_BuildTests=OFF from parent CMakeLists.txt #846
  • Unit test fails for local-independent str-to-num #845
  • Another idea about type support #774

  • Includes CTest module/adds BUILD_TESTING option #885 (TinyTinni)

  • Fix MSVC warning C4819 #882 (erengy)

  • Merge branch 'develop' into coverity_scan #880 (nlohmann)

  • :wrench: Fix up a few more effc++ items #858 (mattismyname)

v3.0.0 (2017-12-17)

Full Changelog

3.0.0 (2017-12-17)

Full Changelog

  • unicode strings #878
  • Visual Studio 2017 15.5 C++17 std::allocator deprecations #872
  • Typo "excpetion" #869
  • Explicit array example in README.md incorrect #867
  • why don't you release this from Feb. ? #865
  • json::parse throws std::invalid_argument when processing string generated by json::dump() #863
  • code analysis: potential bug? #859
  • MSVC2017, 15.5 new issues. #857
  • very basic: fetching string value/content without quotes #853
  • Ambiguous function call to get with pointer type and constant json object in VS2015 (15.4.4) #852
  • How to put object in the array as a member? #850
  • misclick, please ignore #849
  • Make XML great again. #847
  • Converting to array not working #843
  • Iteration weirdness #842
  • Use reference or pointer as Object value #841
  • Ambiguity in parsing nested maps #840
  • could not find from_json() method in T's namespace #839
  • Incorrect parse error with binary data in keys? #838
  • using dump() when std::wstring is StringType with VS2017 #836
  • Show the path of the currently parsed value when an error occurs #835
  • Repetitive data type while reading #833
  • Storing multiple types inside map #831
  • Application terminating #830
  • Missing CMake hunter package? #828
  • std::map<std::string, std::string> from json object yields C2665: 'std::pair<const _Kty,_Ty>::pair': none of the 2 overloads could convert all the argument types #827
  • object.dump gives quoted string, want to use .dump() to generate javascripts. #826
  • Assertion failed on ["NoExistKey"] of an not existing key of const json& #825
  • vs2015 error : static member will remain uninitialized at runtime but use in constant-expressions is supported #824
  • Code Checking Warnings from json.hpp on VS2017 Community #821
  • Missing iostream in try online #820
  • Floating point value loses decimal point during dump #818
  • Conan package for the library #817
  • stream error #815
  • Link error when using find() on the latest commit #814
  • ABI issue with json object between 2 shared libraries #813
  • scan_string() return token_type::parse_error; when parse ansi file #812
  • segfault when using fifo_map with json #810
  • This shit is shit #809
  • _finite and _isnan are no members of "std" #808
  • how to print out the line which causing exception? #806
  • {} uses copy constructor, while = does not #805
  • json.hpp:8955: multiple definition of function that is not defined twice or more. #804
  • [question] to_json for base and derived class #803
  • Misleading error message - unexpected '"' - on incorrect utf-8 symbol #802
  • json data = std::string_view("hi"); doesn't work? #801
  • Thread safety of parse() #800
  • Numbers as strings #799
  • Tests failing on arm #797
  • Using your library (without modification) in another library #796
  • Iterating over sub-object #794
  • how to get the json object again from which printed by the method of dump() #792
  • ppa to include source #791
  • Different include paths in macOS and Ubuntu #790
  • Missing break after line 12886 in switch/case #789
  • All unit tests fail? #787
  • More use of move semantics in deserialization #786
  • warning C4706 - Visual Studio 2017 (/W4) #784
  • Compile error in clang 5.0 #782
  • Error Installing appium_lib with Ruby v2.4.2 Due to JSON #781
  • ::get<int>() fails in new(er) release [MSVC] #780
  • Type Conversion #779
  • Segfault on nested parsing #778
  • Build warnings: shadowing exception id #776
  • multi-level JSON support. #775
  • SIGABRT on dump() #773
  • [Question] Custom StringType template parameter (possibility for a KeyType template parameter) #772
  • constexpr ALL the Things! #771
  • error: ‘BasicJsonType’ in namespace ‘::’ does not name a type #770
  • Program calls abort function #769
  • [Question] Floating point resolution config during dump() ? #768
  • make check - no test ran #767
  • The library cannot work properly with custom allocator based containers #766
  • Documentation or feature request. #763
  • warnings in msvc about mix/max macro while windows.h is used in the project #762
  • std::signbit ambiguous #761
  • How to use value for std::experimental::optional type? #760
  • Cannot load json file properly #759
  • Compilation error with unordered_map< int, int > #758
  • CBOR string #757
  • Proposal: out_of_range should be a subclass of std::out_of_range #756
  • Getter is setting the value to null if the key does not exist #754
  • parsing works sometimes and crashes others #752
  • Static_assert failed "incompatible pointer type" with Xcode #751
  • user-defined literal operator not found #750
  • getting clean string from it.key() #748
  • Best method for exploring and obtaining values of nested json objects when the names are not known beforehand? #747
  • null char at the end of string #746
  • Incorrect sample for operator >> in docs #745
  • User-friendly documentation #744
  • Retrieve all values that match a json path #743
  • Compilation issue with gcc 7.2 #742
  • CMake target nlohmann_json does not have src into its interface includes #741
  • Error when serializing empty json: type must be string, but is object #740
  • Conversion error for std::map<int, std::string> #739
  • Dumping Json to file as array #738
  • nesting json objects #737
  • where to find general help? #736
  • Compilation Error on Clang 5.0 Upgrade #735
  • Compilation error with std::map<std::string, std::string> on vs 2015 #734
  • Benchmarks for Binary formats #733
  • Support \n symbols in json string. #731
  • Project's name is too generic and hard to search for #730
  • Visual Studio 2015 IntelliTrace problems #729
  • How to erase nested objects inside other objects? #728
  • Serialization for CBOR #726
  • Using json Object as value in a map #725
  • std::regex and nlohmann::json value #724
  • Warnings when compiling with VisualStudio 2015 #723
  • Has this lib the unicode (wstring) support? #722
  • When will be 3.0 in master? #721
  • Determine the type from error message. #720
  • Compile-Error C2100 (MS VS2015) in line 887 json.hpp #719
  • from_json not working for boost::optional example #718
  • about from_json and to_json function #717
  • How to detect parse failure? #715
  • Parse throw std::ios_base::failure exception when failbit set to true #714
  • Is there a way of format just making a pretty print without changing the key's orders ? #713
  • Serialization of array of not same model items #712
  • pointer to json parse vector #711
  • Gtest SEH Exception #709
  • broken from_json implementation for pair and tuple #707
  • Unevaluated lambda in assert breaks gcc 7 build #705
  • Issues when adding values to firebase database #704
  • Floating point equality - revisited #703
  • Conversion from valarray<double> to json fails to build #702
  • internal compiler error (gcc7) #701
  • One build system to rule them all #698
  • Generated nlohmann_jsonConfig.cmake does not set JSON_INCLUDE_DIR #695
  • support the Chinese language in json string #694
  • NaN problem within develop branch #693
  • Please post example of specialization for boost::filesystem #692
  • Impossible to do an array of composite objects #691
  • How to save json to file? #690
  • my simple json parser #689
  • problem with new struct parsing syntax #688
  • Parse error while parse the json string contains UTF 8 encoded document bytes string #684
  • [question] how to get a string value by pointer #683
  • create json object from string variable #681
  • adl_serializer and CRTP #680
  • Is there a way to control the precision of serialized floating point numbers? #677
  • Is there a way to get the path of a value? #676
  • Could the parser locate errors to line? #675
  • There is performance inefficiency found by coverity tool json2.1.1/include/nlohmann/json.hpp #673
  • include problem, when cmake on osx #672
  • Operator= ambiguous in C++1z and GCC 7.1.1 #670
  • should't the cmake install target be to nlohman/json.hpp #668
  • deserialise from std::vector #667
  • How to iterate? #665
  • could this json lib work on windows? #664
  • How does from_json work? #662
  • insert(or merge) object should replace same key , not ignore #661
  • Parse method doesn't handle newlines. #659
  • Compilation "note" on GCC 6 ARM #658
  • Adding additional push_back/operator+= rvalue overloads for JSON object #657
  • dump's parameter "ensure_ascii" creates too long sequences #656
  • Question: parsing void * #655
  • how should I check a string is valid JSON string ? #653
  • Question: thread safety of read only accesses #651
  • Eclipse: Method 'size' could not be resolved #649
  • Update/Add object fields #648
  • No exception raised for Out Of Range input of numbers #647
  • Package Name #646
  • What is the meaning of operator[](T* key) #645
  • Which is the correct way to json objects as parameters to functions? #644
  • Method to get string representations of values #642
  • CBOR serialization of a given JSON value does not serialize #641
  • Are we forced to use "-fexceptions" flag in android ndk project #640
  • Comparison of objects containing floats #639
  • 'localeconv' is not supported by NDK for SDK <=20 #638
  • [Question] cLion integration #637
  • How to construct an iteratable usage in nlohmann json? #636
  • [Question] copy assign json-container to vector #635
  • Get size without .dump() #634
  • Segmentation fault when parsing invalid json file #633
  • How to serialize from json to vector<customType>? #632
  • no member named 'thousands_sep' in 'lconv' #631
  • [Question] Any fork for (the unsupported) Visual Studio 2012 version? #628
  • Dependency injection in serializer #627
  • from_json for std::array #625
  • Discussion: How to structure the parsing function families #623
  • Question: How to erase subtree #622
  • Insertion into nested json field #621
  • Question: return static json object from function #618
  • icc16 error #617
  • [-Wdeprecated-declarations] in row j >> ss; in file json.hpp:7405:26 and FAILED unit tests with MinGWx64! #616
  • to_json for pairs, tuples #614
  • Using uninitialized memory 'buf' in line 11173 v2.1.1? #613
  • How to parse multiple same Keys of JSON and save them? #612
  • "Multiple declarations" error when using types defined with typedef #611
  • 2.1.1+ breaks compilation of shared_ptr<json> == 0 #610
  • a bug of inheritance ? #608
  • std::map key conversion with to_json #607
  • json.hpp:6384:62: error: wrong number of template arguments (1, should be 2) #606
  • Incremental parsing: Where's the push version? #605
  • Is there a way to validate the structure of a json object ? #604
  • [Question] Issue when using Appveyor when compiling library #603
  • BOM not skipped when using json:parse(iterator) #602
  • Use of the binary type in CBOR and Message Pack #601
  • Newbie issue: how does one convert a map in Json back to std::map? #600
  • Plugin system #599
  • Using custom types for scalars? #596
  • Issues with the arithmetic in iterator and reverse iterator #593
  • not enough examples #592
  • in-class initialization for type 'const T' is not yet implemented #591
  • compiling with gcc 7 -> error on bool operator < #590
  • Parsing from stream leads to an array #589
  • Buggy support for binary string data #587
  • C++17's ambiguous conversion #586
  • How does the messagepack encoding/decoding compare to msgpack-cpp in terms of performance? #585
  • is it possible to check existence of a value deep in hierarchy? #584
  • loading from a stream and exceptions #582
  • Visual Studio seems not to have all min() function versions #581
  • Supporting of the json schema #580
  • Stack-overflow (OSS-Fuzz 1444) #577
  • Heap-buffer-overflow (OSS-Fuzz 1400) #575
  • JSON escape quotes #574
  • error: static_assert failed #573
  • Storing floats, and round trip serialisation/deserialisation diffs #572
  • JSON.getLong produces inconsistent results #571
  • Request: Object.at() with default return value #570
  • Internal structure gets corrupted while parsing #569
  • create template <typename Iter> basic_json from_cbor(Iter begin, Iter end) #568
  • Conan.io #566
  • contradictory documentation regarding json::find #565
  • Unexpected '\"' in middle of array #564
  • Support parse std::pair to Json object #563
  • json and Microsoft Visual c++ Compiler Nov 2012 CTP #562
  • from_json declaration order and exceptions #561
  • Tip: Don't upgrade to VS2017 if using json initializer list constructs #559
  • parse error - unexpected end of input #558
  • Cant modify existing numbers inside a json object #557
  • Better support for SAX style serialize and deserialize in new version? #554
  • Cannot convert from json array to std::array #553
  • Do not define an unnamed namespace in a header file (DCL59-CPP) #552
  • Parse error on known good json file #551
  • Warning on Intel compiler (icc 17) #550
  • multiple versions of 'vsnprintf' #549
  • illegal indirection #548
  • Ambiguous compare operators with clang-5.0 #547
  • Using tsl::ordered_map #546
  • Compiler support errors are inconvenient #544
  • Duplicate symbols error happens while to_json/from_json method implemented inside entity definition header file #542
  • consider adding a bool json::is_valid(std::string const&) non-member function #541
  • Help request #539
  • How to deal with missing keys in from_json? #538
  • recursive from_msgpack implementation will stack overflow #537
  • Exception objects must be nothrow copy constructible (ERR60-CPP) #531
  • Support for multiple root elements #529
  • Port has_shape from dropbox/json11 #528
  • dump_float: truncation from ptrdiff_t to long #527
  • Make exception base class visible in basic_json #525
  • msgpack unit test failures on ppc64 arch #524
  • How about split the implementation out, and only leave the interface? #523
  • VC++2017 not enough actual parameters for macro 'max' #522
  • crash on empty ifstream #521
  • Suggestion: Support tabs for indentation when serializing to stream. #520
  • Abrt in get_number (OSS-Fuzz 885) #519
  • Abrt on unknown address (OSS-Fuzz 884) #518
  • Stack-overflow (OSS-Fuzz 869) #517
  • Assertion error (OSS-Fuzz 868) #516
  • NaN to json and back #515
  • Comparison of NaN #514
  • why it's not possible to serialize c++11 enums directly #513
  • clang compile error: use of overloaded operator '<=' is ambiguous with (nlohmann::json{{"a", 5}})["a"] <= 10 #512
  • Why not also look inside the type for (static) to_json and from_json funtions? #511
  • Parser issues #509
  • I may not understand #507
  • VS2017 min / max problem for 2.1.1 #506
  • CBOR/MessagePack is not read until the end #505
  • Assertion error (OSS-Fuzz 856) #504
  • Return position in parse error exceptions #503
  • conversion from/to C array is not supported #502
  • error C2338: could not find to_json() method in T's namespace #501
  • Test suite fails in en_GB.UTF-8 #500
  • cannot use operator[] with number #499
  • consider using __cpp_exceptions and/or __EXCEPTIONS to disable/enable exception support #498
  • Stack-overflow (OSS-Fuzz issue 814) #497
  • Using in Unreal Engine - handling custom types conversion #495
  • Conversion from vector<bool> to json fails to build #494
  • fill_line_buffer incorrectly tests m_stream for eof but not fail or bad bits #493
  • Compiling with _GLIBCXX_DEBUG yields iterator-comparison warnings during tests #492
  • crapy interface #491
  • Fix Visual Studo 2013 builds. #490
  • Failed to compile with -D_GLIBCXX_PARALLEL #489
  • Input several field with the same name #488
  • read in .json file yields strange sizes #487
  • json::value_t can't be a map's key type in VC++ 2015 #486
  • Using fifo_map #485
  • Cannot get float pointer for value stored as 0 #484
  • byte string support #483
  • https://github.com/nlohmann/json#execute-unit-tests #481
  • Remove deprecated constructor basic_json(std::istream&) #480
  • writing the binary json file? #479
  • CBOR/MessagePack from uint8_t * and size #478
  • Streaming binary representations #477
  • Reuse memory in to_cbor and to_msgpack functions #476
  • Error Using JSON Library with arrays C++ #475
  • Moving forward to version 3.0.0 #474
  • Inconsistent behavior in conversion to array type #473
  • Create a [key:member_pointer] map to ease parsing custom types #471
  • MSVC 2015 update 2 #469
  • VS2017 implicit to std::string conversion fix. #464
  • How to make sure a string or string literal is a valid JSON? #458
  • basic_json templated on a "policy" class #456
  • json::value(const json_pointer&, ValueType) requires exceptions to return the default value. #440
  • is it possible merge two json object #428
  • Is it possible to turn this into a shared library? #420
  • Further thoughts on performance improvements #418
  • nan number stored as null #388
  • Behavior of operator>> should more closely resemble that of built-in overloads. #367
  • Request: range-based-for over a json-object to expose .first/.second #350
  • feature wish: JSONPath #343
  • UTF-8/Unicode escape and dump #330
  • Serialized value not always can be parsed. #329
  • Is there a way to forward declare nlohmann::json? #314
  • Exception line #301
  • Do not throw exception when default_value's type does not match the actual type #278
  • dump() method doesn't work with a custom allocator #268
  • Readme documentation enhancements #248
  • Use user-defined exceptions #244
  • Incorrect C++11 allocator model support #161

  • :white_check_mark: re-added tests for algorithms #879 (nlohmann)

  • Overworked library toward 3.0.0 release #875 (nlohmann)

  • :rotating_light: remove C4996 warnings #872 #873 (nlohmann)

  • :boom: throwing an exception in case dump encounters a non-UTF-8 string #838 #870 (nlohmann)

  • :memo: fixing documentation #867 #868 (nlohmann)

  • iter_impl template conformance with C++17 #860 (bogemic)

  • Std allocator conformance cpp17 #856 (bogemic)

  • cmake: use BUILD_INTERFACE/INSTALL_INTERFACE #855 (theodelrieu)

  • to/from_json: add a MSVC-specific static_assert to force a stacktrace #854 (theodelrieu)

  • Add .natvis for MSVC debug view #844 (TinyTinni)

  • Updated hunter package links #829 (jowr)

  • Typos README #811 (Itja)

  • add forwarding references to json_ref constructor #807 (theodelrieu)

  • Add transparent comparator and perfect forwarding support to find() and count() #795 (jseward)

  • Error : 'identifier "size_t" is undefined' in linux #793 (sonulohani)

  • Fix Visual Studio 2017 warnings #788 (jseward)

  • Fix warning C4706 on Visual Studio 2017 #785 (jseward)

  • Set GENERATE_TAGFILE in Doxyfile #783 (eld00d)

  • using more CMake #765 (nlohmann)

  • Simplified istream handing #367 #764 (pjkundert)

  • Add info for the vcpkg package. #753 (gregmarr)

  • fix from_json implementation for pair/tuple #708 (theodelrieu)

  • Update json.hpp #686 (GoWebProd)

  • Remove duplicate word #685 (daixtrose)

  • To fix compilation issue for intel OSX compiler #682 (kbthomp1)

  • Digraph warning #679 (traits)

  • massage -> message #678 (DmitryKuk)

  • Fix "not constraint" grammar in docs #674 (wincent)

  • Add documentation for integration with CMake and hunter #671 (dan-42)

  • REFACTOR: rewrite CMakeLists.txt for better inlcude and reuse #669 (dan-42)

  • enable_testing only if the JSON_BuildTests is ON #666 (effolkronium)

  • Support moving from rvalues in std::initializer_list #663 (himikof)

  • add ensure_ascii parameter to dump. #330 #654 (ryanjmulder)

  • Rename BuildTests to JSON_BuildTests #652 (olegendo)

  • Don't include <iostream>, use std::make_shared #650 (olegendo)

  • Refacto/split basic json #643 (theodelrieu)

  • fix typo in operator__notequal example #630 (Chocobo1)

  • Fix MSVC warning C4819 #629 (Chocobo1)

  • [BugFix] Add parentheses around std::min #626 (koemeet)

  • add pair/tuple conversions #624 (theodelrieu)

  • remove std::pair support #615 (theodelrieu)

  • Add pair support, fix CompatibleObject conversions (fixes #600) #609 (theodelrieu)

  • #550 Fix iterator related compiling issues for Intel icc #598 (HenryRLee)

  • Issue #593 Fix the arithmetic operators in the iterator and reverse iterator #595 (HenryRLee)

  • fix doxygen error of basic_json::get() #583 (zhaohuaxishi)

  • Fixing assignement for iterator wrapper second, and adding unit test #579 (Type1J)

  • Adding first and second properties to iteration_proxy_internal #578 (Type1J)

  • Adding support for Meson. #576 (Type1J)

  • add enum class default conversions #545 (theodelrieu)

  • Properly pop diagnostics #540 (tinloaf)

  • Add Visual Studio 17 image to appveyor build matrix #536 (vpetrigo)

  • UTF8 encoding enhancement #534 (TedLyngmo)

  • Fix typo #530 (berkus)

  • Make exception base class visible in basic_json #526 (ghost)

  • :art: Namespace uint8_t from the C++ stdlib #510 (alexweej)

  • add to_json method for C arrays #508 (theodelrieu)

  • Fix -Weffc++ warnings (GNU 6.3.1) #496 (TedLyngmo)

v2.1.1 (2017-02-25)

Full Changelog

2.1.1 (2017-02-25)

Full Changelog

  • warning in the library #472
  • How to create an array of Objects? #470
  • [Bug?] Cannot get int pointer, but int64_t works #468
  • Illegal indirection #467
  • in vs can't find linkageId #466
  • Roundtrip error while parsing "1000000000000000010E5" #465
  • C4996 error and warning with Visual Studio #463
  • Support startIndex for from_cbor/from_msgpack #462
  • question: monospace font used in feature slideshow? #460
  • Object.keys() #459
  • Use “, “ as delimiter for json-objects. #457
  • Enum -> string during serialization and vice versa #455
  • doubles are printed as integers #454
  • Warnings with Visual Studio c++ (VS2015 Update 3) #453
  • Heap-buffer-overflow (OSS-Fuzz issue 585) #452
  • use of undeclared identifier 'UINT8_MAX' #451
  • Question on the lifetime managment of objects at the lower levels #449
  • Json should not be constructible with 'json*' #448
  • Move value_t to namespace scope #447
  • Typo in README.md #446
  • make check compilation is unneccesarily slow #445
  • Problem in dump() in json.h caused by ss.imbue #444
  • I want to create Windows Application in Visual Studio 2015 c++, and i have a problem #443
  • Implicit conversion issues #442
  • Parsing of floats locale dependent #302

  • Speedup CI builds using cotire #461 (tusharpm)

  • TurpentineDistillery feature/locale independent str to num #450 (nlohmann)

  • README: adjust boost::optional example #439 (jaredgrubb)

  • fix #414 - comparing to 0 literal #415 (stanmihai4)

  • locale-independent num-to-str #378 (TurpentineDistillery)

v2.1.0 (2017-01-28)

Full Changelog

2.1.0 (2017-01-28)

Full Changelog

  • Parsing multiple JSON objects from a string or stream #438
  • Use-of-uninitialized-value (OSS-Fuzz issue 477) #437
  • add reserve function for array to reserve memory before adding json values into it #436
  • Typo in examples page #434
  • avoid malformed json #433
  • How to add json objects to a map? #432
  • create json instance from raw json (unsigned char*) #431
  • Getting std::invalid_argument: stream error when following example #429
  • Forward declare-only header? #427
  • Implicit conversion from array to object #425
  • error C4996: 'strerror' when reading file #422
  • Get an error - JSON pointer must be empty or begin with '/' #421
  • size parameter for parse() #419
  • json.hpp forcibly defines GCC_VERSION #417
  • Use-of-uninitialized-value (OSS-Fuzz issue 377) #416
  • comparing to 0 literal #414
  • Single char converted to ASCII code instead of string #413
  • How to know if a string was parsed as utf-8? #406
  • Overloaded += to add objects to an array makes no sense? #404
  • Finding a value in an array #399
  • add release information in static function #397
  • Optimize memory usage of json objects in combination with binary serialization #373
  • Conversion operators not considered #369
  • Append ".0" to serialized floating_point values that are digits-only. #362
  • Add a customization point for user-defined types #328
  • Conformance report for reference #307
  • Document the best way to serialize/deserialize user defined types to json #298
  • Add StringView template typename to basic_json #297
  • [Improvement] Add option to remove exceptions #296
  • Performance in miloyip/nativejson-benchmark #202

  • conversion from/to user-defined types #435 (nlohmann)

  • Fix documentation error #430 (vjon)

v2.0.10 (2017-01-02)

Full Changelog

2.0.10 (2017-01-02)

Full Changelog

  • Heap-buffer-overflow (OSS-Fuzz issue 367) #412
  • Heap-buffer-overflow (OSS-Fuzz issue 366) #411
  • Use-of-uninitialized-value (OSS-Fuzz issue 347) #409
  • Heap-buffer-overflow (OSS-Fuzz issue 344) #408
  • Heap-buffer-overflow (OSS-Fuzz issue 343) #407
  • Heap-buffer-overflow (OSS-Fuzz issue 342) #405
  • strerror throwing error in compiler VS2015 #403
  • json::parse of std::string being underlined by Visual Studio #402
  • Explicitly getting string without .dump() #401
  • Possible to speed up json::parse? #398
  • the alphabetic order in the code influence console_output. #396
  • Execute tests with clang sanitizers #394
  • Check if library can be used with ETL #361

  • Feature/clang sanitize #410 (Daniel599)

  • Add Doozer build badge #400 (andoma)

v2.0.9 (2016-12-16)

Full Changelog

2.0.9 (2016-12-16)

Full Changelog

  • #pragma GCC diagnostic ignored "-Wdocumentation" #393
  • How to parse this json file and write separate sub object as json files? #392
  • Integer-overflow (OSS-Fuzz issue 267) #389
  • Implement indefinite-length types from RFC 7049 #387
  • template parameter "T" is not used in declaring the parameter types of function template #386
  • Serializing json instances containing already serialized string values without escaping #385
  • Add test cases from RFC 7049 #384
  • Add a table of contents to the README file #383
  • Update FAQ section in the guidelines for contributing #382
  • Allow for forward declaring nlohmann::json #381
  • Bug in overflow detection when parsing integers #380
  • A unique name to mention the library? #377
  • Non-unique keys in objects. #375
  • Request: binary serialization/deserialization #358

  • Replace class iterator and const_iterator by using a single template class to reduce code. #395 (Bosswestfalen)

  • Clang: quiet a warning #391 (jaredgrubb)

  • Fix issue #380: Signed integer overflow check #390 (qwename)

v2.0.8 (2016-12-02)

Full Changelog

2.0.8 (2016-12-02)

Full Changelog

  • Reading from file #374
  • Compiler warnings? #372
  • docs: how to release a json object in memory? #371
  • crash in dump #370
  • Coverity issue (FORWARD_NULL) in lexer(std::istream& s) #368
  • json::parse on failed stream gets stuck #366
  • Performance improvements #365
  • 'to_string' is not a member of 'std' #364
  • Crash in dump() from a static object #359
  • json::parse(...) vs json j; j.parse(...) #357
  • Hi, is there any method to dump json to string with the insert order rather than alphabets #356
  • Provide an example of reading from an json with only a key that has an array of strings. #354
  • Request: access with default value. #353
  • {} and [] causes parser error. #352
  • Reading a JSON file into a JSON object #351
  • Request: 'emplace_back' #349
  • Is it possible to stream data through the json parser without storing everything in memory? #347
  • pure virtual conversion operator #346
  • Floating point precision lost #345
  • unit-conversions SIGSEGV on armv7hl #303
  • Coverity scan fails #299
  • Using QString as string type #274

v2.0.7 (2016-11-02)

Full Changelog

  • JSON5 #348
  • Check "Parsing JSON is a Minefield" #344
  • Allow hex numbers #342
  • Convert strings to numbers #341
  • ""-operators ignore the length parameter #340
  • JSON into std::tuple #339
  • JSON into vector #335
  • Installing with Homebrew on Mac Errors (El Capitan) #331
  • g++ make check results in error #312
  • Cannot convert from 'json' to 'char' #276
  • Please add a Pretty-Print option for arrays to stay always in one line #229
  • Conversion to STL map<string, vector<int>> gives error #220
  • std::unorderd_map cannot be used as ObjectType #164

  • fix minor grammar/style issue in README.md #336 (seeekr)

v2.0.6 (2016-10-15)

Full Changelog

  • How to handle json files? #333
  • This file requires compiler and library support .... #332
  • Segmentation fault on saving json to file #326
  • parse error - unexpected <uninitialized> with 2.0.5 #325
  • Add nested object capability to pointers #323
  • Fix usage examples' comments for std::multiset #322
  • json_unit runs forever when executed in build directory #319
  • Visual studio 2015 update3 true != TRUE #317
  • releasing single header file in compressed format #316
  • json object from std::ifstream #315

  • make has_mapped_type struct friendly #324 (vpetrigo)

  • Fix usage examples' comments for std::multiset #321 (vasild)

  • Include dir relocation #318 (ChristophJud)

  • trivial documentation fix #313 (5tefan)

v2.0.5 (2016-09-14)

Full Changelog

  • [feature request]: schema validator and comments #311
  • make json_benchmarks no longer working in 2.0.4 #310
  • Segmentation fault (core dumped) #309
  • No matching member function for call to 'get_impl' #308

v2.0.4 (2016-09-11)

Full Changelog

  • Parsing fails without space at end of file #306
  • json schema validator #305
  • Unused variable warning #304

v2.0.3 (2016-08-31)

Full Changelog

  • warning C4706: assignment within conditional expression #295
  • Q: Is it possible to build json tree from already UTF8 encoded values? #293
  • Equality operator results in array when assigned object #292
  • Support for integers not from the range [-(2**53)+1, (2**53)-1] in parser #291
  • Support for iterator-range parsing #290
  • Horribly inconsistent behavior between const/non-const reference in operator [] () #289
  • Silently get numbers into smaller types #288
  • Incorrect parsing of large int64_t numbers #287
  • [question]: macro to disable floating point support #284

  • unit-constructor1.cpp: Fix floating point truncation warning #300 (t-b)

v2.0.2 (2016-07-31)

Full Changelog

  • can function dump() return string in the order I push in the json object ? #286
  • Error on the Mac: Undefined symbols for architecture x86_64 #285
  • value() does not work with _json_pointer types #283
  • Build error for std::int64 #282
  • strings can't be accessed after dump()->parse() - type is lost #281
  • Easy serialization of classes #280
  • recursive data structures #277
  • hexify() function emits conversion warning #270

  • let the makefile choose the correct sed #279 (murinicanor)

  • Update hexify to use array lookup instead of ternary (#270) #275 (dtoma)

v2.0.1 (2016-06-28)

Full Changelog

  • Compilation error. #273
  • dump() performance degradation in v2 #272

  • fixed a tiny typo #271 (feroldi)

v2.0.0 (2016-06-23)

Full Changelog

  • json::diff generates incorrect patch when removing multiple array elements. #269
  • Docs - What does Json[key] return? #267
  • Compiler Errors With JSON.hpp #265
  • Ambiguous push_back and operator+= overloads #263
  • Preseving order of items in json #262
  • '\' char problem in strings #261
  • VS2015 compile fail #260
  • -Wconversion warning #259
  • Maybe a bug #258
  • Few tests failed on Visual C++ 2015 #257
  • Access keys when iteration with new for loop C++11 #256
  • multiline text values #255
  • Error when using json in g++ #254
  • is the release 2.0? #253
  • concatenate objects #252
  • Encoding #251
  • Unable to build example for constructing json object with stringstreams #250
  • Hexadecimal support #249
  • Update long-term goals #246
  • Contribution To This Json Project #245
  • Trouble using parser with initial dictionary #243
  • Unit test fails when doing a CMake out-of-tree build #241
  • -Wconversion warnings #239
  • Additional integration options #237
  • .get<std::string>() works for non spaced string but returns as array for spaced/longer strings #236
  • ambiguous overload for 'push_back' and 'operator+=' #235
  • Can't use basic_json::iterator as a base iterator for std::move_iterator #233
  • json object's creation can freezes execution #231
  • 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
  • replace emplace #224
  • abort during getline in yyfill #223
  • free(): invalid pointer error in GCC 5.2.1 #221
  • Error compile Android NDK error: 'strtof' is not a member of 'std' #219
  • Wrong link in the README.md #217
  • Wide character strings not supported #216
  • Memory allocations using range-based for loops #214
  • would you like to support gcc 4.8.1? #211
  • Reading concatenated json's from an istream #210
  • Conflicting typedef of ssize_t on Windows 32 bit when using Boost.Python #204
  • Inconsistency between operator[] and push_back #203
  • 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
  • What is within scope? #192
  • Bugs in miloyip/nativejson-benchmark: roundtrips #187
  • Floating point exceptions #181
  • Integer conversion to unsigned #178
  • map string string fails to compile #176
  • In basic_json::basic_json(const CompatibleArrayType& val), the requirement of CompatibleArrayType is not strict enough. #174
  • Provide a FAQ #163
  • Implicit assignment to std::string fails #144

  • Fix Issue #265 #266 (06needhamt)

  • 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)

  • Create PULL_REQUEST_TEMPLATE.md #213 (whackashoe)

  • fixed noexcept; added constexpr #208 (nlohmann)

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

  • 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)

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

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

v1.1.0 (2016-01-24)

Full Changelog

  • Small error in pull #185 #194
  • Bugs in miloyip/nativejson-benchmark: floating-point parsing #186
  • Floating point equality #185
  • Unused variables in catch #180
  • Typo in documentation #179
  • JSON performance benchmark comparision #177
  • Since re2c is often ignored in pull requests, it may make sense to make a contributing.md file #175
  • Question about exceptions #173
  • Android? #172
  • Cannot index by key of type static constexpr const char* #171
  • Add assertions #168
  • MSVC 2015 build fails when attempting to compare object_t #167
  • Member detector is not portable #166
  • Unnecessary const_cast #162
  • Question about get_ref() #128
  • range based for loop for objects #83
  • 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 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)

  • Implementation of get_ref() #184 (dariomt)

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

v1.0.0 (2015-12-27)

Full Changelog

  • add key name to exception #160
  • 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
  • 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
  • Unable to compile on MSVC 2015 with SDL checking enabled: This function or variable may be unsafe. #149
  • "Json Object" type does not keep object order #148
  • dump() convert strings encoded by utf-8 to shift-jis on windows 10. #147
  • Unable to get field names in a json object #145
  • Question: Is the use of incomplete type correct? #138
  • json.hpp:5746:32: error: 'to_string' is not a member of 'std' #136
  • Bug in basic_json::operator[] const overload #135
  • wrong enable_if for const pointer (instead of pointer-to-const) #134
  • overload of at() with default value #133
  • Splitting source #132
  • Question about get_ptr() #127
  • Visual Studio 14 Debug assertion failed #125
  • Memory leak in face of exceptions #118
  • Find and Count for arrays #117
  • dynamically constructing an arbitrarily nested object #114
  • Returning any data type #113
  • Compile error with g++ 4.9.3 cygwin 64-bit #112
  • insert json array issue with gcc4.8.2 #110
  • error: unterminated raw string #109
  • vector<json> copy constructor really weird #108
  • [clang-3.6.2] string/sstream with number to json issue #107
  • object field accessors #103
  • v8pp and json #95
  • Wishlist #65
  • Windows/Visual Studio (through 2013) is unsupported #62

  • 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)

Full Changelog

  • Finish documenting the public interface in Doxygen #102
  • Binary string causes numbers to be dumped as hex #101
  • failed to iterator json object with reverse_iterator #100
  • 'noexcept' : unknown override specifier #99
  • json float parsing problem #98
  • Adjust wording to JSON RFC #97
  • static analysis warnings #94
  • reverse_iterator operator inheritance problem #93
  • init error #92
  • access by (const) reference #91
  • is_integer and is_float tests #90
  • Nonstandard integer type #89
  • static library build #84
  • lexer::get_number return NAN #82
  • MinGW have no std::to_string #80
  • Incorrect behaviour of basic_json::count method #78
  • Invoking is_array() function creates "null" value #77
  • dump() / parse() not idempotent #76
  • Handle infinity and NaN cases #70
  • errors in g++-4.8.1 #68
  • Keys when iterating over objects #67
  • Compilation results in tons of warnings #64
  • Complete brief documentation #61
  • Double quotation mark is not parsed correctly #60
  • Get coverage back to 100% #58
  • erase elements using iterators #57
  • Removing item from array #56
  • Serialize/Deserialize like PHP? #55
  • Numbers as keys #54
  • Why are elements alphabetized on key while iterating? #53
  • Document erase, count, and iterators key and value #52
  • Do not use std::to_string #51
  • Supported compilers #50
  • Confused about iterating through json objects #49
  • Use non-member begin/end #48
  • Erase key #47
  • Key iterator #46
  • Add count member function #45
  • Problem getting vector (array) of strings #44
  • Compilation error due to assuming that private=public #43
  • Use of deprecated implicit copy constructor #42
  • Printing attribute names #39
  • dumping a small number_float just outputs 0.000000 #37
  • find is error #32
  • Avoid using spaces when encoding without pretty print #31
  • Cannot encode long numbers #30
  • segmentation fault when iterating over empty arrays/objects #28
  • Creating an empty array #27
  • Custom allocator support #25
  • make the type of the used string container customizable #20
  • Improper parsing of JSON string "\" #17
  • create a header-only version #16
  • Don't return "const values" #15
  • Add to_string overload for indentation #13
  • string parser does not recognize uncompliant strings #12
  • possible double-free in find function #11
  • UTF-8 encoding/deconding/testing #10
  • move code into namespace #9
  • free functions for explicit objects and arrays in initializer lists #8
  • unique_ptr for ownership #7
  • Add unit tests #4
  • Drop C++98 support #3
  • Test case coverage #2
  • Runtime error in Travis job #1

  • 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)

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

  • Parse streams incrementally. #40 (aburgh)

  • 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 Changelog was automatically generated by github_changelog_generator