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
Uh oh!
There was an error while loading. Please reload this page.
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
valuefunction which was broken for strings, size types, andnullptrin 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.hppheader 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_pointeras key in associative containers. Addoperator<to , to allow use as a map key #3680 Make json_pointer usable as map key (again) #3685containsandat. Add forgotten is_basic_json guard to functions with json_pointer<Basi… #3658 Properly constrain non-string json_pointer overloads #3681json_pointerand 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_jsonconversion ofstd::vector<bool>::referenceandstd::vector<bool>::const_referencefor 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
developbranch. Publish documentation on push to develop branch #3660 Refine 'Publish documentation' workflow #3673json_pointerdocumentation. fix typo in json_pointer.md #3692Community
CI
macos-10.15image 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_pointerpwith a strings, convertsto ajson_pointerfirst 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_wrapperis 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_stringinstead.All deprecations are annotated with
HEDLEY_DEPRECATED_FORto report which function to use instead.This discussion was created from the release JSON for Modern C++ version 3.11.2.
All reactions