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