Commit Graph

72 Commits

Author SHA1 Message Date
Benoit Blanchon
09c89dcacf Store object members with two slots: one for the key and one for the value 2024-08-24 10:45:51 +02:00
Benoit Blanchon
45611924f3 Tests: add user-defined literal ""_s for std::string 2024-06-07 09:35:45 +02:00
Benoit Blanchon
0e8a236583 Update copyright year 2024-01-03 08:47:06 +01:00
Benoit Blanchon
6fe4b9c01d Detect string length overflows 2023-10-09 14:15:55 +02:00
Benoit Blanchon
38941d5807 Tests: use sections for filters tests 2023-08-01 19:14:11 +02:00
Benoit Blanchon
57454cf97b Don't call shrinkToFit() for deserializeXxx(JsonVariant) 2023-08-01 18:48:10 +02:00
Benoit Blanchon
3003756adb Reformat filters test file 2023-07-31 17:34:53 +02:00
Benoit Blanchon
218a12ca46 Call shrinkToFit() in deserializeJson() and deserializeMsgPack() 2023-07-31 17:34:17 +02:00
Benoit Blanchon
43eed00cd9 Add deserializeXxx(JsonVariant, ...) (resolves #1226) 2023-07-29 12:05:18 +02:00
Benoit Blanchon
8fb187baed Tests: gather deserializeJson() errors test cases 2023-07-29 06:33:45 +02:00
Benoit Blanchon
9122d87f12 Tests: remove duplicate test of incomplete input 2023-07-27 14:31:56 +02:00
Benoit Blanchon
9a11d98117 Tests: make allocator assertions more readable 2023-07-26 09:28:21 +02:00
Benoit Blanchon
30ec507989 Tests: use a consistent naming convention for allocators 2023-07-25 14:53:54 +02:00
Benoit Blanchon
00c9d8680a Remove memoryUsage() 2023-07-24 17:21:25 +02:00
Benoit Blanchon
1a14499612 Preallocate pool list 2023-07-21 17:57:13 +02:00
Benoit Blanchon
0f319e7ca4 Remove capacity from JsonDocument's constructor 2023-07-18 09:08:55 +02:00
Benoit Blanchon
42b2840009 Create more memory pools as needed (resolves #1074) 2023-07-18 09:08:55 +02:00
Benoit Blanchon
4871380060 Rename MemoryPool to ResourceManager 2023-06-18 10:14:39 +02:00
Benoit Blanchon
da45c4bc4f Fix memory leak in JsonDeserializer when object key is repeated 2023-05-25 09:21:54 +02:00
Benoit Blanchon
37357086e2 Remove the zero-copy mode
After removing the string size from `VariantContent`, `deserializeJson()` and `deserializeMsgPack()` could not support NUL in strings in the zero-copy mode anymore.
Instead of adding a complicated warning in the documentation, I thought it was better to remove the zero-copy mode entirely.
The zero-copy mode has always been a source of bugs because many users used it without realizing it.
Also, the memory savings are smaller now that we deduplicate strings, so this feature should not be missed much.
2023-05-10 09:55:21 +02:00
Benoit Blanchon
d8f3058efa Store the strings in the heap 2023-04-17 10:42:08 +02:00
Benoit Blanchon
e9850152a7 Tests: replace constants with sizeofString(n) 2023-04-07 14:50:54 +02:00
Benoit Blanchon
035c913c72 Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 2023-03-29 19:28:44 +02:00
Benoit Blanchon
3f43c2b816 Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE() 2023-03-29 19:18:06 +02:00
Benoit Blanchon
0328f66340 Fix compatibility with GCC 5.2 2023-03-28 17:24:45 +02:00
Benoit Blanchon
540901e219 Merge DynamicJsonDocument with JsonDocument 2023-03-20 14:49:51 +01:00
Benoit Blanchon
17a482a9b1 Remove StaticJsonDocument 2023-03-20 10:40:35 +01:00
Benoit Blanchon
daa87e12dc Update copyright notice 2023-02-16 11:45:01 +01:00
Benoit Blanchon
1b66a217bf Replace ARDUINOJSON_NAMESPACE with an inline namespace (#1820) 2023-02-14 10:04:48 +01:00
Benoit Blanchon
62dea9d364 Reformat CMake files 2023-02-10 17:02:51 +01:00
Benoit Blanchon
007b4f3362 Update Catch library to 2.13.10 (#1820) 2023-02-10 17:02:51 +01:00
Johan Vromans
3345255f16 Fix comma tests. 2023-01-13 08:21:54 +01:00
Benoit Blanchon
1d21027e2a Fix lax parsing of true, false, and null (fixes #1781) 2022-08-06 09:15:07 +02:00
Benoit Blanchon
421ecec0dd Tests: trim trailing white spaces 2022-02-25 10:28:42 +01:00
Benoit Blanchon
89ed54362b Fix -Wsign-conversion on GCC 8 (fixes #1715) 2022-02-25 10:28:42 +01:00
Benoit Blanchon
21b2c76524 Fix filter not working in zero-copy mode (fixes #1697) 2022-01-13 20:25:49 +01:00
Benoit Blanchon
af18994deb Update copyright notice 2022-01-01 10:01:05 +01:00
Benoit Blanchon
be70f6ddd7 Support NUL inside string values (issue #1646) 2021-12-07 16:08:44 +01:00
Benoit Blanchon
43b2e2e774 Append terminator in saveStringFromFreeZone() 2021-11-24 19:06:49 +01:00
Benoit Blanchon
5ed5f3687b Improve test coverage 2021-10-24 09:58:39 +02:00
Benoit Blanchon
943a902a0b Remove DeserializationError == bool and DeserializationError != bool 2021-10-24 09:58:39 +02:00
Benoit Blanchon
956e4a7cbb Fixed deserialization of \u0000 (issue #1646) 2021-08-31 14:23:58 +02:00
Benoit Blanchon
2c3ae1c181 Filter: exact match takes precedence over wildcard (fixes #1628) 2021-08-13 10:35:15 +02:00
Benoit Blanchon
14639f129e CMake: added empty line at end of each file 2021-06-26 11:29:15 +02:00
Benoit Blanchon
7be0c2c650 CMake: added labels to tests 2021-04-25 11:38:19 +02:00
Benoit Blanchon
d5d2209d09 Added "https://" prefix to all URLs so they are clickable in VS Code 2021-03-29 19:35:25 +02:00
Benoit Blanchon
e4ce75e20c Simplified JsonVariant::as<T>() to always return T 2021-03-08 19:33:52 +01:00
Benoit Blanchon
1038fc35df Removed DeserializationError::NotSupported 2021-02-18 19:41:15 +01:00
Benoit Blanchon
97b7161d78 Update copyright notice for 2021 2021-01-25 09:14:15 +01:00
Benoit Blanchon
712005219c Added filtering for MessagePack (closes #1298, closes #1394) 2020-10-13 09:40:39 +02:00