Update dependency nlohmann_json to v3.12.0 #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.11.3.bcr.1->3.12.0Release Notes
nlohmann/json (nlohmann_json)
v3.12.0: JSON for Modern C++ version 3.12.0Release date: 2025-04-11
SHA-256: aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63 (json.hpp), b8cb0ef2dd7f57f18933997c9934bb1fa962594f701cd5a8d3c2c80541559372 (include.zip), 42f6e95cad6ec532fd372391373363b62a14af6d771056dbfc86160e6dfff7aa (json.tar.xz)
Summary
This release fixes some bugs found in the 3.11.3 release and adds some new features.
All changes are backward-compatible.
💰 Note you can support this project via GitHub sponsors or PayPal.
Key updates and enhancements
JSON_DIAGNOSTIC_POSITIONS, introduces member functions to query the byte positions of values in the input they were parsed from. When enabled, this information is also included in exceptions to help pinpoint errors. #4517 #4455 #4570 #4569 #4572 #4571 #4579 #4585 #4561json,ordered_json, and any otherbasic_jsonspecialization. #4597 #2528 #4377 #2532 #2843 #3810 #4608NLOHMANN_DEFINE_DERIVED_TYPE_*macros. #4033 #2199 #4562std::optional: The library now supports conversions from/tostd::optionaltypes when compiled with C++17. #1749 #4036patch,diff, andflattennow work with arbitrary string types. #4536 #4134 #4613 #4019get_numberfunction used in the binary format implementations has been optimized to read multiple bytes at once. #4391std::filesystem::pathare now encoded to UTF-8 strings by default on all operating systems. #4271 #4631Changes and fixes
iteration_proxyis now astd::forward_iteratorinstead of just anstd::input_iterator. This allows more use cases whenitems()is fed into C++20std::views. The iterator always satisfied all requirements for a forward iterator, but was exposed as only an input iterator by the used iterator tag. #4371 #4372m_dataadded. #4343 #4309basic_json. #4451 #4438 #4438nullptrtoparsefunction expectingFILE*. Instead, now an exception is thrown. #4485 #4487EINTRset inerrno. #4506number_floatto be locale-independent. #4505 #4084get_ptrfor unsigned integers. #4525 #4475EOFwithchar_traits. #4532NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULTthrow an exception with an empty json #4507 #4508[]instead ofnull. #4594 #4530Warnings
The quality assurance page gives an overview of the warning flags used during the tests.
Compiler warnings
weak-vtableswarning for exceptions. #4500 #4087Clang-Tidy
modernize-use-std-numbers,readability-redundant-member-init, andbugprone-unused-local-non-trivial-variable. #4276modernize-type-traitsandmodernize-avoid-c-arraysinNLOHMANN_JSON_SERIALIZE_ENUM. #4497 #3924boost-use-rangesas we do not want to rely on Boost. #4489modernize-use-designated-initializersas designated initializers are a C++20 feature. #4489modernize-use-rangesas ranges are a C++20 feature. #4489clang-analyzer-webkit.NoUncountedMemberCheckeras we are using pointers internally. #4701modernize-use-integer-sign-comparison. #4558Build
CMake
NLOHMANN_JSON_TARGET_NAME. #4483Package Managers
alwayslink=TrueBazel flag. #4396Package.swiftdefinition file. #4611CI
Tests
JSON_DisableEnumSerialization=ON. #4504 #4384Infrastructure
macos-11image; the following Xcode versions are no longer tested in the CI: '11.7', '12.4', '12.5.1', '13.0'. #4489macos-13image to test Xcode versions '14.2', '14.3', '14.3.1', '15.0.1', '15.1', '15.2'. #4489macos-14image to test Xcode versions '15.3', '15.4'. #4489macos-15image to test Xcode versions '16.0', '16.1'. #4489json-ciimage as these versions are no longer work on the respectivegccimages (checkout fails). #4489ubuntu-latestimage to run Valgrind. #4575requirements.txtfiles for cppcheck, cpplint, and reuse to central location. #4553.lgtm.ymlfile. #4560ubuntu-latestmore often and reduce dependencies to more exotic containers. #4560.pre-commit-config.ymlfile. #4560tests/thirdparty/imapdl/filterbr.py. #4560Indentation and amalgamation
Documentation
The documentation website contains all project documentation.
Fixed documentation
ci_test_api_documentationCI step. #4516Added documentation
FILES.md. #4560start_posandend_pos. #4560valuefunction. #4628 #4626JSON_DIAGNOSTIC_POSITIONSto macro feature page. #4636Improved documentation
parseandacceptwith respect to #4485 #4487 #4516Package Manager documentation
Documentation implementation
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.