diff --git a/libraries/ArduinoJson/CHANGELOG.md b/libraries/ArduinoJson/CHANGELOG.md index a0a7a6f..10e4629 100644 --- a/libraries/ArduinoJson/CHANGELOG.md +++ b/libraries/ArduinoJson/CHANGELOG.md @@ -1,11 +1,6 @@ ArduinoJson: change log ======================= -v7.4.2 (2025-06-20) ------- - -* Fix truncated strings on Arduino Due (issue #2181) - v7.4.1 (2025-04-11) ------ diff --git a/libraries/ArduinoJson/CMakeLists.txt b/libraries/ArduinoJson/CMakeLists.txt index cc96a4d..bdeb803 100644 --- a/libraries/ArduinoJson/CMakeLists.txt +++ b/libraries/ArduinoJson/CMakeLists.txt @@ -10,7 +10,7 @@ if(ESP_PLATFORM) return() endif() -project(ArduinoJson VERSION 7.4.2) +project(ArduinoJson VERSION 7.4.1) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) include(CTest) diff --git a/libraries/ArduinoJson/README.md b/libraries/ArduinoJson/README.md index 7c55171..4632534 100644 --- a/libraries/ArduinoJson/README.md +++ b/libraries/ArduinoJson/README.md @@ -80,7 +80,7 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). * Continuously tested on * [Visual Studio 2017, 2019, 2022](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/7.x) * [GCC 4.8, 5, 6, 7, 8, 9, 10, 11, 12](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) - * [Clang 7 to 19](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) + * [Clang 3.9, 4.0, 5.0, 6.0, 7, 8, 9, 10, 11, 12, 13, 14, 15](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) * [Continuously fuzzed with Google OSS Fuzz](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson) * Passes all default checks of [clang-tidy](https://releases.llvm.org/10.0.0/tools/clang/tools/extra/docs/clang-tidy/) * Well documented @@ -139,6 +139,11 @@ See the [tutorial on arduinojson.org](https://arduinojson.org/v7/doc/serializati ArduinoJson is thankful to its sponsors. Please give them a visit; they deserve it! +

+ + Programming Electronics Academy + +

1technophile diff --git a/libraries/ArduinoJson/appveyor.yml b/libraries/ArduinoJson/appveyor.yml index 8709b12..6802e15 100644 --- a/libraries/ArduinoJson/appveyor.yml +++ b/libraries/ArduinoJson/appveyor.yml @@ -1,4 +1,4 @@ -version: 7.4.2.{build} +version: 7.4.1.{build} environment: matrix: - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 diff --git a/libraries/ArduinoJson/extras/tests/JsonDocument/assignment.cpp b/libraries/ArduinoJson/extras/tests/JsonDocument/assignment.cpp index 64d7dd0..4e59584 100644 --- a/libraries/ArduinoJson/extras/tests/JsonDocument/assignment.cpp +++ b/libraries/ArduinoJson/extras/tests/JsonDocument/assignment.cpp @@ -69,8 +69,6 @@ TEST_CASE("JsonDocument assignment") { doc2 = std::move(doc1); REQUIRE(doc2.as() == "{\"hello\":\"world\"}"); - - // NOLINTNEXTLINE(clang-analyzer-cplusplus.Move) REQUIRE(doc1.as() == "null"); } REQUIRE(spyingAllocator.log() == AllocatorLog{ diff --git a/libraries/ArduinoJson/extras/tests/JsonDocument/constructor.cpp b/libraries/ArduinoJson/extras/tests/JsonDocument/constructor.cpp index 371a256..1eaec20 100644 --- a/libraries/ArduinoJson/extras/tests/JsonDocument/constructor.cpp +++ b/libraries/ArduinoJson/extras/tests/JsonDocument/constructor.cpp @@ -44,8 +44,6 @@ TEST_CASE("JsonDocument constructor") { JsonDocument doc2(std::move(doc1)); REQUIRE(doc2.as() == "The size of this string is 32!!"); - - // NOLINTNEXTLINE(clang-analyzer-cplusplus.Move) REQUIRE(doc1.as() == "null"); } REQUIRE(spyingAllocator.log() == AllocatorLog{ diff --git a/libraries/ArduinoJson/extras/tests/Misc/CMakeLists.txt b/libraries/ArduinoJson/extras/tests/Misc/CMakeLists.txt index 66afc4f..05be1ca 100644 --- a/libraries/ArduinoJson/extras/tests/Misc/CMakeLists.txt +++ b/libraries/ArduinoJson/extras/tests/Misc/CMakeLists.txt @@ -29,23 +29,3 @@ set_tests_properties(Misc PROPERTIES LABELS "Catch" ) - -add_executable(Issue2181 - issue2181.cpp # Cannot be linked with other tests -) - -set_target_properties(Issue2181 PROPERTIES UNITY_BUILD OFF) - -add_test(Issue2181 Issue2181) - -set_tests_properties(Issue2181 - PROPERTIES - LABELS "Catch" -) - -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(Issue2181 - PRIVATE - -Wno-keyword-macro # keyword is hidden by macro definition - ) -endif() diff --git a/libraries/ArduinoJson/extras/tests/Misc/issue2181.cpp b/libraries/ArduinoJson/extras/tests/Misc/issue2181.cpp deleted file mode 100644 index 7392913..0000000 --- a/libraries/ArduinoJson/extras/tests/Misc/issue2181.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// ArduinoJson - https://arduinojson.org -// Copyright © 2014-2025, Benoit BLANCHON -// MIT License - -#define true 0x1 -#define false 0x0 - -#include -#include - -TEST_CASE("Issue #2181") { - JsonDocument doc; - doc["hello"] = "world"; - REQUIRE(doc.as() == "{\"hello\":\"world\"}"); -} diff --git a/libraries/ArduinoJson/extras/tests/ResourceManager/StringBuilder.cpp b/libraries/ArduinoJson/extras/tests/ResourceManager/StringBuilder.cpp index 5c6dd22..a63661b 100644 --- a/libraries/ArduinoJson/extras/tests/ResourceManager/StringBuilder.cpp +++ b/libraries/ArduinoJson/extras/tests/ResourceManager/StringBuilder.cpp @@ -116,12 +116,12 @@ TEST_CASE("StringBuilder") { } } -static VariantData saveString(StringBuilder& builder, const char* s) { +static JsonString saveString(StringBuilder& builder, const char* s) { VariantData data; builder.startString(); builder.append(s); builder.save(&data); - return data; + return data.asString(); } TEST_CASE("StringBuilder::save() deduplicates strings") { @@ -134,9 +134,9 @@ TEST_CASE("StringBuilder::save() deduplicates strings") { auto s2 = saveString(builder, "world"); auto s3 = saveString(builder, "hello"); - REQUIRE(s1.asString() == "hello"); - REQUIRE(s2.asString() == "world"); - REQUIRE(+s1.asString().c_str() == +s3.asString().c_str()); // same address + REQUIRE(s1 == "hello"); + REQUIRE(s2 == "world"); + REQUIRE(+s1.c_str() == +s3.c_str()); // same address REQUIRE(spy.log() == AllocatorLog{ @@ -152,10 +152,9 @@ TEST_CASE("StringBuilder::save() deduplicates strings") { auto s1 = saveString(builder, "hello world"); auto s2 = saveString(builder, "hello"); - REQUIRE(s1.asString() == "hello world"); - REQUIRE(s2.asString() == "hello"); - REQUIRE(+s2.asString().c_str() != - +s1.asString().c_str()); // different address + REQUIRE(s1 == "hello world"); + REQUIRE(s2 == "hello"); + REQUIRE(+s2.c_str() != +s1.c_str()); // different address REQUIRE(spy.log() == AllocatorLog{ @@ -170,10 +169,9 @@ TEST_CASE("StringBuilder::save() deduplicates strings") { auto s1 = saveString(builder, "hello world"); auto s2 = saveString(builder, "worl"); - REQUIRE(s1.asString() == "hello world"); - REQUIRE(s2.asString() == "worl"); - REQUIRE(s2.asString().c_str() != - s1.asString().c_str()); // different address + REQUIRE(s1 == "hello world"); + REQUIRE(s2 == "worl"); + REQUIRE(s2.c_str() != s1.c_str()); // different address REQUIRE(spy.log() == AllocatorLog{ diff --git a/libraries/ArduinoJson/idf_component.yml b/libraries/ArduinoJson/idf_component.yml index 0deb70d..843f9f4 100644 --- a/libraries/ArduinoJson/idf_component.yml +++ b/libraries/ArduinoJson/idf_component.yml @@ -1,7 +1,7 @@ -version: "7.4.2" +version: "7.4.1" description: >- A simple and efficient JSON library for embedded C++. - ★ 6953 stars on GitHub! + ★ 6898 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented. url: https://arduinojson.org/ diff --git a/libraries/ArduinoJson/library.json b/libraries/ArduinoJson/library.json index 942a7a7..369a552 100644 --- a/libraries/ArduinoJson/library.json +++ b/libraries/ArduinoJson/library.json @@ -1,13 +1,13 @@ { "name": "ArduinoJson", "keywords": "json, rest, http, web", - "description": "A simple and efficient JSON library for embedded C++. ⭐ 6953 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented.", + "description": "A simple and efficient JSON library for embedded C++. ⭐ 6898 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented.", "homepage": "https://arduinojson.org/?utm_source=meta&utm_medium=library.json", "repository": { "type": "git", "url": "https://github.com/bblanchon/ArduinoJson.git" }, - "version": "7.4.2", + "version": "7.4.1", "authors": { "name": "Benoit Blanchon", "url": "https://blog.benoitblanchon.fr" diff --git a/libraries/ArduinoJson/library.properties b/libraries/ArduinoJson/library.properties index 9e9e3be..c4f7784 100644 --- a/libraries/ArduinoJson/library.properties +++ b/libraries/ArduinoJson/library.properties @@ -1,9 +1,9 @@ name=ArduinoJson -version=7.4.2 +version=7.4.1 author=Benoit Blanchon maintainer=Benoit Blanchon sentence=A simple and efficient JSON library for embedded C++. -paragraph=⭐ 6953 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented. +paragraph=⭐ 6898 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented. category=Data Processing url=https://arduinojson.org/?utm_source=meta&utm_medium=library.properties architectures=* diff --git a/libraries/ArduinoJson/src/ArduinoJson.hpp b/libraries/ArduinoJson/src/ArduinoJson.hpp index b3e71d3..5818de3 100644 --- a/libraries/ArduinoJson/src/ArduinoJson.hpp +++ b/libraries/ArduinoJson/src/ArduinoJson.hpp @@ -26,15 +26,6 @@ # endif #endif -// Remove true and false macros defined by some cores, such as Arduino Due's -// See issues #2181 and arduino/ArduinoCore-sam#50 -#ifdef true -# undef true -#endif -#ifdef false -# undef false -#endif - #include "ArduinoJson/Array/JsonArray.hpp" #include "ArduinoJson/Object/JsonObject.hpp" #include "ArduinoJson/Variant/JsonVariantConst.hpp" diff --git a/libraries/ArduinoJson/src/ArduinoJson/version.hpp b/libraries/ArduinoJson/src/ArduinoJson/version.hpp index c4ab196..13c9296 100644 --- a/libraries/ArduinoJson/src/ArduinoJson/version.hpp +++ b/libraries/ArduinoJson/src/ArduinoJson/version.hpp @@ -4,8 +4,8 @@ #pragma once -#define ARDUINOJSON_VERSION "7.4.2" +#define ARDUINOJSON_VERSION "7.4.1" #define ARDUINOJSON_VERSION_MAJOR 7 #define ARDUINOJSON_VERSION_MINOR 4 -#define ARDUINOJSON_VERSION_REVISION 2 -#define ARDUINOJSON_VERSION_MACRO V742 +#define ARDUINOJSON_VERSION_REVISION 1 +#define ARDUINOJSON_VERSION_MACRO V741 diff --git a/sketches/doorbell-touch-esp32-32e/mise.toml b/sketches/doorbell-touch-esp32-32e/mise.toml index 5977996..6d1254e 100644 --- a/sketches/doorbell-touch-esp32-32e/mise.toml +++ b/sketches/doorbell-touch-esp32-32e/mise.toml @@ -17,7 +17,7 @@ run = """ set -euo pipefail if [ ! -d "vendor/esp32-32e/TFT_eSPI" ]; then echo "Cloning TFT_eSPI..." - git clone --depth 1 --branch 2.5.43 \ + git clone --depth 1 --branch V2.5.43 \ https://github.com/Bodmer/TFT_eSPI.git \ vendor/esp32-32e/TFT_eSPI fi @@ -81,7 +81,7 @@ description = "Compile ESP32-S3-LCD-4.3 sketch" depends = ["install-libs"] run = """ arduino-cli compile \ - --fqbn "esp32:esp32:waveshare_esp32_s3_touch_lcd_43:PSRAM=opi,FlashSize=16M,USBMode=hwcdc,PartitionScheme=app3M_fat9M_16MB" \ + --fqbn "esp32:esp32:waveshare_esp32_s3_touch_lcd_43:PSRAM=enabled,FlashSize=16M,USBMode=hwcdc,PartitionScheme=app3M_fat9M_16MB" \ --libraries ./libraries \ --libraries ./vendor/esp32-s3-lcd-43 \ --build-property "compiler.cpp.extra_flags=-DDEBUG_MODE -DBOARD_HAS_PSRAM" \