Skip to content

Releases: bblanchon/ArduinoJson

ArduinoJson 6.20.0

26 Dec 16:40
Compare
Choose a tag to compare

ℹ️ Read the blog post

Changes

  • Add JsonVariant::shallowCopy() (issue #1343)
  • Fix 9.22337e+18 is outside the range of representable values of type 'long'
  • Fix comparison operators for JsonArray, JsonArrayConst, JsonObject, and JsonObjectConst
  • Fix lax parsing of true, false, and null (issue #1781)
  • Remove undocumented accept() functions
  • Rename addElement() to add()
  • Remove getElement(), getOrAddElement(), getMember(), and getOrAddMember()
  • Remove undocumented JsonDocument::data() and JsonDocument::memoryPool()
  • Remove undocumented JsonArrayIterator::internal() and JsonObjectIterator::internal()
  • Rename things in ARDUINOJSON_NAMESPACE to match the public names
  • Add documentation to most public symbols
  • Remove support for naked char (was deprecated since 6.18.0)

BREAKING CHANGES

This release hides JsonVariant's functions that were only intended for internal use.
If you were using them in your programs, you must replace with operator[] and to<JsonVariant>(), like so:

// before
JsonVariant a = variant.getElement(idx);
JsonVariant b = variant.getOrAddElement(idx);
JsonVariant c = variant.getMember(key);
JsonVariant d = variant.getOrAddMember(key);

// after
JsonVariant a = variant[idx];
JsonVariant b = idx < variant.size() ? variant[idx] : variant[idx].to<JsonVariant>();
JsonVariant c = variant[key];
JsonVariant d = variant.containsKey(key) ? variant[key] : variant[key].to<JsonVariant>();

View version history

ArduinoJson 6.19.4

05 Apr 08:57
Compare
Choose a tag to compare

Changes

  • Add ElementProxy::memoryUsage()
  • Add MemberProxy::memoryUsage() (issue #1730)
  • Add implicit conversion from JsonDocument to JsonVariant
  • Fix comparison operators with const JsonDocument&

View version history

ArduinoJson 6.19.3

08 Mar 16:25
Compare
Choose a tag to compare

Changes

  • Fix call of overloaded 'String(const char*, int)' is ambiguous
  • Fix JsonString operator == and != for non-zero-terminated string
  • Fix -Wsign-conversion on GCC 8 (issue #1715)
  • MessagePack: serialize round floats as integers (issue #1718)

View version history

ArduinoJson 6.19.2

14 Feb 08:10
Compare
Choose a tag to compare

Changes

  • Fix cannot convert 'pgm_p' to 'const void*' (issue #1707)

View version history

ArduinoJson 6.19.1

14 Jan 08:09
Compare
Choose a tag to compare

Changes

  • Fix crash when adding an object member in a too small JsonDocument
  • Fix filter not working in zero-copy mode (issue #1697)

View version history

ArduinoJson 6.19.0

08 Jan 15:48
Compare
Choose a tag to compare

ℹ️ Read the blog post

Changes

  • Remove ARDUINOJSON_EMBEDDED_MODE and assume we run on an embedded platform.
    Dependent settings (like ARDUINOJSON_DEFAULT_NESTING_LIMIT) must be set individually.
  • Change the default of ARDUINOJSON_USE_DOUBLE to 1
  • Change the default of ARDUINOJSON_USE_LONG_LONG to 1 on 32-bit platforms
  • Add as<JsonString>() and is<JsonString>()
  • Add safe bool idiom in JsonString
  • Add support for NUL in string values (issue #1646)
  • Add support for arbitrary array rank in copyArray()
  • Add support for char[][] in copyArray()
  • Remove DeserializationError == bool and DeserializationError != bool
  • Renamed undocumented function isUndefined() to isUnbound()
  • Fix JsonVariant::memoryUsage() for raw strings
  • Fix call of overloaded 'swap(BasicJsonDocument&, BasicJsonDocument&)' is ambiguous (issue #1678)
  • Fix inconsistent pool capacity between BasicJsonDocument's copy and move constructors
  • Fix inconsistent pool capacity between BasicJsonDocument's copy and move assignments
  • Fix return type of StaticJsonDocument::operator=
  • Avoid pool reallocation in BasicJsonDocument's copy assignment if capacity is the same
  • Avoid including Arduino.h when all its features are disabled (issue #1692, PR #1693 by @paulocsanz)
  • Assume PROGMEM is available as soon as ARDUINO is defined (consequence of #1693)

View version history

Try online

ArduinoJson 6.18.5

28 Sep 15:22
Compare
Choose a tag to compare

Changes

  • Set ARDUINOJSON_EMBEDDED_MODE to 1 on Nios II (issue #1657)

View version history

Try online

ArduinoJson 6.18.4

06 Sep 07:16
Compare
Choose a tag to compare

Changes

  • Fixed error 'dummy' may be used uninitialized on GCC 11
  • Fixed error expected unqualified-id before 'const' on GCC 11 (issue #1622)
  • Filter: exact match takes precedence over wildcard (issue #1628)
  • Fixed deserialization of \u0000 (issue #1646)

Try online

View version history

ArduinoJson 6.18.3

27 Jul 13:48
Compare
Choose a tag to compare

Changes

  • Changed return type of convertToJson() and Converter<T>::toJson() to void
  • Added as<std::string_view>() and is<std::string_view>()

Try online

View version history

ArduinoJson 6.18.2

19 Jul 08:15
Compare
Choose a tag to compare

Changes

  • Removed a symlink because the Arduino Library Specification forbids it

View version history

Try online