Benoit Blanchon
9bfa11387d
Rewrite the float-to-string conversion
...
Instead of committing to a number of decimal places, the new algorithm targets a certain number of significant digits.
Since the mantissa has to fit in a 32-bit integer, the number of significant digits is limited to 9.
2025-11-07 10:36:11 +01:00
Benoit Blanchon
6cc8b313ed
Convert decomposeFloat() tests to higher-level tests
2025-11-07 09:26:52 +01:00
Benoit Blanchon
ab63400930
TextFormatter: simplify tests of writeFloat()
2025-11-07 09:26:50 +01:00
Benoit Blanchon
183c723443
JsonSerializer: refactor tests for simple values
2025-11-07 09:25:00 +01:00
Benoit Blanchon
1ccb7ab451
Numbers: inline normalize()
2025-10-27 17:28:42 +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
5f96515360
Particle: update installation method
2025-10-23 14:00:47 +02:00
Benoit Blanchon
bec657eda7
Return bool from all built-in toJson converters
2025-10-20 14:56:05 +02:00
Benoit Blanchon
1232f61e55
VariantImpl: change setRawString() to return bool
2025-10-20 14:25:03 +02:00
Benoit Blanchon
65518a8b00
VariantImpl: change setRawString() to take an adapted string
2025-10-20 14:21:01 +02:00
Benoit Blanchon
a51865ca42
CollectionIterator: rename next() to move()
2025-10-20 12:08:06 +02:00
Benoit Blanchon
af36add5d8
VariantImpl: rename getResourceManager() to resources()
2025-10-20 11:56:12 +02:00
Benoit Blanchon
3eced7d7ec
VariantImpl: rename getData() to data()
2025-10-20 11:52:28 +02:00
Benoit Blanchon
c4c5c69baf
VariantImpl: move addValue() to JsonArray
...
This way VariantImpl doesn't need to support generic types, which removes the dependency from `VariantImpl` to `JsonVariant`.
2025-10-20 11:45:35 +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
88769c44b4
ResourceManager: decouple from VariantImpl
2025-10-17 14:47:40 +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
4a2568e3c8
Merge CollectionImpl into VariantImpl
2025-10-16 10:20:48 +02:00
Benoit Blanchon
f124af3909
Merge ObjectImpl into VariantImpl
2025-10-15 17:52:35 +02:00
Benoit Blanchon
76eec98efd
Merge ArrayImpl into VariantImpl
2025-10-14 09:54:24 +02:00
Benoit Blanchon
04823fd304
JsonDocument: fix double clear in to<T>()
2025-10-14 09:54:24 +02:00
Benoit Blanchon
3f62a2ca96
VariantImpl: change the visitor interface for arrays and objects
2025-10-14 09:54:24 +02:00
Benoit Blanchon
6dbdeca58a
VariantImpl: extract static size()
2025-10-13 15:18:19 +02:00
Benoit Blanchon
a159820ade
CollectionImpl: attach to VariantData* instead of CollectionData*
2025-10-08 15:55:30 +02:00
Benoit Blanchon
c222fc2f0a
Move CollectionData definition
2025-10-06 15:50:20 +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
ed6b470896
Replace VariantData& with VariantData* in deserializers
2025-09-17 21:18:28 +02:00
Benoit Blanchon
539b66fc7a
Extract ArrayImpl, CollectionImpl, and ObjectImpl
2025-08-30 09:55:33 +02:00
Benoit Blanchon
6e7eddb959
JsonObject: replace ObjectData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
3a49896200
JsonArray: replace ArrayData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
c743c1e327
JsonObjectConst: replace ObjectData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
c541c57900
JsonArrayConst: replace ArrayData* member with VariantData*
2025-08-30 09:55:33 +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
509807d3c2
Remove CollectionIterator::nextId_
2025-07-10 19:16:47 +02:00
Benoit Blanchon
c07744dc0d
CI: upgrade Windows runner
2025-06-26 20:47:57 +02:00
Benoit Blanchon
733bc4ee82
Set version to 7.4.2
2025-06-20 09:37:14 +02:00
Benoit Blanchon
9aa77994b4
Remove sponsor Programming Electronics Academy
2025-06-20 08:43:48 +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
5e5c287978
CI: upgrade Clang versions
2025-05-20 18:24:46 +02:00
Benoit Blanchon
377cf63075
CI: upgrade runner to ubuntu-22.04
2025-05-20 14:48:42 +02:00
Benoit Blanchon
3252013509
Set version to 7.4.1
2025-04-11 15:43:42 +02:00
Benoit Blanchon
deab127a2f
Fix crash with tiny Flash strings (issue #2170 )
2025-04-11 10:23:43 +02:00
Benoit Blanchon
96281de682
Set version to 7.4.0
2025-04-09 14:49:13 +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
7f75985e47
Change StringBuffer::save() to take a VariantData*
2025-02-28 10:05:50 +01: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
e03d8ae885
Set version to 7.3.1
2025-02-27 19:35:14 +01:00
Benoit Blanchon
cb1dcfa5e4
Reduce code size
2025-02-27 11:13:50 +01:00
Benoit Blanchon
67dd3120e6
Fix conversion from static string to number
2025-02-27 11:01:51 +01:00
Benoit Blanchon
9f3cf04415
Remove useless null check
2025-02-24 16:40:42 +01:00
Benoit Blanchon
01e49b33b7
Update copyright year
2025-02-24 15:18:26 +01:00
Benoit Blanchon
8f7e793f37
Set version to 7.3.0
2024-12-29 17:15:57 +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
de05814294
Move public facing SFINAEs to template declarations
2024-12-23 17:44:52 +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
c078957282
Remove unnecessary universal references
2024-11-25 12:25:59 +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
a256ec7fff
RamString: use a bitfield to reduce size
2024-11-25 12:25:59 +01:00
Benoit Blanchon
019e8326b7
Implement JsonString from RamString
2024-11-25 11:13:39 +01:00
Benoit Blanchon
bee1095042
Merge all RAM string adapters
2024-11-25 10:46:35 +01:00
Benoit Blanchon
de59dce527
Fix typo in comments
2024-11-25 10:46:34 +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
f9fe8557f1
Set version to 7.2.1
2024-11-15 09:05:29 +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
9cf4f3871d
Remove unused overload of stringCompare() and stringEquals()
2024-11-14 14:17:13 +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
64cbaa6ff7
Remove the workaround for particle-iot/particle-cli#716
...
This reverts commit 1404b1ef70 .
2024-09-28 09:58:48 +02:00
Benoit Blanchon
2512993617
Replace problematic symbol in idf_component.yml
...
Fixes #2131
2024-09-26 09:18:23 +02:00
Benoit Blanchon
48ee4a178b
Use a const reference in is_convertible()
2024-09-21 09:22:12 +02:00
Benoit Blanchon
cd4b2b2463
Set version to 7.2.0
2024-09-18 10:48:50 +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
dd1d96e28f
Group calls to getExtension()
...
This slightly reduces the code size.
2024-09-05 12:15:10 +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
Benoit Blanchon
3b6bf45b8a
Serialize float with less decimal places than double
2024-09-03 11:44:35 +02:00
Benoit Blanchon
65ba36622c
Add VariantType
2024-09-02 17:56:19 +02:00
Benoit Blanchon
33452c1f37
Test JsonVariant::as<T>() with extension slots
2024-08-27 16:08:47 +02:00
Benoit Blanchon
ee02c0d573
Test extension slot allocation failure
2024-08-27 16:08:47 +02:00
Benoit Blanchon
0278e94fce
Set ARDUINOJSON_USE_DOUBLE to 0 by default on 8-bit architectures
2024-08-27 15:46:12 +02:00
Benoit Blanchon
7643dadaec
WIP
2024-08-27 14:40:24 +02:00
Benoit Blanchon
c0bebe35f1
Improve message when user forgets third arg of serializeJson() et al.
...
See #1449 , #1491 , #1543 , #1665 , and #2122
2024-08-27 12:22:53 +02:00
Benoit Blanchon
b5bcb37657
Use enable_if_t instead of enable_if
2024-08-27 10:00:09 +02:00
Benoit Blanchon
b4a5b053ca
Merge conf_test for linux and windows
...
This reverts commit 83516e1740 .
2024-08-27 08:03:55 +02:00
Benoit Blanchon
e297932a98
Store 64-bit numbers (double and long long) in an additional slot
...
This change allows slots to be twices maller on 32-bit architectures.
See #1650 and #2103
2024-08-27 08:02:09 +02:00
Benoit Blanchon
e682337655
Release VariantData resources explicitly before setting value
2024-08-26 15:09:56 +02:00
Benoit Blanchon
4ada3f849c
Decouple parseNumber() from VariantData
2024-08-25 16:46:55 +02:00
Benoit Blanchon
5dd203bca4
Rename SlotWithId to Slot
2024-08-25 15:04:39 +02:00
Benoit Blanchon
362201241f
Make MemoryPool generic
2024-08-25 14:58:23 +02:00
Benoit Blanchon
2be24eded8
Rename SlotWithId::slot() and VariantWithId::data() to ptr()
2024-08-25 14:54:45 +02:00
Benoit Blanchon
4327f72140
Remove VariantSlot
2024-08-25 14:45:59 +02:00
Benoit Blanchon
f7f1b9745d
Hide FreeSlot in MemoryPoolList
2024-08-25 14:39:18 +02:00
Benoit Blanchon
cec18177b0
Move sizeofArray() and sizeofObject()
2024-08-25 14:36:38 +02:00
Benoit Blanchon
f2894552f2
Rename VariantPool to MemoryPool
2024-08-25 14:36:38 +02:00
Benoit Blanchon
d3721cb122
Make VariantSlot a union. Include next slot id in VariantData
2024-08-24 19:20:39 +02:00
Benoit Blanchon
ab72bb8601
Rename flags_ to type_
2024-08-24 11:18:21 +02:00
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
a2b09bfbd2
Remove unused code
2024-08-23 15:28:44 +02:00
Benoit Blanchon
386105be90
Allocate slot before key
2024-08-23 15:27:46 +02:00
Benoit Blanchon
83516e1740
Split conf_test between linux and windows
2024-08-23 15:24:45 +02:00
Benoit Blanchon
bf99aeedb1
Add @LArkema to the list of sponsors 💖
2024-07-02 10:27:36 +02:00
Benoit Blanchon
22dd4da3af
Set version to 7.1.0
2024-06-27 18:20:22 +02:00
Benoit Blanchon
55c3b9b3a7
CI: update macOS runner to macos-13
2024-06-18 13:51:40 +02:00
Benoit Blanchon
d83515dcda
Add DevContainer files for Clang 13 to 17
2024-06-18 13:51:40 +02:00
Benoit Blanchon
e34c27723a
Fix build on modern compilers
2024-06-18 13:51:40 +02:00
Benoit Blanchon
b23ff65b99
Reduce MsgPack deserializer size
2024-06-18 13:51:33 +02:00
Benoit Blanchon
556785dc1e
Read MsgPack's 64-bit ints even if ARDUINOJSON_USE_LONG_LONG is 0
2024-06-18 13:50:50 +02:00
Benoit Blanchon
e9c87858d1
Remove files.associations from vscode settings
2024-06-18 09:31:39 +02:00
Benoit Blanchon
208e7a3304
Fix integer overflow in MsgPackDeserializer
2024-06-11 09:47:11 +02:00
Benoit Blanchon
45611924f3
Tests: add user-defined literal ""_s for std::string
2024-06-07 09:35:45 +02:00
Benoit Blanchon
5b88b2c1f6
Update GitHub actions
2024-06-06 18:43:10 +02:00
Benoit Blanchon
e4f3fd8c91
Add support for MsgPack extension
2024-06-06 18:33:48 +02:00
Benoit Blanchon
aec642be20
Rename tests in MixedConfiguration
2024-06-06 18:26:16 +02:00
Benoit Blanchon
5a60c55be7
Don't add partial objects when allocation fails
...
Fixes #2081
2024-05-23 18:36:24 +02:00
Benoit Blanchon
f99b2d63f9
Make error message more readable in case of an invalid conversion
2024-05-23 14:01:30 +02:00
Benoit Blanchon
1db803bcd3
Add helpers for type traits, such as enable_if_t
2024-05-22 10:22:59 +02:00
Benoit Blanchon
04326d2655
Allow Converter<T>::toJson() to return a boolean as an optimization
2024-05-22 09:27:15 +02:00
Benoit Blanchon
9e0c56acc3
Replace ConverterNeedsWriteableRef with function_traits
2024-05-22 09:27:14 +02:00
Benoit Blanchon
60f9f7eff6
Move CollectionData::releaseSlot() to ResourceManager::freeSlot()
2024-05-17 17:10:45 +02:00
Benoit Blanchon
0fe202af03
CI: don't build fuzzers with Clang 11
...
Clang 11 fails on GitHub Actions with the following error:
ERROR: UndefinedBehaviorSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
Sanitizer CHECK failed: /build/llvm-toolchain-11-mnvtwk/llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp:54 ((0 && "unable to mmap")) != (0) (0, 0)
2024-05-16 17:47:07 +02:00
Benoit Blanchon
c41e8cc634
Add dev container for Clang 11
2024-05-16 17:47:07 +02:00
Benoit Blanchon
d486157a9e
CMake: fix detection of GCC 4.8
2024-05-16 17:47:07 +02:00
Benoit Blanchon
91aad55412
CI: set cancel-in-progress to true
2024-05-16 17:47:07 +02:00
Benoit Blanchon
98fca74f66
Fix undefined reference to VariantPool::usage()
2024-05-16 17:47:07 +02:00
Benoit Blanchon
60fb268d9a
Fix UBSAN error "member call does not point to an object of type"
...
runtime error: member call on address XXX which does not point to an object of type 'Allocator'
XXX: note: object is of type 'SpyingAllocator'
This is due to the fact that some of the compilation units have different library settings, so a different namespace, and therefore a different `Allocator` class.
2024-05-16 17:47:07 +02:00
Benoit Blanchon
f1899d3049
Fix error resources_ may be used uninitialized
...
JsonArrayConst.hpp:29:56: error: 'array.ArduinoJson::V704HB22::JsonArrayConst::resources_' may be used uninitialized in this function [-Werror=maybe-uninitialized]
JsonObjectConst.hpp:62:56: error: 'null.ArduinoJson::V704HB22::JsonObjectConst::resources_' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2024-05-16 17:47:07 +02:00
Benoit Blanchon
4b779a7c1d
Fix wrong build flags when COVERAGE is not defined
2024-05-16 17:47:07 +02:00
Benoit Blanchon
5d1aa04e21
CI: add Valgrind log to step summary
2024-05-16 17:47:07 +02:00
Benoit Blanchon
2f6db1edb0
CI: remove step summary
...
CTest errors were ignored in favor or `tee`'s exit code
2024-05-16 17:47:06 +02:00
Benoit Blanchon
aeb30ef307
Support ElementProxy and MemberProxy in JsonDocument's constructor
2024-05-15 13:37:33 +02:00
Benoit Blanchon
1c5e5db071
Test JsonDocument constructor with a JsonVariantConst argument
...
See #2091
2024-05-15 09:30:22 +02:00
Benoit Blanchon
68a13117dc
Allow using a JsonVariant as a key or index
...
Closes #2080
2024-05-14 21:06:02 +02:00
Benoit Blanchon
071f718473
MsgPack: test failing string allocation
2024-05-06 11:23:20 +02:00
Benoit Blanchon
00949f8276
Remove redundant test
2024-05-06 11:16:55 +02:00
Benoit Blanchon
2c670e0148
Implement MsgPackBinary using raw strings and converters
2024-05-06 11:10:02 +02:00
Benoit Blanchon
002b07f0c5
Reduce the size of deserializeMsgPack()
2024-05-02 20:29:00 +02:00
Benoit Blanchon
5f5f927693
Add tests of as<MsgPackBinary>()
2024-05-01 19:26:19 +02:00
Benoit Blanchon
4d074840da
Optimize deserializeMsgPack()
2024-05-01 18:00:59 +02:00
David Gauchard
82de20ee14
Make string support even more generic
...
Ported from 57354de831
Closes #2084
2024-05-01 14:06:30 +02:00
Benoit Blanchon
ece4d030a8
CI: update runner for the lint job
2024-04-29 19:38:18 +02:00
Benoit Blanchon
4d5c17b5f6
Remove unused #include statements
2024-04-29 18:30:29 +02:00
Aubrey (Sanae)
18a9a5b590
Add MsgPack bin8/bin16/bin32 support
...
Closes #2078
Closes #922
2024-04-29 16:01:10 +02:00
Benoit Blanchon
cd4bf33132
Fix error "pasting X and Y does not give a valid preprocessing token"
2024-04-18 14:39:05 +02:00
Benoit Blanchon
2cfefe22ac
Add ARDUINOJSON_STRING_LENGTH_SIZE to the namespace name
2024-04-18 14:19:43 +02:00
RoboSchmied
0d43e51d48
Fix typo in "endianness"
...
Closes #2071
2024-03-26 13:43:07 +01:00
Benoit Blanchon
ef28064317
CI: merge the two "amalgamate" jobs
2024-03-18 10:54:36 +01:00
Benoit Blanchon
7c62cdb264
CI: update GitHub Actions
2024-03-17 21:30:42 +01:00
Benoit Blanchon
0ab4bdd691
CI: add a workaround for actions/runner-images#9491
2024-03-17 21:30:42 +01:00
Benoit Blanchon
af8c615266
Rename tests/JsonObject/copy.cpp to set.cpp
2024-03-16 14:02:56 +01:00
Benoit Blanchon
bd13375729
CI: add timeouts in the gcc job
2024-03-14 10:27:09 +01:00
Benoit Blanchon
5f8502ce9d
Upgrade to lock-threads version 5+
2024-03-14 09:51:44 +01:00
Benoit Blanchon
1404b1ef70
Add a workaround for particle-iot/particle-cli#716
2024-03-12 10:02:30 +01:00
Benoit Blanchon
36e1eecc7d
Set version to 7.0.4
2024-03-12 09:40:46 +01:00
Benoit Blanchon
ca2f80aeaf
Add links to the documentation
2024-02-21 10:48:50 +01:00
Benoit Blanchon
f17fc055d3
Make JSON_STRING_SIZE(N) return N+1 to fix third-party code
...
ThingsBoard uses this macro to compute size of char arrays ಠ_ಠ
https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/Helper.h#L38
Closes #2054
2024-02-18 20:00:25 +01:00
Benoit Blanchon
04ac53d114
Remove final from JsonArray, JsonObject, and JsonVariant
...
`final` breaks ThingsBoard ಠ_ಠ
https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/RPC_Response.h#L10
See #2056 .
This reverts commit 483a2c9101 .
2024-02-18 20:00:24 +01:00
Benoit Blanchon
483a2c9101
Mark JsonArray, JsonObject, and JsonVariant as final
...
See #2056
2024-02-18 10:52:07 +01:00
Benoit Blanchon
848c0cdc7e
Set version to 7.0.3
2024-02-05 13:34:38 +01:00
Benoit Blanchon
46a807bd30
Remove unused NO_INLINE
2024-02-05 11:56:08 +01:00
Benoit Blanchon
cb0dc94db4
Remove most FORCE_INLINEs
...
I kept only the ones that had a positive impact on code size AND no negative impact on stack memory.
Fixes #2046
2024-02-05 11:48:27 +01:00
Benoit Blanchon
72642e3090
Fix compatibility with GCC 4.8
...
Closes #2045
2024-02-01 21:37:45 +01:00
Benoit Blanchon
c98b05e207
Dont't inline JsonSerializer::visit(const ArrayData&)
...
It didn't improve the code size and was inconsistent with this other functions.
2024-02-01 10:24:01 +01:00
Benoit Blanchon
2a87cc5839
Stop using CollectionIterator in MsgPackSerializer
...
This doesn't reduce code size or stack usage, but as least it's consistent with `JsonSerializer`.
2024-02-01 10:24:01 +01:00
Benoit Blanchon
296fe79bfd
Stop using CollectionIterator in JsonSerializer
...
This reduces stack consumption and code size.
See #2046
2024-02-01 10:24:00 +01:00
Benoit Blanchon
650d537b5d
Improve error messages when using char or char*
...
See #2043
2024-01-26 10:34:49 +01:00
Benoit Blanchon
0435945a62
Set version to 7.0.2
2024-01-19 14:36:16 +01:00
Benoit Blanchon
844a50296f
Fix link to shrinkToFit()'s documentation
2024-01-16 14:29:08 +01:00
Benoit Blanchon
1b143d383b
Fix assertion poolIndex < count_ after JsonDocument::clear()
...
Fixes #2034
2024-01-16 10:10:43 +01:00
Benoit Blanchon
94783fdd2a
Set version to 7.0.1
2024-01-10 21:14:07 +01:00
Benoit Blanchon
e41d5d4fa1
Shorten the library description
2024-01-10 18:11:49 +01:00
Benoit Blanchon
5dfa25d3dc
Include the number of GitHub stars in the library description.
2024-01-10 18:11:43 +01:00
Benoit Blanchon
a7bfc2212c
Fix volatile bool serialized as 1 or 0
...
Ported from 5d1d2721d1
2024-01-10 14:03:12 +01:00
Benoit Blanchon
315cc722e9
Add more tests for JsonVariantConst
2024-01-08 19:47:40 +01:00
Benoit Blanchon
ca0dda7ac1
Add more tests for JsonArrayConst
2024-01-08 19:47:40 +01:00
Benoit Blanchon
08cac13c43
Add more tests for JsonObjectConst
2024-01-08 19:47:36 +01:00
Benoit Blanchon
44d2d47863
CI: publish package to PlatformIO registry
2024-01-04 18:05:31 +01:00
Benoit Blanchon
3571db6290
Remove unused files in the PlatformIO package
2024-01-04 18:01:52 +01:00
Benoit Blanchon
cc42373367
Fix "no matching function" with JsonObjectConst::operator[]
...
Fixes #2019
2024-01-03 16:30:44 +01:00
Benoit Blanchon
9dc43d14f3
Set version to 7.0.0
2024-01-03 09:19:34 +01:00
Benoit Blanchon
3fa6b6e04f
Fix typo in change log
2024-01-03 09:19:14 +01:00
Benoit Blanchon
2d47b3931d
Remove legacy Arduino package from release assets
2024-01-03 09:16:19 +01:00
Benoit Blanchon
0e8a236583
Update copyright year
2024-01-03 08:47:06 +01:00
Benoit Blanchon
955815fbfa
Fix function returns incomplete class type on IAR (issue #2001 )
...
Ported from 3e1be980d9
2023-12-07 15:51:29 +01:00
Benoit Blanchon
4cd03fbd26
Fix no instance of overloaded function... on IAR ( fixes #2001 )
...
Ported from 6ed87029e2
2023-12-07 15:51:29 +01:00
Benoit Blanchon
f7dcea562f
CI: always use libc++ with clang
2023-11-06 13:24:32 +01:00
Benoit Blanchon
4774ca3d29
Force inline ZeroTerminatedRamString::size()
...
Ported from 7517ecb91b
2023-11-06 09:52:17 +01:00
Benoit Blanchon
26b2ff4c0f
Reorder StringNode's members to reduce code size
2023-10-09 15:41:20 +02:00
Benoit Blanchon
7e6b89d21f
Use only one byte for the string length on 8-bit platforms
2023-10-09 15:21:18 +02:00
Benoit Blanchon
d20e64187b
Use only one byte for the reference counter on 8-bit platforms
2023-10-09 14:47:47 +02:00
Benoit Blanchon
86e06c901f
Add ARDUINOJSON_SIZEOF_POINTER
2023-10-09 14:40:18 +02:00
Benoit Blanchon
6fe4b9c01d
Detect string length overflows
2023-10-09 14:15:55 +02:00
Benoit Blanchon
9b34069a3b
Remove obsolete comments
2023-09-25 15:16:41 +02:00
Benoit Blanchon
30ea01bc31
StringExample: remove obsolete comment
2023-09-24 18:12:01 +02:00
Benoit Blanchon
92c9faf69f
Fix 'std::string_view' has not been declared (issue #1967 )
...
Ported from 49e2a8d421
2023-09-13 18:32:38 +02:00
Benoit Blanchon
b20653ee1a
Fix 'std::string' has not been declared (issue #1967 )
...
Ported from 259855a87b
2023-09-13 18:31:22 +02:00
Benoit Blanchon
750d53f8c7
Update URLs to point to https://arduinojson.org/v7/
2023-08-19 16:08:12 +02:00
Benoit Blanchon
7bd2ea1072
Remove mentions of the zero-copy mode
2023-08-19 16:05:42 +02:00
Benoit Blanchon
51c5f1a73a
Fix a Clang-Tidy warning
2023-08-10 19:27:03 +02:00
Benoit Blanchon
ac9b74df65
Show a warning when ARDUINOJSON_ENABLE_STRING_DEDUPLICATION is defined
2023-08-10 18:38:05 +02:00
Benoit Blanchon
305e80c09d
Show an error if ARDUINOJSON_SLOT_OFFSET_SIZE is defined
2023-08-10 18:28:38 +02:00
Benoit Blanchon
fc1f06822c
CI: add GCC 12
2023-08-10 18:25:53 +02:00
Benoit Blanchon
a8c763c40e
CI: add clang 11, 12, 13, 14, and 15
2023-08-10 18:25:53 +02:00
Benoit Blanchon
7ab6fc078c
CI: remove Clang 3.8
2023-08-10 18:18:30 +02:00
Benoit Blanchon
c98ba999af
Add more tests of JsonDocument constructor
2023-08-10 14:30:50 +02:00
Benoit Blanchon
1d583f68da
Add stubs for JSON_ARRAY_SIZE, JSON_OBJECT_SIZE, and JSON_STRING_SIZE
2023-08-10 09:54:47 +02:00
Benoit Blanchon
e93fd7657f
Add a "Breaking changes" section to the changelog
2023-08-10 09:54:47 +02:00
Benoit Blanchon
78399c2d78
Add a stub for createNestedObject()
2023-08-10 09:54:46 +02:00
Benoit Blanchon
8cc645c40c
Add a stub for createNestedArray()
2023-08-10 09:54:45 +02:00
Benoit Blanchon
11373af344
Add a stub for add()
2023-08-10 09:54:44 +02:00
Benoit Blanchon
53d54ba9d7
Add a stub for shallowCopy()
2023-08-10 09:54:44 +02:00
Benoit Blanchon
2f31c932d7
Add a stub for memoryUsage()
2023-08-10 09:54:43 +02:00
Benoit Blanchon
93cb3d2fdc
Add a stub for BasicJsonDocument
2023-08-10 09:54:42 +02:00
Benoit Blanchon
be5d5300a2
Add a stub for DynamicJsonDocument
2023-08-10 09:54:40 +02:00
Benoit Blanchon
ea5b019552
Add a stub for StaticJsonDocument
2023-08-10 09:54:28 +02:00
Benoit Blanchon
bc6707b10c
Rename tests/JsonObject/invalid.cpp to unbound.cpp
2023-08-09 12:08:21 +02:00
Benoit Blanchon
adea7f4131
Extract VariantRefBaseImpl.hpp
2023-08-09 12:08:21 +02:00
Benoit Blanchon
7f459adc4b
Remove createNestedArray() and createNestedObject()
2023-08-09 12:08:21 +02:00
Benoit Blanchon
cdc1262127
Remove unused JsonDocument constructor
2023-08-09 11:07:27 +02:00
Benoit Blanchon
f422b7b37d
Replace add() with add<T>() (add(T) is still supported)
2023-08-09 10:57:52 +02:00
Benoit Blanchon
7a587ac2e2
Fix some getVariant() that were accidentally renamed to getSlot()
2023-08-09 10:08:40 +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
af6954c224
serializeXxx() sets std::string and String instead of appending
2023-07-31 18:37:35 +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
752d01a7f1
Add an enable_if to validate the first argument to deserializeXxx()
2023-07-29 12:05:18 +02:00
Benoit Blanchon
43eed00cd9
Add deserializeXxx(JsonVariant, ...) ( resolves #1226 )
2023-07-29 12:05:18 +02:00
Benoit Blanchon
bc8ea36781
Tests: gather deserializeMsgPack() errors test cases
2023-07-29 06:33:45 +02:00
Benoit Blanchon
8fb187baed
Tests: gather deserializeJson() errors test cases
2023-07-29 06:33:45 +02:00
Benoit Blanchon
db5b5f9ee2
Fix a typo in the changelog
2023-07-29 06:33:44 +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
7a76da3bc7
Tests: rename ControllableAllocator to KillswitchAllocator
2023-07-25 14:46:25 +02:00
Benoit Blanchon
a8329564e2
Remove JsonDocument::garbageCollect()
2023-07-25 14:37:25 +02:00
Benoit Blanchon
00c9d8680a
Remove memoryUsage()
2023-07-24 17:21:25 +02:00
Benoit Blanchon
2fdacb1ca0
Reduce size of CollectionData::clear()
2023-07-24 10:33:06 +02:00
Benoit Blanchon
228c4cf9fa
JsonDocument: use the copy-and-swap idiom
2023-07-24 10:13:17 +02:00
Benoit Blanchon
9d2d257851
Scripts: call wandbox/publish.sh from get-release-page.sh
...
Ported from 371fa4667e
2023-07-23 18:08:54 +02:00
Benoit Blanchon
5458e916ea
Show a link to the doc when user passes an unsupported input type
...
Ported from 7eec01cdd6
2023-07-23 18:08:21 +02:00
Benoit Blanchon
1a14499612
Preallocate pool list
2023-07-21 17:57:13 +02:00
Benoit Blanchon
f427706e06
VariantPoolList: handle SlotId overflow
2023-07-21 17:57:13 +02:00
Benoit Blanchon
8be0d57d24
VariantPoolList: reduce the size of capacity_ and count_
2023-07-21 09:47:25 +02:00
Benoit Blanchon
8fcaebb44a
Detect null slot id earlier in VariantPoolList::getSlot()
2023-07-20 18:04:06 +02:00
Benoit Blanchon
bd2d232b40
JsonParseExample: use a const char* instead of a char[]
2023-07-20 18:04:06 +02:00
Benoit Blanchon
b69a952e69
Examples: remove outdated comments
2023-07-20 18:04:06 +02:00
Benoit Blanchon
727a1013ca
Recycle removed slots
2023-07-20 18:04:06 +02:00
Benoit Blanchon
781e449e78
CollectionData::releaseSlot() takes an iterator
2023-07-20 17:53:52 +02:00
Benoit Blanchon
d4af8cffa7
Store current and next slot id in CollectionIterator
2023-07-20 17:53:52 +02:00
Benoit Blanchon
0f3c73a211
Remove VariantPool::capacity()
2023-07-18 09:08:55 +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
65c67d317a
AllocatorLog: support nulls in deallocate() and reallocate()
2023-07-17 17:28:49 +02:00
Benoit Blanchon
c4e5051a7a
Store index of slot in the pool instead of a pointer or a distance
2023-07-17 11:20:46 +02:00
Benoit Blanchon
068c40d6ed
Add Dev Container configs
...
Ported from 4ba9c1b0c0
2023-07-17 11:20:46 +02:00
Benoit Blanchon
c203c86a42
CI: add --output-on-failure for coverage and valgrind tasks
2023-07-17 11:20:46 +02:00
Benoit Blanchon
8aec448adf
Add missing declaration of offsetof()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
9538bc32af
Implement the object copy at the JsonObject level
2023-07-17 11:20:46 +02:00
Benoit Blanchon
b2aa0029b9
Implement array copy at the JsonArray level
2023-07-17 11:20:46 +02:00
Benoit Blanchon
57e9134540
Implement variant copy at the JsonVariant level
2023-07-17 11:20:46 +02:00
Benoit Blanchon
fb4cb96c6c
Move JsonArray and JsonObject converters to ConverterImpl.hpp
2023-07-17 11:20:46 +02:00
Benoit Blanchon
5e3f84c718
Merge all visitXxx() into one overloaded visit() function
2023-07-17 11:20:46 +02:00
Benoit Blanchon
64922343e6
visitNull() takes a nullptr_t
2023-07-17 11:20:46 +02:00
Benoit Blanchon
1d07abddcd
Add nullptr_t
2023-07-17 11:20:46 +02:00
Benoit Blanchon
21bf4973de
visitRawString() takes a RawString
2023-07-17 11:20:46 +02:00
Benoit Blanchon
da845ae01d
visitString() takes a JsonString
2023-07-17 11:20:46 +02:00
Benoit Blanchon
5a9d3422f5
Add JsonVariantVisitor and use it for comparisons
2023-07-17 11:20:46 +02:00
Benoit Blanchon
7a9feb4d6e
Rename Visitor to VariantDataVisitor
2023-07-17 11:20:46 +02:00
Benoit Blanchon
39e8b63746
Remove shallowCopy()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
c37990d791
CollectionData: addSlot() returns an iterator
2023-07-17 11:20:46 +02:00
Benoit Blanchon
fac5b5a7a7
CollectionData: allocate the slot in addSlot()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
5ceb5d1813
Use CollectionIterator in CollectionData::memoryUsage()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
ec4c73db0b
Use CollectionIterator in CollectionData::nesting()
2023-07-17 11:20:45 +02:00
Benoit Blanchon
f86b22cf4f
Replace slotRelease() with CollectionData::releaseSlot()
2023-07-17 11:20:45 +02:00
Benoit Blanchon
78a74c4017
Inline slotSize()
2023-07-17 11:20:45 +02:00
Benoit Blanchon
dae0182914
Convert CollectionIterator to GoF style
2023-07-17 11:20:45 +02:00
Benoit Blanchon
0f511b873d
VariantPool: store VariantSlots instead of chars
2023-07-12 15:03:56 +02:00
Benoit Blanchon
1d96826371
Add a ResourceManager* member to JsonArrayConst, JsonObjectConst, and JsonVariantConst
2023-07-12 15:03:56 +02:00
Benoit Blanchon
f6b014582f
Implement object comparison out of class
2023-07-12 15:03:56 +02:00
Benoit Blanchon
555f3dd5fe
Implement array comparison out of class
2023-07-12 15:03:56 +02:00
Benoit Blanchon
04973ca494
Fix ARDUINOJSON_BIN2ALPHA_0110()
...
Ported from 6c5fde2a55
2023-07-12 15:02:21 +02:00
Benoit Blanchon
01b9b40bd2
Include ARDUINOJSON_SLOT_OFFSET_SIZE in the namespace name
...
Ported from 433fb4b961
2023-07-12 15:01:28 +02:00
Benoit Blanchon
c8517ee5b6
Fix double call to size() in serializeMsgPack()
...
Ported from afbcc2106e
2023-07-12 12:00:23 +02:00
Benoit Blanchon
23b01a89b1
Fix double lookup in to<JsonVariant>()
2023-07-05 16:18:35 +02:00
Benoit Blanchon
688e21e75f
Add CollectionIterator
2023-06-26 18:23:20 +02:00
Benoit Blanchon
d921cd6d02
Convert "variant functions" to static member functions
2023-06-26 12:33:34 +02:00
Benoit Blanchon
af8bdfbc8f
Convert "collection function" to static member functions
2023-06-26 11:58:28 +02:00
Benoit Blanchon
68b1602c35
Extract ObjectData from CollectionData
2023-06-26 11:42:25 +02:00
Benoit Blanchon
7bc73d7849
Extract ArrayData from CollectionData
2023-06-26 11:18:56 +02:00
Benoit Blanchon
67bbb4c90d
Manage resources in CollectionData
2023-06-26 10:07:40 +02:00
Benoit Blanchon
fffed4fba6
VariantAttorney: replace ResultOfGetData with a trailing return type
2023-06-20 18:47:45 +02:00
Benoit Blanchon
8d7bbffe10
Simplify JsonObject::operator==
2023-06-20 18:47:44 +02:00
Benoit Blanchon
488475fe16
Simplify JsonArray::operator==
2023-06-20 18:47:42 +02:00
Benoit Blanchon
ba8d102432
Swap the parameters of JsonObject's constructor
2023-06-20 18:47:40 +02:00
Benoit Blanchon
e96680eb29
Swap the parameters of JsonArray's constructor
2023-06-20 18:47:38 +02:00
Benoit Blanchon
4c0fb4eb55
Swap the parameters of JsonVariant's constructor
2023-06-20 18:47:37 +02:00
Benoit Blanchon
db2fb01795
Replace VariantPtr, VariantConstPtr, JsonPairPtr, and JsonPairConstPtr with Ptr<T>
2023-06-20 18:47:12 +02:00
Benoit Blanchon
18ae8ab7b9
Extract arrayEquals() and objectEquals()
2023-06-19 17:38:17 +02:00
Benoit Blanchon
87c96f9306
ResourceManager: rename string functions
2023-06-19 11:25:04 +02:00
Benoit Blanchon
262747b419
ResourceManager: extract the StringPool class
2023-06-19 11:15:00 +02:00
Benoit Blanchon
3e0ba2028c
ResourceManager: extract functions to manipulate StringNodes
2023-06-19 11:14:47 +02:00
Benoit Blanchon
972f665b07
Wandbox: upgrade to GCC 5.5.0
...
Ported from ecbc8e85d4
2023-06-19 09:17:36 +02:00
Benoit Blanchon
519e32badb
ResourceManager: remove unused operator new
2023-06-18 10:14:39 +02:00
Benoit Blanchon
d90b36c009
Extract VariantPool from ResourceManager
2023-06-18 10:14:39 +02:00
Benoit Blanchon
8147625921
ResourceManager: replace allocFromPool() with allocVariant()
2023-06-18 10:14:39 +02:00
Benoit Blanchon
2cf7fc5427
Remove unused #includes
2023-06-18 10:14:39 +02:00
Benoit Blanchon
4871380060
Rename MemoryPool to ResourceManager
2023-06-18 10:14:39 +02:00
Benoit Blanchon
2a663db3c7
MemoryPool: store usage and capacity as integers instead of using pointers
2023-06-18 10:14:39 +02:00
Benoit Blanchon
437307a955
MemoryPool: store slots at the beginning of the pool
2023-06-14 12:01:31 +02:00
Benoit Blanchon
56b3b4d5a9
MemoryPool: remove unused functions
2023-06-14 12:01:31 +02:00
Benoit Blanchon
f5355a9eb5
Move all functions from VariantFunctions.hpp to `VariantData.hpp
2023-05-26 14:09:12 +02:00
Benoit Blanchon
779ee07de9
Add VariantData::copyFrom()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
ab4e8547cb
Add VariantData::getOrAddElement()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
585795d002
Add VariantData::removeElement()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
68a167b167
Add VariantData::nesting()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
78d4f721ff
Add VariantData::removeMember()
2023-05-26 14:09:00 +02:00
Benoit Blanchon
a97bcb6b2d
Add VariantData::getOrAddMember()
2023-05-26 14:09:00 +02:00
Benoit Blanchon
2da1f2553d
Add VariantData::addElement()
2023-05-26 14:09:00 +02:00
Benoit Blanchon
c267b55dec
Move raw string copy logic into VariantData::setRawString()
2023-05-25 10:06:01 +02:00
Benoit Blanchon
3a73ccf027
Move string copy logic into VariantData::setString()
2023-05-25 09:55:43 +02:00
Benoit Blanchon
8ab45e6f82
Add JsonVariant::release()
2023-05-25 09:35:40 +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
48acf963fb
Remove VariantImpl.hpp
2023-05-25 09:06:05 +02:00
Benoit Blanchon
ccccd1da11
Sort VariantData's members alphabetically
2023-05-25 09:06:05 +02:00
Benoit Blanchon
78a30496be
Define all VariantData's member functions inline
2023-05-25 09:03:16 +02:00
Benoit Blanchon
636c8c36eb
Decouple MemoryPool from VariantSlot
2023-05-22 17:56:04 +02:00
Benoit Blanchon
5070fa6562
Rename memberFilter to elementFilter in deserializers
2023-05-22 14:11:59 +02:00
Benoit Blanchon
d9e035a288
Remove VariantData::isEnclosed()
2023-05-22 09:46:35 +02:00
Benoit Blanchon
aba8974148
Extract StringNode.hpp
2023-05-22 09:05:48 +02:00
Benoit Blanchon
044a4753d2
Rename StringCopier to StringBuilder
2023-05-10 10:12:55 +02:00
Benoit Blanchon
ff0deee793
Remove string storage policy to always use StringCopier
2023-05-10 10:02:48 +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
9321f8fdab
Remove string size from VariantContent ( #1650 )
2023-05-02 18:56:17 +02:00
Benoit Blanchon
167ea08c53
Pass StringNode* to VariantData
2023-05-02 18:56:02 +02:00
Benoit Blanchon
5c0338970c
Remove StoragePolicy
2023-05-02 17:52:53 +02:00
Benoit Blanchon
6b4dd3ff2f
Fix build on ESP32 (caused by espressif/arduino-esp32#7941 )
2023-05-02 10:48:02 +02:00
Benoit Blanchon
fead19560c
Rename visitRawJson() to visitRawString()
2023-05-02 10:06:27 +02:00
Benoit Blanchon
86772d33bc
Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING
2023-05-02 10:03:37 +02:00
Benoit Blanchon
a035116018
Remove unused struct RawData
2023-05-02 10:00:46 +02:00
Benoit Blanchon
806fa907ab
Always store serialized("string") by copy ( #1915 )
2023-05-02 09:36:40 +02:00
Benoit Blanchon
95f5d9d134
Fix compatibility with the Blynk libary ( fixes #1914 )
...
Ported from 52d8a65cbc
2023-04-21 19:08:53 +02:00
Benoit Blanchon
03139a08af
Set default for ARDUINOJSON_ENABLE_PROGMEM to 1 on AVR
...
Ported from 082ae69e86
2023-04-21 19:08:53 +02:00
Benoit Blanchon
acfbf26e37
CI: check build configuration on AVR
...
Ported from 976a6d7594
2023-04-21 19:08:53 +02:00
Benoit Blanchon
461cdaa818
Allow using PROGMEM outside of Arduino ( fixes #1903 )
...
Ported from 40daf56b5a
2023-04-21 19:08:53 +02:00
Benoit Blanchon
dd46813dc0
Change naming convention from _member to member_ ( fixes #1905 )
...
Ported from 31ce648e63
2023-04-21 18:59:48 +02:00
Benoit Blanchon
5d796781fb
Increase coverage
2023-04-21 18:39:47 +02:00
Benoit Blanchon
f5e7570f84
Simplify CollectionData to work only with VariantSlot*
2023-04-21 16:11:54 +02:00
Benoit Blanchon
003087406c
Reference-count shared strings
2023-04-21 16:11:54 +02:00
Benoit Blanchon
b7c8e0d25c
Decouple VariantData from MemoryPool
2023-04-21 16:11:54 +02:00
Benoit Blanchon
30c111fd3d
Remove callback from storeString()
2023-04-17 10:42:08 +02:00
Benoit Blanchon
9d0714efdf
Remove unused MemoryPool::_left
2023-04-17 10:42:08 +02:00
Benoit Blanchon
d8f3058efa
Store the strings in the heap
2023-04-17 10:42:08 +02:00
Benoit Blanchon
7c0fa7c276
Add MemoryPool::deallocPool()
2023-04-08 09:20:27 +02:00
Benoit Blanchon
6eb4f45fb9
Tests: ControllableAllocator controls reallocate() too
2023-04-08 09:18:15 +02:00
Benoit Blanchon
b3132cac3a
Tests: add SpyingAllocator::clearLog()
2023-04-07 18:30:31 +02:00
Benoit Blanchon
d95a3bd19a
Tests: add TimebombAllocator
2023-04-07 18:28:46 +02:00
Benoit Blanchon
22e4f216c3
Tests: allow ArmoredAllocator to be called multiple times
2023-04-07 18:27:38 +02:00
Benoit Blanchon
e9850152a7
Tests: replace constants with sizeofString(n)
2023-04-07 14:50:54 +02:00
Benoit Blanchon
5e0e35615c
Double speed of DynamicJsonDocument::garbageCollect()
2023-04-05 16:50:52 +02:00
Benoit Blanchon
c4b879645a
Remove JsonDocument::capacity()
2023-04-03 09:51:43 +02:00
Benoit Blanchon
6afa6b647c
Test: Support failed allocations in SpyingAllocator
2023-04-03 09:51:10 +02:00
Benoit Blanchon
acd465b365
Test: change ControllableAllocator into a decorator
2023-04-03 09:51:10 +02:00
Benoit Blanchon
e858570afb
Test: change SpyingAllocator into a decorator
2023-04-03 09:51:09 +02:00
Benoit Blanchon
0643c2e708
Test: gather JsonDocument constructor and assignment tests
2023-04-03 09:51:09 +02:00
Benoit Blanchon
bcf1339e89
Test: split JsonDocument.cpp into multiple files
2023-04-03 09:51:09 +02:00
Benoit Blanchon
dc463a2f72
Test: remove REQUIRE_JSON()
2023-04-03 09:51:09 +02:00
Benoit Blanchon
a7cdf638e7
Test: move ControllableAllocator
2023-04-03 09:51:09 +02:00
Benoit Blanchon
57810af2ac
Test: include deallocated size in allocator's log
2023-04-02 16:47:59 +02:00
Benoit Blanchon
2eb726b744
Test: add AllocatorLog
2023-04-02 16:47:59 +02:00
Benoit Blanchon
912137ccfb
Test: share SpyingAllocator
2023-04-01 10:34:48 +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
b3eada9c7f
CI: restore build on GCC 5
2023-03-28 14:53:15 +02:00
Benoit Blanchon
8516b368ad
Set version to 7.0.0-alpha
2023-03-28 14:45:55 +02:00
Benoit Blanchon
d0fff5a0b5
Update branch to 7.x
2023-03-28 14:43:48 +02:00
Benoit Blanchon
4c8d4b4e20
Remove badges linking to the library registries
2023-03-28 14:43:03 +02:00
Benoit Blanchon
5faa3df43f
MemoryPool calls the Allocator directly
2023-03-20 15:03:09 +01:00
Benoit Blanchon
540901e219
Merge DynamicJsonDocument with JsonDocument
2023-03-20 14:49:51 +01:00
Benoit Blanchon
db9258bcd7
Remove BasicJsonDocument
2023-03-20 14:49:08 +01:00
Benoit Blanchon
24aaab6e3e
Add abstract Allocator class
2023-03-20 14:47:27 +01:00
Benoit Blanchon
17a482a9b1
Remove StaticJsonDocument
2023-03-20 10:40:35 +01:00
Benoit Blanchon
5edd435fe9
Add a constructor to VariantData
2023-03-20 10:14:54 +01:00
Benoit Blanchon
de9239caab
Set version to 6.21.0
2023-03-14 21:05:56 +01:00
Benoit Blanchon
c89a2025ce
Make string support generic (issue #1807 )
2023-03-13 12:19:05 +01:00
Benoit Blanchon
42ae8c3037
Remove negativeBinaryPowersOfTenPlusOne
2023-02-22 15:42:10 +01:00
Benoit Blanchon
319ececf26
Keep only one implementation of make_float()
2023-02-22 15:42:10 +01:00
Benoit Blanchon
886254c41e
Reduce size of make_float()
2023-02-22 15:42:10 +01:00
Benoit Blanchon
4e7099dc73
Add pgm_ptr<T>
2023-02-22 15:42:10 +01:00
Benoit Blanchon
26948cb83a
Use 64-bits literals to forge 64-bits literals
2023-02-22 11:40:15 +01:00
Benoit Blanchon
0f8698e655
Replace ARDUINOJSON_EXPANDX with variadic macros ( #1820 )
2023-02-22 11:24:51 +01:00
Benoit Blanchon
b2b995edb3
Use delete instead of hiding copy constructors and assignments ( #1820 )
2023-02-17 10:59:57 +01:00
Benoit Blanchon
33a4773fbd
Set clang-format standard to C++11 ( #1820 )
2023-02-16 11:51:02 +01:00
Benoit Blanchon
daa87e12dc
Update copyright notice
2023-02-16 11:45:01 +01:00
Benoit Blanchon
5abf512276
Reduce number of overloads of deserializeJson() and deserializeMsgPack() ( #1820 )
2023-02-16 11:17:15 +01:00
Benoit Blanchon
0dd4a68913
Use only letters to encode configuration in the namespace
2023-02-14 10:04:49 +01:00
Benoit Blanchon
8971127b66
Fix build on GCC 6
2023-02-14 10:04:49 +01:00
Benoit Blanchon
1b66a217bf
Replace ARDUINOJSON_NAMESPACE with an inline namespace ( #1820 )
2023-02-14 10:04:48 +01:00
Benoit Blanchon
34dd46110b
Remove safe bool idiom ( #1820 )
2023-02-13 11:12:41 +01:00
Benoit Blanchon
8f7211a50f
Remove ARDUINOJSON_HAS_NULLPTR ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
2be4ee732a
Remove ARDUINOJSON_HAS_RVALUE_REFERENCES ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
3bdedc9a2f
Remove ARDUINOJSON_HAS_LONG_LONG ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
f699954f4d
Remove support for __int64 ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
407fc2cd45
Drop support for C++98/C++03 ( closes #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
91fe6dcae8
Fix clang-tidy warning "Called C++ object pointer is null"
2023-02-10 17:02:51 +01:00
Benoit Blanchon
62dea9d364
Reformat CMake files
2023-02-10 17:02:51 +01:00
Benoit Blanchon
e0bdc4bff1
Remove unused variables ( fixes #1858 )
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
Benoit Blanchon
94b2b3f9ce
Run all tests with C++11 enabled ( #1820 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
c2de812cbd
Set minimum Clang version to 3.8 ( #1820 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
669ee4dfe3
Set minimum GCC version to 6 ( #1820 )
2023-02-10 17:02:33 +01:00
Benoit Blanchon
e054cba610
Set minimum Visual Studio version to 2017 ( #1820 )
2023-02-10 14:49:24 +01:00
Benoit Blanchon
3d8287265c
Remove unused NOEXCEPT macro
2023-02-09 19:06:36 +01:00
Benoit Blanchon
de7afc2015
Minor improvements in the release workflow
2023-02-08 16:51:47 +01:00
Benoit Blanchon
ae0499fd57
Update idf_component.yml
2023-02-08 16:46:15 +01:00
Benoit Blanchon
b33966c755
Set version to 6.20.1
2023-02-08 16:42:04 +01:00
Benoit Blanchon
d2cd13bf2e
CI: automatically publish Particle library
2023-02-08 16:40:06 +01:00
Benoit Blanchon
06b2263329
README: reduce the size of the logo
2023-02-08 16:40:06 +01:00
Benoit Blanchon
d4bb839ce9
CI: remove the draft flag on the GitHub Release
2023-02-08 16:40:04 +01:00
Benoit Blanchon
6013a1a56f
Fix the name of the license file
2023-02-08 16:40:01 +01:00
Benoit Blanchon
34b38e07c7
Deduce template argument of pgm_read()
2023-01-26 18:10:41 +01:00
Benoit Blanchon
1ec16ca94f
Use pgm_read() instead of ARDUINOJSON_READ_STATIC_ARRAY
2023-01-26 14:55:46 +01:00
Benoit Blanchon
b350a96643
Remove explicit exclusion of as<char*>() and as<char>() ( #1860 )
...
If you try to call them, you'll now get the same error message as any unsupported type.
You could also add a custom converter for `char*` and `char`.
2023-01-18 22:10:37 +01:00
Benoit Blanchon
bf93779b4f
Update catch.hpp ( fixes #1856 )
...
See also catchorg/Catch2#2627
2023-01-17 13:53:47 +01:00
Benoit Blanchon
dd0f7019ef
CI: Update runner to get GCC 11.3 ( resolves #1859 )
2023-01-17 13:53:47 +01:00
Benoit Blanchon
175e5b3062
Add missing semicolon ( fixes #1857 )
2023-01-17 08:59:45 +01:00
Benoit Blanchon
7885155634
Add to IDF Component Registry ( closes #1844 )
2023-01-14 09:26:12 +01:00
Benoit Blanchon
1909ffe0f9
Remove link to Discord server
2023-01-13 08:52:33 +01:00
Johan Vromans
3345255f16
Fix comma tests.
2023-01-13 08:21:54 +01:00
Benoit Blanchon
c49adfd6da
Test custom converter for std::array (issue #1840 )
2022-12-31 10:48:20 +01:00
Benoit Blanchon
5094b84a46
Set version to 6.20.0
2022-12-26 17:35:54 +01:00
Benoit Blanchon
191fc5dff4
Remove support for naked char (was deprecated since 6.18.0)
2022-12-26 11:02:34 +01:00
Benoit Blanchon
cb9c90f2d0
Mark adapter's storagePolicy() as const
2022-12-26 10:23:48 +01:00
Benoit Blanchon
09f9bd6b8b
Fix detection of char types
2022-12-26 10:21:57 +01:00
Benoit Blanchon
67abbef818
Fix GitHub Actions badge ( badges/shields#8671 )
2022-12-26 10:09:06 +01:00
Benoit Blanchon
7ed2559e9e
Test custom converter for std::vector<T> (issue #1840 )
2022-12-26 10:09:06 +01:00
Benoit Blanchon
ac8e5f01db
Clang-Format: set AllowShortLoopsOnASingleLine to false
2022-12-24 15:48:00 +01:00
Benoit Blanchon
396d2a7b3b
CI: check URLs
2022-12-21 19:20:51 +01:00
Benoit Blanchon
de725e0a4e
Add documentation to most public symbols
2022-12-21 19:20:51 +01:00
Benoit Blanchon
2a32803e9e
CI: Replace set-output with environment file
...
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-12-19 14:58:15 +01:00
Benoit Blanchon
d602232b9f
Update change log
2022-12-19 14:41:53 +01:00
Benoit Blanchon
b0730f04f7
Rename VariantRef to JsonVariant
2022-12-19 14:41:53 +01:00
Benoit Blanchon
ef8ed28aec
Rename VariantConstRef to JsonVariantConst
2022-12-19 14:41:43 +01:00
Benoit Blanchon
b8eff868e6
Rename String to JsonString
2022-12-19 14:41:43 +01:00
Benoit Blanchon
d0b619ea93
Rename UInt to JsonUInt
2022-12-19 14:41:43 +01:00
Benoit Blanchon
652d70fe2c
Rename Integer to JsonInteger
2022-12-19 14:41:43 +01:00
Benoit Blanchon
8228aec74b
Rename Float to JsonFloat
2022-12-19 14:41:43 +01:00
Benoit Blanchon
2f2e0e9415
Rename ObjectIterator to JsonObjectIterator
2022-12-19 12:21:11 +01:00
Benoit Blanchon
3a9803679f
Rename Pair to JsonPair
2022-12-19 12:21:11 +01:00
Benoit Blanchon
dc42d93b0f
Rename ObjectConstRef to JsonObjectConst
2022-12-19 12:20:37 +01:00
Benoit Blanchon
dff07ebfe8
Rename ObjectRef to JsonObject
2022-12-19 12:20:13 +01:00
Benoit Blanchon
4c456a95a3
Rename ArrayIterator to JsonArrayIterator
2022-12-19 12:12:28 +01:00
Benoit Blanchon
83e5d9d150
Rename ArrayConstRef to JsonArrayConst
2022-12-19 12:12:28 +01:00
Benoit Blanchon
7079aa99d7
Rename ArrayRef to JsonArray
2022-12-19 12:10:58 +01:00
Benoit Blanchon
208a22e324
Update GitHub action dessant/lock-threads
2022-12-13 08:28:20 +01:00
Robert M Lugg
9afae963e8
Update tutorial links to point to version 6
2022-12-05 21:00:46 +01:00
Benoit Blanchon
1828dec658
CI: add CTest output to the job summary
2022-12-05 21:00:24 +01:00
Benoit Blanchon
afe2434baf
Extract ObjectConstRef.hpp from ObjectRef.hpp
2022-12-05 21:00:24 +01:00
Benoit Blanchon
e08f8d5b51
Inline class ObjectRefBase
2022-12-05 21:00:24 +01:00
Benoit Blanchon
7e3b40f379
Extract ArrayConstRef.hpp from ArrayRef.hpp
2022-12-05 21:00:24 +01:00
Benoit Blanchon
584770dc6f
Inline class ArrayRefBase
2022-12-05 21:00:24 +01:00
Benoit Blanchon
5d2a440c69
Remove ArrayFunctions.hpp and ObjectFunctions.hpp
2022-12-05 21:00:24 +01:00
Benoit Blanchon
ac14f29e6c
Move definitions of JSON_ARRAY_SIZE() and JSON_OBJECT_SIZE()
2022-12-05 21:00:24 +01:00
Benoit Blanchon
3d62fa8af2
CI: use ubuntu-20.04 for GCC
2022-12-05 21:00:24 +01:00
Benoit Blanchon
0f85a55cac
Implement VariantRefBase with a CRTP
2022-12-05 21:00:24 +01:00
Benoit Blanchon
21db92af47
Simpify variant reader
2022-11-26 18:32:33 +01:00
Benoit Blanchon
6447520b5b
Replace Yes/No with int/char
2022-11-22 18:56:42 +01:00
Benoit Blanchon
079ccadbee
Remove sponsor techexplorations
2022-11-08 08:59:18 +01:00
Benoit Blanchon
615f675840
Update dessant/lock-threads
2022-11-03 10:11:45 +01:00
Benoit Blanchon
2182c83b87
Remove ArrayShortcuts and ObjectShortcuts
2022-11-02 09:18:02 +01:00
Benoit Blanchon
b8d1dccb21
Test IsString<String> and IsString<StringSumHelper>
2022-10-31 18:02:07 +01:00
Benoit Blanchon
c3d5e9382d
Implement IsString from StringAdapter
2022-10-26 17:20:33 +02:00
Benoit Blanchon
ecb72f9a9d
Add StringAdapter<T>
2022-10-26 16:19:14 +02:00
Benoit Blanchon
7004c39af6
variantGetOrAddMember() takes an adapted string like all its siblings
2022-10-26 10:44:21 +02:00
Benoit Blanchon
057956225c
Add namespace StringStoragePolicy
2022-10-26 10:41:42 +02:00
Benoit Blanchon
b27990f780
Attach copy policy to string adapters
2022-10-26 10:37:18 +02:00
Benoit Blanchon
61c6f8ba59
CI : update macOS runner
2022-10-21 17:40:52 +02:00
Benoit Blanchon
d8d37ba7ad
CI: update deprecated actions
2022-10-21 17:37:15 +02:00
Benoit Blanchon
92d6bae25c
Remove ArrayIterator::internal() and ObjectIterator::internal()
2022-10-14 18:11:55 +02:00
Benoit Blanchon
6e17c3e6f9
Extract VariantRefBase from VariantProxy
2022-10-03 19:14:05 +02:00
Benoit Blanchon
8ee67b0229
Fix brew: command not found ( actions/runner-images#6283 )
2022-10-03 09:54:48 +02:00
Benoit Blanchon
07b9153ae4
CI: Add CodeQL
2022-09-22 10:05:55 +02:00
Benoit Blanchon
abfcac4674
README: bigger logo on mobile
2022-09-20 17:01:47 +02:00
Benoit Blanchon
cde8cd50f8
VSCode: configure include path
2022-09-20 16:55:43 +02:00
Benoit Blanchon
cf4436e581
Extract VariantProxy from ElementProxy and MemberProxy
2022-08-30 10:25:03 +02:00
Benoit Blanchon
2b6bb78a09
Don't call operator VariantConstRef in VariantComparer
2022-08-30 10:25:03 +02:00
Benoit Blanchon
ffa7f8d22d
Make MemberProxy and `ElementProxy similar
2022-08-30 10:25:03 +02:00
Andrii Pereverziev
f73be9cf0f
Fix typo.
...
DeserializationOpion --> DeserializationOption
2022-08-10 09:06:45 +02:00
Benoit Blanchon
8002722f3b
Clang-format: set DerivePointerAlignment to false
2022-08-09 16:52:17 +02:00
Benoit Blanchon
62e83133cd
Remove JsonDocument::data() and JsonDocument::memoryPool()
2022-08-09 10:38:36 +02:00
Benoit Blanchon
1d21027e2a
Fix lax parsing of true, false, and null ( fixes #1781 )
2022-08-06 09:15:07 +02:00
Benoit Blanchon
5705247e5f
Fix replacement for getOrAddElement() and getOrAddMember()
2022-08-04 10:47:02 +02:00
Benoit Blanchon
dde9e9fc26
Remove member MsgPackDeserializer::_error
...
This reduces the code size by 54 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon
a6da4ad452
Remove member JsonDeserializer::_error
...
This reduces the code size by 72 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon
e2a29eef24
CI: simplify Ubuntu package sources
2022-07-29 11:31:09 +02:00
Benoit Blanchon
043ee651a9
CI: remove dependency on Ubuntu 21.04 "The Hirsute Hippo"
2022-07-29 11:30:47 +02:00
Benoit Blanchon
84b7037b3e
Add VariantAttorney
2022-07-07 14:32:43 +02:00
Benoit Blanchon
c5838a876b
Remove getElement(), getOrAddElement(), getMember(), and getOrAddMember()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
750cd0be92
Add collectionToVariant()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
758580bfb6
Rename addElement() to add()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
04872b6db8
Simplify ProgmemExample.ino and StringExample.ino
2022-07-07 14:32:41 +02:00
Benoit Blanchon
58c7c919f2
Remove unused arrayAccept() and objectAccept()
2022-07-07 09:44:58 +02:00
Benoit Blanchon
cd8373ad32
Change link() to shallowCopy() (issue #1343 )
...
Instead of storing a pointer, the function copies the `VariantData`.
Benefits:
* smaller code
* no impact on programs that don't use this feature
Drawbacks:
* changes to the original variant are not always reflected on the copy
* modifying the original from the shallow copy leads to UB
2022-07-05 17:07:43 +02:00
Benoit Blanchon
3b3ab8c4e1
Inline variantAsArray() and variantAsObject()
2022-07-05 14:02:41 +02:00
Benoit Blanchon
5b06b1564e
Remove undocumented accept() functions
2022-07-03 17:38:03 +02:00
Benoit Blanchon
77b4270d97
Remove Visitable
2022-07-03 15:37:08 +02:00
Benoit Blanchon
7c2ca773ff
README: update Tech Explorations's link
2022-06-10 12:12:26 +02:00
Benoit Blanchon
e2bb2cec7b
Fix comparison operators for JsonObject and JsonObjectConst
2022-06-10 11:14:59 +02:00
Benoit Blanchon
ff4e837df5
Fix comparison operators for JsonArray and JsonArrayConst
2022-06-09 21:06:32 +02:00
Benoit Blanchon
fb904033d3
Replace serializeJson()'s template parameter with JsonVariantConst
2022-06-02 20:36:32 +02:00
Benoit Blanchon
e6cd16aec4
Add missing const specifiers in serializers
2022-05-23 19:20:15 +02:00
Benoit Blanchon
ee74c3bb1c
Inline variantAccept()
2022-05-23 19:17:18 +02:00
Benoit Blanchon
37faa7ce13
Merge definitions of VariantConstRef::accept() and VariantRef::accept()
2022-05-23 19:11:09 +02:00
Benoit Blanchon
3d6c328a4f
Add JsonVariant::link() ( resolves #1343 )
2022-04-27 15:08:13 +02:00
Benoit Blanchon
5577d18377
JsonVariant: add tests for size()
2022-04-27 15:08:13 +02:00
Benoit Blanchon
1d103a1528
MemberProxy: move tests for createNestedArray() and createNestedObject()
2022-04-27 15:07:26 +02:00
Benoit Blanchon
7b19a4b6e7
Add getMemberConst() and getElementConst()
2022-04-27 15:07:26 +02:00
Benoit Blanchon
ac1d29fac0
Add meta function ConverterNeedsWriteableRef<T>
2022-04-27 15:07:26 +02:00
Benoit Blanchon
98037e5742
Move several functions from VariantImpl.hpp to VariantRef.hpp
2022-04-27 15:07:26 +02:00
Benoit Blanchon
d0e3808dd0
Move declaration of VariantConstRef above VariantRef
2022-04-27 15:07:25 +02:00
Benoit Blanchon
3760a643cb
Implement comparison out of VariantData
2022-04-27 15:07:25 +02:00
Benoit Blanchon
fc9d8aa31e
Implement nesting() out of VariantData
2022-04-07 21:11:31 +02:00
Benoit Blanchon
ccfbb5fd1d
Fix 9.22337e+18 outside range of representable values of type 'long'
2022-04-07 20:59:20 +02:00
Benoit Blanchon
c9fbc5e40a
README: remove utm_source/utm_medium to make links more readable ( #1735 )
2022-04-07 18:49:39 +02:00
Benoit Blanchon
67b6797b6d
Set version to 6.19.4
2022-04-05 10:53:11 +02:00
Benoit Blanchon
8d9504239b
Fix comparisons operators with const JsonDocument&
2022-04-05 10:12:17 +02:00
Benoit Blanchon
bf5d0c790c
Add implicit conversion from JsonDocument to JsonVariant
2022-03-23 17:17:35 +01:00
Benoit Blanchon
f4379f97ae
Format code with clang-format
2022-03-23 17:17:35 +01:00
Benoit Blanchon
3dc67c5663
Add memoryUsage() to ElementProxy and MemberProxy ( fixes #1730 )
2022-03-19 12:11:40 +01:00
Benoit Blanchon
47f90b02c3
CI: run apt-get update before installing g++-multilib
2022-03-09 08:33:26 +01:00
Benoit Blanchon
27c924746b
CI: run apt-get update before installing valgrind
2022-03-08 19:09:56 +01:00
Benoit Blanchon
7abf875071
Set version to 6.19.3
2022-03-08 17:24:14 +01:00
Benoit Blanchon
e3e375f5cd
MessagePack: serialize round floats as integers ( fixes #1718 )
2022-02-28 19:38:26 +01:00
Benoit Blanchon
ff06292d74
Fix -Wsign-conversion -funsigned-char ( fixes #1715 )
2022-02-28 10:00:12 +01:00
Benoit Blanchon
c1278797f2
CI: use -funsigned-char in one GCC build (issue #1715 )
2022-02-28 09:50:32 +01: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
986f77fa15
Tests: link with -static on MinGW
2022-02-25 10:28:22 +01:00
Benoit Blanchon
f831ed395d
Fix JsonString operator == and != for non-zero-terminated string
2022-02-17 17:33:16 +01:00
Benoit Blanchon
a880614a75
Fix call of overloaded 'String(const char*, int)' is ambiguous
2022-02-17 17:33:16 +01:00
Benoit Blanchon
ef8379df1b
Set version to 6.19.2
2022-02-14 09:06:06 +01:00
Benoit Blanchon
702f8c2e2f
Fix cannot convert 'pgm_p' to 'const void*' ( fixes #1707 )
2022-02-06 11:14:23 +01:00
Benoit Blanchon
6806393285
Wandbox: update compiler version
2022-01-14 09:23:12 +01:00
Benoit Blanchon
dea8387586
Publish script: don't stop if wandbox fails
2022-01-14 09:22:55 +01:00
Benoit Blanchon
6ea2815341
Set version to 6.19.1
2022-01-14 08:49:57 +01:00
Benoit Blanchon
3c145f1782
Add assertions to comfort Clang-Tidy
2022-01-13 20:25:49 +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
4f6244eef4
Replace CopiedString and LinkedString with JsonString
2022-01-13 16:15:53 +01:00
Benoit Blanchon
973858b835
Remove unused CopiedString in MemoryPool
2022-01-13 16:10:42 +01:00
Benoit Blanchon
ee12155617
Fix crash when adding an object member in a too small JsonDocument
2022-01-13 11:52:45 +01:00
Benoit Blanchon
4b4c68df5f
Changelog: remove empty line
2022-01-13 11:52:45 +01:00
Benoit Blanchon
fcae33d574
Publish script: fix change log extraction code
2022-01-08 17:59:07 +01:00
Benoit Blanchon
896f50eeb9
Publish script: check that all required commands are available
2022-01-08 16:40:21 +01:00
Benoit Blanchon
9693fd2d74
Set version to 6.19.0
2022-01-08 16:21:29 +01:00
Benoit Blanchon
37f1c87338
Publish script: check that all changes are committed
2022-01-08 16:21:09 +01:00
Benoit Blanchon
4977de38fc
Remove .devcontainer/
2022-01-05 12:08:30 +01:00
Benoit Blanchon
9f4750637b
Add PlatformIO badge to README
2022-01-05 12:08:18 +01:00
Benoit Blanchon
0c65e13aa3
Add LGTM grade badge to README
2022-01-02 10:12:13 +01:00
Benoit Blanchon
af18994deb
Update copyright notice
2022-01-01 10:01:05 +01:00
Benoit Blanchon
8f9599cd19
Format appveyor.yml
2022-01-01 10:01:05 +01:00
Benoit Blanchon
78660c6e07
Fix support of long long in catch
2022-01-01 10:01:05 +01:00
Benoit Blanchon
4f786db82d
CI: build on multiple versions of MinGW
2022-01-01 09:51:05 +01:00
Benoit Blanchon
ad7b749dec
CI: build with arduino-cli
2021-12-31 14:39:39 +01:00
Benoit Blanchon
29ba744d64
Add a polyfill for pgm_read_ptr() (issue #1433 )
2021-12-31 14:39:38 +01:00
Benoit Blanchon
a2e1021d7d
Use pgm_read_dword() instead of pgm_read_float() (issue #1433 )
2021-12-31 14:39:38 +01:00
Benoit Blanchon
d20c3c65c8
Add a polyfill for pgm_read_dword() (issue #1433 )
2021-12-31 14:39:38 +01:00
Benoit Blanchon
8f029e6096
Fix Visual Studio command line error D9025
...
https://stackoverflow.com/a/58711983/1164966
2021-12-31 14:39:38 +01:00
Benoit Blanchon
91ed68b4a6
Fix conflicting definition of ARDUINOJSON_DEFINE_STATIC_ARRAY()
2021-12-31 14:39:38 +01:00
Benoit Blanchon
67fc2d9897
Assume PROGMEM is available as soon as ARDUINO is defined ( #1693 )
2021-12-31 11:00:50 +01:00
Benoit Blanchon
055304bf01
Ignore Visual Studio's /out/ folder
2021-12-29 10:23:15 +01:00
Benoit Blanchon
c2800ace32
Include Arduino.h before stdlib.h to avoid conflict ( closes #1693 )
2021-12-27 13:16:24 +01:00
Paulo Cabral Sanz
ec7ffa20f2
Avoid Arduino.h when all its features are disabled ( fixes #1692 )
2021-12-27 13:16:24 +01:00
Benoit Blanchon
ada1f2a894
Add support for char[][] in copyArray()
2021-12-20 17:51:44 +01:00
Benoit Blanchon
184a7c4fbd
Add support for arbitrary array rank in copyArray()
2021-12-20 17:51:27 +01:00
Benoit Blanchon
84e9447f12
Remove redundant copy constructor of AllocatorOwner
2021-12-19 14:08:19 +01:00
Benoit Blanchon
ca073fda46
Remove version 5 from change log
2021-12-16 14:56:28 +01:00
Benoit Blanchon
0f529a3587
Renamed undocumented function isUndefined() to isUnbound()
2021-12-16 14:55:26 +01:00
Benoit Blanchon
e16767af92
Avoid pool reallocation in BasicJsonDocument's copy assignment
2021-12-16 14:42:54 +01:00
Benoit Blanchon
3166356484
Test capacity after calling BasicJsonDocument's copy assignment
2021-12-16 14:28:30 +01:00
Benoit Blanchon
abdd9d81db
Reorder lines in changelog
2021-12-14 10:42:01 +01:00
Benoit Blanchon
3bf47761c8
Fix return type of StaticJsonDocument::operator=
2021-12-14 10:41:25 +01:00
Benoit Blanchon
f39d8f548f
CI: Add Visual Studio 2022
2021-12-12 15:48:51 +01:00
Benoit Blanchon
90d750e4d9
Increase coverage
2021-12-07 16:08:44 +01:00
Benoit Blanchon
ca24ed48f5
Separate string adapter from storage policy
2021-12-07 16:08:44 +01:00
Benoit Blanchon
51937778dd
Add operator<<(std::ostream&, const JsonString&)
2021-12-07 16:08:44 +01:00
Benoit Blanchon
be70f6ddd7
Support NUL inside string values (issue #1646 )
2021-12-07 16:08:44 +01:00
Benoit Blanchon
a27398e445
Check for NUL terminator in MemoryPool::findString()
2021-11-24 19:06:49 +01:00
Benoit Blanchon
43b2e2e774
Append terminator in saveStringFromFreeZone()
2021-11-24 19:06:49 +01:00
Benoit Blanchon
62f9b94ab1
Add CopiedString and LinkedString
2021-11-24 19:06:49 +01:00
Benoit Blanchon
b06bbd9d2a
Fix inconsistent pool size in BasicJsonDocument's copy constructor
2021-11-23 10:49:35 +01:00
Benoit Blanchon
2df1bc7d4f
Fix call of overloaded 'swap(...)' is ambiguous ( fixes #1678 )
2021-11-23 10:47:31 +01:00
Benoit Blanchon
599e927590
Fix JsonVariant::memoryUsage() for raw strings
2021-11-12 16:55:41 +01:00
Benoit Blanchon
0429016ff1
Remove IsWriteableString
2021-11-12 15:28:33 +01:00
Benoit Blanchon
bd42b9638a
README: add sponsors section
2021-11-11 09:45:59 +01:00
Benoit Blanchon
b1a826b03a
README: remove empty lines between the badges
2021-11-11 09:23:58 +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
a7873389c6
Change VariantData::asString() return type to JsonString
2021-10-24 09:58:39 +02:00
Benoit Blanchon
acfa174333
Add safe bool idiom in JsonString
2021-10-24 09:58:39 +02:00
Benoit Blanchon
8418845c8d
Add is<JsonString>()
2021-10-24 09:58:39 +02:00
Benoit Blanchon
df4a4b9e1d
Add as<JsonString>()
2021-10-24 09:58:13 +02:00
Benoit Blanchon
7f5497db55
VSCode: exclude catch/ from search
2021-10-22 14:11:50 +02:00
Benoit Blanchon
e4658e963f
Change the default of ARDUINOJSON_USE_LONG_LONG to 1 on 32-bit platforms
2021-10-19 22:25:45 +02:00
Benoit Blanchon
7764515f56
Change the default of ARDUINOJSON_USE_DOUBLE to 1
2021-10-19 22:25:45 +02:00
Benoit Blanchon
7046c38c84
Remove ARDUINOJSON_EMBEDDED_MODE
2021-10-19 22:25:45 +02:00
Benoit Blanchon
9e9bb30a57
CI: Test ArduinoJson's configuration
2021-10-19 15:36:32 +02:00
Benoit Blanchon
41d1be24cc
Update GitHub issue templates
2021-10-11 15:20:14 +02:00
Benoit Blanchon
7d3b475e24
Update the README
2021-10-11 15:17:36 +02:00
Benoit Blanchon
f82a227da6
Set version to 6.18.5
2021-09-28 17:18:44 +02:00
Benoit Blanchon
fcd8159617
Set ARDUINOJSON_EMBEDDED_MODE to 1 on Nios II ( closes #1657 )
2021-09-28 15:58:18 +02:00
Benoit Blanchon
f51ccb5c3f
README: added link to Discord server
2021-09-21 16:20:52 +02:00
Benoit Blanchon
e0cd5b6405
Increased test coverage
2021-09-12 10:13:12 +02:00
Benoit Blanchon
6a71f31820
Set version to 6.18.4
2021-09-06 09:11:22 +02:00
Benoit Blanchon
3428ab1e89
Added a comment to easily diagnose issue #1648
2021-09-03 08:31:51 +02:00
Benoit Blanchon
956e4a7cbb
Fixed deserialization of \u0000 (issue #1646 )
2021-08-31 14:23:58 +02:00
Benoit Blanchon
669bad27d4
CI: added a workaround for adafruit/Adafruit_nRF52_Arduino#653
2021-08-22 18:01:56 +02:00
Benoit Blanchon
2c3ae1c181
Filter: exact match takes precedence over wildcard ( fixes #1628 )
2021-08-13 10:35:15 +02:00
Benoit Blanchon
f570fe8c37
Fixed error expected unqualified-id on GCC 11 ( fixes #1622 )
2021-08-03 11:39:18 +02:00
Benoit Blanchon
1b74ad0731
Fixed error 'dummy' may be used uninitialized on GCC 11
2021-08-03 11:39:07 +02:00
Benoit Blanchon
6717700d3b
CI: added GCC 11
2021-08-03 10:42:37 +02:00
Benoit Blanchon
b810833145
Set version to 6.18.3
2021-07-27 15:44:36 +02:00
Benoit Blanchon
9d58e566fd
Added as<std::string_view>() and is<std::string_view>()
2021-07-27 14:16:39 +02:00
Benoit Blanchon
6632fa8da1
Removed StringAdapter::equals()
2021-07-27 14:16:39 +02:00
Benoit Blanchon
5790f3c8f7
Refactored string adapters: only one IsString<T> and adaptString()
2021-07-27 14:16:18 +02:00
Benoit Blanchon
4073b52c00
Changed return type of convertToJson() and Converter::toJson() to void
2021-07-23 15:11:48 +02:00
Benoit Blanchon
f5c7a6478e
Publish script: fixed frontmatter for arduinojson.org
2021-07-19 10:19:04 +02:00
Benoit Blanchon
ebf58320ca
Set version to 6.18.2
2021-07-19 10:11:21 +02:00
Benoit Blanchon
09ddb0f824
Publish script: generate the file for arduinojson.org
2021-07-19 09:58:01 +02:00
Benoit Blanchon
f02a699c26
CI: added a workflow to create a release when matching tag is pushed
2021-07-16 11:06:50 +02:00
Benoit Blanchon
67d0931c19
Added parameters to script build-arduino-package.sh
2021-07-16 09:35:32 +02:00
Benoit Blanchon
19d079c33c
Removed a symlink because the Arduino Library Specification forbids it
2021-07-15 12:50:22 +02:00
Benoit Blanchon
40723a4cc7
CI: check that the repository doesn't contain any symlink
...
The Arduino Library Specification forbids symlinks, that's probably the reason why version 6.18.1 is missing from the Library Manager.
2021-07-15 12:50:22 +02:00
Benoit Blanchon
8a9a26588c
Fixed publish script
2021-07-03 16:08:36 +02:00
Benoit Blanchon
219475630a
Set version to 6.18.1
2021-07-03 16:03:01 +02:00
Andreas Kuster
52e856fa6f
CI: added ESP-IDF component build ( closes #1599 )
2021-06-30 13:34:59 +02:00
baruch
cb2c029e57
Added support for ESP-IDF component build ( closes #1562 )
2021-06-30 10:29:28 +02:00
Benoit Blanchon
ef7579394b
Fixed JsonVariant::as<unsigned>() ( fixes #1601 )
2021-06-30 09:58:03 +02:00
Benoit Blanchon
fc4f175300
CI: fixed ARM compiler installation
2021-06-28 09:10:15 +02:00
Benoit Blanchon
a6fc9311b4
Added JsonArray::clear() ( fixes #1597 )
2021-06-26 11:29: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
9182c2068d
Fixed build-single-header.sh ( fixes #1592 )
2021-06-21 16:11:02 +02:00
Benoit Blanchon
cb1b3be723
CI: build single headers
2021-06-21 16:11:02 +02:00
Benoit Blanchon
5ccd62a789
Updated the readme
2021-06-18 11:39:00 +02:00
Benoit Blanchon
145d45c746
Fixed warning on Clang 10
2021-06-17 20:41:04 +02:00
Benoit Blanchon
f235157466
Added support for std::string_view ( closes #1578 , closes #1554 )
2021-06-17 20:41:04 +02:00
Benoit Blanchon
ba5cdab619
Test: extracted executable Cpp11Tests
2021-06-17 20:28:09 +02:00
Benoit Blanchon
eab5ae2f07
Simplified string adapters
2021-06-16 21:08:05 +02:00
Benoit Blanchon
2f0b3c0e63
VSCode: added devcontainer configuration
2021-06-16 21:08:05 +02:00
Benoit Blanchon
4e261068a1
clang-format: set IndentPPDirectives to AfterHash
2021-06-16 21:08:01 +02:00
Benoit Blanchon
1d24caf066
Added InvalidConversion to identify invalid conversions ( closes #1585 )
2021-06-11 11:54:52 +02:00
Benoit Blanchon
dc76c5165f
Fixed clang-tidy warnings ( fixes #1574 )
2021-06-04 12:00:33 +02:00
Benoit Blanchon
de11b36a98
clang-tidy: muted "uninitialized pointer/field" in StringCopier
2021-06-04 11:38:21 +02:00
Benoit Blanchon
c4a4ed5272
clang-tidy: muted "uninitialized field" in Latch
2021-06-04 11:37:07 +02:00
Benoit Blanchon
a24edac5a9
clang-tidy: muted "use of memory after it is freed" in MemoryPool
2021-06-04 11:37:07 +02:00
Benoit Blanchon
9dbf44388d
clang-tidy: muted "call to function is insecure" in tests
2021-06-04 11:37:07 +02:00
Benoit Blanchon
6b8e93e05e
clang-tidy: fixed "uninitialized field" in VariantData
2021-06-04 11:36:20 +02:00
Benoit Blanchon
6b5239b9d5
clang-tidy: removed unused field
2021-06-04 11:16:24 +02:00
Benoit Blanchon
214c06b771
clang-tidy: fixed clang-analyzer-optin.cplusplus.UninitializedObject
2021-06-04 11:16:17 +02:00
Armandas
e32a8552be
CI: added clang-tidy ( closes #1577 )
2021-06-04 11:00:16 +02:00
Benoit Blanchon
9bcb409648
Fixed serializeJson(doc, String) when allocation fails ( fixes #1572 )
2021-05-30 21:34:07 +02:00
Benoit Blanchon
3b10afd2ab
CI: test more platforms on PlatformIO
2021-05-30 18:45:40 +02:00
Benoit Blanchon
af3bb131c8
Fixed error Pe070 "incomplete type is not allowed" on IAR ( fixes #1560 )
2021-05-19 15:07:59 +02:00
Benoit Blanchon
622e7dd287
Fixed support for volatile float and double ( fixes #1557 )
2021-05-19 15:01:51 +02:00
Benoit Blanchon
68082e6fc1
CI: use libc++ for Clang 3.5 to 4.0
...
The fixes the error: "__STRICT_ANSI__ seems to have been undefined; this is not supported" with Clang 3.9
2021-05-17 09:06:28 +02:00
Benoit Blanchon
36bcc7b355
Set version to 6.18.0
2021-05-05 20:41:35 +02:00
Benoit Blanchon
c7c0b729c1
Added a deprecation warning for is<char>() and is<char*>()
2021-05-05 15:43:02 +02:00
Benoit Blanchon
6aeefda3b6
CI: Skip WillFail and Fuzzing test labels when measuring coverage
2021-05-04 16:36:21 +02:00
Benoit Blanchon
4780174ee1
Added a deprecation warning for as<char>() and set(char)
2021-05-04 16:10:50 +02:00
Benoit Blanchon
ab23625091
Renamed DEPRECATED to ARDUINOJSON_DEPRECATED
2021-05-04 14:44:07 +02:00
Kyle Smith
a88cf8fab7
PlatformIO: set build.libArchive to false ( closes #1550 )
2021-05-03 08:55:20 +02:00
Benoit Blanchon
2be528a3fa
serializeMsgPack(doc, p, n) doesn't add terminator anymore ( fixes #1545 )
2021-04-29 20:59:15 +02:00
Benoit Blanchon
337864618c
Reversed parameters of convertToJson() and convertFromJson()
...
Now the order matches copyArray(): source first, destination second.
2021-04-28 10:25:39 +02:00
Benoit Blanchon
526cad54d7
VSCode: insert final new line
2021-04-27 18:25:42 +02:00
Benoit Blanchon
506cf7f438
Added .prettierignore
2021-04-27 18:25:42 +02:00
Benoit Blanchon
4b89878c10
Added a deprecation warning for as<char*>()
2021-04-27 18:25:42 +02:00
Benoit Blanchon
06fad301cb
CI: added Valgrind job ( closes #1542 )
2021-04-25 20:58:22 +02:00
Benoit Blanchon
7be0c2c650
CMake: added labels to tests
2021-04-25 11:38:19 +02:00
Benoit Blanchon
43f0db45ad
Updated Catch library to 1.12.2
2021-04-22 08:54:16 +02:00
Benoit Blanchon
892c37db08
Optimized JsonVariant::is<float>()
2021-04-21 13:21:40 +02:00
Benoit Blanchon
d8a1d1a120
Increased coverage of ConverterImpl.hpp
2021-04-18 17:23:51 +02:00
Benoit Blanchon
64e52e97ee
Removed redundant range check in MemoryPoolPrint
2021-04-18 16:47:28 +02:00
Benoit Blanchon
2a777a659a
Fixed reference-binding-to-null-pointer in MsgPack deserializer
2021-04-15 14:56:59 +02:00
Benoit Blanchon
898f429826
Fixed member-call-on-null-pointer in getMember() when array is empty
2021-04-15 14:56:59 +02:00
Benoit Blanchon
88fbe3ac34
Fixed undefined behavior in JSON serializer
2021-04-15 14:56:59 +02:00
Benoit Blanchon
4ddc674846
CI: fixed sanitizers errors not been reported
2021-04-15 11:11:50 +02:00
Benoit Blanchon
fc4f5fd05f
Changed integer storage from positive/negative to signed/unsigned
2021-04-14 11:45:01 +02:00
Benoit Blanchon
a002393716
Replaced donation link
2021-04-14 11:45:01 +02:00
Benoit Blanchon
a889f6560c
Added VSCode settings
2021-04-14 11:43:51 +02:00
Benoit Blanchon
4db17ecd93
CI: format YAML file with Prettier
2021-04-08 09:46:01 +02:00
Benoit Blanchon
2a57f2b365
CI: fix installation of GCC and Clang
2021-04-08 09:45:04 +02:00
George Beckstein
803e07c188
Updated folders list in .mbedignore ( closes #1515 )
2021-03-31 09:58:51 +02:00
Benoit Blanchon
ff44d93e68
Removed buggy blank line in CHANGELOG
2021-03-29 19:35:25 +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
c81e8fc93a
README: added a link to ARDUINOJSON_ENABLE_ARDUINO_STREAM
2021-03-29 18:10:00 +02:00
Benoit Blanchon
347ac422f4
Added support for Printable ( closes #1444 )
2021-03-27 14:35:15 +01:00
Benoit Blanchon
d7f5b56ca4
Added support for custom converters ( closes #687 )
2021-03-20 14:52:47 +01:00
Benoit Blanchon
53d6f0d492
CI: Fixed build on Arduino 1.6.7
2021-03-19 11:50:29 +01:00
Benoit Blanchon
e4ce75e20c
Simplified JsonVariant::as<T>() to always return T
2021-03-08 19:33:52 +01:00
Benoit Blanchon
9094179856
CI: added a clang-format job
2021-02-26 13:13:11 +01:00
Benoit Blanchon
3aab36fec2
Changed JsonVariantConst::is<JsonArray/JsonObject>() to return false ( closes #1412 )
2021-02-25 19:19:23 +01:00
Benoit Blanchon
744d61f6fd
Added JsonVariant::is<JsonVariant/JsonVariantConst>() (issue #1412 )
2021-02-23 08:41:24 +01:00
Benoit Blanchon
05498aa178
Added JsonVariant::is<JsonVariant>() (issue #1412 )
2021-02-23 08:39:58 +01:00
Benoit Blanchon
b1eb273d5b
Added JsonVariant::is<JsonArrayConst/JsonObjectConst>() (issue #1412 )
2021-02-23 08:33:28 +01:00
Benoit Blanchon
8a3f8510d6
Simplified tests of JsonVariant::is<T>()
2021-02-23 08:27:48 +01:00
Benoit Blanchon
22904a48a6
Added a default implementation in the Visitor class
2021-02-21 13:37:07 +01:00
Benoit Blanchon
1730304f46
Funding: added paypal.me
2021-02-21 12:24:46 +01:00
Benoit Blanchon
1038fc35df
Removed DeserializationError::NotSupported
2021-02-18 19:41:15 +01:00
Benoit Blanchon
71f44aaee1
deserializeMsgPack() inserts null instead of returning NotSupported
2021-02-18 19:40:25 +01:00
Benoit Blanchon
cc7ebfd11e
deserializeJson() leaves \uXXXX instead of returning NotSupported
2021-02-18 19:40:11 +01:00
Benoit Blanchon
54d4b308f4
Remove JsonVariant::set(char)
2021-02-18 08:48:28 +01:00
Benoit Blanchon
5234c8124b
Removed JsonVariant::as<char>() ( fixes #1498 )
2021-02-18 08:48:10 +01:00
Benoit Blanchon
e22d4bf31f
Set version to 6.17.3
2021-02-15 09:53:10 +01:00
Benoit Blanchon
21f7b90f03
PlatformIO: set framework compatibility to * ( closes #1490 )
2021-02-15 09:49:56 +01:00
Benoit Blanchon
769e8440f5
CI: skip Particle job for Pull Requests
2021-02-05 13:00:56 +01:00
Benoit Blanchon
33de2b6cf3
Added GitHub sponsors
2021-02-05 12:03:50 +01:00
Benoit Blanchon
3975b07371
Moved CI from Travis to GitHub Actions ( fixes #1493 )
2021-02-03 21:33:18 +01:00
Benoit Blanchon
abd64102aa
Fixed compilation error on Clang 10
2021-02-03 12:56:26 +01:00
Benoit Blanchon
d2174d1580
Fixed compilation error when isdigit() is a macro ( fixes #1487 )
2021-02-02 10:08:10 +01:00
Benoit Blanchon
c72eccdd35
Added missing calls to client.stop() in JsonHttpClient.ino ( fixes #1485 )
2021-02-01 09:16:23 +01:00
Benoit Blanchon
ab902128dc
Upgrade to Lock Threads 2
2021-01-31 11:00:05 +01:00
Benoit Blanchon
c70a491f59
Made JsonDocument's destructor protected ( fixes #1480 )
2021-01-27 10:00:10 +01:00
Benoit Blanchon
322d13de0d
Examples: add a note about performance issues with streams ( #1476 )
2021-01-25 09:26:29 +01:00
Benoit Blanchon
97b7161d78
Update copyright notice for 2021
2021-01-25 09:14:15 +01:00
Benoit Blanchon
1360b6a396
Set version to 6.17.2
2020-11-14 10:38:21 +01:00
Benoit Blanchon
16e51b83ab
Changed the default value of ARDUINOJSON_ENABLE_PROGMEM ( fixes #1433 )
...
It now checks that the pgm_read_XXX macros are defined before enabling PROGMEM.
2020-11-10 14:58:31 +01:00
Benoit Blanchon
aa7cc5351c
Travis: added smoke test for Particle Argon
2020-11-10 14:46:45 +01:00
Benoit Blanchon
30da920135
Fixed invalid conversion in operator|(Variant, char*) ( fixes #1432 )
2020-11-09 09:21:19 +01:00
Benoit Blanchon
bcdf5b7e52
Set version to 6.17.1
2020-11-07 10:11:41 +01:00
Benoit Blanchon
c711fe592d
Allowed more than 32767 values in non-embedded mode ( fixes #1414 )
2020-10-28 09:59:40 +01:00
Benoit Blanchon
9d5c1b3742
Added an assert to detect too large variants (issue #1414 )
2020-10-24 09:39:03 +02:00
Takayuki 'January June' Suwa
6b26cd0977
Add JsonDocument to keywords.txt
...
see #1413
2020-10-24 09:37:16 +02:00
Benoit Blanchon
10ec0f21b0
Fixed operator|(MemberProxy, JsonObject) ( fixes #1415 )
2020-10-23 10:48:33 +02:00
Benoit Blanchon
ff66182dc6
Gathered the tests of MemberProxy in one file
2020-10-22 09:37:05 +02:00
Benoit Blanchon
d02ce2f1bb
Gathered the tests of ElementProxy in one file
2020-10-22 09:37:05 +02:00
Benoit Blanchon
2664a2d0da
Fixed error "ambiguous overload for operator|" ( fixes #1411 )
2020-10-22 09:30:31 +02:00
Benoit Blanchon
1f7350658e
Set version to 6.17.0
2020-10-19 11:35:09 +02:00
Benoit Blanchon
41132b701b
Fixed error "no matching function for pgm_read<double>()" on AVR
2020-10-17 14:02:26 +02:00
Benoit Blanchon
712005219c
Added filtering for MessagePack ( closes #1298 , closes #1394 )
2020-10-13 09:40:39 +02:00
Benoit Blanchon
0bd17aff8a
Coverage: use -O0 instead of -Og
2020-10-11 15:10:52 +02:00
Benoit Blanchon
f3f44d7812
Renamed StdStringAdapter to StlStringAdapter (internal use only)
2020-10-01 10:01:33 +02:00
Benoit Blanchon
8385d5fa3a
Added wildcard key (*) for filters ( closes #1309 )
2020-09-28 21:11:38 +02:00
Benoit Blanchon
726f8be341
Added operator|(JsonVariantConst, JsonVariantConst)
2020-09-26 14:48:17 +02:00
Benoit Blanchon
fee029b86e
Moved float tables to PROGMEM
2020-09-19 16:12:49 +02:00
Benoit Blanchon
c3504ddf0a
Added tests for DeserializationError::f_str()
2020-09-18 19:06:21 +02:00
Benoit Blanchon
6a878ee444
Fixed error "No such file or directory WString.h" ( fixes #1381 )
2020-09-16 10:29:20 +02:00
Benoit Blanchon
c4ec2ba88f
Added DeserializationError::f_str() (issue #846 )
2020-09-14 18:40:00 +02:00
Benoit Blanchon
c907ca6e5d
Added DeserializationError::EmptyInput
2020-09-13 10:27:29 +02:00
Benoit Blanchon
8993a093e9
Travis: run sanitizer on recent GCC version to avoid false positives
2020-09-13 10:25:34 +02:00
Benoit Blanchon
d04669d0cc
Fixed result of JsonVariant::set((char*)0) ( fixes #1368 )
2020-09-05 17:33:47 +02:00
Benoit Blanchon
05fc136915
Disabled memory sanitizer with clang 6
2020-09-05 13:44:40 +02:00
Benoit Blanchon
8d37939086
Added JsonDocument::overflowed() ( closes #1358 )
2020-09-05 13:44:40 +02:00
Benoit Blanchon
6d2ad4539f
Simplified the implementation of parseNumber()
2020-09-04 09:23:40 +02:00
Benoit Blanchon
5ab53f42b2
Added a return value to visitors
2020-08-29 18:40:27 +02:00
Benoit Blanchon
f448e805e9
Removed dead code
2020-08-25 14:36:14 +02:00
Benoit Blanchon
67aa8efd5a
Added a build failure when nullptr is defined as a macro ( closes #1355 )
2020-08-23 09:31:40 +02:00
Benoit Blanchon
61a5273aea
Set version to 6.16.1
2020-08-04 10:33:38 +02:00
Benoit Blanchon
35a39b8d8f
Fixed deserializeJson() that stopped reading after {} ( fixes #1335 )
2020-08-04 09:52:42 +02:00
Benoit Blanchon
96b6571352
Fixed use-of-uninitialized-value in encodeCodepoint()
2020-08-03 13:44:45 +02:00
Benoit Blanchon
74e7dd053f
Added memory sanitizer to fuzzers
2020-08-03 13:44:45 +02:00
Benoit Blanchon
1f8636d762
Fixed build-arduino-package.sh to ignore .vs/
2020-08-01 15:35:04 +02:00
Benoit Blanchon
e4cfa701d8
Fixed publish.sh to commit CMakeLists.txt
2020-08-01 15:34:27 +02:00
Benoit Blanchon
b85181a6db
Set version to 6.16.0
2020-08-01 15:17:39 +02:00
Benoit Blanchon
6841b80466
Added JsonString::operator!=
2020-07-31 14:02:20 +02:00
Benoit Blanchon
298864bafe
Set ARDUINOJSON_DECODE_UNICODE to 1 by default
2020-07-30 09:49:09 +02:00
Benoit Blanchon
4d7f03836c
Added a test that removes an element during iteration ( #1332 )
2020-07-30 09:20:31 +02:00
Benoit Blanchon
c63eb80b95
Shortened the name of the private namespace using hexadecimal digits
2020-07-30 09:18:08 +02:00
Mikolaj Stawiski
0c0bf80074
Suppress IAR compiler warning.
2020-07-28 10:12:41 +02:00
Benoit Blanchon
144ff3b06e
Updated the change log. Closes #1210 and closes #1314 .
2020-07-26 16:09:03 +02:00
Benoit Blanchon
d6c50c3596
Reduced stack usage when compiled with -Og (issue #1210 )
...
This saves 128 bytes on ESP8266
2020-07-26 14:51:58 +02:00
Benoit Blanchon
51b177ce47
Reduced stack usage when compiled with -Og (issue #1210 )
...
This saves 112 bytes on ESP8266
2020-07-26 12:58:12 +02:00
Benoit Blanchon
824b7a25ca
Reduced stack usage when compiled with -Og (issue #1210 )
...
This saves 96 bytes on ESP8266
2020-07-26 12:25:13 +02:00
Benoit Blanchon
2223d40640
Reduced stack usage when compiler aggressively inlines deserializeJson()
...
This saves 64 bytes on the recursive part.
2020-07-26 12:25:13 +02:00
Benoit Blanchon
4df29fbac1
Fixed "linked" strings incorrectly marked as "owned" ( fixes #1318 )
2020-07-24 22:25:56 +02:00
Benoit Blanchon
6dc36125c2
Added ElementProxy::getOrAddElement() ( fixes #1311 )
2020-07-23 10:58:47 +02:00
Benoit Blanchon
40085609e2
Fixed copyArray() not working with MemberProxy and ElementProxy
2020-07-22 21:08:18 +02:00
Benoit Blanchon
ebb6d80092
Fixed copyArray() not working with String
2020-07-22 20:02:33 +02:00
Benoit Blanchon
764ff2cd53
Added string deduplication ( closes #1303 )
2020-07-21 20:15:31 +02:00
Benoit Blanchon
8ef226bcb8
Travis: Added Clang 9. Removed Xcode 7.3
2020-07-15 15:27:39 +02:00
Benoit Blanchon
63606c0985
Added json_fuzzer and msgpack_fuzzer in test suite
2020-07-15 12:50:00 +02:00
Benoit Blanchon
1600d39693
Refactored StringBuilder into StringStorage
2020-07-11 17:51:45 +02:00
Benoit Blanchon
04c59985a1
Inverted dependency between MemoryPool and string adapters.
...
Inserted a null after each raw string in the pool.
2020-07-08 09:38:27 +02:00
Benoit Blanchon
7e58347fbe
Added comparisons between JsonVariants
2020-07-02 15:28:34 +02:00
Benoit Blanchon
0e794a28a1
Simplified implementation of comparison operators
2020-06-13 15:42:04 +02:00
Benoit Blanchon
6fb52c3638
Set version to 6.15.2
2020-05-15 09:26:25 +02:00
Benoit Blanchon
b72ef09451
Fixed publish script
2020-05-15 09:26:06 +02:00
Benoit Blanchon
f7de027617
Break build if using 64-bit integers with ARDUINOJSON_USE_LONG_LONG==0
2020-05-14 10:25:10 +02:00
Benoit Blanchon
bc4c2dde33
Moved failing builds to a dedicated folder
2020-05-12 18:11:55 +02:00
Benoit Blanchon
95f05dad66
Added JsonVariant as an input type for deserializeXxx()
2020-05-05 13:16:32 +02:00
Benoit Blanchon
3bb0a7aa8e
Added support for enums in as<T>() and is<T>() ( fixes #1256 )
2020-05-04 11:13:06 +02:00
Benoit Blanchon
dcf7eeef28
CMake: used link_libraries() instead of target_link_libraries()
2020-05-03 10:25:38 +02:00
Benoit Blanchon
3b923b6e4e
Added support for JsonDocument to copyArray() (issue #1255 )
2020-05-02 10:00:08 +02:00
Benoit Blanchon
8050f7404b
CMake: gathered all build flags in a dedicated file
2020-04-28 16:02:59 +02:00
Benoit Blanchon
959b1d9e4c
Fixed error C2766 with flag /Zc:__cplusplus on VS2017+ ( fixes #1250 )
2020-04-28 16:02:38 +02:00
Benoit Blanchon
daa279d57b
CMake: made project arch-independent
2020-04-11 18:49:28 +02:00
Benoit Blanchon
ae9b7926a2
CMake: don't build tests when imported in another project
2020-04-11 18:49:28 +02:00
Benoit Blanchon
1f7a5e6943
Fixed links in README
2020-04-11 11:53:08 +02:00
Benoit Blanchon
9e354803de
Changed publish.sh to update the CMake project version
2020-04-09 21:28:48 +02:00
Benoit Blanchon
3ea5eb3f3a
Set version to 6.15.1
2020-04-08 18:23:27 +02:00
Benoit Blanchon
ec43bf4fe9
Simplified the implementation of implicit casts
2020-04-08 18:18:18 +02:00
Benoit Blanchon
2097ffaabf
Updated README
2020-04-08 11:16:22 +02:00
Benoit Blanchon
67e78f0751
Disabled alignment on AVR ( fixes #1231 )
2020-04-08 11:16:22 +02:00
Benoit Blanchon
1791dccbf2
Added CMake "install" target ( closes #1209 )
2020-04-07 21:43:10 +02:00
Benoit Blanchon
40d1cfe7af
Fixed "pointless integer comparison" warning on IAR (issue #1233 )
2020-04-06 18:20:12 +02:00
Benoit Blanchon
4627f851ca
Fixed "statement is unreachable" warning on IAR (issue #1233 )
2020-04-06 18:19:32 +02:00
Benoit Blanchon
fc9e609ab5
Fixed "maybe-uninitialized" warning ( fixes #1217 )
2020-03-25 08:37:57 +01:00
Benoit Blanchon
8b3d861a9d
Updated README
2020-03-23 13:39:58 +01:00
Benoit Blanchon
9ef864b27c
Fixed markup in changelog
2020-03-23 11:03:30 +01:00
Benoit Blanchon
275b80a462
Updated library description
2020-03-23 11:02:58 +01:00
Benoit Blanchon
763be4f266
Set version to 6.15.0
2020-03-22 21:02:38 +01:00
Benoit Blanchon
5b812522fa
Enabled debug mode when PlatformIO builds in debug
2020-03-20 20:58:08 +01:00
Benoit Blanchon
9cb0ddb5e7
Removed the copy-constructor of JsonDocument (issue #1189 )
2020-03-05 13:46:45 +01:00
Benoit Blanchon
735bea1f47
Added StaticJsonDocument::garbageCollect()
2020-03-02 14:50:16 +01:00
Benoit Blanchon
0853b04589
Changed BasicJsonDocument's copy-constructor to copy the capacity
2020-03-02 12:39:29 +01:00
Benoit Blanchon
c1b3705df1
Added BasicJsonDocument::garbageCollect() (issue #1195 )
2020-03-01 18:01:55 +01:00
Benoit Blanchon
2540b4e01b
Added move-constructor and move-assignment to BasicJsonDocument
2020-03-01 17:24:29 +01:00
Benoit Blanchon
2641697e0b
Fixed incorrect string comparison on some platforms ( fixes #1198 )
2020-02-27 11:44:09 +01:00
Benoit Blanchon
2996503b27
Fixed enums serialized as booleans ( fixes #1197 )
2020-02-26 16:16:20 +01:00
Benoit Blanchon
0214c9bcad
Improved coverage of JsonObject
2020-02-23 13:03:14 +01:00
Benoit Blanchon
a471aed6db
Improved coverage of JsonObject
2020-02-22 14:17:10 +01:00
Benoit Blanchon
af0edecddb
Fixed MemberProxy::set(char[]) not duplicating the string ( fixes #1191 )
2020-02-22 12:06:39 +01:00
Benoit Blanchon
300323cfd7
Improved coverage of JsonArray
2020-02-20 09:18:10 +01:00
Benoit Blanchon
d8724e0a0b
Changed the array subscript to automatically add missing elements
2020-02-20 08:59:25 +01:00
Benoit Blanchon
0001dabfd1
Improved coverage of MemoryPool
2020-02-19 17:27:04 +01:00
Benoit Blanchon
ad78001241
Removed useless null checks
2020-02-19 17:22:23 +01:00
Benoit Blanchon
5a837a591e
Improved coverage of MsgPackDeserializer
2020-02-19 17:14:40 +01:00
Benoit Blanchon
fd79d23910
Updated copyright year
2020-02-19 16:07:34 +01:00
Benoit Blanchon
1902c0ec93
Improved coverage of JsonDeserializer
2020-02-19 10:31:56 +01:00
Benoit Blanchon
85499be855
Added tests for FlashStringAdapter
2020-02-16 17:56:47 +01:00
Benoit Blanchon
e6ddfc7afb
Fixed static JsonString not being saved by reference
2020-02-16 17:34:04 +01:00
Benoit Blanchon
58298ec5ba
Extracted storage_policy to improve coverage in string adapters
2020-02-16 17:34:04 +01:00
Benoit Blanchon
0814fc185f
Added a line-break after each "if" to get more accurate coverage report
2020-02-16 15:05:23 +01:00
Benoit Blanchon
8f8c82d400
Reduced code size
2020-02-13 17:05:08 +01:00
Benoit Blanchon
372b7d3d9d
Exposed JsonPairConst
2020-02-13 16:58:23 +01:00
Benoit Blanchon
fbffadb2cf
Moved nesting decrement logic to class NestingLimit
2020-02-13 16:54:18 +01:00
Benoit Blanchon
6e52f242b2
Extracted the class Latch
...
also fixed a buffer overrun and reduced the code size
2020-02-13 14:53:54 +01:00
Benoit Blanchon
d2a67f362f
Fixed "deprecated-copy" warning on GCC 9 ( fixes #1184 )
2020-02-13 11:07:40 +01:00
Benoit Blanchon
66b12da4e7
Added DeserializationOption::Filter ( closes #959 )
2020-02-12 17:22:42 +01:00
Benoit Blanchon
42b0d6a83d
Set version to 6.14.1
2020-01-27 15:05:36 +01:00
Benoit Blanchon
94b1c75fd2
Added getElement() and getMember() to JsonVariantConst
2020-01-27 12:35:32 +01:00
Benoit Blanchon
b04b549b34
Delete .bak file produced during publish
2020-01-27 12:10:11 +01:00
Benoit Blanchon
09d4b2cd38
Fixed regression in UTF16 decoding ( fixes #1173 )
2020-01-27 12:10:10 +01:00
Benoit Blanchon
ddfe7d8b91
Set version to 6.14.0
2020-01-16 20:48:03 +01:00
Benoit Blanchon
4a657ca87f
Update the features section of the README page
2020-01-16 20:46:25 +01:00
Benoit Blanchon
1e3d478998
Improved speed of serializeXxx() when writing to a String
2020-01-14 14:50:44 +01:00
Benoit Blanchon
3aebef6d0a
Fixed value returned by serializeXxx() when writing to a String
2020-01-14 11:22:44 +01:00
Benoit Blanchon
25879466da
Fixed variant.is<nullptr_t>()
2020-01-13 20:47:43 +01:00
Benoit Blanchon
27ec1afb7a
Configure the "lock-threads" app
2020-01-13 18:23:30 +01:00
Benoit Blanchon
06a0d1a872
Added measureJson, measureJsonPretty, and measureMsgPack to keywords
2020-01-13 18:20:05 +01:00
Benoit Blanchon
04fe7e1a27
Added ARDUINOJSON_ENABLE_COMMENTS to enable support for comments
2020-01-13 18:16:02 +01:00
Benoit Blanchon
f9cfea244a
Updated copyright notice
2020-01-09 15:48:38 +01:00
Benoit Blanchon
5ec062cc71
Reduced Unicode conversion code size (-122 bytes on AVR)
2020-01-09 15:39:45 +01:00
Kay Sievers
91b808381e
Improved decoding of UTF-16 surrogate pairs ( closes #1157 )
2020-01-08 09:55:43 +01:00
Benoit Blanchon
8550418875
Auto enable std::string and stream on modern compilers ( closes #1156 )
2020-01-04 15:05:20 +01:00
Benoit Blanchon
00c391320c
Added support for CMake's unity builds
2019-12-24 16:42:34 +01:00
Benoit Blanchon
9723682d20
AppVeyor: added Visual Studio 2019
2019-12-24 16:10:11 +01:00
Benoit Blanchon
8bf6f6e09f
Added support uint8_t for serializeMsgPack() ( closes #1142 )
2019-12-13 14:15:30 +01:00
Benoit Blanchon
062c1c13b5
Added BasicJsonDocument::shrinkToFit()
2019-11-07 15:40:20 +01:00
Benoit Blanchon
1b8107094f
Set version to 6.13.0
2019-11-01 10:32:45 +01:00
Benoit Blanchon
8721ac88b1
Reorganized writer classes
2019-10-31 19:27:23 +01:00
Benoit Blanchon
6da6f921cd
Fixed dangling reference in MemberProxy and ElementProxy ( fixes #1120 )
2019-10-30 19:09:21 +01:00
Benoit Blanchon
ef63757b1a
Fixed deserializer that stopped reading at the first 0xFF ( closes #1118 )
2019-10-29 14:17:11 +01:00
Benoit Blanchon
3a169df0a5
Added support for custom reader classes
2019-10-25 11:39:04 +02:00
Benoit Blanchon
d4f819f1f0
Added detection of Atmel AVR8/GNU C Compiler ( fixes #1112 )
2019-10-18 22:10:35 +02:00
Benoit Blanchon
16fe3c0acc
Improved deserializeMsgPack() speed by reading several bytes at once
2019-10-14 12:02:26 +02:00
Benoit Blanchon
fd8f4eb3a6
Moved msgpack.org.md to github.com/bblanchon/ArduinoJson-msgpack.org
2019-10-11 09:07:25 +02:00
baruch
b261eca865
esp-idf make system
2019-10-07 09:00:31 +02:00
Benoit Blanchon
a37480eec9
Fixed deserializeJson() when input contains duplicate keys ( fixes #1095 )
2019-09-27 10:07:29 +02:00
Benoit Blanchon
713aaa3d68
Added msgpack.org.md
...
https://github.com/msgpack/website/blob/master/README.md#how-to-list-up-your-project-on-msgpackorg
2019-09-26 09:52:50 +02:00
Benoit Blanchon
7d1d0c4e67
Added conversion from JsonArray/JsonObject to bool
2019-09-24 09:38:00 +02:00
Benoit Blanchon
4ad05dbaef
Replaced GitHub stars badge
2019-09-19 09:28:57 +02:00
Benoit Blanchon
38371aae62
Added OSS-Fuzz badge
2019-09-19 09:28:49 +02:00
Benoit Blanchon
498a2e4c1e
Added support for custom writer classes ( closes #1088 )
2019-09-13 14:10:21 +02:00
Benoit Blanchon
2078871f36
Added missing #include <ArduinoJson/Namespace.hpp>
2019-09-13 12:09:07 +02:00
Benoit Blanchon
140525b7a0
Fix deployment scripts
2019-09-05 09:36:18 +02:00
Benoit Blanchon
1a81d46a97
Set version to 6.12.0
2019-09-05 09:31:06 +02:00
Benoit Blanchon
4c4c4688a9
Fix src/ path in Makefile
2019-09-04 09:13:09 +02:00
Benoit Blanchon
b47ac27ac6
Moved ancillary files to extras/ ( fixes #1011 )
2019-09-03 15:11:05 +02:00
Benoit Blanchon
ed18e77655
Changed as<bool>() to return true for any non-null value ( closes #1005 )
2019-08-29 08:56:34 +02:00
Benoit Blanchon
fcbec6eb6d
Use absolute instead of relative includes ( fixes #1072 )
2019-08-26 11:57:57 +02:00
Benoit Blanchon
f5c25823bc
Set version to 6.11.5
2019-08-23 08:40:10 +02:00
Benoit Blanchon
f00dfd7bfe
Added fallbacks strlen_P, strncmp_P, strcmp_P and memcpy_P ( fixes #1073 )
2019-08-21 15:25:54 +02:00
Benoit Blanchon
dcca4214f5
Set version to 6.11.4
2019-08-12 15:10:56 +02:00
Benoit Blanchon
1e9cc285bb
Added support for basic_string<char, traits, allocator> ( closes #1045 )
2019-08-12 14:21:45 +02:00
Simon Arlott
b9c4a0c5f6
Include Arduino.h if ARDUINO is defined ( closes #1071 )
2019-08-11 13:04:12 +02:00
Benoit Blanchon
0d339300f9
Added tests for Flash strings ( closes #1070 )
2019-08-11 11:39:21 +02:00
Benoit Blanchon
63d7d87080
Fixed example JsonConfigFile.ino for ESP8266
2019-08-10 14:17:23 +02:00
Benoit Blanchon
2ee655f9ba
Fix clang installation on Travis
2019-08-10 12:22:17 +02:00
Simon Arlott
61a4195ed4
Added measureJson() to the ArduinoJson namespace ( fixes #1069 )
2019-08-10 11:15:11 +02:00
Benoit Blanchon
a6f029ded0
Set version to 6.11.3
2019-07-22 08:59:54 +02:00
Benoit Blanchon
b54de58e6b
Fixed comparison of JsonVariant with mixed strings ( closes #1051 )
2019-07-19 12:15:16 +02:00
Benoit Blanchon
795e37278f
Added operators == and != for MemberProxy
2019-07-19 10:27:03 +02:00
Benoit Blanchon
7ce1039d7c
Added operators == and != for MemberProxy
2019-07-19 10:23:06 +02:00
Benoit Blanchon
aba42faf69
Added operators == and != for JsonDocument
2019-07-19 10:23:06 +02:00
Benoit Blanchon
815326d42e
Set version to 6.11.2
2019-07-08 08:44:27 +02:00
Benoit Blanchon
7d40a541c9
Fix invalid conversion error on Particle Argon ( closes #1035 )
2019-07-01 09:07:16 +02:00
Benoit Blanchon
2507ee2e56
Fixed assignment of JsonDocument to JsonVariant (issue #1023 )
2019-06-25 08:56:14 +02:00
Benoit Blanchon
a0a451195b
Set version to 6.11.1
2019-06-21 08:49:02 +02:00
Benoit Blanchon
ce247a5637
Fixed serialized() not working with Flash strings ( fixes #1030 )
2019-06-21 08:46:32 +02:00
Benoît Blanchon
59f9c9747f
Add sponsor button on GitHub
2019-06-04 09:14:37 +02:00
Benoit Blanchon
fec088e3ed
Set version to 6.11.0
2019-05-26 21:11:40 +02:00
Benoit Blanchon
4980ee8fb9
Fixed unexpected HTTP/1.0 ( closes #944 )
2019-05-26 21:07:01 +02:00
Benoit Blanchon
2ed77d2cc3
Added support for nullptr ( closes #998 )
2019-05-26 11:31:51 +02:00
Benoit Blanchon
630107ae8a
Removed implicit conversion in comparison operators (issue #998 )
2019-05-23 21:54:42 +02:00
Benoit Blanchon
4eb8074358
Set ARDUINOJSON_ENABLE_NAN and ARDUINOJSON_ENABLE_INFINITY to 0
2019-05-19 17:46:20 +02:00
Benoit Blanchon
80a02cd90d
Added ARDUINOJSON_ENABLE_INFINITY to enable Infinity in JSON
2019-05-19 15:48:27 +02:00
Benoit Blanchon
7427888e05
Added ARDUINOJSON_ENABLE_NAN to enable NaN in JSON ( closes #973 )
2019-05-18 12:15:36 +02:00
Benoit Blanchon
90c1d549a8
Made deserializeJson() more picky about trailing characters ( closes #980 )
2019-05-16 20:41:07 +02:00
Benoit Blanchon
2af003e4e2
Fixed deserializeJson() silently accepting a Stream* (issue #978 )
2019-05-09 08:33:09 +02:00
Benoit Blanchon
eaf55e174b
Fixed invalid result from operator| ( closes #981 )
2019-05-07 08:12:18 +02:00
Benoit Blanchon
0588e578d5
Set version to 6.10.1
2019-04-23 08:47:54 +02:00
Benoit Blanchon
12f9aac4ea
Fixed "no matching function for call to write(uint8_t)" ( closes #972 )
2019-04-23 08:46:18 +02:00
Benoit Blanchon
81bb3fce97
Fixed build on platformio
2019-04-21 14:35:23 +02:00
Benoit Blanchon
6011a2f51a
Fixed deserializeJson() not being picky enough ( fixes #969 )
2019-04-21 14:35:13 +02:00
Benoit Blanchon
6071bd07ec
Added a link to the FAQ
2019-04-20 12:10:29 +02:00
Benoit Blanchon
1c814d3bb6
Fixed warning on Clang 8
2019-03-24 19:39:23 +01:00
Benoit Blanchon
9862048a58
Fixed error "attributes are not allowed on a function-definition"
2019-03-24 19:00:23 +01:00
Benoit Blanchon
ebc52a5a65
Travis: Added Clang 8
2019-03-24 19:00:23 +01:00
Benoit Blanchon
eacad922df
Travis: Added Clang 7
2019-03-24 19:00:23 +01:00
Benoit Blanchon
d910996613
Travis: Added GCC 8
2019-03-24 19:00:23 +01:00
Benoit Blanchon
2fc220fa33
Fixed code samples in the README
2019-03-24 18:21:58 +01:00
Benoit Blanchon
8cabda551d
Fixed publish.sh not committing appveyor.yml
2019-03-22 22:04:03 +01:00
Benoit Blanchon
afd033e9c9
Set version to 6.10.0
2019-03-22 22:01:46 +01:00
Benoit Blanchon
6ec5ba521b
Added JsonVariant::containsKey()
2019-03-22 21:58:12 +01:00
Benoit Blanchon
c8e49a7e4e
Added JsonDocument::containsKey() (issue #938 )
2019-03-22 08:40:46 +01:00
Benoit Blanchon
dee8c8e242
Added BasicJsonDocument to support custom allocator (issue #876 )
2019-03-17 21:48:10 +01:00
Benoit Blanchon
576543c4b4
Added overflow handling in JsonVariant::as<T>() and JsonVariant::is<T>()
2019-03-06 15:31:37 +01:00
Benoit Blanchon
746f2882f7
Removed member call on null
2019-03-05 14:48:33 +01:00
Benoit Blanchon
c4cbf9d0bb
Don't mark as a "system header" when debugging
2019-03-05 09:19:58 +01:00
Benoit Blanchon
49bd51b5f9
Updated version in AppVeyor
2019-03-04 12:21:58 +01:00
Benoit Blanchon
e53ae0f9bb
Fixed the continuous integration
2019-03-04 12:18:11 +01:00
Benoit Blanchon
afdd913a2f
Added links to the book page in each example
2019-03-04 12:17:41 +01:00
Benoit Blanchon
3df4efd512
Set version to 6.9.1
2019-03-01 18:16:45 +01:00
Benoit Blanchon
91dd45c387
Fixed naming conflict with "CAPACITY" (issue #839 )
2019-03-01 18:14:23 +01:00
Benoit Blanchon
136ee0d576
Marked ArduinoJson.h as a "system header"
2019-03-01 17:31:55 +01:00
Benoit Blanchon
1ea8d92cc3
Muted warning "will change in GCC 7.1" (issue #914 )
2019-03-01 12:12:47 +01:00
Benoit Blanchon
20fcb99830
Fixed warning "conversion may alter value" (issue #914 )
2019-03-01 09:15:43 +01:00
Benoit Blanchon
f3265d2111
Fixed warning "cast-align" (issue #914 )
2019-03-01 09:15:43 +01:00
Benoit Blanchon
d6e7709866
Travis: Add g++-arm-linux-gnueabihf
2019-03-01 09:15:43 +01:00
Benoit Blanchon
d11019d9e1
Travis: Split build and test scripts
2019-03-01 09:15:43 +01:00
Benoit Blanchon
cfd924622e
Travis: Define CC and CXX in yaml
2019-03-01 09:15:41 +01:00
Benoit Blanchon
27c08b785d
Travis: Assume CMake is installed
2019-02-28 17:33:24 +01:00
Benoit Blanchon
77f38e4449
Travis: restore build on GCC 4.4
2019-02-28 16:31:08 +01:00
Benoit Blanchon
16ddfbc4e0
Fixed strict-aliasing warning in FloatTraits.hpp
2019-02-28 15:37:42 +01:00
Benoit Blanchon
8dea900869
Travis: build in Release mode
2019-02-28 15:34:32 +01:00
Benoit Blanchon
f342dee2b4
Fixed warning "unused variable" with GCC 4.4 (issue #912 )
2019-02-28 15:34:21 +01:00
Benoit Blanchon
1d5721f3bd
Add an empty cpp file to detect warnings muted by catch.hpp
2019-02-28 15:32:29 +01:00
Benoit Blanchon
3170558d6d
Added a clear error message for StaticJsonBuffer and DynamicJsonBuffer
2019-02-27 16:38:03 +01:00
Benoit Blanchon
3530aa88d6
Updated the examples on wandbox.org
2019-02-26 10:02:52 +01:00
Benoit Blanchon
21998890d4
Set version to 6.9.0
2019-02-26 08:43:45 +01:00
Benoit Blanchon
c9d6bd76c9
Added JsonDocument::remove() and JsonVariant::remove()
2019-02-25 13:21:10 +01:00
Benoit Blanchon
bc2ce178ea
Added JsonVariant::clear()
2019-02-25 11:44:22 +01:00
Benoit Blanchon
e22e62d184
Added JsonDocument::size()
2019-02-25 11:07:01 +01:00
Benoit Blanchon
4181de119c
Detect IncompleteInput in false, true, and null
2019-02-18 16:18:11 +01:00
Benoit Blanchon
56bf24e1ec
Fixed JsonVariant::isNull() not returning true after set((char*)0)
2019-02-18 16:04:51 +01:00
Benoit Blanchon
e9b4c6289b
Disambiguated the name get() with getElement() and getMember()
2019-02-15 15:53:53 +01:00
Benoit Blanchon
7ed92bebd3
Converted JsonArray::copyFrom()/copyTo() to free functions copyArray()
2019-02-15 15:33:04 +01:00
Benoit Blanchon
c3f71c1a99
Updated copyright year to 2019
2019-02-15 13:32:04 +01:00
Benoit Blanchon
7050ef675d
Decode escaped Unicode characters like \u00DE (issue #304 , PR #791 )
2019-02-15 13:29:30 +01:00
Benoit Blanchon
070cd5b6c0
Added more tests of JsonVariant::is<T>()
2019-02-01 11:28:27 +01:00
Benoit Blanchon
2c2cc33c94
Updated version in Arduino Library badge
2019-01-30 16:42:21 +01:00
Benoit Blanchon
169c83431c
Set version to 6.8.0-beta
2019-01-30 16:39:38 +01:00
Benoit Blanchon
5f72c68d87
Updated publish script for the "ardu-badge"
2019-01-30 15:23:55 +01:00
Benoit Blanchon
b184af6d00
User can now use a JsonString as a key or a value
2019-01-29 17:00:11 +01:00
Benoit Blanchon
6f55d1e58f
JsonVariant automatically promotes to JsonObject or JsonArray on write
2019-01-29 14:09:09 +01:00
Benoit Blanchon
5aea1363cc
Merge branch 'master' into 6.x
2019-01-24 21:07:02 +01:00
Gil Maimon
0685a36f0e
Added ArduBadge badge
2019-01-24 20:55:55 +01:00
Benoit Blanchon
70739f5cfd
Reduced the size of the pretty JSON serializer
2019-01-23 18:19:24 +01:00
Benoit Blanchon
933a66a070
Added JsonDocument::operator[]
2019-01-23 11:43:29 +01:00
Benoit Blanchon
4167b11434
Create or assign a JsonDocument from a JsonArray/JsonObject/JsonVariant
2019-01-23 10:47:20 +01:00
Benoit Blanchon
2a3b51ac3a
Fixed uninitialized variant in JsonDocument
2019-01-20 14:35:22 +01:00
Benoit Blanchon
e633292df1
Replaced JsonDocument::nestingLimit with a param to deserializeJson()
2019-01-19 14:45:16 +01:00
Benoit Blanchon
30b94493bb
Added nesting() to JsonArray, JsonDocument, JsonObject, and JsonVariant
2019-01-17 09:55:51 +01:00
Benoit Blanchon
c51cc91f92
Added memoryUsage() to JsonArray, JsonObject, and JsonVariant
2019-01-16 09:50:57 +01:00
Benoit Blanchon
8b04046321
Import JsonDocument into the ArduinoJson namespace
2019-01-15 12:04:48 +01:00
Benoit Blanchon
11bb5e26ff
Fixed copying from JsonObjectConst and JsonArrayConst
2019-01-14 11:17:57 +01:00
Benoit Blanchon
9ac2ac303c
Removed default capacity of DynamicJsonDocument
2019-01-14 10:32:19 +01:00
Benoit Blanchon
f0784d3b41
Simplified deserializeJson() and deserializeMsgPack()
2019-01-04 12:33:39 +01:00
Benoit Blanchon
3d8ece8c8b
Improved syntax highlighting in Arduino IDE
2018-12-14 17:35:40 +01:00
Benoit Blanchon
b0fb71f7d8
Import functions in the ArduinoJson namespace to get clearer errors
2018-12-14 17:34:49 +01:00
Benoit Blanchon
a5cd1b1693
Set version to 6.7.0-beta
2018-12-07 12:23:02 +01:00
Benoit Blanchon
d8a1eec530
Renamed JsonKey to JsonString
2018-12-07 12:08:30 +01:00
Benoit Blanchon
e20c47c57b
DynamicJsonDocument reallocates memory pool is it's too small
2018-12-07 10:38:58 +01:00
Benoit Blanchon
b77b203935
Extracted VariantData and CollectionData classes
2018-12-07 09:16:58 +01:00
Benoit Blanchon
1ad97ebf85
Merge branch 'master' into 6.x
2018-12-04 16:52:15 +01:00
Benoit Blanchon
ef12c74771
Set version to 5.13.4
2018-12-04 11:36:16 +01:00
Benoit Blanchon
0bc03e8071
Removed spurious files in the Particle library
2018-12-04 11:19:22 +01:00
Benoit Blanchon
04286f3228
Moved size measurements to github.com/bblanchon/ArduinoJson-size
2018-12-04 10:50:45 +01:00
Benoit Blanchon
1d942cdf41
Use singly-linked list to reduce memory usage
2018-12-01 12:05:51 +01:00
Benoit Blanchon
aaf0d5c3c5
Renamed and moved internal files
2018-11-30 17:53:54 +01:00
Benoit Blanchon
04e8acd844
Store offset between slots to reduce memory usage
2018-11-30 14:28:00 +01:00
Benoit Blanchon
8ff48dde73
Moved size measurements to github.com/bblanchon/ArduinoJson-size
2018-11-30 14:27:35 +01:00
Benoit Blanchon
41b2e629f7
Increased test coverage
2018-11-30 14:27:35 +01:00
Benoit Blanchon
a60162ba76
Removed the indirection via StringSlot
2018-11-30 14:27:35 +01:00
Benoit Blanchon
45f4e5ac20
Restored the monotonic allocator
2018-11-30 14:27:33 +01:00
Benoit Blanchon
637f7a5bfa
Removed template parameter of CharPointerReader and StringMover
2018-11-16 16:24:36 +01:00
Benoit Blanchon
399ccec645
Added a CSV showing the evolution of the size of the sample programs
2018-11-16 15:08:53 +01:00
Benoit Blanchon
2bd280df80
Removed the automatic expansion of DynamicJsonDocument
2018-11-16 10:26:59 +01:00
Benoit Blanchon
c832edbda3
Added script to compile samples on wandbox.org
2018-11-14 18:02:01 +01:00
Benoit Blanchon
b8d0041851
Set version to 6.6.0-beta
2018-11-13 18:05:59 +01:00
Benoit Blanchon
0a97d4c825
Added DeserializationError::code() to be used in switch statements ( closes #846 )
2018-11-13 14:31:53 +01:00
Benoit Blanchon
5eee947ffe
Increased test coverage of MessagePack serialization
2018-11-12 21:36:39 +01:00
Benoit Blanchon
720e6548c7
Replacing a value now releases the memory
2018-11-12 18:28:34 +01:00
Benoit Blanchon
f375459d53
JsonArray::remove() and JsonObject::remove() now release the memory of strings
2018-11-09 18:20:57 +01:00
Henry Zhang
e842838a23
fix a spelling error of JsonParserExample.ino
2018-10-25 17:22:23 +02:00
Benoit Blanchon
00aa038818
Added executable msgpack_fuzzer
2018-10-19 19:42:15 +02:00
Benoit Blanchon
eb78077a0c
Travis: Added fuzzing corpus to the cache
2018-10-19 19:40:54 +02:00
Benoit Blanchon
d8d939660b
JsonArray::remove() and JsonObject::remove() now release the memory of the variant
2018-10-19 19:40:21 +02:00
Benoit Blanchon
ae089dcff7
Merged the two StringBuilder classes into one
2018-10-18 17:54:33 +02:00
Benoit Blanchon
1a4515c0b9
Removed JsonArray::is<T>(i) and JsonArray::set(i,v)
...
Removed `JsonObject::is<T>(k)` and `JsonObject::set(k,v)`
Replaced `T JsonArray::get<T>(i)` with `JsonVariant JsonArray::get(i)`
Replaced `T JsonObject::get<T>(k)` with `JsonVariant JsonObject::get(k)`
2018-10-18 14:51:02 +02:00
Benoit Blanchon
4eee8e8bdf
Reduced code size
2018-10-18 11:15:32 +02:00
Benoit Blanchon
9f1421e0a6
Set version to 6.5.0-beta
2018-10-13 13:23:34 +02:00
Benoit Blanchon
84f199f0dd
Added copy-constructor and copy-assignment-operator for JsonDocument (issue #827 )
2018-10-13 13:21:30 +02:00
Benoit Blanchon
8230f8fc9b
Restored JsonVariantLocal to fix the use-after-free
2018-10-12 20:00:49 +01:00
Benoit Blanchon
02d809f3f4
Added Visitable to reduce the number of definitions of operator<<
2018-10-12 17:59:50 +02:00
Benoit Blanchon
b0560cbd99
Added JsonArrayConst, JsonObjectConst, and JsonVariantConst
2018-10-12 12:00:27 +02:00
Benoit Blanchon
d1003ff6c9
Simplified string handling in JsonObject
2018-10-10 09:18:36 +02:00
Benoit Blanchon
b11ad4077b
Merge branch 'master' into 6.x
2018-10-09 15:00:49 +02:00
Benoit Blanchon
5dc7dc1216
Increased the default capacity of DynamicJsonDocument
2018-10-08 18:32:58 +02:00
Benoit Blanchon
0d4a93018b
Set version to 5.13.3
2018-10-06 17:50:41 +02:00
Benoit Blanchon
3ca40db9f8
Added a coupon code for the book
2018-10-06 17:42:01 +02:00
Benoit Blanchon
ce607196d1
Travis: update osx images
2018-10-06 17:24:54 +02:00
Benoit Blanchon
0b3af166ae
Fixed JsonVariant::is<String>() ( closes #763 )
2018-10-06 17:21:16 +02:00
Benoit Blanchon
39e5660c4a
Extracted a base class for JsonDocument
2018-10-04 14:59:07 +02:00
Benoit Blanchon
6b985b2d1f
Fixed object keys not being duplicated
2018-10-04 11:16:23 +02:00
Benoit Blanchon
527dc19794
Allow mixed configuration in compilation units (issue #809 )
2018-10-02 16:54:05 +02:00
Benoit Blanchon
29e71cbb16
Added implicit conversion from JsonArray and JsonObject to JsonVariant
2018-10-01 12:55:40 +02:00
Benoit Blanchon
2d54019f83
Set version to 6.4.0-beta
2018-09-11 16:31:04 +02:00
Benoit Blanchon
98c8e8e35a
Added a test for issue #808
2018-09-11 16:21:30 +02:00
Benoit Blanchon
b106b1ed14
Copy JsonArray and JsonObject, instead of storing pointers ( fixes #780 )
2018-09-11 16:06:08 +02:00
Benoit Blanchon
2998a55f0b
Renamed JsonBuffer to MemoryPool
2018-09-03 16:14:21 +02:00
Benoit Blanchon
e5c4778ff7
Updated publish script
2018-08-31 17:04:22 +02:00
Benoit Blanchon
2ec9569b36
Set version to 6.3.0-beta
2018-08-31 16:57:14 +02:00
Benoit Blanchon
58303d0837
Added date in change log
2018-08-31 16:38:42 +02:00
Benoit Blanchon
e3639918eb
Reduced executable size
2018-08-31 16:29:08 +02:00
Benoit Blanchon
6d290bd001
Fixed duplication of char*
2018-08-22 14:37:17 +02:00
Benoit Blanchon
7683667b3c
Fixed serializeJson(obj[key], dst) ( closes #794 )
2018-08-21 18:07:41 +02:00
Benoit Blanchon
9cbc891816
Implemented reference semantics for JsonVariant
2018-08-21 17:56:16 +02:00
Benoit Blanchon
0454bd1ef6
Set version to 6.2.3-beta
2018-07-19 18:28:03 +02:00
Benoit Blanchon
f139100b23
Added a script to update the version number
2018-07-19 18:27:44 +02:00
Benoit Blanchon
3f666bd5f0
Fixed exception when using Flash strings as object keys ( fixes #784 )
2018-07-19 17:22:28 +02:00
Benoit Blanchon
d53a93e0ae
Set version to 6.2.2-beta
2018-07-18 20:21:00 +02:00
Benoit Blanchon
2059d610a8
Fixed invalid application of 'sizeof' to incomplete type ( closes #783 )
2018-07-18 20:19:22 +02:00
Benoit Blanchon
9bbfbd0a6a
Set version to 6.2.1-beta
2018-07-17 10:27:04 +02:00
Benoit Blanchon
6e4f1dc756
Fixed JsonObject not inserting keys of type String ( fixes #782 )
2018-07-17 10:24:21 +02:00
Benoit Blanchon
dc13882624
Update badges to show status of branch 6.x
2018-07-12 11:01:26 +02:00
Benoit Blanchon
6bb17d5896
Checked that issue issue #628 is fixed
2018-07-12 10:33:56 +02:00
Benoit Blanchon
1a513cbd16
Set version to 6.2.0-beta
2018-07-12 09:10:13 +02:00
Benoit Blanchon
87fa87d87b
Renamed function RawJson() to serialized()
2018-07-12 09:08:20 +02:00
Benoit Blanchon
fa1a40ac6e
Fixed JsonVariant::is<int>() that returned true for empty strings
2018-07-05 09:53:11 +02:00
Benoit Blanchon
954428e341
Improved float serialization when -fsingle-precision-constant is used
2018-07-05 09:48:57 +02:00
Benoit Blanchon
765752261c
Improved float serialization when -fsingle-precision-constant is used
2018-07-04 12:07:03 +02:00
Benoit Blanchon
037f90aada
Disabled lazy number deserialization ( fixes #772 )
2018-07-04 12:02:58 +02:00
Benoit Blanchon
1397bec066
Set version to 6.1.0-beta
2018-07-02 09:54:35 +02:00
Benoit Blanchon
b105e6f7c4
Return JsonArray and JsonObject by value ( closes #309 )
2018-07-02 09:35:21 +02:00
Benoit Blanchon
4fe2b1100e
Set version to 6.0.1-beta
2018-06-11 12:24:33 +02:00
Benoit Blanchon
c3403ed72d
Fixed conflicts with isnan() and isinf() macros ( fixes #752 )
2018-06-11 12:21:50 +02:00
Benoit Blanchon
393f352b70
Minor changes in the examples
2018-06-07 11:21:54 +02:00
Benoit Blanchon
e86eb0cfdf
Set version to 6.0.0-beta
2018-06-07 10:50:10 +02:00
Benoit Blanchon
a9a730fd74
Added MessagePack fuzzing
2018-06-07 10:36:57 +02:00
Benoit Blanchon
4ff6809bc5
Merge branch 'master' into 6.x
2018-06-07 09:32:55 +02:00
Benoit Blanchon
7b229e4c38
Added fuzzing to travis
2018-06-06 11:20:49 +02:00
Benoit Blanchon
9ac9b533b6
Added clang 3.9, 4.0, 5.0 and 6.0 to travis
2018-06-05 20:55:53 +02:00
Benoit Blanchon
f53fc3e06f
Added MessagePack in README
2018-06-04 17:48:10 +02:00
Benoit Blanchon
0139354780
Merge branch 'master' into 6.x
2018-06-04 17:46:34 +02:00
Benoit Blanchon
011aac43d2
Set version to 5.13.2
2018-06-01 09:21:42 +02:00
Benoit Blanchon
eb20ae6a3f
Added macros ARDUINOJSON_VERSION, ARDUINOJSON_VERSION_MAJOR...
2018-06-01 09:19:34 +02:00
Benoit Blanchon
7c0af91844
Fixed null values that could be pass to strcmp() ( closes #745 )
2018-06-01 09:08:38 +02:00
Benoit Blanchon
fc2e3a4ab3
Added serializeMsgPack() and measureMsgPack() ( closes #358 )
2018-05-29 08:31:39 +02:00
Benoit Blanchon
58cb793c96
Reorganized polyfills
2018-05-17 13:46:23 +02:00
Benoit Blanchon
4592f23260
Merged MsgPackError and JsonError into DeserializationError.
...
Return NotSupported if the JSON input contains "\u".
2018-05-15 18:23:09 +02:00
Benoit Blanchon
ccb54136a2
Added support for non zero-terminated strings ( fixes #704 )
2018-05-14 17:12:59 +02:00
Benoit Blanchon
4c9c047ddf
Made nestingLimit a member of the document
2018-04-18 21:42:30 +02:00
Benoit Blanchon
1feb92679d
Added StaticJsonDocument and DynamicJsonDocument.
...
Removed StaticJsonArray and DynamicJsonArray.
Removed StaticJsonObject and DynamicJsonObject.
Removed StaticJsonVariant and DynamicJsonVariant.
2018-04-17 21:27:45 +02:00
Benoit Blanchon
a13b9e8bdc
Added example MsgPackParser.ino (issue #358 )
2018-04-10 17:55:51 +02:00
Benoit Blanchon
cb723840d9
Added deserializeMsgPack() (issue #358 )
2018-04-10 17:43:27 +02:00
Benoit Blanchon
923d3e8a84
Removed friend relationship between JsonVariant and JsonSerializer
2018-03-23 09:20:50 +01:00
Benoit Blanchon
0d1623edef
Clear the JsonObject or JsonArray in deserializeJson()
2018-03-18 14:50:52 +01:00
Benoit Blanchon
cf149940ed
Moved JsonBuffer to Memory/
2018-03-15 16:51:07 +01:00
Benoit Blanchon
ef55a6ba7c
Removed all deprecated features
2018-03-15 16:50:39 +01:00
Benoit Blanchon
e3e4aa89ad
Merge branch 'master' into 6.x
...
# Conflicts:
# CHANGELOG.md
# src/ArduinoJson/Deserialization/JsonParser.hpp
# src/ArduinoJson/Deserialization/JsonParserImpl.hpp
# test/JsonBuffer/nestingLimit.cpp
2018-03-14 14:46:53 +01:00
Benoit Blanchon
3523296e3d
Fixed JsonBuffer::parse() nesting limit ( fixes #693 )
2018-03-12 18:29:33 +01:00
Benoit Blanchon
b2a8085651
Added JsonError
2018-03-09 16:58:01 +01:00
Benoit Blanchon
83d73c93f7
Replaced printTo() with serializeJson()
...
* Added `serializeJson()` and `serializeJsonPretty()`
* Added `measureJson()` and `measureJsonPretty()`
* Removed `printTo()` and `prettyPrintTo()`
* Removed `measureLength()` and `measurePrettyLength()`
2018-03-01 09:24:58 +01:00
Benoit Blanchon
7a2a64803a
Don't use JsonBuffer to create or parse objects and arrays.
...
* Added DynamicJsonArray and StaticJsonArray
* Added DynamicJsonObject and StaticJsonObject
* Added DynamicJsonVariant and StaticJsonVariant
* Added deserializeJson()
* Removed JsonBuffer::parseArray(), parseObject() and parse()
* Removed JsonBuffer::createArray() and createObject()
2018-02-26 16:05:16 +01:00
Benoit Blanchon
baf5adcf33
Set version to 6.0.0
2018-02-26 16:00:44 +01:00
Benoit Blanchon
689ae5c08d
Set version to 5.13.1
2018-02-19 08:56:17 +01:00
Benoit Blanchon
d9b1e7e810
Allowed non-quoted key to contain underscores ( fixes #665 )
2018-02-16 11:04:07 +01:00
Benoit Blanchon
b4eece01f8
Fixed JsonVariant::operator|(int) to accept double ( fixes #675 )
2018-02-09 09:05:29 +01:00
Benoit Blanchon
cf5396aaed
Set version to 5.13.0
2018-01-19 15:35:19 +01:00
Benoit Blanchon
e390587e91
Kept only two namespaces ArduinoJson and ArduinoJson::Internals
2018-01-19 08:32:15 +01:00
Benoit Blanchon
bae179ed67
RawJson() accepts any kind of string and obeys to duplication rules
2018-01-18 09:43:37 +01:00
Benoit Blanchon
7e4fcb0868
Add repository and license in library.properties ( closes #662 )
2018-01-15 10:24:51 +01:00
Benoit Blanchon
fbfdca1de9
Added campaign information in links
2018-01-15 10:22:04 +01:00
Benoit Blanchon
0612eef69b
Marked strdup() as deprecated (issue #658 )
2018-01-14 14:02:10 +01:00
Benoit Blanchon
ae0b7a3ebd
Changed the return type of strdup() to const char* (issue #658 )
2018-01-14 14:01:08 +01:00
Benoit Blanchon
e92612b511
Changed the rules of string duplication ( fixes #658 )
2018-01-14 13:46:28 +01:00
Benoit Blanchon
5c33fd4b94
Set copyright year to 2018
2018-01-05 09:20:01 +01:00
Benoit Blanchon
c3f51e2980
Updated links to arduinojson.org
2018-01-05 09:17:24 +01:00
Benoit Blanchon
de47c0af9e
Updated links to the book
2017-12-27 14:15:49 +01:00
Benoit Blanchon
e53e4e3dd9
Fixed typos
2017-12-15 17:52:47 +01:00
Benoit Blanchon
36fe6535c4
Reworked the readme
2017-12-15 17:52:13 +01:00
Benoit Blanchon
b55e57a7cf
Set version to 5.12.0
2017-12-11 17:50:18 +01:00
Benoit Blanchon
7626db624e
Changed all link to point to HTTPS version
2017-12-11 17:26:50 +01:00
Benoit Blanchon
6d8329b255
Added an example that shows how to save and load a configuration file
2017-12-11 17:20:27 +01:00
Benoit Blanchon
461e30148c
Reworked all examples
2017-12-11 15:19:28 +01:00
Benoit Blanchon
57d98e48f7
Added detection of Keil ARM Compiler (issue #629 )
2017-12-05 21:24:28 +01:00
Benoit Blanchon
cf2babc598
Added detection of MPLAB XC compiler (issue #629 )
2017-12-05 21:18:21 +01:00
Benoit Blanchon
d10277df31
Added a clear error message when compiled as C (issue #629 )
2017-12-03 13:49:51 +01:00
Benoit Blanchon
d3a1203782
Added JsonVariant::operator| to return a default value
2017-11-29 09:49:40 +01:00
Benoit Blanchon
126f7ab819
Rewrote example JsonHttpClient.ino ( fixes #600 )
2017-11-13 16:17:44 +01:00
Benoit Blanchon
221c2861fc
Changed all links to point to arduinojson.org
2017-11-07 20:42:50 +01:00
Benoit Blanchon
66667382e1
Added Alexander Wilms to the list of donators
2017-11-01 09:19:40 +01:00
Benoit Blanchon
a7e928d126
Set version to 5.11.2
2017-10-17 10:21:52 +02:00
Benoit Blanchon
591fe7e92b
Fixed incorrect rounding for float values ( fixes #588 )
2017-10-17 10:19:21 +02:00
Benoit Blanchon
d6e61cbcda
Added banner with the new logo
2017-10-16 10:21:44 +02:00
Benoit Blanchon
5825366fe4
Added Patrick Elliott to the list of donators
2017-10-07 16:33:53 +02:00
Benoit Blanchon
6df204cf40
Split CONTRIBUTING and SUPPORT
2017-10-03 13:01:47 +02:00
Benoit Blanchon
3f7e1db549
Added guidelines for contributing
2017-10-03 12:26:49 +02:00
Benoit Blanchon
a6091136b0
Fix GCC 7 warning
2017-09-27 11:13:45 +02:00
Benoit Blanchon
353bbd0e8c
Fix GCC 4.8.5 warning
2017-09-27 09:45:48 +02:00
Benoit Blanchon
a428e125fa
Travis: Added GCC 7
2017-09-27 09:29:08 +02:00
Benoit Blanchon
2e262b2689
Travis: Removed GCC 4.5
2017-09-27 09:29:08 +02:00
Benoit Blanchon
a2d055e408
Added Günther Jehle to the list of donators
2017-09-26 09:43:32 +02:00
Benoit Blanchon
57defe00ee
Fixed DynamicJsonBuffer::clear() not resetting allocation size ( fixes #561 )
2017-08-30 21:51:10 +02:00
Benoit Blanchon
ac5a2676e7
Upgraded to Catch 1.9.7
2017-08-27 15:12:20 +02:00
Benoit Blanchon
ed98ea4e43
Implemented JsonVariant comparisons with template friends
2017-08-06 16:26:38 +02:00
Benoit Blanchon
729bf0afd2
Made JsonBuffer destructor protected
2017-07-18 22:00:06 +02:00
Benoit Blanchon
2ea7ea153c
Set version to 5.11.1
2017-07-14 11:17:11 +02:00
Benoit Blanchon
2772e66064
Fixed warning "this statement may fall through" (issue #539 )
2017-07-14 11:14:56 +02:00
Benoit Blanchon
d41f7a8165
Fixed too many decimals places in float serialization (issue #543 )
2017-07-14 10:51:46 +02:00
Benoit Blanchon
abfd3997eb
Fixed "constant exceeds range of float [-Woverflow]" (issue #544 )
2017-07-09 15:24:58 +02:00
Benoit Blanchon
788c9be016
Removed dependency on PGM_P as Particle 0.6.2 doesn't define it (issue #546 )
2017-07-07 23:04:42 +02:00
Benoit Blanchon
c3d7a79a83
Travis: Removed Arduino DUE on platformio (fatal error: Ethernet.h: No such file or directory)
2017-07-06 20:56:05 +02:00
Benoit Blanchon
1782348275
Added Charles Walker to the list of donators
2017-07-06 20:55:05 +02:00
Benoit Blanchon
edfe5c6622
Set version to 5.11.0
2017-06-25 15:11:57 +02:00
Benoit Blanchon
2b9492317b
Added Charles Haynes to the list of donators
2017-06-22 21:56:41 +02:00
Benoit Blanchon
5da41edf6a
Removed implementation of JsonBufferAllocated::delete.
2017-06-19 10:05:38 +02:00
Benoit Blanchon
476e5aaa86
Added DynamicJsonBuffer::clear()
2017-06-17 16:48:40 +02:00
Benoit Blanchon
789fa507b5
Added StaticJsonBuffer::clear()
2017-06-17 15:00:46 +02:00
Benoit Blanchon
508f936317
Made JsonBuffer non-copyable (PR #524 by @luisrayas3)
2017-06-17 14:17:01 +02:00
Benoit Blanchon
e9d88dda8e
Set version to 5.10.1
2017-06-12 21:10:02 +02:00
Benoit Blanchon
ecceb71a1e
AppVeyor: Added Visual Studio 2017 and restored MinGW
2017-06-07 11:15:22 +02:00
Benoit Blanchon
bff77abe6a
Fixed reading "true" as a float (issue #516 )
2017-06-03 16:22:26 +02:00
Benoit Blanchon
98413089f6
Added Google to the list of donators
2017-06-01 20:49:50 +02:00
Benoit Blanchon
a2446f6c68
Fixed compilation in IAR Embedded Workbench (issue #515 )
2017-06-01 20:47:09 +02:00
Benoit Blanchon
c955049207
Fixed IntelliSense errors in Visual Micro (issue #483 )
2017-05-28 15:33:03 +02:00
Benoit Blanchon
574c00c096
Added links to the ArduinoJson assistant (issue #513 )
2017-05-27 15:32:12 +02:00
Benoit Blanchon
7415f206ea
Reduced code size
2017-05-27 15:08:11 +02:00
Benoit Blanchon
f76017a015
Set version to 5.10.0
2017-05-20 09:11:03 +02:00
Benoit Blanchon
cda05aec04
Removed configurable number of decimal places (issues #288 , #427 and #506 )
2017-05-20 09:06:53 +02:00
Benoit Blanchon
639286f8b6
Travis: Removed retired images
2017-05-04 22:10:43 +02:00
Benoit Blanchon
cc66618e70
Fixed error forming reference to reference (issue #495 )
2017-05-04 21:58:28 +02:00
Benoit Blanchon
9efc0ec40d
Travis: Added GCC 6
2017-05-02 21:32:19 +02:00
Benoit Blanchon
34674fc282
Fixed error IsBaseOf is not a member of ArduinoJson::TypeTraits (issue #495 )
2017-05-02 21:29:45 +02:00
Benoit Blanchon
01c3166043
Moved testimonials to https://bblanchon.github.io/ArduinoJson/
2017-04-29 17:54:26 +02:00
Benoit Blanchon
bf2e3d5669
Updated the list of supported hardware (issue #491 )
2017-04-28 10:28:38 +02:00
Benoit Blanchon
4e9f0b2e2e
Set version to 5.9.0
2017-04-24 21:43:03 +02:00
Jacob Nite
223f14710d
Now compatible with Particle 0.6.1 (issue #294 and PR #461 by @foodbag)
2017-04-24 21:40:19 +02:00
Benoit Blanchon
f7ae91b85d
Removed unused stuffs
2017-04-22 11:35:55 +02:00
Benoit Blanchon
445dff499b
ctest --output-on-failure
2017-04-22 11:34:12 +02:00
Benoit Blanchon
9afa05e2f4
Removed Print class and converted printTo() to a template method (issue #276 )
2017-04-22 11:33:40 +02:00
Benoit Blanchon
c3e1677b7d
Fixed warnings floating constant exceeds range of floatand floating constant truncated to zero (issue #483 )
2017-04-20 14:46:52 +02:00
Benoit Blanchon
024976cda2
Renamed folder include/ to src/ (issue #461 )
2017-04-20 10:26:40 +02:00
Benoit Blanchon
df541a2a22
Changed unit testing framework from Google Test to Catch
2017-04-18 18:22:24 +02:00
Benoit Blanchon
f2ef338cb8
Renamed JsonArray::removeAt() into remove()
2017-04-12 21:07:30 +02:00
Benoit Blanchon
8c6f64c111
Added JsonArray::remove(iterator) and JsonObject::remove(iterator) (issue #479 )
2017-04-12 21:00:13 +02:00
Benoit Blanchon
5a16b2117b
Travis: Disabled Teensy (PlatformioException: Could not load broken JSON)
2017-04-10 18:55:24 +02:00
Benoit Blanchon
71edcaf20f
Split unit test into several executables
2017-04-10 15:36:59 +02:00
Benoit Blanchon
ac89d91db5
Organized test files in subfolders
2017-04-10 14:32:45 +02:00
Benoit Blanchon
e664c1ab05
Set version to 5.8.4
2017-03-26 21:33:12 +02:00
Benoit Blanchon
adba668109
Updated project URL
2017-03-25 22:05:06 +01:00
Benoit Blanchon
ad972725de
Added a script to build a single file distribution
2017-03-25 21:56:37 +01:00
Benoit Blanchon
185eccf6f5
Added custom implementation of strtol() (issue #465 )
...
`char` is now treated as an integral type (issue #337 , #370 )
2017-03-25 21:55:13 +01:00
Benoit Blanchon
c4567bac18
Added custom implementation of strtod() (issue #453 )
2017-03-19 15:23:06 +01:00
Benoit Blanchon
13409c433a
Added OpenEVSE LLC to the list of donators
2017-02-22 18:15:21 +01:00
Benoit Blanchon
20431debe0
Fuzzing: Run serializer too
2017-02-19 21:41:12 +01:00
Benoit Blanchon
797ea356ef
Fuzzing: Better seed corpus
2017-02-19 21:30:22 +01:00
Benoit Blanchon
2321473c34
Added Prokhoryatov Alexey to the list of donators
2017-02-19 21:01:26 +01:00
Benoit Blanchon
0d5f65c5f3
Set version to 5.8.3
2017-02-11 15:12:03 +01:00
Benoit Blanchon
c30241775a
Fixed JsonVariant::operator[const FlashStringHelper*] (issue #441 )
2017-02-11 15:09:08 +01:00
Benoit Blanchon
31827d03f9
Added operators == and != for two JsonVariants (issue #436 )
2017-02-11 15:06:17 +01:00
Chris685
7bcdf3e722
JsonHttpClient: Close socket even when connection fails (issue #445 )
2017-02-11 14:01:14 +01:00
Benoit Blanchon
db9a76f7c6
Fixed an access violation in DynamicJsonBuffer when memory allocation fails (issue #433 )
2017-01-31 10:06:40 +01:00
Benoit Blanchon
3fd87e8e82
Added fuzzing/ to .mbedignore
2017-01-25 15:28:15 +01:00
Benoit Blanchon
22a2786610
Added Christoph Schmidt to the list of donators
2017-01-24 21:21:05 +01:00
Benoit Blanchon
2b5a6df1e1
Set version to 5.8.2
2017-01-22 18:08:32 +01:00
Benoit Blanchon
5fefeae404
Added deprecated attribute on asArray(), asObject() and asString() (issue #420 )
2017-01-22 17:24:17 +01:00
Benoit Blanchon
d4f725d1fa
Fixed error with string of type unsigned char* (issue #428 )
2017-01-22 15:42:47 +01:00
Benoit Blanchon
a096098c1f
Fixed error when the key of a JsonObject is a char[] and reduced code size when using const references (issue #423 )
2017-01-22 11:10:45 +01:00
Benoit Blanchon
cc8c0472ca
Fixed ignored Stream timeout and made sure we don't read more that necessary (issue #422 )
2017-01-22 10:31:05 +01:00
Benoit Blanchon
fb554071dc
Travis: Added -fsanitize to several builds
2017-01-21 19:49:44 +01:00
Benoit Blanchon
17a17c8957
Fixed parsing of comments (issue #421 )
2017-01-17 21:48:13 +01:00
Benoit Blanchon
2e7d498865
Set version to 5.8.1
2017-01-15 21:02:22 +01:00
Benoit Blanchon
567157b005
Fixed error "Stream does not name a type" (issue #412 )
2017-01-15 21:01:58 +01:00
Benoit Blanchon
ec6cbc5135
Fixed error when both ARDUINOJSON_ENABLE_STD_STREAM and ARDUINOJSON_ENABLE_ARDUINO_STREAM are set to 1
2017-01-15 15:18:59 +01:00
Benoit Blanchon
8499f0b960
Fixed errors with Variable Length Arrays (issue #416 )
2017-01-15 15:11:26 +01:00
Benoit Blanchon
11432253a1
Fixed error when assigning a volatile int to a JsonVariant (issue #415 )
2017-01-11 10:17:27 +01:00
Benoit Blanchon
f17e1c4a80
Added "Breaking Changes" section for v5.8.0
2017-01-10 10:07:57 +01:00
Benoit Blanchon
6b2f6a4f87
Added fuzzer
2017-01-08 16:17:01 +01:00
Benoit Blanchon
671329a3e9
Updated copyright year from 2016 to 2017
2017-01-06 21:07:34 +01:00
Benoit Blanchon
7e7074502f
Set version to 5.8.0
2017-01-03 22:39:44 +01:00
Benoit Blanchon
aa306d5573
Travis: Removed XCode 6.1, 6.2 and 6.3
2017-01-03 22:35:58 +01:00
Benoit Blanchon
55669e306e
Added support for Stream (issue #300 )
2017-01-03 22:03:50 +01:00
Benoit Blanchon
3f96e070ce
Reduced memory consumption by not duplicating spaces and comments
2017-01-01 21:30:20 +01:00
Benoit Blanchon
8032a4b564
Extracted StringReader and StringWriter from JsonParser
...
Split `Internals/` folder into `Data/`, `Deserialization/`, `Serialization/`
2017-01-01 21:30:20 +01:00
Benoit Blanchon
b923e8f4df
Travis: Added Clang AddressSanitizer and UndefinedBehaviorSanitizer
2017-01-01 21:29:38 +01:00
Benoit Blanchon
c5388cf8e7
Travis: Compile all examples with PlatformIO
2016-12-28 20:23:27 +01:00
Benoit Blanchon
cb908a2373
Travis: Fixed SSL error problem with coveralls
2016-12-28 20:22:07 +01:00
Benoit Blanchon
cecbcd1929
Added operator == to compare JsonVariant and strings (issue #402 )
2016-12-23 14:45:32 +01:00
Chris685
90e0cc6091
JsonHttpClient: use HTTP 1.0 instead of 1.1 (issue #397 , PR #399 by @Chris685)
...
Downgrading to HTTP 1.0 to prevent HTTP Chunked Transfer Encoding.
2016-12-14 19:41:10 +01:00
Benoit Blanchon
45bbf6db86
Set version to 5.7.3
2016-12-10 16:00:52 +01:00
Benoit Blanchon
432476c98a
Added an printTo(char[N]) and prettyPrintTo(char[N]) (issue #292 )
2016-12-10 15:59:48 +01:00
Benoit Blanchon
1f3e227a8b
Added ability to set a nested value like this: root["A"]["B"] = "C" (issue #352 )
2016-12-10 15:22:57 +01:00
Benoit Blanchon
66c28020c5
Renamed *.ipp to *Impl.hpp because they were ignored by Arduino IDE (issue #396 )
2016-12-03 22:19:11 +01:00
Benoit Blanchon
6cfe2a58eb
Added Doanh Luong to the list of donators
2016-11-25 18:41:33 +01:00
Benoit Blanchon
fc6ad51e68
Added the workaround for issue #118 in StringExample.ino
2016-11-24 18:11:02 +01:00
Benoit Blanchon
d3bc52951a
Set version to 5.7.2
2016-11-23 21:54:56 +01:00
Benoit Blanchon
2f7232859e
Fixed PROGMEM causing an exception on ESP8266 (issue #383 )
2016-11-23 21:53:29 +01:00
Benoit Blanchon
4a7232ac99
Added DynamicJsonBuffer to the keywords
2016-11-23 21:25:49 +01:00
Benoit Blanchon
72d78432c9
Made PROGMEM available on more platforms (issue #381 )
2016-11-16 22:24:58 +01:00
Benoit Blanchon
f6cd42d916
Travis: Added Arduino 1.6.12, removed 1.5.8
2016-11-16 22:24:41 +01:00
Benoit Blanchon
542dff2a08
Added Andrew Melvin to the list of donators
2016-11-15 21:48:40 +01:00
Benoit Blanchon
e75e843c88
Moved JsonBuffer size calculator to https://bblanchon.github.io/ArduinoJson/
2016-11-13 20:48:03 +01:00
Benoit Blanchon
146a76247c
Set version to 5.7.1
2016-11-13 20:21:16 +01:00
Benoit Blanchon
f28157cab7
Fixed compilation error when index is not an int (issue #381 )
2016-11-13 20:19:36 +01:00
Benoit Blanchon
1ce16ce449
Added support for PROGMEM (issue #76 )
2016-11-13 20:16:12 +01:00
Benoit Blanchon
c310e7e8b7
Set version to 5.7.0
2016-11-06 17:52:57 +01:00
Benoit Blanchon
aa2ef79e55
Templatized all functions using String or std::string
...
* Removed `ArduinoJson::String`
* Removed `JsonVariant::defaultValue<T>()`
* Removed non-template `JsonObject::get()` and `JsonArray.get()`
* Fixed support for `StringSumHelper` (issue #184 )
* Replaced `ARDUINOJSON_USE_ARDUINO_STRING` by `ARDUINOJSON_ENABLE_STD_STRING` and `ARDUINOJSON_ENABLE_ARDUINO_STRING` (issue #378 )
* Added example `StringExample.ino` to show where `String` can be used
2016-11-06 17:52:18 +01:00
Benoit Blanchon
7ad57f1c33
Added Yoeri Kroon to the list of donators
2016-10-27 15:19:13 +02:00
Benoit Blanchon
cbfd331e50
JsonBuffer calculator now generates more compact expression
2016-09-30 10:44:05 +02:00
Benoit Blanchon
e6f55b1f6f
Increased default nesting limit to 50 when compiled for a computer (issue #349 )
2016-09-21 22:11:38 +02:00
Benoit Blanchon
bb805e93cb
Set version to 5.6.7
2016-09-20 10:11:19 +02:00
Benoit Blanchon
deb57b960b
Fixed parser that incorrectly rejected floats containing a + (issue #349 )
2016-09-19 10:08:14 +02:00
Benoit Blanchon
8a9b918bf4
Fixed undefined behavior in Prettyfier and Print (issue #354 )
2016-09-17 13:51:54 +02:00
Benoit Blanchon
2f6f3d0629
Fixed return value of JsonObject::set() (issue #350 )
2016-09-16 10:10:31 +02:00
Benoit Blanchon
a60b35f41c
Extracted class JsonSerializer
2016-09-11 13:43:21 +02:00
Benoit Blanchon
6757f35a3a
Set version to 5.6.6
2016-08-29 20:55:36 +02:00
Benoit Blanchon
ffb9b6d1ba
Fixed JsonVariant::success() which didn't propagate JsonArray::success() nor JsonObject::success() (issue #342 ).
2016-08-29 20:54:39 +02:00
Benoit Blanchon
e401498e4a
Fixed JsonBuffer size calculator
2016-08-26 10:10:19 +02:00
Benoit Blanchon
d30e940b3b
Added JsonBuffer size calculator
2016-08-25 19:08:12 +02:00
Benoit Blanchon
05ea5e04c8
Added Darlington Adibe to the list of donators
2016-08-25 11:40:31 +02:00
Max Vilimpoc (unu)
a7ef99d0fe
Added .mbedignore for ARM mbdeb (PR #334 by @nuket)
2016-08-25 11:40:04 +02:00
Ivan Kravets
f2a8b52c2c
PlatformIO: Use the same name as for Arduino IDE (PR #339 )
2016-08-24 13:44:10 +02:00
Max Vilimpoc (unu)
409ca7ee4e
Fixed -Wparentheses warning introduced in v5.6.5 (PR #335 by @nuket)
2016-08-17 20:37:44 +02:00
Benoit Blanchon
387b565705
Set version to 5.6.5
2016-08-15 12:25:48 +02:00
Benoit Blanchon
96f486001d
as<char*>() now returns true when input is null (issue #330 )
2016-08-15 12:24:08 +02:00
Benoit Blanchon
a498abc14a
Set version to 5.6.4
2016-07-20 13:16:14 +02:00
Benoit Blanchon
c64340a9bb
Fixed error in float serialization (issue #324 )
2016-07-20 13:15:17 +02:00
Benoit Blanchon
79d80a5dbf
Set version to 5.6.3
2016-07-19 08:59:42 +02:00
Benoit Blanchon
7ebff5949f
Fixed call of overloaded isinf(double&) is ambiguous (issue #284 )
2016-07-19 08:57:19 +02:00
Benoit Blanchon
434080572c
AppVeyor: Disabled build on MinGW32
2016-07-17 18:29:38 +02:00
Benoit Blanchon
c87a0e97ab
Added as<JsonArray>() as a synonym for as<JsonArray&>()... (issue #291 )
2016-07-17 17:22:58 +02:00
Benoit Blanchon
2dbd94951c
Improved speed of float serialization (about twice faster)
2016-07-10 16:12:49 +02:00
Benoit Blanchon
1e044f50c7
Set version to 5.6.2
2016-06-30 20:23:58 +02:00
Benoit Blanchon
a7aa98510c
Restored Travis build on all clang version
2016-06-30 20:23:21 +02:00
Benoit Blanchon
729ab56878
Fixed build when another lib does #undef isnan (issue #284 )
2016-06-30 20:22:47 +02:00