2015-05-23 15:32:50 +02:00
ArduinoJson: change log
=======================
2016-04-30 09:49:45 +02:00
v5.3.0
------
2016-04-28 08:42:59 +02:00
2016-04-28 18:54:14 +02:00
* Added custom implementation of `ftoa` (issues #266 , #267 , #269 and #270 )
2016-04-30 09:47:53 +02:00
* Added `JsonVariant JsonBuffer::parse()` (issue #265 )
2016-04-28 18:54:14 +02:00
* Fixed `unsigned long` printed as `signed long` (issue #170 )
2016-04-28 08:42:59 +02:00
2016-04-16 16:17:19 +02:00
v5.2.0
------
2016-04-05 20:47:04 +02:00
* Added `JsonVariant::as<char*>()` as a synonym for `JsonVariant::as<const char*>()` (issue #257 )
2016-04-08 20:11:36 +02:00
* Added example `JsonHttpClient` (issue #256 )
2016-04-14 20:06:38 +02:00
* Added `JsonArray::copyTo()` and `JsonArray::copyFrom()` (issue #254 )
2016-04-16 16:15:01 +02:00
* Added `RawJson()` to insert pregenerated JSON portions (issue #259 )
2016-04-05 20:47:04 +02:00
2016-02-23 21:30:01 +01:00
v5.1.1
------
2016-02-23 21:27:52 +01:00
* Removed `String` duplication when one replaces a value in a `JsonObject` (PR #232 by @ulion )
2016-02-14 16:18:13 +01:00
v5.1.0
------
* Added support of `long long` (issue #171 )
* Moved all build settings to `ArduinoJson/Configuration.hpp`
**BREAKING CHANGE** :
If you defined `ARDUINOJSON_ENABLE_STD_STREAM` , you now need to define it to `1` .
2016-01-31 21:57:08 +01:00
v5.0.8
------
2015-12-22 23:43:44 +01:00
2015-12-23 14:42:22 +01:00
* Made the library compatible with [PlatformIO ](http://platformio.org/ ) (issue #181 )
2016-01-31 21:56:04 +01:00
* Fixed `JsonVariant::is<bool>()` that was incorrectly returning false (issue #214 )
2015-12-22 23:43:44 +01:00
2015-11-25 21:15:11 +01:00
v5.0.7
------
2015-11-19 21:53:27 +01:00
2015-11-25 21:15:11 +01:00
* Made library easier to use from a CMake project: simply `add_subdirectory(ArduinoJson/src)`
2015-11-25 21:09:18 +01:00
* Changed `String` to be a `typedef` of `std::string` (issues #142 and #161 )
**BREAKING CHANGES** :
- `JsonVariant(true).as<String>()` now returns `"true"` instead of `"1"`
- `JsonVariant(false).as<String>()` now returns `"false"` instead of `"0"`
2015-11-19 21:53:27 +01:00
2015-11-09 21:37:40 +01:00
v5.0.6
------
* Added parameter to `DynamicJsonBuffer` constructor to set initial size (issue #152 )
* Fixed warning about library category in Arduino 1.6.6 (issue #147 )
2015-11-09 22:49:49 +01:00
* Examples: Added a loop to wait for serial port to be ready (issue #156 )
2015-11-09 21:37:40 +01:00
2015-10-30 22:29:47 +01:00
v5.0.5
------
2015-11-09 21:37:40 +01:00
* Added overload `JsonObjectSuscript::set(value, decimals)` (issue #143 )
2015-10-30 23:03:16 +01:00
* Use `float` instead of `double` to reduce the size of `JsonVariant` (issue #134 )
2015-10-30 22:29:47 +01:00
2015-09-29 22:02:12 +02:00
v5.0.4
2015-09-28 22:14:50 +02:00
------
* Fixed ambiguous overload with `JsonArraySubscript` and `JsonObjectSubscript` (issue #122 )
2015-09-19 16:20:06 +02:00
v5.0.3
------
2015-09-19 16:23:09 +02:00
* Fixed `printTo(String)` which wrote numbers instead of strings (issue #120 )
2015-09-19 16:25:18 +02:00
* Fixed return type of `JsonArray::is<T>()` and some others (issue #121 )
2015-09-19 16:20:06 +02:00
2015-08-26 20:49:24 +02:00
v5.0.2
------
2015-08-29 22:51:17 +02:00
* Fixed segmentation fault in `parseObject(String)` and `parseArray(String)` , when the
2015-09-01 22:21:50 +02:00
`StaticJsonBuffer` is too small to hold a copy of the string
* Fixed Clang warning "register specifier is deprecated" (issue #102 )
2015-09-01 22:26:51 +02:00
* Fixed GCC warning "declaration shadows a member" (issue #103 )
2015-09-01 22:21:50 +02:00
* Fixed memory alignment, which made ESP8266 crash (issue #104 )
2015-08-27 21:47:49 +02:00
* Fixed compilation on Visual Studio 2010 and 2012 (issue #107 )
2015-08-26 20:49:24 +02:00
2015-08-24 15:20:40 +02:00
v5.0.1
------
* Fixed compilation with Arduino 1.0.6 (issue #99 )
2015-08-20 15:15:59 +02:00
v5.0.0
------
2015-05-23 15:32:50 +02:00
2015-07-25 15:38:12 +02:00
* 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 )
2015-07-10 22:11:26 +02:00
* Added support of non standard JSON input (issue #44 )
2015-07-27 22:16:42 +02:00
* Added support of comments in JSON input (issue #88 )
2015-08-10 17:22:22 +02:00
* Added implicit cast between numerical types (issues #64 , #69 , #93 )
* Added ability to read number values as string (issue #90 )
2015-07-25 15:38:12 +02:00
* Redesigned `JsonVariant` to leverage converting constructors instead of assignment operators (issue #66 )
2015-05-31 14:42:09 +02:00
* Switched to new the library layout (requires Arduino 1.0.6 or above)
2015-05-23 15:32:50 +02:00
**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()`
2014-07-15 13:50:49 +02:00
2015-05-25 15:38:58 +02:00
**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.
2015-05-31 14:42:09 +02:00
Compared to static allocation, it compiles to a bigger, slower program, and is less predictable.
2015-05-25 15:38:58 +02:00
You certainly don't want that in an embedded environment!
2015-08-01 16:31:59 +02:00
v4.6
----
* Fixed segmentation fault in `DynamicJsonBuffer` when memory allocation fails (issue #92 )
2015-07-10 22:11:26 +02:00
v4.5
----
* Fixed buffer overflow when input contains a backslash followed by a terminator (issue #81 )
**Upgrading is recommended** since previous versions contain a potential security risk.
Special thanks to [Giancarlo Canales Barreto ](https://github.com/gcanalesb ) for finding this nasty bug.
2015-05-09 16:53:48 +02:00
v4.4
----
* Added `JsonArray::measureLength()` and `JsonObject::measureLength()` (issue #75 )
2015-05-03 15:49:44 +02:00
v4.3
2015-04-18 15:37:15 +02:00
----
2015-05-02 15:16:18 +02:00
* Added `JsonArray::removeAt()` to remove an element of an array (issue #58 )
2015-04-18 15:37:15 +02:00
* Fixed stack-overflow in `DynamicJsonBuffer` when parsing huge JSON files (issue #65 )
2015-04-27 16:01:05 +02:00
* Fixed wrong return value of `parseArray()` and `parseObject()` when allocation fails (issue #68 )
2015-04-18 15:37:15 +02:00
2015-02-07 20:49:05 +01:00
v4.2
2015-02-01 20:59:31 +01:00
----
2015-02-07 20:49:05 +01:00
* Switched back to old library layout (issues #39 , #43 and #45 )
2015-02-01 20:59:31 +01:00
* Removed global new operator overload (issue #40 , #45 and #46 )
* Added an example with EthernetServer
2014-12-20 15:45:09 +01:00
v4.1
----
2014-12-21 15:25:42 +01:00
* Added DynamicJsonBuffer (issue #19 )
2014-12-20 15:45:09 +01:00
2014-11-11 14:11:49 +01:00
v4.0
----
* Unified parser and generator API (issue #23 )
2014-11-11 18:34:04 +01:00
* Updated library layout, now requires Arduino 1.0.6 or newer
2014-11-11 14:11:49 +01:00
2014-11-29 17:00:38 +01:00
**BREAKING CHANGE** : API changed significantly, see [Migrating code to the new API ](https://github.com/bblanchon/ArduinoJson/wiki/Migrating-code-to-the-new-API ).
2014-11-11 14:11:49 +01:00
2014-09-09 21:32:27 +02:00
v3.4
----
* Fixed escaped char parsing (issue #16 )
2014-12-20 15:45:09 +01:00
2014-09-09 21:32:27 +02:00
2014-09-01 21:14:09 +02:00
v3.3
----
2014-09-09 21:32:27 +02:00
* Added indented output for the JSON generator (issue #11 ), see example bellow.
2014-09-01 21:14:09 +02:00
* Added `IndentedPrint` , a decorator for `Print` to allow indented output
Example:
JsonOject<2> json;
json["key"] = "value";
json.prettyPrintTo(Serial);
2014-08-04 14:59:09 +02:00
v3.2
----
* Fixed a bug when adding nested object in `JsonArray` (bug introduced in v3.1).
2014-08-03 13:18:59 +02:00
v3.1
----
2014-07-31 20:28:52 +02:00
2014-08-03 15:54:16 +02:00
* Calling `Generator::JsonObject::add()` twice with the same `key` now replaces the `value`
* Added `Generator::JsonObject::operator[]` , see bellow the new API
2014-09-09 21:32:27 +02:00
* Added `Generator::JsonObject::remove()` (issue #9 )
2014-07-31 20:28:52 +02:00
Old generator API:
JsonObject<3> root;
root.add("sensor", "gps");
root.add("time", 1351824120);
root.add("data", array);
New generator API:
JsonObject<3> root;
root["sensor"] = "gps";
root["time"] = 1351824120;
root["data"] = array;
2014-07-19 15:23:40 +02:00
v3.0
----
* New parser API, see bellow
* Renamed `JsonHashTable` into `JsonObject`
2014-09-09 21:32:27 +02:00
* Added iterators for `JsonArray` and `JsonObject` (issue #4 )
2014-07-19 15:23:40 +02:00
Old parser API:
JsonHashTable root = parser.parseHashTable(json);
char* sensor = root.getString("sensor");
long time = root.getLong("time");
double latitude = root.getArray("data").getDouble(0);
double longitude = root.getArray("data").getDouble(1);
New parser API:
JsonObject root = parser.parse(json);
char* sensor = root["sensor"];
long time = root["time"];
double latitude = root["data"][0];
double longitude = root["data"][1];
2014-07-15 20:04:21 +02:00
v2.1
----
2014-07-15 13:50:49 +02:00
* Fixed case `#include "jsmn.cpp"` which caused an error in Linux (issue #6 )
* Fixed a buffer overrun in JSON Parser (issue #5 )
2014-07-02 13:59:13 +02:00
v2.0
----
2014-07-15 13:50:49 +02:00
* Added JSON encoding (issue #2 )
2014-07-09 19:50:44 +02:00
* Renamed the library `ArduinoJsonParser` becomes `ArduinoJson`
2014-07-04 14:42:57 +02:00
**Breaking change** : you need to add the following line at the top of your program.
using namespace ArduinoJson::Parser;
2014-02-27 13:54:34 +01:00
2014-03-03 14:02:34 +01:00
v1.2
----
2014-07-15 13:50:49 +02:00
* Fixed error in JSON parser example (issue #1 )
2014-03-03 14:02:34 +01:00
2014-02-27 19:51:24 +01:00
v1.1
2014-02-27 13:54:34 +01:00
----
2014-03-03 14:02:34 +01:00
* Example: changed `char* json` into `char[] json` so that the bytes are not write protected
2014-02-27 13:54:34 +01:00
* Fixed parsing bug when the JSON contains multi-dimensional arrays
v1.0
----
2015-05-25 15:38:58 +02:00
Initial release