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!
+
+
+
+
+
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" \