- Make the iterator range illustrations legible in dark mode (prefers-color-scheme rules inside the SVGs). - Add a "Byte layout" section with a color-coded byte table to each binary format page (BJData, BON8, BSON, CBOR, MessagePack, UBJSON), and highlight the smallest size per file in the comparison table. - Add "See also" sections to the overview pages that lacked one. - Split the release notes into one page per release, grouped by minor version on the overview page, with an "API changes" section per release generated from the API pages' version histories (hooks/api_changes.py). - Fact-check the release notes and version histories against the release tags and correct wrong or misleading entries (e.g., json_serializer 2.1.0, merge_patch 3.1.0, items, count, operator[], to_bjdata, std::string_view key support). Signed-off-by: Niels Lohmann <mail@nlohmann.me>
1.4 KiB
1.4 KiB
v3.12.0
Released on 2025-04-11.
Fixes bugs found in 3.11.3 and adds several features. No public API was removed or renamed.
- Adds diagnostic byte positions via
JSON_DIAGNOSTIC_POSITIONS, exposed through the newstart_posandend_posmember functions. - Makes the conversion macros
templated (so they also work with
ordered_json) and addsNLOHMANN_DEFINE_DERIVED_TYPEfor derived classes. - Adds
std::optionalsupport (C++17) and letspatch,diff, andflattenwork with arbitrary string types. - Extends the binary formats: BJData draft 3 and unsigned 64-bit integers for BSON.
- Adds multidimensional C-array conversion and UTF-8 encoded
std::filesystem::pathconversions, and raises the minimum CMake version to 3.5 and supports CMake 4.0.