Skip to content

JSON for Modern C++ version 3.11.1

Compare
Choose a tag to compare
@nlohmann nlohmann released this 01 Aug 21:32
· 143 commits to develop since this release
69d7448

Release date: 2022-08-01
SHA-256: 9279dc616aac67efce68967f118051b50236612b90572e059783d368bd78687e (json.hpp), 9c15ca7806f863872452bfbc85fee6d1c9868117e3ea5e00a204ae961a2e1ae7 (include.zip), e6dd39f8f2da9cab11de2212acdd40b1cc1aafbe09da8c92933b911d19da3302 (json.tar.xz)

Known issues

  • #3652 Regression: call to member function 'value' is ambiguous
  • #3654 Regression: no match for 'operator!=' comparing json_pointer and const char */string_t
  • #3655 Regression: .value<size_t> is compilation error

All issues are fixed in the develop branch and will be part of the 3.11.2 release.

Summary

Version 3.11.0 moved the user-defined string literals (UDL) into namespace nlohmann::literals::json_literals (see documentation). Unfortunately, this namespace was not imported to the global namespace by default which broke code. This release fixes this bug.

All changes are backward-compatible. See release notes of version 3.11.0 for more information on other features.

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

🐛 Bug fixes

  • Set default value of JSON_USE_GLOBAL_UDLS and the CMake options JSON_GlobalUDLs to 1 to import the user-defined string literals from the nlohmann::literals::json_literals namespace into the global namespace by default. #3644 #3645 #3646