Skip to content

Releases: bblanchon/ArduinoJson

ArduinoJson 7.2.1

15 Nov 08:05
Compare
Choose a tag to compare

Changes

  • Forbid deserializeJson(JsonArray|JsonObject, ...) (issue #2135)
  • Fix VLA support in JsonDocument::set()
  • Fix operator[](variant) ignoring NUL characters

View version history

ArduinoJson 7.2.0

18 Sep 08:49
Compare
Choose a tag to compare

ℹ️ Read the blog post

Changes

  • 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)

View version history

ArduinoJson 7.1.0

27 Jun 16:20
Compare
Choose a tag to compare

ℹ️ Read the blog post

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 and MemberProxy in JsonDocument's constructor
  • Don't add partial objects when allocation fails (issue #2081)
  • Read MsgPack's 64-bit integers even if ARDUINOJSON_USE_LONG_LONG is 0
    (they are set to null if they don't fit in a long)

View version history

ArduinoJson 7.0.4

12 Mar 08:40
Compare
Choose a tag to compare

Changes

  • Make JSON_STRING_SIZE(N) return N+1 to fix third-party code (issue #2054)

View version history

ArduinoJson 7.0.3

05 Feb 12:34
Compare
Choose a tag to compare

Changes

  • Improve error messages when using char or char* (issue #2043)
  • Reduce stack consumption (issue #2046)
  • Fix compatibility with GCC 4.8 (issue #2045)

View version history

ArduinoJson 7.0.2

19 Jan 13:36
Compare
Choose a tag to compare

Changes

  • Fix assertion poolIndex < count_ after JsonDocument::clear() (issue #2034)

View version history

ArduinoJson 7.0.1

10 Jan 20:14
Compare
Choose a tag to compare

Changes

  • 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)

View version history

ArduinoJson 6.21.5

10 Jan 20:27
Compare
Choose a tag to compare

Changes

  • 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

View version history

ArduinoJson 7.0.0

03 Jan 08:19
Compare
Choose a tag to compare

ℹ️ Read the blog post

Changes

  • 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)

View version history

ArduinoJson 6.21.4

07 Dec 09:10
Compare
Choose a tag to compare

Changes

  • 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)

View version history