Releases: bblanchon/ArduinoJson
Releases · bblanchon/ArduinoJson
ArduinoJson 7.2.1
Changes
- Forbid
deserializeJson(JsonArray|JsonObject, ...)
(issue #2135) - Fix VLA support in
JsonDocument::set()
- Fix
operator[](variant)
ignoring NUL characters
ArduinoJson 7.2.0
Changes
- Store object members with two slots: one for the key and one for the value
- Store 64-bit numbers (
double
andlong 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
to0
by default on 8-bit architectures - Deprecate
containsKey()
in favor ofdoc["key"].is<T>()
- Add support for escape sequence
\'
(issue #2124)
ArduinoJson 7.1.0
Changes
- 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)
Note: works only for reading, not for writing - Support
ElementProxy
andMemberProxy
inJsonDocument
's constructor - Don't add partial objects when allocation fails (issue #2081)
- Read MsgPack's 64-bit integers even if
ARDUINOJSON_USE_LONG_LONG
is0
(they are set tonull
if they don't fit in along
)
ArduinoJson 7.0.4
Changes
- Make
JSON_STRING_SIZE(N)
returnN+1
to fix third-party code (issue #2054)
ArduinoJson 7.0.3
ArduinoJson 7.0.2
Changes
- Fix assertion
poolIndex < count_
afterJsonDocument::clear()
(issue #2034)
ArduinoJson 7.0.1
ArduinoJson 6.21.5
ArduinoJson 7.0.0
Changes
- Remove
BasicJsonDocument
- Remove
StaticJsonDocument
- Add abstract
Allocator
class - Merge
DynamicJsonDocument
withJsonDocument
- Remove
JSON_ARRAY_SIZE()
,JSON_OBJECT_SIZE()
, andJSON_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()
anddeserializeMsgPack()
- Fix double lookup in
to<JsonVariant>()
- Fix double call to
size()
inserializeMsgPack()
- 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 anymoreJsonDocument
'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, ...)
anddeserializeMsgPack(JsonVariant, ...)
(#1226) - Call
shrinkToFit()
indeserializeJson()
anddeserializeMsgPack()
serializeJson()
andserializeMsgPack()
replace the content ofstd::string
andString
instead of appending to it- Replace
add()
withadd<T>()
(add(T)
is still supported) - Remove
createNestedArray()
andcreateNestedObject()
(useto<JsonArray>()
andto<JsonObject>()
instead)