JSON for Modern C++ version 3.11.2 #3700
nlohmann
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Release date: 2022-08-12
SHA-256: 665fa14b8af3837966949e8eb0052d583e2ac105d3438baba9951785512cf921 (json.hpp), e5c7a9f49a16814be27e4ed0ee900ecd0092bfb7dbfca65b5a421b774dccaaed (include.zip), 8c4b26bf4b422252e13f332bc5e388ec0ab5c3443d24399acb675e68278d341f (json.tar.xz)
Summary
This release fixes some bugs found in the 3.11.1 release. Furthermore, the of the library has been re-structured.
All changes are backward-compatible.
💰 Note you can support this project via GitHub sponsors or PayPal.
🐛 Bug Fixes
value
function which was broken for strings, size types, andnullptr
in release 3.11.0. Regression: call to member function 'value' is ambiguous #3652 regression:.value<size_t>
is compilation error. #3655 Reimplement value() access functions #3663json_fwd.hpp
header to be self-contained and add it to the single-header release. json_fwd.hpp no longer standalone #3656 Amalgamate the forward declaration header #3679 Add amalgamated json-fwd.hpp to release #3687json_pointer
as key in associative containers. Addoperator<
to , to allow use as a map key #3680 Make json_pointer usable as map key (again) #3685contains
andat
. Add forgotten is_basic_json guard to functions with json_pointer<Basi… #3658 Properly constrain non-string json_pointer overloads #3681json_pointer
and strings with==
and!=
. These comparisons worked in 3.10.5, but were broken in 3.11.0 and 3.11.1. Regression: no match for 'operator!=' comparing json_pointer and const char */string_t #3654 Add json_pointer/string_t equality comparison operators #3664to_json
conversion ofstd::vector<bool>::reference
andstd::vector<bool>::const_reference
for STLs where these are the same asbasic_json::boolean_t&
andbasic_json::boolean_t
, respectively. Fix -Wignored-reference-qualifiers #3677 Fix 'const' qualifier on bool& has no effect #3678⚡ Improvements
🔨 Further Changes
Documentation
develop
branch. Publish documentation on push to develop branch #3660 Refine 'Publish documentation' workflow #3673json_pointer
documentation. fix typo in json_pointer.md #3692Community
CI
macos-10.15
image from the CI as it is removed by GitHub Actions. macOS 10.15 Actions runner image deprecation #3612 Bump macos-10.5 runner to macos-11 and update Xcode versions #3615 Update CI #3626🔥 Deprecated functions
operator==
andoperator!=
. 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 #3684The 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.All 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.2.
Beta Was this translation helpful? Give feedback.
All reactions