Skip to content

JSON for Modern C++ version 3.10.1

Compare
Choose a tag to compare
@nlohmann nlohmann released this 24 Aug 19:09
· 317 commits to develop since this release
7194245

Release date: 2021-08-24
SHA-256: 0b628af78a2f0f3e2ff41d8dfa18314dd53831ffc2720c2944192d9f53727f4d (json.hpp), 144268f7f85afb0f0fbea7c796723c849724c975f9108ffdadde9ecedaa5f0b1 (include.zip)

Summary

This release fixes a bug introduced in release 3.10.0: the extended diagnostics triggered an assertion when used with ordered_json. All changes are backward-compatible.

💰 Note you can support this project via GitHub sponsors or PayPal.

🐛 Bug Fixes

  • Fix an assertion triggered in the extended diagnostics using ordered_json. #2962 #2963
  • Make GDB pretty-printer robust against unset variable names. #2950

⚡ Improvements

Warnings

  • Add a missing header to hash.hpp. #2948
  • Fix some -Wextra-semi-stmt warnings. #2957

Tests and CI

  • Avoid duplicate builds in AppVeyor. #2952
  • Remove an outdated test binary that is not supported any longer. #2941 #2945
  • Skip tests that would fail if CMake option JSON_Install is set to OFF. #2946 #2947
  • Move Travis jobs to travis-ci.com. #2938 #2959
  • Set stack size for some unit tests when building with MSVC. #2955 #2961
  • Add a regression test. #2960

Documentation

🔥 Deprecated functions

Passing iterator pairs or pointer/length pairs to parsing functions (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, call basic_json::from_cbor(ptr, ptr+len) instead of basic_json::from_cbor({ptr, len}).

The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0):

All deprecations are annotated with HEDLEY_DEPRECATED_FOR to report which function to use instead.