Changelog History
Page 4
-
v6.10.1 Changes
April 23, 2019๐ Changes since 6.10.0
- ๐ Fixed error "attributes are not allowed on a function-definition"
- ๐ Fixed
deserializeJson()
not being picky enough (issue #969) - ๐ Fixed error "no matching function for call to write(uint8_t)" (issue #972)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.10.1.h
put it in your project folder - Download
ArduinoJson-v6.10.1.zip
and extract it in youlibraries
folder
Note:
ArduinoJson-v6.10.1.h
areArduinoJson-v6.10.1.hpp
are almost identical; the difference is that the.hpp
keeps everything in theArduinoJson
namespace.Try online
-
v6.10.0 Changes
March 22, 2019Looking for a human-readable version?
๐ฐ Read the article on arduinojson.org๐ฑ Special note โ ๏ธ
โก๏ธ ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.๐ Changes since 6.9.1
- ๐ Fixed an integer overflow in the JSON deserializer
- โ Added overflow handling in
JsonVariant::as<T>()
andJsonVariant::is<T>()
.as<T>()
returns0
if the integerT
overflowsis<T>()
returnsfalse
if the integerT
overflows
- โ Added
BasicJsonDocument
to support custom allocator (issue #876) - โ Added
JsonDocument::containsKey()
(issue #938) - โ Added
JsonVariant::containsKey()
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.10.0.h
put it in your project folder - Download
ArduinoJson-v6.10.0.zip
and extract it in youlibraries
folder
Note:
ArduinoJson-v6.10.0.h
areArduinoJson-v6.10.0.hpp
are almost identical; the difference is that the.hpp
keeps everything in theArduinoJson
namespace.Try online
-
v6.9.1 Changes
March 01, 2019Looking for a human-readable version?
๐ฐ Read the article on arduinojson.org๐ฑ Special note โ ๏ธ
โก๏ธ ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.๐ Changes since 6.9.0
- ๐ Fixed warning "unused variable" with GCC 4.4 (issue #912)
- ๐ Fixed warning "cast increases required alignment" (issue #914)
- ๐ Fixed warning "conversion may alter value" (issue #914)
- ๐ Fixed naming conflict with "CAPACITY" (issue #839)
- โ Muted warning "will change in GCC 7.1" (issue #914)
- โ Added a clear error message for
StaticJsonBuffer
andDynamicJsonBuffer
- Marked ArduinoJson.h as a "system header"
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.9.1.h
put it in your project folder - Download
ArduinoJson-v6.9.1.zip
and extract it in youlibraries
folder
Note:
ArduinoJson-v6.9.1.h
areArduinoJson-v6.9.1.hpp
are almost identical; the difference is that the.hpp
keeps everything in theArduinoJson
namespace.Try online
-
v6.9.0 Changes
February 26, 2019Looking for a human-readable version?
๐ฐ Read the article on arduinojson.org๐ฑ Special note โ ๏ธ
โก๏ธ ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.๐ Changes since 6.8.0-beta
- Decode escaped Unicode characters like \u00DE (issue #304, PR #791)
Many thanks to Daniel Schulte (aka @trilader) who implemented this feature. - Added option ARDUINOJSON_DECODE_UNICODE to enable it
- ๐ Converted
JsonArray::copyFrom()/copyTo()
to free functionscopyArray()
- ๐ Renamed
JsonArray::copyFrom()
andJsonObject::copyFrom()
toset()
- ๐ Renamed
JsonArray::get()
togetElement()
- ๐ Renamed
JsonArray::add()
(without arg) toaddElement()
- ๐ Renamed
JsonObject::get()
togetMember()
- ๐ Renamed
JsonObject::getOrCreate()
togetOrAddMember()
- ๐ Fixed
JsonVariant::isNull()
not returningtrue
afterset((char*)0)
- ๐ Fixed segfault after
variant.set(serialized((char*)0))
- Detect
IncompleteInput
infalse
,true
, andnull
- โ Added
JsonDocument::size()
- โ Added
JsonDocument::remove()
- โ Added
JsonVariant::clear()
- โ Added
JsonVariant::remove()
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.9.0.h
put it in your project folder - Download
ArduinoJson-v6.9.0.zip
and extract it in youlibraries
folder
Note:
ArduinoJson-v6.9.0.h
areArduinoJson-v6.9.0.hpp
are almost identical; the difference is that the.hpp
keeps everything in theArduinoJson
namespace.Try online
- Decode escaped Unicode characters like \u00DE (issue #304, PR #791)
-
v6.8.0 Changes
January 30, 2019Looking for a human-readable version?
๐ฐ Read the article on arduinojson.org๐ฑ Special note โ ๏ธ
โก๏ธ ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.๐ Changes since 6.7.0-beta
- Import functions in the ArduinoJson namespace to get clearer errors
- ๐ Improved syntax highlighting in Arduino IDE
- โ Removed default capacity of
DynamicJsonDocument
JsonArray::copyFrom()
acceptsJsonArrayConst
JsonVariant::set()
acceptsJsonArrayConst
andJsonObjectConst
JsonDocument
was missing in the ArduinoJson namespace- โ Added
memoryUsage()
toJsonArray
,JsonObject
, andJsonVariant
- โ Added
nesting()
toJsonArray
,JsonDocument
,JsonObject
, andJsonVariant
- Replaced
JsonDocument::nestingLimit
with an additional parameter
todeserializeJson()
anddeserializeMsgPack()
- ๐ Fixed uninitialized variant in
JsonDocument
- ๐ Fixed
StaticJsonDocument
copy constructor and copy assignment - The copy constructor of
DynamicJsonDocument
chooses the capacity according to the memory usage of the source, not from the capacity of the source. - โ Added the ability to create/assign a
StaticJsonDocument
/DynamicJsonDocument
from aJsonArray
/JsonObject
/JsonVariant
- โ Added
JsonDocument::isNull()
- โ Added
JsonDocument::operator[]
- โ Added
ARDUINOJSON_TAB
to configure the indentation character - โฌ๏ธ Reduced the size of the pretty JSON serializer
- โ Added
add()
,createNestedArray()
andcreateNestedObject()
toJsonVariant
JsonVariant
automatically promotes toJsonObject
orJsonArray
on write.
CallingJsonVariant::to<T>()
is not required anymore.- ๐
JsonDocument
now support the same operations asJsonVariant
.
CallingJsonDocument::as<T>()
is not required anymore. - ๐ Fixed example
JsonHttpClient.ino
- ๐ User can now use a
JsonString
as a key or a value
๐ฅ BREAKING CHANGES โ ๏ธ
DynamicJsonDocument
's constructorThe parameter to the constructor of
DynamicJsonDocument
is now mandatoryOld code:
DynamicJsonDocument doc;
New code:
DynamicJsonDocument doc(1024);
Nesting limit
JsonDocument::nestingLimit
was replaced with a new parameter todeserializeJson()
anddeserializeMsgPack()
.Old code:
doc.nestingLimit = 15;deserializeJson(doc, input);
New code:
deserializeJson(doc, input, DeserializationOption::NestingLimit(15));
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.8.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.8.0-beta.zip
and extract it in youlibraries
folder
Note:
ArduinoJson-v6.8.0-beta.h
areArduinoJson-v6.8.0-beta.hpp
are almost identical; the difference is that the.hpp
keeps everything in theArduinoJson
namespace.Try online
-
v6.8.0-beta Changes
January 30, 2019Looking for a human-readable version?
๐ฐ Read the article on arduinojson.org๐ฑ Special note โ ๏ธ
โก๏ธ ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.๐ Changes since 6.7.0-beta
- Import functions in the ArduinoJson namespace to get clearer errors
- ๐ Improved syntax highlighting in Arduino IDE
- โ Removed default capacity of
DynamicJsonDocument
JsonArray::copyFrom()
acceptsJsonArrayConst
JsonVariant::set()
acceptsJsonArrayConst
andJsonObjectConst
JsonDocument
was missing in the ArduinoJson namespace- โ Added
memoryUsage()
toJsonArray
,JsonObject
, andJsonVariant
- โ Added
nesting()
toJsonArray
,JsonDocument
,JsonObject
, andJsonVariant
- Replaced
JsonDocument::nestingLimit
with an additional parameter
todeserializeJson()
anddeserializeMsgPack()
- ๐ Fixed uninitialized variant in
JsonDocument
- ๐ Fixed
StaticJsonDocument
copy constructor and copy assignment - The copy constructor of
DynamicJsonDocument
chooses the capacity according to the memory usage of the source, not from the capacity of the source. - โ Added the ability to create/assign a
StaticJsonDocument
/DynamicJsonDocument
from aJsonArray
/JsonObject
/JsonVariant
- โ Added
JsonDocument::isNull()
- โ Added
JsonDocument::operator[]
- โ Added
ARDUINOJSON_TAB
to configure the indentation character - โฌ๏ธ Reduced the size of the pretty JSON serializer
- โ Added
add()
,createNestedArray()
andcreateNestedObject()
toJsonVariant
JsonVariant
automatically promotes toJsonObject
orJsonArray
on write.
CallingJsonVariant::to<T>()
is not required anymore.- ๐
JsonDocument
now support the same operations asJsonVariant
.
CallingJsonDocument::as<T>()
is not required anymore. - ๐ Fixed example
JsonHttpClient.ino
- ๐ User can now use a
JsonString
as a key or a value
๐ฅ BREAKING CHANGES โ ๏ธ
DynamicJsonDocument
's constructorThe parameter to the constructor of
DynamicJsonDocument
is now mandatoryOld code:
DynamicJsonDocument doc;
New code:
DynamicJsonDocument doc(1024);
Nesting limit
JsonDocument::nestingLimit
was replaced with a new parameter todeserializeJson()
anddeserializeMsgPack()
.Old code:
doc.nestingLimit = 15;deserializeJson(doc, input);
New code:
deserializeJson(doc, input, DeserializationOption::NestingLimit(15));
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.8.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.8.0-beta.zip
and extract it in youlibraries
folder
Note:
ArduinoJson-v6.8.0-beta.h
areArduinoJson-v6.8.0-beta.hpp
are almost identical; the difference is that the.hpp
keeps everything in theArduinoJson
namespace.Try online
-
v6.7.0-beta Changes
December 07, 2018- โ Removed the automatic expansion of
DynamicJsonDocument
, it now has a fixed capacity. - โช Restored the monotonic allocator because the code was getting too big
- โฌ๏ธ Reduced the memory usage
- โฌ๏ธ Reduced the code size
- ๐ Renamed
JsonKey
toJsonString
- โ Removed spurious files in the Particle library
- โ Removed the automatic expansion of
-
v6.6.0-beta Changes
November 13, 2018- โ Removed
JsonArray::is<T>(i)
andJsonArray::set(i,v)
- โ Removed
JsonObject::is<T>(k)
andJsonObject::set(k,v)
- Replaced
T JsonArray::get<T>(i)
withJsonVariant JsonArray::get(i)
- Replaced
T JsonObject::get<T>(k)
withJsonVariant JsonObject::get(k)
- Added
JSON_STRING_SIZE()
- ๐
Replacing or removing a value now releases the memory - โ Added
DeserializationError::code()
to be used in switch statements (issue #846)
- โ Removed
-
v6.5.0-beta Changes
October 13, 2018- โ Added implicit conversion from
JsonArray
andJsonObject
toJsonVariant
- ๐ Allow mixed configuration in compilation units (issue #809)
- ๐ Fixed object keys not being duplicated
JsonPair::key()
now returns aJsonKey
- 0๏ธโฃ Increased the default capacity of
DynamicJsonDocument
- ๐ Fixed
JsonVariant::is<String>()
(closes #763) - โ Added
JsonArrayConst
,JsonObjectConst
, andJsonVariantConst
- โ Added copy-constructor and copy-assignment-operator for
JsonDocument
(issue #827)
- โ Added implicit conversion from
-
v6.4.0-beta Changes
September 11, 2018- Copy
JsonArray
andJsonObject
, instead of storing pointers (issue #780) - โ Added
JsonVariant::to<JsonArray>()
andJsonVariant::to<JsonObject>()
- Copy