JSON for Modern C++ 是一个由德国大牛 nlohmann 编写的在 C++ 下使用的 JSON 库。3.7.1 版本已经发布,这个版本修复了库中的几个小错误,且更改都是向后兼容的,内容如下:
Bug Fixes
- 修复了序列化 std::int64_t 最小值时的分段错误
- 修复了 JSON 指针的 contains() 函数
- 修复 SFINAE 漏洞,无法从 std::pair 和 std::tuple 转换为 json
- 修复了 UBSAN 检测到的一些回归。更新 CI 以使用 Clang-Tidy 7.1.0
- 修复 iteration_proxy 中的整数截断
- 更新 Hedley 到 v11 以修复 MSVC 中的 E2512 错误
- 修复了非默认可构造类型枚举反序列化中的编译错误
- 修复了从 json 到 std::valarra 的转换
Improvements
-
item() 函数现在可以与自定义字符串类型一起使用
-
为 json_pointer::back 添加 const 版本
-
改进了关于 Meson 和 Spack 包管理器的文档
Further Changes
-
在 AppVeyor CI 中添加 MSVC 2019
-
修复了一些 cppcheck 警告
-
添加了关于 JSON_HOST_USER、JSON_TRY_USER 和 JSON_CATCH_USER 宏的文档,以控制用户定义的异常处理
-
使用了 GitHub 的 CODEOWNERS 和 SECURITY 特性
-
从 CMake 文件中删除 GLOB
-
更新到 Doctest 2.3.5
详情请见发布说明。