forked from bblanchon/ArduinoJson
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
4b00783345 | |||
371fa4667e | |||
7eec01cdd6 | |||
6c5fde2a55 | |||
433fb4b961 | |||
afbcc2106e | |||
7b1c012f80 | |||
ecbc8e85d4 | |||
4d00ed9efc | |||
cd5566cd40 | |||
52d8a65cbc |
@ -1,6 +1,15 @@
|
||||
ArduinoJson: change log
|
||||
=======================
|
||||
|
||||
v6.21.3 (2023-07-23)
|
||||
-------
|
||||
|
||||
* Fix compatibility with the Blynk libary (issue #1914)
|
||||
* Fix double lookup in `to<JsonVariant>()`
|
||||
* Fix double call to `size()` in `serializeMsgPack()`
|
||||
* Include `ARDUINOJSON_SLOT_OFFSET_SIZE` in the namespace name
|
||||
* Show a link to the documentation when user passes an unsupported input type
|
||||
|
||||
v6.21.2 (2023-04-12)
|
||||
-------
|
||||
|
||||
|
@ -10,7 +10,7 @@ if(ESP_PLATFORM)
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(ArduinoJson VERSION 6.21.2)
|
||||
project(ArduinoJson VERSION 6.21.3)
|
||||
|
||||
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
||||
include(CTest)
|
||||
|
@ -8,9 +8,9 @@
|
||||
[](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/6.x)
|
||||
[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
|
||||
[](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x)
|
||||
[](https://www.ardu-badge.com/ArduinoJson/6.21.2)
|
||||
[](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.21.2)
|
||||
[](https://components.espressif.com/components/bblanchon/arduinojson)
|
||||
[](https://www.ardu-badge.com/ArduinoJson/6.21.3)
|
||||
[](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.21.3)
|
||||
[](https://components.espressif.com/components/bblanchon/arduinojson)
|
||||
[](https://github.com/bblanchon/ArduinoJson/stargazers)
|
||||
[](https://github.com/sponsors/bblanchon)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
version: 6.21.2.{build}
|
||||
version: 6.21.3.{build}
|
||||
environment:
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||
|
@ -14,7 +14,7 @@ void setup() {
|
||||
while (!Serial) continue;
|
||||
|
||||
// The huge input: an extract from OpenWeatherMap response
|
||||
const __FlashStringHelper* input_json = F(
|
||||
auto input_json = F(
|
||||
"{\"cod\":\"200\",\"message\":0,\"list\":[{\"dt\":1581498000,\"main\":{"
|
||||
"\"temp\":3.23,\"feels_like\":-3.63,\"temp_min\":3.23,\"temp_max\":4.62,"
|
||||
"\"pressure\":1014,\"sea_level\":1014,\"grnd_level\":1010,\"humidity\":"
|
||||
|
@ -4,14 +4,14 @@ set -eu
|
||||
|
||||
VERSION="$1"
|
||||
CHANGELOG="$2"
|
||||
FRONTMATTER="$3"
|
||||
ARDUINOJSON_H="$3"
|
||||
|
||||
cat << END
|
||||
---
|
||||
branch: v6
|
||||
version: $VERSION
|
||||
date: '$(date +'%Y-%m-%d')'
|
||||
$(cat "$FRONTMATTER")
|
||||
$(extras/scripts/wandbox/publish.sh "$ARDUINOJSON_H")
|
||||
---
|
||||
|
||||
$(awk '/\* /{ FOUND=1; print; next } { if (FOUND) exit}' "$CHANGELOG")
|
||||
|
@ -46,6 +46,7 @@ update_version_in_source () {
|
||||
-e "s/ARDUINOJSON_VERSION_MAJOR .*$/ARDUINOJSON_VERSION_MAJOR $MAJOR/" \
|
||||
-e "s/ARDUINOJSON_VERSION_MINOR .*$/ARDUINOJSON_VERSION_MINOR $MINOR/" \
|
||||
-e "s/ARDUINOJSON_VERSION_REVISION .*$/ARDUINOJSON_VERSION_REVISION $REVISION/" \
|
||||
-e "s/ARDUINOJSON_VERSION_MACRO .*$/ARDUINOJSON_VERSION_MACRO V$MAJOR$MINOR$REVISION/" \
|
||||
src/ArduinoJson/version.hpp
|
||||
rm src/ArduinoJson/version.hpp*~
|
||||
}
|
||||
@ -72,7 +73,6 @@ push
|
||||
extras/scripts/build-arduino-package.sh . "../ArduinoJson-$TAG.zip"
|
||||
extras/scripts/build-single-header.sh "src/ArduinoJson.h" "../ArduinoJson-$TAG.h"
|
||||
extras/scripts/build-single-header.sh "src/ArduinoJson.hpp" "../ArduinoJson-$TAG.hpp"
|
||||
extras/scripts/wandbox/publish.sh "../ArduinoJson-$TAG.h" > "../ArduinoJson-$TAG-wandbox.txt" || echo "Wandbox failed!"
|
||||
extras/scripts/get-release-page.sh "$VERSION" "CHANGELOG.md" "../ArduinoJson-$TAG-wandbox.txt" > "../ArduinoJson-$TAG.md"
|
||||
extras/scripts/get-release-page.sh "$VERSION" "CHANGELOG.md" "../ArduinoJson-$TAG.h" > "../ArduinoJson-$TAG.md"
|
||||
|
||||
echo "You can now copy ../ArduinoJson-$TAG.md into arduinojson.org/collections/_versions/$VERSION.md"
|
||||
|
@ -14,8 +14,8 @@ compile() {
|
||||
{
|
||||
"code":$(read_string "$FILE_PATH"),
|
||||
"codes": [{"file":"ArduinoJson.h","code":$(read_string "$ARDUINOJSON_H")}],
|
||||
"options": "warning",
|
||||
"compiler": "gcc-4.9.4",
|
||||
"options": "warning,c++11",
|
||||
"compiler": "gcc-5.5.0",
|
||||
"save": true
|
||||
}
|
||||
END
|
||||
|
@ -152,3 +152,16 @@ TEST_CASE("ConverterNeedsWriteableRef") {
|
||||
CHECK(ConverterNeedsWriteableRef<JsonArray>::value == true);
|
||||
CHECK(ConverterNeedsWriteableRef<JsonArrayConst>::value == false);
|
||||
}
|
||||
|
||||
namespace ArduinoJson {
|
||||
void convertToJson(char c, JsonVariant var) {
|
||||
char buf[] = {c, 0};
|
||||
var.set(buf);
|
||||
}
|
||||
} // namespace ArduinoJson
|
||||
|
||||
TEST_CASE("Convert char to string") { // issue #1922
|
||||
StaticJsonDocument<64> doc;
|
||||
doc.set('a');
|
||||
REQUIRE(doc.as<std::string>() == "a");
|
||||
}
|
||||
|
@ -55,5 +55,8 @@
|
||||
// issue #1905
|
||||
#define _current
|
||||
|
||||
// issue #1914
|
||||
#define V6 6
|
||||
|
||||
// catch.hpp mutes several warnings, this file also allows to detect them
|
||||
#include "ArduinoJson.h"
|
||||
|
@ -1,4 +1,4 @@
|
||||
version: "6.21.2"
|
||||
version: "6.21.3"
|
||||
description: >-
|
||||
A simple and efficient JSON library for embedded C++.
|
||||
ArduinoJson supports ✔ serialization, ✔ deserialization, ✔ MessagePack, ✔ fixed allocation, ✔ zero-copy, ✔ streams, ✔ filtering, and more.
|
||||
|
@ -7,7 +7,7 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/bblanchon/ArduinoJson.git"
|
||||
},
|
||||
"version": "6.21.2",
|
||||
"version": "6.21.3",
|
||||
"authors": {
|
||||
"name": "Benoit Blanchon",
|
||||
"url": "https://blog.benoitblanchon.fr"
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=ArduinoJson
|
||||
version=6.21.2
|
||||
version=6.21.3
|
||||
author=Benoit Blanchon <blog.benoitblanchon.fr>
|
||||
maintainer=Benoit Blanchon <blog.benoitblanchon.fr>
|
||||
sentence=A simple and efficient JSON library for embedded C++.
|
||||
|
@ -18,7 +18,9 @@ struct Reader {
|
||||
Reader(TSource& source) : source_(&source) {}
|
||||
|
||||
int read() {
|
||||
return source_->read(); // Error here? You passed an unsupported input type
|
||||
// clang-format off
|
||||
return source_->read(); // Error here? See https://arduinojson.org/v6/invalid-input/
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
size_t readBytes(char* buffer, size_t length) {
|
||||
|
@ -47,7 +47,7 @@ class MsgPackSerializer : public Visitor<size_t> {
|
||||
size_t visitArray(const CollectionData& array) {
|
||||
size_t n = array.size();
|
||||
if (n < 0x10) {
|
||||
writeByte(uint8_t(0x90 + array.size()));
|
||||
writeByte(uint8_t(0x90 + n));
|
||||
} else if (n < 0x10000) {
|
||||
writeByte(0xDC);
|
||||
writeInteger(uint16_t(n));
|
||||
|
@ -11,16 +11,15 @@
|
||||
#ifndef ARDUINOJSON_VERSION_NAMESPACE
|
||||
|
||||
# define ARDUINOJSON_VERSION_NAMESPACE \
|
||||
ARDUINOJSON_CONCAT3( \
|
||||
ARDUINOJSON_CONCAT4(V, ARDUINOJSON_VERSION_MAJOR, \
|
||||
ARDUINOJSON_VERSION_MINOR, \
|
||||
ARDUINOJSON_VERSION_REVISION), \
|
||||
ARDUINOJSON_CONCAT4( \
|
||||
ARDUINOJSON_VERSION_MACRO, \
|
||||
ARDUINOJSON_BIN2ALPHA( \
|
||||
ARDUINOJSON_ENABLE_PROGMEM, ARDUINOJSON_USE_LONG_LONG, \
|
||||
ARDUINOJSON_USE_DOUBLE, ARDUINOJSON_ENABLE_STRING_DEDUPLICATION), \
|
||||
ARDUINOJSON_BIN2ALPHA( \
|
||||
ARDUINOJSON_ENABLE_NAN, ARDUINOJSON_ENABLE_INFINITY, \
|
||||
ARDUINOJSON_ENABLE_COMMENTS, ARDUINOJSON_DECODE_UNICODE))
|
||||
ARDUINOJSON_ENABLE_COMMENTS, ARDUINOJSON_DECODE_UNICODE), \
|
||||
ARDUINOJSON_SLOT_OFFSET_SIZE)
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -6,8 +6,6 @@
|
||||
|
||||
#define ARDUINOJSON_CONCAT_(A, B) A##B
|
||||
#define ARDUINOJSON_CONCAT2(A, B) ARDUINOJSON_CONCAT_(A, B)
|
||||
#define ARDUINOJSON_CONCAT3(A, B, C) \
|
||||
ARDUINOJSON_CONCAT2(ARDUINOJSON_CONCAT2(A, B), C)
|
||||
#define ARDUINOJSON_CONCAT4(A, B, C, D) \
|
||||
ARDUINOJSON_CONCAT2(ARDUINOJSON_CONCAT2(A, B), ARDUINOJSON_CONCAT2(C, D))
|
||||
|
||||
@ -17,7 +15,7 @@
|
||||
#define ARDUINOJSON_BIN2ALPHA_0011() D
|
||||
#define ARDUINOJSON_BIN2ALPHA_0100() E
|
||||
#define ARDUINOJSON_BIN2ALPHA_0101() F
|
||||
#define ARDUINOJSON_BIN2ALPHA_0110() F
|
||||
#define ARDUINOJSON_BIN2ALPHA_0110() G
|
||||
#define ARDUINOJSON_BIN2ALPHA_0111() H
|
||||
#define ARDUINOJSON_BIN2ALPHA_1000() I
|
||||
#define ARDUINOJSON_BIN2ALPHA_1001() J
|
||||
|
@ -138,8 +138,9 @@ template <typename TDerived>
|
||||
template <typename T>
|
||||
typename enable_if<is_same<T, JsonVariant>::value, JsonVariant>::type
|
||||
VariantRefBase<TDerived>::to() const {
|
||||
variantSetNull(getOrCreateData());
|
||||
return *this;
|
||||
auto data = getOrCreateData();
|
||||
variantSetNull(data);
|
||||
return JsonVariant(getPool(), data);
|
||||
}
|
||||
|
||||
template <typename TDerived>
|
||||
|
@ -4,7 +4,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ARDUINOJSON_VERSION "6.21.2"
|
||||
#define ARDUINOJSON_VERSION "6.21.3"
|
||||
#define ARDUINOJSON_VERSION_MAJOR 6
|
||||
#define ARDUINOJSON_VERSION_MINOR 21
|
||||
#define ARDUINOJSON_VERSION_REVISION 2
|
||||
#define ARDUINOJSON_VERSION_REVISION 3
|
||||
#define ARDUINOJSON_VERSION_MACRO V6213
|
||||
|
Reference in New Issue
Block a user