chore(deps): update dependency nlohmann/json to v3.12.0 #59
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:
v3.11.3
->v3.12.0
Release Notes
nlohmann/json (nlohmann/json)
v3.12.0
: JSON for Modern C++ version 3.12.0Compare Source
Release 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_json
specialization. #4597 #2528 #4377 #2532 #2843 #3810 #4608NLOHMANN_DEFINE_DERIVED_TYPE_*
macros. #4033 #2199 #4562std::optional
: The library now supports conversions from/tostd::optional
types when compiled with C++17. #1749 #4036patch
,diff
, andflatten
now work with arbitrary string types. #4536 #4134 #4613 #4019get_number
function used in the binary format implementations has been optimized to read multiple bytes at once. #4391std::filesystem::path
are now encoded to UTF-8 strings by default on all operating systems. #4271 #4631Changes and fixes
iteration_proxy
is now astd::forward_iterator
instead 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_data
added. #4343 #4309basic_json
. #4451 #4438 #4438nullptr
toparse
function expectingFILE*
. Instead, now an exception is thrown. #4485 #4487EINTR
set inerrno
. #4506number_float
to be locale-independent. #4505 #4084get_ptr
for unsigned integers. #4525 #4475EOF
withchar_traits
. #4532NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT
throw 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-vtables
warning for exceptions. #4500 #4087Clang-Tidy
modernize-use-std-numbers
,readability-redundant-member-init
, andbugprone-unused-local-non-trivial-variable
. #4276modernize-type-traits
andmodernize-avoid-c-arrays
inNLOHMANN_JSON_SERIALIZE_ENUM
. #4497 #3924boost-use-ranges
as we do not want to rely on Boost. #4489modernize-use-designated-initializers
as designated initializers are a C++20 feature. #4489modernize-use-ranges
as ranges are a C++20 feature. #4489clang-analyzer-webkit.NoUncountedMemberChecker
as we are using pointers internally. #4701modernize-use-integer-sign-comparison
. #4558Build
CMake
NLOHMANN_JSON_TARGET_NAME
. #4483Package Managers
alwayslink=True
Bazel flag. #4396Package.swift
definition file. #4611CI
Tests
JSON_DisableEnumSerialization=ON
. #4504 #4384Infrastructure
macos-11
image; the following Xcode versions are no longer tested in the CI: '11.7', '12.4', '12.5.1', '13.0'. #4489macos-13
image to test Xcode versions '14.2', '14.3', '14.3.1', '15.0.1', '15.1', '15.2'. #4489macos-14
image to test Xcode versions '15.3', '15.4'. #4489macos-15
image to test Xcode versions '16.0', '16.1'. #4489json-ci
image as these versions are no longer work on the respectivegcc
images (checkout fails). #4489ubuntu-latest
image to run Valgrind. #4575requirements.txt
files for cppcheck, cpplint, and reuse to central location. #4553.lgtm.yml
file. #4560ubuntu-latest
more often and reduce dependencies to more exotic containers. #4560.pre-commit-config.yml
file. #4560tests/thirdparty/imapdl/filterbr.py
. #4560Indentation and amalgamation
Documentation
The documentation website contains all project documentation.
Fixed documentation
ci_test_api_documentation
CI step. #4516Added documentation
FILES.md
. #4560start_pos
andend_pos
. #4560value
function. #4628 #4626JSON_DIAGNOSTIC_POSITIONS
to macro feature page. #4636Improved documentation
parse
andaccept
with 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.