All Versions
92
Latest Version
Avg Release Cycle
41 days
Latest Release
358 days ago

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)

    View version history

    How to install

    There are several ways to install ArduinoJson, from simpler to more complex:

    1. Use the Arduino Library Manager
    2. Download ArduinoJson-v6.10.1.h put it in your project folder
    3. Download ArduinoJson-v6.10.1.zip and extract it in you libraries folder

    Note: ArduinoJson-v6.10.1.h are ArduinoJson-v6.10.1.hpp are almost identical; the difference is that the .hpp keeps everything in the ArduinoJson namespace.

    Try online

  • v6.10.0 Changes

    March 22, 2019

    Looking 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>() and JsonVariant::is<T>().
      • as<T>() returns 0 if the integer T overflows
      • is<T>() returns false if the integer T overflows
    • โž• Added BasicJsonDocument to support custom allocator (issue #876)
    • โž• Added JsonDocument::containsKey() (issue #938)
    • โž• Added JsonVariant::containsKey()

    View version history

    How to install

    There are several ways to install ArduinoJson, from simpler to more complex:

    1. Use the Arduino Library Manager
    2. Download ArduinoJson-v6.10.0.h put it in your project folder
    3. Download ArduinoJson-v6.10.0.zip and extract it in you libraries folder

    Note: ArduinoJson-v6.10.0.h are ArduinoJson-v6.10.0.hpp are almost identical; the difference is that the .hpp keeps everything in the ArduinoJson namespace.

    Try online

  • v6.9.1 Changes

    March 01, 2019

    Looking 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 and DynamicJsonBuffer
    • Marked ArduinoJson.h as a "system header"

    View version history

    How to install

    There are several ways to install ArduinoJson, from simpler to more complex:

    1. Use the Arduino Library Manager
    2. Download ArduinoJson-v6.9.1.h put it in your project folder
    3. Download ArduinoJson-v6.9.1.zip and extract it in you libraries folder

    Note: ArduinoJson-v6.9.1.h are ArduinoJson-v6.9.1.hpp are almost identical; the difference is that the .hpp keeps everything in the ArduinoJson namespace.

    Try online

  • v6.9.0 Changes

    February 26, 2019

    Looking 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 functions copyArray()
    • ๐Ÿ“‡ Renamed JsonArray::copyFrom() and JsonObject::copyFrom() to set()
    • ๐Ÿ“‡ Renamed JsonArray::get() to getElement()
    • ๐Ÿ“‡ Renamed JsonArray::add() (without arg) to addElement()
    • ๐Ÿ“‡ Renamed JsonObject::get() to getMember()
    • ๐Ÿ“‡ Renamed JsonObject::getOrCreate() to getOrAddMember()
    • ๐Ÿ›  Fixed JsonVariant::isNull() not returning true after set((char*)0)
    • ๐Ÿ›  Fixed segfault after variant.set(serialized((char*)0))
    • Detect IncompleteInput in false, true, and null
    • โž• Added JsonDocument::size()
    • โž• Added JsonDocument::remove()
    • โž• Added JsonVariant::clear()
    • โž• Added JsonVariant::remove()

    View version history

    How to install

    There are several ways to install ArduinoJson, from simpler to more complex:

    1. Use the Arduino Library Manager
    2. Download ArduinoJson-v6.9.0.h put it in your project folder
    3. Download ArduinoJson-v6.9.0.zip and extract it in you libraries folder

    Note: ArduinoJson-v6.9.0.h are ArduinoJson-v6.9.0.hpp are almost identical; the difference is that the .hpp keeps everything in the ArduinoJson namespace.

    Try online

  • v6.8.0 Changes

    January 30, 2019

    Looking 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() accepts JsonArrayConst
    • JsonVariant::set() accepts JsonArrayConst and JsonObjectConst
    • JsonDocument was missing in the ArduinoJson namespace
    • โž• Added memoryUsage() to JsonArray, JsonObject, and JsonVariant
    • โž• Added nesting() to JsonArray, JsonDocument, JsonObject, and JsonVariant
    • Replaced JsonDocument::nestingLimit with an additional parameter
      to deserializeJson() and deserializeMsgPack()
    • ๐Ÿ›  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 a JsonArray/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() and createNestedObject() to JsonVariant
    • JsonVariant automatically promotes to JsonObject or JsonArray on write.
      Calling JsonVariant::to<T>() is not required anymore.
    • ๐Ÿ‘ JsonDocument now support the same operations as JsonVariant.
      Calling JsonDocument::as<T>() is not required anymore.
    • ๐Ÿ›  Fixed example JsonHttpClient.ino
    • ๐Ÿ‘‰ User can now use a JsonString as a key or a value

    View version history

    ๐Ÿ’ฅ BREAKING CHANGES โš ๏ธ

    DynamicJsonDocument's constructor

    The parameter to the constructor of DynamicJsonDocument is now mandatory

    Old code:

    DynamicJsonDocument doc;

    New code:

    DynamicJsonDocument doc(1024);

    Nesting limit

    JsonDocument::nestingLimit was replaced with a new parameter to deserializeJson() and deserializeMsgPack().

    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:

    1. Use the Arduino Library Manager
    2. Download ArduinoJson-v6.8.0-beta.h put it in your project folder
    3. Download ArduinoJson-v6.8.0-beta.zip and extract it in you libraries folder

    Note: ArduinoJson-v6.8.0-beta.h are ArduinoJson-v6.8.0-beta.hpp are almost identical; the difference is that the .hpp keeps everything in the ArduinoJson namespace.

    Try online

  • v6.8.0-beta Changes

    January 30, 2019

    Looking 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() accepts JsonArrayConst
    • JsonVariant::set() accepts JsonArrayConst and JsonObjectConst
    • JsonDocument was missing in the ArduinoJson namespace
    • โž• Added memoryUsage() to JsonArray, JsonObject, and JsonVariant
    • โž• Added nesting() to JsonArray, JsonDocument, JsonObject, and JsonVariant
    • Replaced JsonDocument::nestingLimit with an additional parameter
      to deserializeJson() and deserializeMsgPack()
    • ๐Ÿ›  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 a JsonArray/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() and createNestedObject() to JsonVariant
    • JsonVariant automatically promotes to JsonObject or JsonArray on write.
      Calling JsonVariant::to<T>() is not required anymore.
    • ๐Ÿ‘ JsonDocument now support the same operations as JsonVariant.
      Calling JsonDocument::as<T>() is not required anymore.
    • ๐Ÿ›  Fixed example JsonHttpClient.ino
    • ๐Ÿ‘‰ User can now use a JsonString as a key or a value

    View version history

    ๐Ÿ’ฅ BREAKING CHANGES โš ๏ธ

    DynamicJsonDocument's constructor

    The parameter to the constructor of DynamicJsonDocument is now mandatory

    Old code:

    DynamicJsonDocument doc;

    New code:

    DynamicJsonDocument doc(1024);

    Nesting limit

    JsonDocument::nestingLimit was replaced with a new parameter to deserializeJson() and deserializeMsgPack().

    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:

    1. Use the Arduino Library Manager
    2. Download ArduinoJson-v6.8.0-beta.h put it in your project folder
    3. Download ArduinoJson-v6.8.0-beta.zip and extract it in you libraries folder

    Note: ArduinoJson-v6.8.0-beta.h are ArduinoJson-v6.8.0-beta.hpp are almost identical; the difference is that the .hpp keeps everything in the ArduinoJson 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 to JsonString
    • โœ‚ Removed spurious files in the Particle library
  • v6.6.0-beta Changes

    November 13, 2018
    • โœ‚ Removed JsonArray::is<T>(i) and JsonArray::set(i,v)
    • โœ‚ Removed JsonObject::is<T>(k) and JsonObject::set(k,v)
    • Replaced T JsonArray::get<T>(i) with JsonVariant JsonArray::get(i)
    • Replaced T JsonObject::get<T>(k) with JsonVariant 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)
  • v6.5.0-beta Changes

    October 13, 2018
    • โž• Added implicit conversion from JsonArray and JsonObject to JsonVariant
    • ๐Ÿ‘ Allow mixed configuration in compilation units (issue #809)
    • ๐Ÿ›  Fixed object keys not being duplicated
    • JsonPair::key() now returns a JsonKey
    • 0๏ธโƒฃ Increased the default capacity of DynamicJsonDocument
    • ๐Ÿ›  Fixed JsonVariant::is<String>() (closes #763)
    • โž• Added JsonArrayConst, JsonObjectConst, and JsonVariantConst
    • โž• Added copy-constructor and copy-assignment-operator for JsonDocument (issue #827)
  • v6.4.0-beta Changes

    September 11, 2018
    • Copy JsonArray and JsonObject, instead of storing pointers (issue #780)
    • โž• Added JsonVariant::to<JsonArray>() and JsonVariant::to<JsonObject>()