Commit Graph

66 Commits

Author SHA1 Message Date
3003756adb Reformat filters test file 2023-07-31 17:34:53 +02:00
218a12ca46 Call shrinkToFit() in deserializeJson() and deserializeMsgPack() 2023-07-31 17:34:17 +02:00
43eed00cd9 Add deserializeXxx(JsonVariant, ...) (resolves #1226) 2023-07-29 12:05:18 +02:00
8fb187baed Tests: gather deserializeJson() errors test cases 2023-07-29 06:33:45 +02:00
9122d87f12 Tests: remove duplicate test of incomplete input 2023-07-27 14:31:56 +02:00
9a11d98117 Tests: make allocator assertions more readable 2023-07-26 09:28:21 +02:00
30ec507989 Tests: use a consistent naming convention for allocators 2023-07-25 14:53:54 +02:00
00c9d8680a Remove memoryUsage() 2023-07-24 17:21:25 +02:00
1a14499612 Preallocate pool list 2023-07-21 17:57:13 +02:00
0f319e7ca4 Remove capacity from JsonDocument's constructor 2023-07-18 09:08:55 +02:00
42b2840009 Create more memory pools as needed (resolves #1074) 2023-07-18 09:08:55 +02:00
4871380060 Rename MemoryPool to ResourceManager 2023-06-18 10:14:39 +02:00
da45c4bc4f Fix memory leak in JsonDeserializer when object key is repeated 2023-05-25 09:21:54 +02:00
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
d8f3058efa Store the strings in the heap 2023-04-17 10:42:08 +02:00
e9850152a7 Tests: replace constants with sizeofString(n) 2023-04-07 14:50:54 +02:00
035c913c72 Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 2023-03-29 19:28:44 +02:00
3f43c2b816 Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE() 2023-03-29 19:18:06 +02:00
0328f66340 Fix compatibility with GCC 5.2 2023-03-28 17:24:45 +02:00
540901e219 Merge DynamicJsonDocument with JsonDocument 2023-03-20 14:49:51 +01:00
17a482a9b1 Remove StaticJsonDocument 2023-03-20 10:40:35 +01:00
daa87e12dc Update copyright notice 2023-02-16 11:45:01 +01:00
1b66a217bf Replace ARDUINOJSON_NAMESPACE with an inline namespace (#1820) 2023-02-14 10:04:48 +01:00
62dea9d364 Reformat CMake files 2023-02-10 17:02:51 +01:00
007b4f3362 Update Catch library to 2.13.10 (#1820) 2023-02-10 17:02:51 +01:00
3345255f16 Fix comma tests. 2023-01-13 08:21:54 +01:00
1d21027e2a Fix lax parsing of true, false, and null (fixes #1781) 2022-08-06 09:15:07 +02:00
421ecec0dd Tests: trim trailing white spaces 2022-02-25 10:28:42 +01:00
89ed54362b Fix -Wsign-conversion on GCC 8 (fixes #1715) 2022-02-25 10:28:42 +01:00
21b2c76524 Fix filter not working in zero-copy mode (fixes #1697) 2022-01-13 20:25:49 +01:00
af18994deb Update copyright notice 2022-01-01 10:01:05 +01:00
be70f6ddd7 Support NUL inside string values (issue #1646) 2021-12-07 16:08:44 +01:00
43b2e2e774 Append terminator in saveStringFromFreeZone() 2021-11-24 19:06:49 +01:00
5ed5f3687b Improve test coverage 2021-10-24 09:58:39 +02:00
943a902a0b Remove DeserializationError == bool and DeserializationError != bool 2021-10-24 09:58:39 +02:00
956e4a7cbb Fixed deserialization of \u0000 (issue #1646) 2021-08-31 14:23:58 +02:00
2c3ae1c181 Filter: exact match takes precedence over wildcard (fixes #1628) 2021-08-13 10:35:15 +02:00
14639f129e CMake: added empty line at end of each file 2021-06-26 11:29:15 +02:00
7be0c2c650 CMake: added labels to tests 2021-04-25 11:38:19 +02:00
d5d2209d09 Added "https://" prefix to all URLs so they are clickable in VS Code 2021-03-29 19:35:25 +02:00
e4ce75e20c Simplified JsonVariant::as<T>() to always return T 2021-03-08 19:33:52 +01:00
1038fc35df Removed DeserializationError::NotSupported 2021-02-18 19:41:15 +01:00
97b7161d78 Update copyright notice for 2021 2021-01-25 09:14:15 +01:00
712005219c Added filtering for MessagePack (closes #1298, closes #1394) 2020-10-13 09:40:39 +02:00
8385d5fa3a Added wildcard key (*) for filters (closes #1309) 2020-09-28 21:11:38 +02:00
c907ca6e5d Added DeserializationError::EmptyInput 2020-09-13 10:27:29 +02:00
35a39b8d8f Fixed deserializeJson() that stopped reading after {} (fixes #1335) 2020-08-04 09:52:42 +02:00
4df29fbac1 Fixed "linked" strings incorrectly marked as "owned" (fixes #1318) 2020-07-24 22:25:56 +02:00
764ff2cd53 Added string deduplication (closes #1303) 2020-07-21 20:15:31 +02:00
1600d39693 Refactored StringBuilder into StringStorage 2020-07-11 17:51:45 +02:00