ArduinoJson 5.0.0
* Added support of `String` class (issues #55, #56, #70, #77)
* Added `JsonBuffer::strdup()` to make a copy of a string (issues #10, #57)
* Implicitly call `strdup()` for `String` but not for `char*` (issues #84, #87)
* Added support of non standard JSON input (issue #44)
* Added support of comments in JSON input (issue #88)
* Added implicit cast between numerical types (issues #64, #69, #93)
* Added ability to read number values as string (issue #90)
* Redesigned `JsonVariant` to leverage converting constructors instead of assignment operators (issue #66)
* Switched to new the library layout (requires Arduino 1.0.6 or above)

Changes since v4.6.1

  • Added support of String class (issues #55, #56, #70, #77)
  • Added JsonBuffer::strdup() to make a copy of a string (issues #10, #57)
  • Implicitly call strdup() for String but not for char* (issues #84, #87)
  • Added support of non standard JSON input (issue #44)
  • Added support of comments in JSON input (issue #88)
  • Added implicit cast between numerical types (issues #64, #69, #93)
  • Added ability to read number values as string (issue #90)
  • Redesigned JsonVariant to leverage converting constructors instead of assignment operators (issue #66)
  • Switched to new the library layout (requires Arduino 1.0.6 or above)

BREAKING CHANGES:

  • JsonObject::add() was renamed to set()
  • JsonArray::at() and JsonObject::at() were renamed to get()
  • Number of digits of floating point value are now set with double_with_n_digits()

Personal note about the String class: Support of the String class has been added to the library because many people use it in their programs. However, you should not see this as an invitation to use the String class. The String class is bad because it uses dynamic memory allocation. Compared to static allocation, it compiles to a bigger, slower program, and is less predictable. You certainly don't want that in an embedded environment!