Tags give the ability to mark specific points in history as being important
- 
- 
- 
v7.4.096281de6 · ·ArduinoJson 7.4.0 * Optimize storage of tiny strings (up to 3 characters) * Fix support for `const char[]` (issue #2166) 
- 
v7.3.1e03d8ae8 · ·ArduinoJson 7.3.1 * Fix conversion from static string to number * Slightly reduce code size 
- 
v7.3.08f7e793f · ·ArduinoJson 7.3.0 * Fix support for NUL characters in `deserializeJson()` * Make `ElementProxy` and `MemberProxy` non-copyable * Change string copy policy: only string literal are stored by pointer * `JsonString` is now stored by copy, unless specified otherwise * Replace undocumented `JsonString::Ownership` with `bool` * Rename undocumented `JsonString::isLinked()` to `isStatic()` * Move public facing SFINAEs to template declarations 
- 
v7.2.1f9fe8557 · ·ArduinoJson 7.2.1 * Forbid `deserializeJson(JsonArray|JsonObject, ...)` (issue #2135) * Fix VLA support in `JsonDocument::set()` * Fix `operator[](variant)` ignoring NUL characters 
- 
v7.2.0cd4b2b24 · ·ArduinoJson 7.2.0 * Store object members with two slots: one for the key and one for the value * Store 64-bit numbers (`double` and `long long`) in an additional slot * Reduce the slot size (see table below) * Improve message when user forgets third arg of `serializeJson()` et al. * Set `ARDUINOJSON_USE_DOUBLE` to `0` by default on 8-bit architectures * Deprecate `containsKey()` in favor of `doc["key"].is<T>()` * Add support for escape sequence `\'` (issue #2124) 
- 
v7.1.022dd4da3 · ·ArduinoJson 7.1.0 * Add `ARDUINOJSON_STRING_LENGTH_SIZE` to the namespace name * Add support for MsgPack binary (PR #2078 by @Sanae6) * Add support for MsgPack extension * Make string support even more generic (PR #2084 by @d-a-v) * Optimize `deserializeMsgPack()` * Allow using a `JsonVariant` as a key or index (issue #2080) 
- 
v7.0.436e1eecc · ·ArduinoJson 7.0.4 * Make `JSON_STRING_SIZE(N)` return `N+1` to fix third-party code (issue #2054) 
- 
v7.0.3848c0cdc · ·ArduinoJson 7.0.3 * Improve error messages when using `char` or `char*` (issue #2043) * Reduce stack consumption (issue #2046) * Fix compatibility with GCC 4.8 (issue #2045) 
- 
v7.0.20435945a · ·ArduinoJson 7.0.2 * Fix assertion `poolIndex < count_` after `JsonDocument::clear()` (issue #2034) 
- 
v6.21.540ee05c0 · ·ArduinoJson 6.21.5 * Fix warning `function returns incomplete class type` on IAR (issue #2001) * Fix `volatile bool` serialized as `1` or `0` instead of `true` or `false` (issue #2029) * Remove unused files in the PlatformIO package 
- 
v7.0.194783fdd · ·ArduinoJson 7.0.1 * Fix "no matching function" with `JsonObjectConst::operator[]` (issue #2019) * Remove unused files in the PlatformIO package * Fix `volatile bool` serialized as `1` or `0` instead of `true` or `false` (issue #2029) 
- 
v7.0.09dc43d14 · ·ArduinoJson 7.0.0 * Remove `BasicJsonDocument` * Remove `StaticJsonDocument` * Add abstract `Allocator` class * Merge `DynamicJsonDocument` with `JsonDocument` * Remove `JSON_ARRAY_SIZE()`, `JSON_OBJECT_SIZE()`, and `JSON_STRING_SIZE()` * Remove `ARDUINOJSON_ENABLE_STRING_DEDUPLICATION` (string deduplication cannot be disabled anymore) * Remove `JsonDocument::capacity()` * Store the strings in the heap * Reference-count shared strings * Always store `serialized("string")` by copy (#1915) * Remove the zero-copy mode of `deserializeJson()` and `deserializeMsgPack()` * Fix double lookup in `to<JsonVariant>()` * Fix double call to `size()` in `serializeMsgPack()` * Include `ARDUINOJSON_SLOT_OFFSET_SIZE` in the namespace name * Remove `JsonVariant::shallowCopy()` * `JsonDocument`'s capacity grows as needed, no need to pass it to the constructor anymore * `JsonDocument`'s allocator is not monotonic anymore, removed values get recycled * Show a link to the documentation when user passes an unsupported input type * Remove `JsonDocument::memoryUsage()` * Remove `JsonDocument::garbageCollect()` * Add `deserializeJson(JsonVariant, ...)` and `deserializeMsgPack(JsonVariant, ...)` (#1226) * Call `shrinkToFit()` in `deserializeJson()` and `deserializeMsgPack()` * `serializeJson()` and `serializeMsgPack()` replace the content of `std::string` and `String` instead of appending to it * Replace `add()` with `add<T>()` (`add(T)` is still supported) * Remove `createNestedArray()` and `createNestedObject()` (use `to<JsonArray>()` and `to<JsonObject>()` instead)
- 
v6.21.438441691 · ·ArduinoJson 6.21.4 * Fix error `'std::string' has not been declared` (issue #1967) * Fix error `'std::string_view' has not been declared` (issue #1967) * Fix error `no instance of overloaded function...` on recent IAR compilers (issue #2001) 
- 
v6.21.34b007833 · ·ArduinoJson 6.21.3 * Fix compatibility with the Blynk libary (issue #1914) * Fix double lookup in `to<JsonVariant>()` * Fix double call to `size()` in `serializeMsgPack()` * Include `ARDUINOJSON_SLOT_OFFSET_SIZE` in the namespace name * Show a link to the documentation when user passes an unsupported input type 
- 
v6.21.2420221f0 · ·ArduinoJson 6.21.2 * Fix compatibility with the Zephyr Project (issue #1905) * Allow using PROGMEM outside of Arduino (issue #1903) * Set default for `ARDUINOJSON_ENABLE_PROGMEM` to `1` on AVR 
- 
v6.21.1cb850bc1 · ·ArduinoJson 6.21.1 * Double speed of `DynamicJsonDocument::garbageCollect()` * Fix compatibility with GCC 5.2 (issue #1897) 
- 
v6.21.0de9239ca · ·ArduinoJson 6.21.0 * Drop support for C++98/C++03. Minimum required is C++11. * Remove `ARDUINOJSON_NAMESPACE`; use `ArduinoJson` instead. * Make string support generic (issue #1807) 
- 
v6.20.1b33966c7 · ·ArduinoJson 6.20.1 * Remove explicit exclusion of `as<char*>()` and `as<char>()` (issue #1860)