Releases: bblanchon/ArduinoJson
Releases · bblanchon/ArduinoJson
ArduinoJson 6.20.0
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
, andJsonObjectConst
- Fix lax parsing of
true
,false
, andnull
(issue #1781) - Remove undocumented
accept()
functions - Rename
addElement()
toadd()
- Remove
getElement()
,getOrAddElement()
,getMember()
, andgetOrAddMember()
- Remove undocumented
JsonDocument::data()
andJsonDocument::memoryPool()
- Remove undocumented
JsonArrayIterator::internal()
andJsonObjectIterator::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 withoperator[]
andto<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>();
ArduinoJson 6.19.4
Changes
- Add
ElementProxy::memoryUsage()
- Add
MemberProxy::memoryUsage()
(issue #1730) - Add implicit conversion from
JsonDocument
toJsonVariant
- Fix comparison operators with
const JsonDocument&
ArduinoJson 6.19.3
ArduinoJson 6.19.2
ArduinoJson 6.19.1
Changes
- Fix crash when adding an object member in a too small
JsonDocument
- Fix filter not working in zero-copy mode (issue #1697)
ArduinoJson 6.19.0
Changes
- Remove
ARDUINOJSON_EMBEDDED_MODE
and assume we run on an embedded platform.
Dependent settings (likeARDUINOJSON_DEFAULT_NESTING_LIMIT
) must be set individually. - Change the default of
ARDUINOJSON_USE_DOUBLE
to1
- Change the default of
ARDUINOJSON_USE_LONG_LONG
to1
on 32-bit platforms - Add
as<JsonString>()
andis<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[][]
incopyArray()
- Remove
DeserializationError == bool
andDeserializationError != bool
- Renamed undocumented function
isUndefined()
toisUnbound()
- 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 asARDUINO
is defined (consequence of #1693)
Try online
ArduinoJson 6.18.5
ArduinoJson 6.18.4
ArduinoJson 6.18.3
Changes
- Changed return type of
convertToJson()
andConverter<T>::toJson()
tovoid
- Added
as<std::string_view>()
andis<std::string_view>()
Try online
ArduinoJson 6.18.2
Changes
- Removed a symlink because the Arduino Library Specification forbids it