Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
List of changes: $ git shortlog v3.1.1..v3.7.3 --no-merges 0xflotus (1): did you mean 'serialization'? Andreas Schwab (1): Do proper endian conversions Anthony VH (1): Moved test for #1647 regression to regressions file. Anthony Van Herrewege (3): Fix #1647: non-member operator== breaks enum (de)serialization. Add test for #1647. Don't capture json input by value (fixed #1822). Antonio Borondo (6): Fix warning Generate header Change implementation to use templates Fix error: explicit specialization in non-namespace scope Fix error: 'wide_string_input_helper' was not declared in this scope Remove anonymous namespace Axel Huebl (7): CMake: 3.8+ is Sufficient Package Manager: Spack Fix EOL Whitespaces & CMake Spelling CMake: Optional Install if Embedded Remove EOL whitespaces in natvis merge_patch: rename parameter Amalgamate Headers Ben Berman (3): Improve error messages for error 305 Fix tests for improved error 305(hopefully) Replace "key-style argument" with "string argument" Bruno Oliveira (1): Add instructions about using nlohmann/json with the conda package manager Camille Bégué (2): Fix issue #1805 Add restriction for tuple specialization of to_json Carlos O'Ryan (1): Fix trivial typo in comment. Chris Harris (1): Patch nlohmann/json for GCC 4.8 Chuck Atkins (8): Make the CMake install dir user-configurable Enable target namespaces and build dir project config Use a version check to provide backwards comatible imported target names. cmake: fix package config to deal with versioning and namespaces cmake: add import config tests docs: add a note in the readme about using the CMake imported target Turn off additional deprecation warnings for GCC. docs: Add additional CMake documentation Danielc (1): fixed compile error for #1045; to_json for iternation_proxy_internal was needed David Avedissian (3): Implement SFINAE friendly iterator_traits and use that instead. Changes requested from code review. Code review. David Guthrie (1): Reordered the code. It seems to stop clang 3.4.2 in RHEL 7 from crashing intermittently. Dennis Fischer (1): Export package to allow builds without installing Eli Schwartz (2): release: add singleinclude and meson.build to include.zip README: describe how to use json as a meson subproject Elvis Oric (1): Disable installation when used as meson subproject. #1463 Evan Nemerson (1): Update Hedley to v11. Ferenc Nasztanovics (1): Change macros to numeric_limits #1483 Florian Pigorsch (1): Fix some spelling errors - mostly in comments & documentation. Gregorio Litenstein (1): Thirdparty benchmark: Fix Clang detection. Guillaume Racicot (10): basic_json now supports getting many type of strings Amalgamated headers Amalgamate single include Added test for conversion to string_view Added test for string conversion with string_view Disabled implicit conversion to string_view on MSVC 15.13 and older Set MSVC version from 1514 and older Re-added external_constructor with string compatible types Aligned template declaration Fixed check for compatible string type Henry Fredrick Schreiner (1): Adding 4.8 test to travis Hyeon Kim (2): Add new JSON_INTERNAL_CATCH macro function Fix #1213 Isaac Nickaein (29): Specify target platform in generator name Increase stack size for VS2017 Win x64 on Appveyor Improve dump_integer performance by implementing a more efficient int2ascii Add benchmark for small integers Add unit tests for dump_integer Add unit test for parsing deeply-nested array During destruction, flatten children of objects to avoid recursion Fix documentation Implement contains() to check existence of a key Add unit-test for contains() member function Fix typo in README.ME Fix broken links to documentation ✏️ Fix a typo in README ✏️ Fix brew instructions in README ✏️ Fix links to create an issue page Add Debug builds for AppVeyor Increase timeout of test-unicode_all in Debug build Add a separate build with Windows.h included Workaround msvc2015 bug with explicit copy-constructor for const_iterator Avoid collision of ::max with windows.h macro Appveyor: Set build mode explicitly Appveyor: Set timeout of unit-tests in appveyor.yml instead of CMake 📝 Improve doc on const_inter constructor CI: Skip test-unit_all on MSVC Debug builds Reduce depth in unit-test to avoid choking valgrind Move deep JSON test to a separate unit-test Remove harmful vector::reserve during destruction (#1837) Cleanups Reserve stack only for top-level items Ivor Wanders (1): Use C++11 features supported by CMake 3.1. James Upjohn (1): Fixed incorrect version number in README Jan Schöppach (2): Fix typo Fix typo in single_include, too Jef LeCompte (1): Updated year in README.md Jonathan Dumaresq (12): Add the possibility of using FILE * from cstdio library to read a file. This enable the possibility of using low eand device with this library. Add the possibility of using FILE * from cstdio library to read a file. This enable the possibility of using low eand device with this library. remove non usefull code. Add small description remove non usefull code. add tests to cover the new input adapter new unified json.hpp generated with make amalgamate remove comment remove the const attribute refactor unit test in case of throw, the fclose will not be called. using unique_ptr with custom destructor will ensure that create single json.hpp file use namespace std when possible. Change the name of private variable. Forget one std::FILE Julian Becker (27): BSON: serialization of non-objects is not supported BSON: Support empty objects BSON: Object with single boolean BSON: support doubles BSON: Support objects with string members BSON: support objects with null members BSON: support objects with int32 members BSON: support objects with int64 members BSON: unsigned integers BSON: support objects with objects as members BSON: test case for a more complex document BSON: Support for arrays BSON: Bugfix for non-empty arrays Fix: Add missing `begin()` and `end()` member functions to `alt_string` BSON: Added test case for the different input/output_adapters BSON: Fixed hangup in case of incomplete bson input and improved test coverage BSON: Extend `binary_reader::get_number` to be able to hanlde little endian input to get rid of `binary_reader::get_number_little_endian` BSON: Reworked `binary_reader::get_bson_cstr()` BSON: Improved documentation and error handling/reporting BSON: Reworked the `binary_writer` such that it precomputes the size of the BSON-output. This way, the output_adapter can work on simple output iterators and no longer requires random access iterators. BSON: allow and discard values and object entries of type `value_t::discarded` BSON: throw json.exception.out_of_range.407 in case a value of type `std::uint64_t` is serialized to BSON. Also, added a missing EOF-check to binary_reader. BSON: Adjusted documentation of `binary_writer::to_bson()` BSON: throw `json.exception.out_of_range.409` in case a key to be serialized to BSON contains a U+0000 BSON: Hopefully fixing ambiguity (on some compilers) to call to string::find() BSON: fixed incorrect casting in unit-bson.cpp BSON: Improved exception-related tests and report location of U+0000 in the key-string as part of `out_of_range.409`-message Julien Hamaide (2): Allow items() to be used with custom string Provide default implementation for int_to_string, but allow for overloaded function Julius Rakow (4): meson: fix include directory meson: add multiple headers target 📝 link to cppreference via HTTPS 📝 fix links to cppreference named requirements Kevin Tonon (2): Using target_compile_features to specify C++ 11 standard Update CMake to latest on Travis Konstantin Podsvirov (1): Package Manager: MSYS2 (pacman) Kostiantyn Ponomarenko (2): Add version and license to meson.build Add Meson related info to README Laurent Stacul (1): Fix gcc9 build error test/src/unit-allocator.cpp (Issue #1472) Macr0Nerd (2): Added to_string and added basic tests Added to_string (with ugly macro) and tests Manvendra Singh (1): readme: fix typo Mark Beckwith (2): typo in README docs: README type Matthias Möller (3): remove stringstream dependency typo added char cast Matěj Plch (1): remove extra semicolon Michael Gmelin (2): Make section names unique in loops, as catch doesn't support duplicate sections, see also catchorg/Catch2#816 (comment) Exclude bytewise comparison in certain tests. These tests never worked - they weren't run before d5aaeb4. Michele Caini (3): Fixed broke links to RFC7159 Fixed broken links to operator[]() and at() Fixed broken links in the README file Miguel Sacristan (1): Fix and add test's for SFINAE problem Mike Bogdanov (2): pvs_studio fix. misprinted condition did make amalgamate Millian Poquet (1): :meson: install headers + pkg-config Niels Lohmann (343): ✨ added a SAX parser #971 🔨 fixed test cases to be more robust ✅ added more tests for SAX parsing 🔨 removed a logic error and improved coverage 👌 fixed some compiler warnings 📝 overworked README ♻️ refactored SAX parser 🔨 added a SAX-DOM-Parser 🚨 fixed a linter warning 💚 fixed test case 🔨 added error messages to SAX interface 🔨 added SAX-DOM-Parser 🔨 simplified SAX-DOM parser 🔨 using the SAX-DOM parser 💚 added regression tests for #972 and #977 ♻️ refined SFINAE to fix some warnings 💚 added another test case 🔥 replaced acceptor with SAX parser 👌 fixed some more warnings 🔨 trying to fix the leak 🔥 removing failing test (work on this in branch "leak") 🚑 hopefully fixed the memory leak 📝 cleanup after #1001 👌 made changes proposed in #1001 💚 improved test coverage ♻️ refactored binary readers to use a SAX parser 🔨 cleaner exception interface 📝 thanks for #1006 ♻️ adjusting lexer/parser in symmetry to #1006 🔨 fixed compilation error 🏁 fixed an MSVC warning 🏁 experimenting with /Wall 🏁 moved /Wall to CMake ⏪ oops 🔖 set version to 3.1.2 🔖 set version to 3.1.2 ♻️ implemented a non-recursive parser ✅ improved test coverage 🔨 cleanup 🚧 started a SAX/DOM/callback parser 🔨 some refactoring ♻️ proper use of SAX parser for binary formats ✨ implemented non-throwing binary reader ✅ improved test coverage 📝 updated documentation ✅ more tests ✅ improved coverage ✅ improved test coverage 🔨 changed SAX interface 🚑 fix for #1021 🔨 improved code #1021 🔨 realized callback parser wirh SAX interface #971 📝 fixed example for operator> #1029 💚 fixed Valgrind options #1030 🔨 using a vector<bool> for the parser hierarchy 🔨 cleanup 🚧 added input adapter for wide strings #1031 🔨 trying to make tests run with MSVC #1031 🔨 trying to make tests run with MSVC #1031 👌 fixed compiler warnings #1031 ✅ improved test coverage #1031 🔨 removing unget_character() function from input adapters #834 🔨 cleanup 🚑 fixed commit 1e08654 💩 first try on #1045 👷 added Xcode 9.3 builder 📝 updated THANKS list 🔥 removed commented-out test cases #1060 📄 added SPDX-License-Identifier 📝 added public key used for commits and releases 🔧 update issue templates 🔥 removed old issue template Update issue templates 🔨 removed unget function for wstring parsers 🚑 fixed error in callback logic ✅ added more tests from recent nst's JSONTestSuite ✅ adjusted test cases ⚡ keys are now returned as const reference #1098 👌 mitigating cppcheck bug #1101 🔨 only calculate array index string when needed #1098 📝 added documentation 🚑 adjusted Fuzzer to new parser 📝 documentation to avoid future issues like #1108 💄 cleanup 📝 documentation fix 📝 fix for #1052 #1139 🚨 removed compiler warnings 🚨 fixed more compiler warnings 🚨 fixed more compiler warnings 👷 tryping different platforms for AppVeyor 🔨 small refactoring to improve branch coverage 💄 fixed indentation 👷 experimenting with AppVeyor and MinGW 👷 forgot quotes 👷 set build type 👷 using help from https://stackoverflow.com/a/48509334/266378 👷 forgot old PATH 👷 trying a more recent compiler 🔨 fixed escaping for MinGW 👷 using Ninja to speed up build 👷 choosing correct image 📝 mentioned MinGW in README 🔨 added macro to disable compiler check #1128 🔨 cleanup after #1134 📝 added note about CocoaPods #1148 🏁 fix for #1168 🚑 fix for #1169 🏁 trying to fix C2440 error 🏁 implicit conversion is not allowed with MSVC 👷 added more CI workers 👷 added more CI workers 📝 updated documentation of used compilers 🎨 reindented code 🚨 fixing a MinGW warning #1192 🔨 fixed a MinGW error #1193 🚨 fixed some compiler warnings 📝 overworked documentation 🐛 fixed callback-related issue (nlohmann/json#971 (comment)) 🚨 fixed a compiler warning 📝 release preparation ⬆️ Catch 1.12.0 📝 added example for sax_parse 🔖 preparing 3.2.0 release 🔨 fixed amalgamation 🔖 set version to 3.2.0 🚨 fixed a compiler warning #1224 🎨 cleanup after #1228 👷 adding Xcode 10 worker 📝 added lgtm.com badge 🚨 fixed a compilation issue with ICPC #755 🚨 fixed a compilation issue with ICPC #755 📝 added Wandbox link #1227 📝 added Wandbox link #1227 💄 cleaned code 📝 updated contributor list 📝 small update to pass test suite 🔖 set version to 3.3.0 🔖 set version to 3.3.0 🚨 fixed some linter warnings 🚨 fixed another linter warning ♿ added line positions to error messages 🐛 fixed a bug in the unget function 🚨 fixed some clang-tidy warnings 🚨 fixed some more clang-tidy warnings 📝 fixed documentation 🚑 fixed compilation error ♿ improved parse error messages 🚑 fixed compilation error 🚧 proposal for different error handlers #1198 ♿ improved error messages for binary formats #1288 🚧 overworked error handlers #1198 💚 added tests #1198 🚧 respect ensure_ascii parameter #1198 🚧 fixed an issue with ensure_ascii #1198 🚧 fixed test cases #1198 💚 additional tests from the Unicode spec #1198 👌 replaced static_cast to CharType by conversion function #1286 ✏️ fixed a typo #1314 📝 added a note to the discussion #1286 📝 updated documentation #1314 🚧 some changes to the BSON code 🔨 fixed fuzz code to avoid false positives in case of discarded values 🎨 clean up binary formats 🔨 added fix for arrays 🚨 fixed compiler warnings 🚨 fixed coverage 👌 fixed comment #1320 👌 added another conversion function #1315 🚨 fixed another linter warning ✨ added NLOHMANN_JSON_SERIALIZE_ENUM marco #1208 🚨 fixed another linter warning ⚡ replaced vector by array #1323 🔨 small improvements 🚨 fixed a linter warning 🚨 fixed some more linter warnings 🐛 fixed a bug parsing BSON strings #1320 ✏️ fixed some typos 📝 added examples for BSON functions 🚨 fixed another linter warning 💄 fixed indentation 🚑 fixed #1319 🔖 set version to 3.4.0 🔖 set version to 3.4.0 🚨 fixed a linter warning 💄 cleanup 🏁 adding parentheses around std::snprintf calls #1337 🚨 fixed warning #1364 🚨 fixed a warning 🎨 fixed header 📝 added contributors to 3.5.0 🚨 fixed two warnings 📝 update documentation 📝 updated documentation 📝 formatted picture 📝 updated documentation for items() function 🔖 set version to 3.5.0 🚨 fixed some warnings 🚨 fixed PVS V567 warning 📝 added description on how to use NuGet package #1132 ⬆️ upgraded Catch and Google Benchmark 💡 improved documentation for parsing without exceptions #1405 🚨 fixed another linter warning 🔨 fixed includes 🚨 fixed another linter warning #1400 🚧 trying nodiscard attribute #1433 🔨 trying code from https://godbolt.org/z/-tLO1K 🐛 fixed integer overflow in dump function #1447 🐛 added missing include #1500 👷 trying new Travis workers 💚 fix compiler selection 📝 updated documentation of CI 🚨 fix MSVC warning #1502 👷 removing more retired Travis images 🔥 removing Xcode 6.4 builder 🚨 fixed some warnings 🚨 fixed warnings 🚨 fixed warnings 🔥 removing unstable macOS builds on Traivs 🚨 fixed more warnings ➕ adding cpplint 🚨 adding targets for static analyzers 🚨 fixed warnings ⬆️ updated Doxyfile 👷 overworked clang-tidy target 💚 fix CI and #1521 📝 added documentation 👷 added targets for infer and oclint 🔨 clean up 💚 forgot two semicolons 🎨 cleanup 📝 added documentation 📝 updated documentation 📝 completed documentation index page 👥 added contributors 🚨 fixed a warning 🔖 set version to 3.6.0 🔖 set version to 3.6.0 💬 update issue templates 🚨 fixed some warnings #1527 ⚗️ added funding link 🐛 fixed regression #1530 🏁 fixed a compilation error in MSVC #1531 🐛 fixed regression #1530 🔖 set version to 3.6.1 🏁 trying to use constructors from std::allocator #1536 👷 trying doozer 👷 added cmake 👷 using raspbian 👷 added Fedora and CentOS 👷 add test output to avoid timeout 👷 fixed buildenv values 👷 fixed a typo 👷 need more recent cmake for CentOS 👷 use recent cmake 👷 fixed syntax error 👷 fixed installation 👷 need to install g++ 👷 install correct g++ 👷 install g++ 👷 fixed package name 👷 fixed paths 👷 unified paths 👷 fixed syntax 👷 fixed timeout 👷 increased timeout 👷 fixed required packages 👷 skip certificate check 👷 forgot path to ctest 👷 adding xenial-armhf 👷 fixed timeout 👷 version output 📝 added Doozer to README 🔧 overworked maintaner targets ⬆️ added script to update cpplint 🎨 fixed indentation 🔨 minor changes to maintainer targets 🔥 removed unsupported flag ⚗️ trying fastcov 🔨 using --exclude-gcov to exclude files 👷 trying CircleCI 👷 full workflow 👷 fixed path 👷 adding concurrency 👷 Ninja seems not to work 🔨 relaxed requirements to coverage 🚨 silenced a warning 🏗️ adding anonymous namespace ⬆️ updated fastcov ⬆️ updated fastcov 📝 updated README 🔨 small cleanup ⬆️ updated fastcov 🔨 overworked coverage targets 📝 mention 302 exception in value() documentation #1601 📝 mention json type in documentation start page #1616 ✨ add contains function for JSON pointers ✨ make emplace_back return a reference #1609 ⚗️ add Hedley annotations 🔨 add NLOHMANN_JSON prefix and undef macros 🚨 fix warning 🚚 rename Hedley macros 🚧 add more annotations 🚨 fix warnings 📝 remove HEDLEY annotation from documentation 🚨 fix compiler warnings 🚑 fix compiler errors 🚨 fix linter warning 🔥 remove leftover file 🔨 adjust paths 🔨 adjust version 🔨 fix release target Update Makefile 🔖 set version to 3.7.0 📝 update documentation 📝 update documentation 👥 update contributors 🔒 add security policy 👷 adjust maintainer scripts ✏️ fix a typo 👷 try GitHub Actions 👷 add test step 📝 add OSS Fuzz status badge 🚨 fix warning 📝 add comment on JSON_THROW_USER, JSON_TRY_USER, and JSON_CATCH_USER 👥 add CODEOWNERS file 👥 update contributors 🚨 fix UBSAN warnings 📝 update examples 🔊 add version output 👷 add Xcode 10.2 🔨 remove full path 👷 add Xcode 10.2 ⬆️ upgrade Doctest to 2.3.5 🐛 fix conversion to std::valarray 🚨 fix linter errors 🚨 fix linter errors 👥 update contributors 🔖 set version to 3.7.1 🚨 fix a linter warning 🔨 add path 🔖 set version to 3.7.2 🎨 fix inconsistent operator style 🔖 set version to 3.7.3 Patrick Boettcher (3): allow push_back() and pop_back() calls on json_pointer 🚨 fixed unused variable warning JSON-pointer: add operator+() returning a new json_pointer Pratik Chowdhury (1): Added Support for Structured Bindings Sonu Lohani (1): Fixed compiler error in VS 2015 for debug mode nlohmann/json#1114 Taylor Howard (1): Added explicit converstion to std::string_view. Fixes failing test with GCC 8.3 Thomas Braun (15): .travis.yml: Add gcc 9 and compile with experimental C++20 support test/CMakeLists.txt: Remove trailing whitespace .travis/cmake: Rework clang sanitizer invocation input_buffer_adapter: Fix handling of nullptr input external_constructor<std::valarray>: Handle empty array properly .travis.yml: Increase the timeout to 45 minutes Fix outputting extreme integer values in edge cases Add regression test for dumping the minimum value of int64_t Add serialization unit tests for extreme integer values test/CMakeLists.txt: Use an explicit list instead of GLOB appveyor: Pass the generator platform explicitly test/cmake_import: Pass the generator platform required by MSVC 2019 iteration_proxy: Fix integer truncation from std::size_t to int appveyor.yml: Add MSVC 16 2019 support appveyor.yml: Add debug build on x64 and VS 2019 Théo DELRIEU (32): missing CHECK_NOTHROW in unit-udt support construction from other basic_json types Provide a from_json overload for std::map from_json: add missing template arguments for std::map from_json: add overload for std::unordered_map run make amalgamate split meta.hpp, add detected_t (used to define concepts) use templates in the sax interface instead of virtuals remove no_limit constant and default values use abstract sax class in parser tests add static_asserts on SAX interface fix void_t for older compilers use detected instead of has_* traits refactor is_compatible_object_type refactor is_compatible_string_type refactor is_compatible_array_type refactor is_compatible_integer_type refactor is_compatible_type, remove conjunction & co do not check for compatible_object_type in compatible_array_type refactor from/to_json(CompatibleArrayType) make to_json SFINAE-correct make from_json SFINAE-correct remove now-useless traits. check for is_basic_json where needed Fix issue #1237 Add basic_json::get_to function. add constraints for variadic json_ref constructors add new is_constructible_* traits used in from_json add a note to maintainers in type_traits.hpp recommend using explicit from JSON conversions make sure values are overwritten in from_json overloads add built-in array support in get_to tests: fix coverage Tommy Nguyen (1): Use GNUInstallDirs instead of hard-coded path. Tsz-Ho Yu (1): Fix -Wno-sometimes-uninitialized by initializing "result" in parse_sax Viktor Kirilov (1): Update CMakeLists.txt Vitaliy (4): test (non)equality for alt_string implementation define global operator< for const char* and alt_string forward declarations to make new compilers happy simplify templates for operators, add more checks Vitaliy Manushkin (5): dump to alternate implementation of string, as defined in basic_json template dump to alternate implementation of string, as defined in basic_json template (changes to amalgamated code) forward alternative string class from output_adapter to output_string_adapter add unit test: checking dump to alternative string type test refactoring Watal M. Iwasaki (1): Remove C++17 extension warning from clang; #1535 Wilson (1): Make integration section concise Xav83 (3): Correct a warning from cppcheck: Correct a warning from cppcheck: Runs make amalgamate on the project. Yann E. MORIN (1): buildsystem: relax requirement on cmake version christian (1): Make json_pointer::back const (resolves #1764) garethsb-sony (5): Add operator/= and operator/ to construct a JSON pointer by appending two JSON pointers, as well as convenience op/= and op= to append a single unescaped token or array index; inspired by std::filesystem::path Attempt to satisfy Coveralls by adding a test for (unchanged) operator std::string Rename private json_pointer::is_root as public json_pointer::empty for consistency with std::filesystem::path Add json_pointer::parent_pointer (cf. std::filesystem::path::parent_path) Tests for json_pointer::empty and json_pointer::parent_pointer kevinlul (3): Fix #1642 Add regression tests for #1642 Remove boolean regression test for #1642 kjpus (1): Link to issue #958 broken knilch (1): unit-testsuites.cpp: fix hangup if file not found lieff (1): fix GCC 7.1.1 - 7.2.1 on CentOS closes nlohmann/json#670 mandreyel (1): Move lambda out of unevaluated context martin-mfg (1): fix typo in readme mefyl (1): Set eofbit on exhausted input stream. njlr (1): Update README.md onqtam (9): moved from Catch to doctest for unit tests fixing osx builds - had forgotten to define this for the object file where the test runner is compiled this should really fix the XCode 6/7 builds updated doctest to version 2.3.1 released today reverted the removal of this if/else branching - this is the easiest way to get -std=c++0x support fixed a bunch of warnings from the Makefile from the root of the repo finished the last of the warnings tabs instead of spaces... fixing the remaining of the pedantic gcc/clang target warnings past-due (1): Disable -Wmismatched-tags warning on tuple_size / tuple_element scinart (3): flush buffer in serializer::dump_escaped case UTF8_REJECT fix typo move newly-added tests in unit-regression.cpp whitesource-bolt-for-github[bot] (1): Add .whitesource configuration file
- Loading branch information