-
v6.21.0Release ArduinoJson 6.21.0
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.1Release ArduinoJson 6.20.1
ArduinoJson 6.20.1 * Remove explicit exclusion of `as<char*>()` and `as<char>()` (issue #1860)
-
v6.20.0Release ArduinoJson 6.20.0
ArduinoJson 6.20.0 * 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)
-
v6.19.4Release ArduinoJson 6.19.4
ArduinoJson 6.19.4 * Add `ElementProxy::memoryUsage()` * Add `MemberProxy::memoryUsage()` (issue #1730) * Add implicit conversion from `JsonDocument` to `JsonVariant` * Fix comparisons operators with `const JsonDocument&`
-
v6.19.3Release ArduinoJson 6.19.3
ArduinoJson 6.19.3 * 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)
-
v6.19.2Release ArduinoJson 6.19.2
ArduinoJson 6.19.2 * Fix `cannot convert 'pgm_p' to 'const void*'` (issue #1707)
-
v6.19.1Release ArduinoJson 6.19.1
ArduinoJson 6.19.1 * Fix crash when adding an object member in a too small `JsonDocument` * Fix filter not working in zero-copy mode (issue #1697)
-
v6.19.0Release ArduinoJson 6.19.0
ArduinoJson 6.19.0 * Remove `ARDUINOJSON_EMBEDDED_MODE` and assume we run on an embedded platform.
-
v6.18.5Release ArduinoJson 6.18.5
ArduinoJson 6.18.5 * Set `ARDUINOJSON_EMBEDDED_MODE` to `1` on Nios II (issue #1657)
-
v6.18.4Release ArduinoJson 6.18.4
ArduinoJson 6.18.4 * 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)
-
v6.18.3Release ArduinoJson 6.18.3
ArduinoJson 6.18.3 * Changed return type of `convertToJson()` and `Converter<T>::toJson()` to `void` * Added `as<std::string_view>()` and `is<std::string_view>()`
-
v6.18.2Release ArduinoJson 6.18.2
ArduinoJson 6.18.2 * Removed a symlink because the Arduino Library Specification forbids it
-
v6.18.1Release ArduinoJson 6.18.1
ArduinoJson 6.18.1 * Fixed support for `volatile float` and `volatile double` (issue #1557) * Fixed error `[Pe070]: incomplete type is not allowed` on IAR (issue #1560) * Fixed `serializeJson(doc, String)` when allocation fails (issue #1572) * Fixed clang-tidy warnings (issue #1574, PR #1577 by @armandas) * Added fake class `InvalidConversion<T1,T2>` to easily identify invalid conversions (issue #1585) * Added support for `std::string_view` (issue #1578, PR #1554 by @0xFEEDC0DE64) * Fixed warning `definition of implicit copy constructor for 'MsgPackDeserializer' is deprecated because it has a user-declared copy assignment operator` * Added `JsonArray::clear()` (issue #1597) * Fixed `JsonVariant::as<unsigned>()` (issue #1601) * Added support for ESP-IDF component build (PR #1562 by @qt1, PR #1599 by @andreaskuster)
-
v6.18.0Release ArduinoJson 6.18.0
ArduinoJson 6.18.0 * Added support for custom converters (issue #687) * Added support for `Printable` (issue #1444) * Removed support for `char` values, see below (issue #1498) * `deserializeJson()` leaves `\uXXXX` unchanged instead of returning `NotSupported` * `deserializeMsgPack()` inserts `null` instead of returning `NotSupported` * Removed `DeserializationError::NotSupported` * Added `JsonVariant::is<JsonArrayConst/JsonObjectConst>()` (issue #1412) * Added `JsonVariant::is<JsonVariant/JsonVariantConst>()` (issue #1412) * Changed `JsonVariantConst::is<JsonArray/JsonObject>()` to return `false` (issue #1412) * Simplified `JsonVariant::as<T>()` to always return `T` (see below) * Updated folders list in `.mbedignore` (PR #1515 by @AGlass0fMilk) * Fixed member-call-on-null-pointer in `getMember()` when array is empty * `serializeMsgPack(doc, buffer, size)` doesn't add null-terminator anymore (issue #1545) * `serializeJson(doc, buffer, size)` adds null-terminator only if there is enough room * PlatformIO: set `build.libArchive` to `false` (PR #1550 by @askreet)
-
v6.17.3Release ArduinoJson 6.17.3
ArduinoJson 6.17.3 * Made `JsonDocument`'s destructor protected (issue #1480) * Added missing calls to `client.stop()` in `JsonHttpClient.ino` (issue #1485) * Fixed error `expected ')' before 'char'` when `isdigit()` is a macro (issue #1487) * Fixed error `definition of implicit copy constructor is deprecated` on Clang 10 * PlatformIO: set framework compatibility to `*` (PR #1490 by @maxgerhardt)
-
v6.17.2Release ArduinoJson 6.17.2
ArduinoJson 6.17.2 * Fixed invalid conversion error in `operator|(JsonVariant, char*)` (issue #1432) * Changed the default value of `ARDUINOJSON_ENABLE_PROGMEM` (issue #1433).
-
v6.17.1Release ArduinoJson 6.17.1
ArduinoJson 6.17.1 * Fixed error `ambiguous overload for 'operator|'` (issue #1411) * Fixed `operator|(MemberProxy, JsonObject)` (issue #1415) * Allowed more than 32767 values in non-embedded mode (issue #1414)
-
v6.17.0Release ArduinoJson 6.17.0
ArduinoJson 6.17.0 * Added a build failure when nullptr is defined as a macro (issue #1355) * Added `JsonDocument::overflowed()` which tells if the memory pool was too small (issue #1358) * Added `DeserializationError::EmptyInput` which tells if the input was empty * Added `DeserializationError::f_str()` which returns a `const __FlashStringHelper*` (issue #846) * Added `operator|(JsonVariantConst, JsonVariantConst)` * Added filtering for MessagePack (issue #1298, PR #1394 by Luca Passarella) * Moved float convertion tables to PROGMEM * Fixed `JsonVariant::set((char*)0)` which returned false instead of true (issue #1368) * Fixed error `No such file or directory #include <WString.h>` (issue #1381)
-
v6.16.1Release ArduinoJson 6.16.1
ArduinoJson 6.16.1 * Fixed `deserializeJson()` that stopped reading after `{}` (issue #1335)
-
v6.16.0Release ArduinoJson 6.16.0
ArduinoJson 6.16.0 * Added comparisons (`>`, `>=`, `==`, `!=`, `<`, and `<=`) between `JsonVariant`s * Added string deduplication (issue #1303) * Added `JsonString::operator!=` * Set `ARDUINOJSON_DECODE_UNICODE` to `1` by default * Fixed `copyArray()` not working with `String`, `ElementProxy`, and `MemberProxy` * Fixed error `getOrAddElement is not a member of ElementProxy` (issue #1311) * Fixed excessive stack usage when compiled with `-Og` (issues #1210 and #1314) * Fixed `Warning[Pa093]: implicit conversion from floating point to integer` on IAR compiler (PR #1328 by @stawiski)