458 Commits

Author SHA1 Message Date
Benoit Blanchon 7823e4a62b Update copyright year 2026-07-06 18:35:16 +02:00
Benoit Blanchon 5ccf645dc1 Fix buffer overrun in make_float()
Fixes #2220
2026-03-03 17:53:57 +01:00
Benoit Blanchon ab8c9be609 Fuzzing: tidy CMakeLists.txt 2026-03-03 17:53:57 +01:00
Benoit Blanchon a9bb1a1df5 Add a fuzzer for parseNumber()
See #2220
2026-03-03 17:53:08 +01:00
Benoit Blanchon 21144d5691 Don't rely on array size to get the length of string literals
See #2189
2025-10-24 16:18:41 +02:00
Benoit Blanchon b017dfb13a ResourceManager: move out-of-class definitions back in the class 2025-10-17 14:52:42 +02:00
Benoit Blanchon 01de2f3fbb Rename CollectionData.hpp to CollectionIterator.hpp
I also removed some of the unused include statements.
2025-10-17 14:32:36 +02:00
Benoit Blanchon b4024e7032 Move VariantImpl definition to VariantImpl.hpp 2025-10-03 14:35:17 +02:00
Benoit Blanchon 7dece839d6 Extract VariantImpl 2025-10-03 10:13:34 +02:00
Benoit Blanchon db2eec46c7 Add a pool dedicated to 8-byte values (double/int64_t/uint64_t)
This new pool replaced the "extension" slot where a secondary variant slot was used to store 8-byte values.
2025-08-30 09:55:32 +02:00
Benoit Blanchon dddc4912c4 Don't store string literals by pointer anymore
Fixes #2189
2025-08-28 10:04:11 +02:00
Benoit Blanchon f051f8328d Undef true and false macros
Replacing `true` with `1` changes `JsonString("ABC", true)` into `JsonString("ABC", 1)`, so all static strings had a length of 1.

This is a workaround for arduino/ArduinoCore-sam#50
Fixes #2181
2025-06-19 13:59:15 +02:00
Benoit Blanchon 411424b74e CI: upgrade clang-tidy 2025-05-20 20:55:01 +02:00
Benoit Blanchon deab127a2f Fix crash with tiny Flash strings (issue #2170) 2025-04-11 10:23:43 +02:00
Benoit Blanchon f0e84e4933 Fix support for const char[]
Fixes #2166
2025-04-09 08:55:09 +02:00
Benoit Blanchon 91397f9f06 Optimize storage of tiny strings (up to 3 characters) 2025-04-09 08:55:08 +02:00
Benoit Blanchon 05b68fc7cc Change StringBuilder::save() to take a VariantData* 2025-02-28 09:59:46 +01:00
Benoit Blanchon b06cee8f4d Remove the overload of setString() for StringNode 2025-02-28 09:23:56 +01:00
Benoit Blanchon 67dd3120e6 Fix conversion from static string to number 2025-02-27 11:01:51 +01:00
Benoit Blanchon 01e49b33b7 Update copyright year 2025-02-24 15:18:26 +01:00
Benoit Blanchon 254fa5712a Update the release scripts to include the breaking changes section 2024-12-29 16:38:41 +01:00
Benoit Blanchon e33e78d202 Rename undocumented JsonString::isLinked() to isStatic() 2024-11-26 14:32:50 +01:00
Benoit Blanchon ed5f890d28 Replace JsonString::Ownership with bool 2024-11-26 14:32:36 +01:00
Benoit Blanchon 8931651317 JsonString: change default ownership to Copied 2024-11-26 10:10:52 +01:00
Benoit Blanchon cf084ae6b4 JsonString: move adapter class in the same file 2024-11-25 12:25:59 +01:00
Benoit Blanchon f02fcc96a2 JsonArray: remove redundant tests 2024-11-25 12:25:59 +01:00
Benoit Blanchon 594dc707cb Change string copy policy: only string literal are stored by pointer 2024-11-25 12:25:59 +01:00
Benoit Blanchon 5f8e3c0f0f Polyfills: test remove_cv 2024-11-25 12:25:59 +01:00
Benoit Blanchon afc0a29c2c Polyfills: add decay 2024-11-25 12:25:59 +01:00
Benoit Blanchon 57a9c50b38 Make ElementProxy and MemberProxy non-copyable 2024-11-25 10:46:21 +01:00
Benoit Blanchon 5e7653b36a Store adapted string in MemberProxy 2024-11-17 15:46:46 +01:00
Benoit Blanchon 8110058729 Fix support for NUL characters in deserializeJson() 2024-11-17 15:40:21 +01:00
Benoit Blanchon 7946ebe1a3 Wandbox: compile with gcc-head 2024-11-15 09:13:00 +01:00
Benoit Blanchon e007d71b4f Fix operator[](variant) ignoring NUL characters 2024-11-14 14:56:47 +01:00
Benoit Blanchon 67a512a923 Clean up tests of adaptString() 2024-11-14 14:22:51 +01:00
Benoit Blanchon 31253dbe13 Add more tests with VLAs 2024-11-08 09:37:49 +01:00
Benoit Blanchon 1110d62128 Fix VLA support in JsonDocument::set() 2024-11-08 09:37:23 +01:00
Benoit Blanchon c6c0649d70 Replace typedef with using 2024-10-23 15:54:08 +02:00
Benoit Blanchon 61ec2c4f95 Reduce boilerplate for failing build tests 2024-10-23 15:47:59 +02:00
Benoit Blanchon 0dd6231b3f Forbid deserializeJson(JsonArray|JsonObject, ...)
Closes #2135
2024-10-23 15:41:34 +02:00
Benoit Blanchon 20219d74f0 Tests: don't link FailingBuilds with catch 2024-10-23 15:04:52 +02:00
Benoit Blanchon 48ee4a178b Use a const reference in is_convertible() 2024-09-21 09:22:12 +02:00
Benoit Blanchon f806a42cc2 Add support for escape sequence \'
Fixes #2124
2024-09-17 10:33:47 +02:00
Benoit Blanchon c1a507c158 Set ARDUINOJSON_POOL_CAPACITY from ARDUINOJSON_SLOT_ID_SIZE
This avoids the integer overflow when `ARDUINOJSON_SLOT_ID_SIZE=1` on 64-bit architectures.
2024-09-11 21:08:51 +02:00
Benoit Blanchon a1809d0f31 Replace sizeof(VariantData) with sizeof(SlotData) 2024-09-10 18:26:58 +02:00
Benoit Blanchon d92eee8736 Deprecate containsKey() in favor of doc["key"].is<T>()
See #2121
2024-09-06 17:32:09 +02:00
Benoit Blanchon 3b64197869 MsgPackDeserializer: check extension allocation result 2024-09-04 14:34:02 +02:00
Benoit Blanchon 1f7a3f3174 JsonDeserializer: use float when the value has few digits 2024-09-04 14:33:14 +02:00
Benoit Blanchon fd6314e132 Move some numbers tests to use_double_0.cpp 2024-09-04 14:29:19 +02:00
Benoit Blanchon e4e2557b76 Move test of decomposeFloat() 2024-09-03 13:27:39 +02:00