All Versions
43
Latest Version
Avg Release Cycle
71 days
Latest Release
622 days ago

Changelog History
Page 1

  • v3.11.2 Changes

    August 12, 2022

    Full Changelog

  • v3.11.1 Changes

    August 01, 2022

    Full Changelog

  • v3.11.0 Changes

    August 01, 2022

    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 Changes

    January 02, 2022

    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)

    • βͺ Revert invalid fix #3082 (nlohmann)

    • πŸ‘ Allow to use get with explicit constructor #3079 (nlohmann)

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

    • πŸ“š Consolidate documentation #3071 (nlohmann)

    • βž• Add recursive update function #3069 (nlohmann)

    • πŸ›  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)

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

    • ⚑️ Update docset generation script #2967 (nlohmann)

  • v3.10.4 Changes

    October 16, 2021

    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
    • 0️⃣ 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)

    • πŸ›  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)

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

    • ⚑️ Update docset generation script #2967 (nlohmann)

  • v3.10.3 Changes

    October 08, 2021

    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 Changes

    August 26, 2021

    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 Changes

    August 24, 2021

    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 Changes

    August 17, 2021

    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
    • 0️⃣ 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
    • Compile errors #2421
    • 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 Changes

    August 06, 2020

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

    Summary

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

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

    🍱 πŸ› Bug Fixes

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

    🍱 πŸ”¨ Further Changes

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

    🍱 πŸ”₯ Deprecated functions

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

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