json v3.10.0 Release Notes

Release Date: 2021-08-17 // over 2 years ago
  • 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)