JSON for Modern C++ version 3.11.3 #4223
nlohmann
announced in
Announcements
Replies: 2 comments 3 replies
-
Typo area instead of are
|
Beta Was this translation helpful? Give feedback.
1 reply
-
how to use it? my vs just say there no suck file or directory |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Release date: 2023-11-28
SHA-256: 9bea4c8066ef4a1c206b2be5a36302f8926f7fdc6087af5d20b417d0cf103ea6 (json.hpp), a22461d13119ac5c78f205d3df1db13403e58ce1bb1794edc9313677313f4a9d (include.zip), d6c65aca6b1ed68e7a182f4757257b107ae403032760ed6ef121c9d55e81757d (json.tar.xz)
Summary
This release fixes some bugs found in the 3.11.2 release.
All changes are backward-compatible.
💰 Note you can support this project via GitHub sponsors or PayPal.
✨ New Features
nlohmann::json
. This class serves as an extension point and allows to add functionality to json node. Examples for such functionality might be metadata or additional member functions (e.g., visitors) or other application specific code. By default the parameter is set tovoid
and an empty base class is used. In this case the library behaves as it already did. Allow custom base class as node customization point #3110NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE
andNLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE
). Add serialization-only user defined type macros #3816http_archive
orgit_repository
and depend on@nlohmann_json//:json
. Add Bazel build support #3709🐛 Bug Fixes
NEW
CMake policies up to CMake 3.14. This fixes a nasty deprecation warning that "Compatibility with CMake < 3.5 will be removed from a future version of CMake". Upgrade CMake minimum version #4076 Accept NEW CMake policies up to CMake 3.14 #4112CMAKE_INSTALL_INCLUDEDIR
. fix cmake header path in install with custom CMAKE_INSTALL_INCLUDEDIR #4194<numeric>
header include. Compilation error with JSON_DIAGNOSTICS enabled #3717 #3717: fix compilation error: "execeptions.hpp:119 accumulate is not … #3718 Add missing <numeric> include #3719INT_MIN
/INT_MAX
, etc. withstd::numeric_limits
and consistently usestd
-namespaced integer types to make library work with newer GCC versions. INT64_MIN/MAX not defined for newer g++ #3722 Replace limit macros with std::numeric_limits #3723json_fwd.hpp
and Bazel build files) to release artifactinclude.zip
. Amalgated json_fwd.hpp not included in include.zip #3727 Add missing files to release artifacts #3728rebind
type. custom allocators: define missing 'rebind' type #3895 GCC 13 build failures #3927adl_serializer::to_json
Memory leak when exception is thrown in adl_serializer::to_json #3881 Prevent memory leak when exception is thrown in adl_serializer::to_json #3901size_type
is notint
. Fixed init-list construction when size_type is not int #4140_json
preceded by whitespace in a literal operator declaration". LLVM 16.0.6 issues warning for literal operators when Wdeprecated-literal-operator #4129 Fix deprecation warning #4161_HAS_STATIC_RTTI=0
. Fix compile error with _HAS_STATIC_RTTI=0 #4046char_traits<unsigned char>
is deprecated:char_traits<T>
forT
not equal tochar
,wchar_t
,char8_t
,char16_t
orchar32_t
is non-standard". Deprecation warning about std::char_traits<unsigned char> #4163 Fix char_traits deprecation warning #4179🔨 Further Changes
CI
Documentation
cmake/test.cmake
#3902 Change 2022 to 2023 #3932 Fix typo in test.cmake #3951 Fix typo in afl_driver.cpp #4109 Update CODEOWNERS #4126 Correct a typo in serve_header/README.md #4143 Update index.md #4149 Update index.md #4159 Fix spellcheck issue #4173CONTRIBUTING.md
thatmake pretty
is required for test updates. Add to CONTRIBUTING.md thatmake pretty
is required for test updates. #4045template get
#4038 Use template get instead of get in examples #4039const&
in docs. Capture exceptions by const& in docs. #4099Tests
std::ranges::equals
for range comparisons in test case. GCC 13 build failures #3927 tests/unit-iterators2: use std::ranges::equals for range comparisons #3950unit-algorithm.cpp
. Added to tests the file unit-algorithm.cpp (c++ 11) functions from algorithm library #4044🔥 Deprecated functions
This release does not deprecate any function. See the migration guide for help adjusting your code for future versions.
The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):
iterator_wrapper
is deprecated. Please use the member functionitems()
instead.friend std::istream& operator<<(basic_json&, std::istream&)
andfriend std::ostream& operator>>(const basic_json&, std::ostream&)
are deprecated. Please usefriend std::istream& operator>>(std::istream&, basic_json&)
andfriend operator<<(std::ostream&, const basic_json&)
instead.basic_json::parse
,basic_json::accept
,basic_json::sax_parse
,basic_json::from_cbor
,basic_json::from_msgpack
,basic_json::from_ubjson
,basic_json::from_bson
) via initializer lists is deprecated. Instead, pass two iterators; for instance, callbasic_json::from_cbor(ptr, ptr+len)
instead ofbasic_json::from_cbor({ptr, len})
.json_pointer::operator string_t
) is deprecated. Usejson_pointer::to_string
instead.operator==
andoperator!=
have been deprecated. To compare ajson_pointer
p
with a strings
, converts
to ajson_pointer
first and usejson_pointer::operator==
orjson_pointer::operator!=
. Deprecate json_pointer/string_t comparisons #3684All deprecations are annotated with
HEDLEY_DEPRECATED_FOR
to report which function to use instead.This discussion was created from the release JSON for Modern C++ version 3.11.3.
Beta Was this translation helpful? Give feedback.
All reactions