Benoit Blanchon
9bfa11387d
Rewrite the float-to-string conversion
...
Instead of committing to a number of decimal places, the new algorithm targets a certain number of significant digits.
Since the mantissa has to fit in a 32-bit integer, the number of significant digits is limited to 9.
2025-11-07 10:36:11 +01:00
Benoit Blanchon
6cc8b313ed
Convert decomposeFloat() tests to higher-level tests
2025-11-07 09:26:52 +01:00
Benoit Blanchon
ab63400930
TextFormatter: simplify tests of writeFloat()
2025-11-07 09:26:50 +01:00
Benoit Blanchon
183c723443
JsonSerializer: refactor tests for simple values
2025-11-07 09:25:00 +01:00
Benoit Blanchon
1ccb7ab451
Numbers: inline normalize()
2025-10-27 17:28:42 +01:00
Benoit Blanchon
21144d5691
Don't rely on array size to get the length of string literals
...
See #2189
2025-10-24 16:18:41 +02:00
Benoit Blanchon
5f96515360
Particle: update installation method
2025-10-23 14:00:47 +02:00
Benoit Blanchon
bec657eda7
Return bool from all built-in toJson converters
2025-10-20 14:56:05 +02:00
Benoit Blanchon
1232f61e55
VariantImpl: change setRawString() to return bool
2025-10-20 14:25:03 +02:00
Benoit Blanchon
65518a8b00
VariantImpl: change setRawString() to take an adapted string
2025-10-20 14:21:01 +02:00
Benoit Blanchon
a51865ca42
CollectionIterator: rename next() to move()
2025-10-20 12:08:06 +02:00
Benoit Blanchon
af36add5d8
VariantImpl: rename getResourceManager() to resources()
2025-10-20 11:56:12 +02:00
Benoit Blanchon
3eced7d7ec
VariantImpl: rename getData() to data()
2025-10-20 11:52:28 +02:00
Benoit Blanchon
c4c5c69baf
VariantImpl: move addValue() to JsonArray
...
This way VariantImpl doesn't need to support generic types, which removes the dependency from `VariantImpl` to `JsonVariant`.
2025-10-20 11:45:35 +02:00
Benoit Blanchon
b017dfb13a
ResourceManager: move out-of-class definitions back in the class
2025-10-17 14:52:42 +02:00
Benoit Blanchon
88769c44b4
ResourceManager: decouple from VariantImpl
2025-10-17 14:47:40 +02:00
Benoit Blanchon
01de2f3fbb
Rename CollectionData.hpp to CollectionIterator.hpp
...
I also removed some of the unused include statements.
2025-10-17 14:32:36 +02:00
Benoit Blanchon
4a2568e3c8
Merge CollectionImpl into VariantImpl
2025-10-16 10:20:48 +02:00
Benoit Blanchon
f124af3909
Merge ObjectImpl into VariantImpl
2025-10-15 17:52:35 +02:00
Benoit Blanchon
76eec98efd
Merge ArrayImpl into VariantImpl
2025-10-14 09:54:24 +02:00
Benoit Blanchon
04823fd304
JsonDocument: fix double clear in to<T>()
2025-10-14 09:54:24 +02:00
Benoit Blanchon
3f62a2ca96
VariantImpl: change the visitor interface for arrays and objects
2025-10-14 09:54:24 +02:00
Benoit Blanchon
6dbdeca58a
VariantImpl: extract static size()
2025-10-13 15:18:19 +02:00
Benoit Blanchon
a159820ade
CollectionImpl: attach to VariantData* instead of CollectionData*
2025-10-08 15:55:30 +02:00
Benoit Blanchon
c222fc2f0a
Move CollectionData definition
2025-10-06 15:50:20 +02:00
Benoit Blanchon
b4024e7032
Move VariantImpl definition to VariantImpl.hpp
2025-10-03 14:35:17 +02:00
Benoit Blanchon
7dece839d6
Extract VariantImpl
2025-10-03 10:13:34 +02:00
Benoit Blanchon
ed6b470896
Replace VariantData& with VariantData* in deserializers
2025-09-17 21:18:28 +02:00
Benoit Blanchon
539b66fc7a
Extract ArrayImpl, CollectionImpl, and ObjectImpl
2025-08-30 09:55:33 +02:00
Benoit Blanchon
6e7eddb959
JsonObject: replace ObjectData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
3a49896200
JsonArray: replace ArrayData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
c743c1e327
JsonObjectConst: replace ObjectData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
c541c57900
JsonArrayConst: replace ArrayData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
db2eec46c7
Add a pool dedicated to 8-byte values (double/int64_t/uint64_t)
...
This new pool replaced the "extension" slot where a secondary variant slot was used to store 8-byte values.
2025-08-30 09:55:32 +02:00
Benoit Blanchon
dddc4912c4
Don't store string literals by pointer anymore
...
Fixes #2189
2025-08-28 10:04:11 +02:00
Benoit Blanchon
509807d3c2
Remove CollectionIterator::nextId_
2025-07-10 19:16:47 +02:00
Benoit Blanchon
c07744dc0d
CI: upgrade Windows runner
2025-06-26 20:47:57 +02:00
Benoit Blanchon
733bc4ee82
Set version to 7.4.2
2025-06-20 09:37:14 +02:00
Benoit Blanchon
9aa77994b4
Remove sponsor Programming Electronics Academy
2025-06-20 08:43:48 +02:00
Benoit Blanchon
f051f8328d
Undef true and false macros
...
Replacing `true` with `1` changes `JsonString("ABC", true)` into `JsonString("ABC", 1)`, so all static strings had a length of 1.
This is a workaround for arduino/ArduinoCore-sam#50
Fixes #2181
2025-06-19 13:59:15 +02:00
Benoit Blanchon
411424b74e
CI: upgrade clang-tidy
2025-05-20 20:55:01 +02:00
Benoit Blanchon
5e5c287978
CI: upgrade Clang versions
2025-05-20 18:24:46 +02:00
Benoit Blanchon
377cf63075
CI: upgrade runner to ubuntu-22.04
2025-05-20 14:48:42 +02:00
Benoit Blanchon
3252013509
Set version to 7.4.1
2025-04-11 15:43:42 +02:00
Benoit Blanchon
deab127a2f
Fix crash with tiny Flash strings (issue #2170 )
2025-04-11 10:23:43 +02:00
Benoit Blanchon
96281de682
Set version to 7.4.0
2025-04-09 14:49:13 +02:00
Benoit Blanchon
f0e84e4933
Fix support for const char[]
...
Fixes #2166
2025-04-09 08:55:09 +02:00
Benoit Blanchon
91397f9f06
Optimize storage of tiny strings (up to 3 characters)
2025-04-09 08:55:08 +02:00
Benoit Blanchon
7f75985e47
Change StringBuffer::save() to take a VariantData*
2025-02-28 10:05:50 +01:00
Benoit Blanchon
05b68fc7cc
Change StringBuilder::save() to take a VariantData*
2025-02-28 09:59:46 +01:00
Benoit Blanchon
b06cee8f4d
Remove the overload of setString() for StringNode
2025-02-28 09:23:56 +01:00
Benoit Blanchon
e03d8ae885
Set version to 7.3.1
2025-02-27 19:35:14 +01:00
Benoit Blanchon
cb1dcfa5e4
Reduce code size
2025-02-27 11:13:50 +01:00
Benoit Blanchon
67dd3120e6
Fix conversion from static string to number
2025-02-27 11:01:51 +01:00
Benoit Blanchon
9f3cf04415
Remove useless null check
2025-02-24 16:40:42 +01:00
Benoit Blanchon
01e49b33b7
Update copyright year
2025-02-24 15:18:26 +01:00
Benoit Blanchon
8f7e793f37
Set version to 7.3.0
2024-12-29 17:15:57 +01:00
Benoit Blanchon
254fa5712a
Update the release scripts to include the breaking changes section
2024-12-29 16:38:41 +01:00
Benoit Blanchon
de05814294
Move public facing SFINAEs to template declarations
2024-12-23 17:44:52 +01:00
Benoit Blanchon
e33e78d202
Rename undocumented JsonString::isLinked() to isStatic()
2024-11-26 14:32:50 +01:00
Benoit Blanchon
ed5f890d28
Replace JsonString::Ownership with bool
2024-11-26 14:32:36 +01:00
Benoit Blanchon
8931651317
JsonString: change default ownership to Copied
2024-11-26 10:10:52 +01:00
Benoit Blanchon
c078957282
Remove unnecessary universal references
2024-11-25 12:25:59 +01:00
Benoit Blanchon
cf084ae6b4
JsonString: move adapter class in the same file
2024-11-25 12:25:59 +01:00
Benoit Blanchon
f02fcc96a2
JsonArray: remove redundant tests
2024-11-25 12:25:59 +01:00
Benoit Blanchon
594dc707cb
Change string copy policy: only string literal are stored by pointer
2024-11-25 12:25:59 +01:00
Benoit Blanchon
5f8e3c0f0f
Polyfills: test remove_cv
2024-11-25 12:25:59 +01:00
Benoit Blanchon
afc0a29c2c
Polyfills: add decay
2024-11-25 12:25:59 +01:00
Benoit Blanchon
a256ec7fff
RamString: use a bitfield to reduce size
2024-11-25 12:25:59 +01:00
Benoit Blanchon
019e8326b7
Implement JsonString from RamString
2024-11-25 11:13:39 +01:00
Benoit Blanchon
bee1095042
Merge all RAM string adapters
2024-11-25 10:46:35 +01:00
Benoit Blanchon
de59dce527
Fix typo in comments
2024-11-25 10:46:34 +01:00
Benoit Blanchon
57a9c50b38
Make ElementProxy and MemberProxy non-copyable
2024-11-25 10:46:21 +01:00
Benoit Blanchon
5e7653b36a
Store adapted string in MemberProxy
2024-11-17 15:46:46 +01:00
Benoit Blanchon
8110058729
Fix support for NUL characters in deserializeJson()
2024-11-17 15:40:21 +01:00
Benoit Blanchon
7946ebe1a3
Wandbox: compile with gcc-head
2024-11-15 09:13:00 +01:00
Benoit Blanchon
f9fe8557f1
Set version to 7.2.1
2024-11-15 09:05:29 +01:00
Benoit Blanchon
e007d71b4f
Fix operator[](variant) ignoring NUL characters
2024-11-14 14:56:47 +01:00
Benoit Blanchon
67a512a923
Clean up tests of adaptString()
2024-11-14 14:22:51 +01:00
Benoit Blanchon
9cf4f3871d
Remove unused overload of stringCompare() and stringEquals()
2024-11-14 14:17:13 +01:00
Benoit Blanchon
31253dbe13
Add more tests with VLAs
2024-11-08 09:37:49 +01:00
Benoit Blanchon
1110d62128
Fix VLA support in JsonDocument::set()
2024-11-08 09:37:23 +01:00
Benoit Blanchon
c6c0649d70
Replace typedef with using
2024-10-23 15:54:08 +02:00
Benoit Blanchon
61ec2c4f95
Reduce boilerplate for failing build tests
2024-10-23 15:47:59 +02:00
Benoit Blanchon
0dd6231b3f
Forbid deserializeJson(JsonArray|JsonObject, ...)
...
Closes #2135
2024-10-23 15:41:34 +02:00
Benoit Blanchon
20219d74f0
Tests: don't link FailingBuilds with catch
2024-10-23 15:04:52 +02:00
Benoit Blanchon
64cbaa6ff7
Remove the workaround for particle-iot/particle-cli#716
...
This reverts commit 1404b1ef70 .
2024-09-28 09:58:48 +02:00
Benoit Blanchon
2512993617
Replace problematic symbol in idf_component.yml
...
Fixes #2131
2024-09-26 09:18:23 +02:00
Benoit Blanchon
48ee4a178b
Use a const reference in is_convertible()
2024-09-21 09:22:12 +02:00
Benoit Blanchon
cd4b2b2463
Set version to 7.2.0
2024-09-18 10:48:50 +02:00
Benoit Blanchon
f806a42cc2
Add support for escape sequence \'
...
Fixes #2124
2024-09-17 10:33:47 +02:00
Benoit Blanchon
c1a507c158
Set ARDUINOJSON_POOL_CAPACITY from ARDUINOJSON_SLOT_ID_SIZE
...
This avoids the integer overflow when `ARDUINOJSON_SLOT_ID_SIZE=1` on 64-bit architectures.
2024-09-11 21:08:51 +02:00
Benoit Blanchon
a1809d0f31
Replace sizeof(VariantData) with sizeof(SlotData)
2024-09-10 18:26:58 +02:00
Benoit Blanchon
d92eee8736
Deprecate containsKey() in favor of doc["key"].is<T>()
...
See #2121
2024-09-06 17:32:09 +02:00
Benoit Blanchon
dd1d96e28f
Group calls to getExtension()
...
This slightly reduces the code size.
2024-09-05 12:15:10 +02:00
Benoit Blanchon
3b64197869
MsgPackDeserializer: check extension allocation result
2024-09-04 14:34:02 +02:00
Benoit Blanchon
1f7a3f3174
JsonDeserializer: use float when the value has few digits
2024-09-04 14:33:14 +02:00
Benoit Blanchon
fd6314e132
Move some numbers tests to use_double_0.cpp
2024-09-04 14:29:19 +02:00
Benoit Blanchon
e4e2557b76
Move test of decomposeFloat()
2024-09-03 13:27:39 +02:00
Benoit Blanchon
3b6bf45b8a
Serialize float with less decimal places than double
2024-09-03 11:44:35 +02:00
Benoit Blanchon
65ba36622c
Add VariantType
2024-09-02 17:56:19 +02:00
Benoit Blanchon
33452c1f37
Test JsonVariant::as<T>() with extension slots
2024-08-27 16:08:47 +02:00
Benoit Blanchon
ee02c0d573
Test extension slot allocation failure
2024-08-27 16:08:47 +02:00
Benoit Blanchon
0278e94fce
Set ARDUINOJSON_USE_DOUBLE to 0 by default on 8-bit architectures
2024-08-27 15:46:12 +02:00
Benoit Blanchon
7643dadaec
WIP
2024-08-27 14:40:24 +02:00
Benoit Blanchon
c0bebe35f1
Improve message when user forgets third arg of serializeJson() et al.
...
See #1449 , #1491 , #1543 , #1665 , and #2122
2024-08-27 12:22:53 +02:00
Benoit Blanchon
b5bcb37657
Use enable_if_t instead of enable_if
2024-08-27 10:00:09 +02:00
Benoit Blanchon
b4a5b053ca
Merge conf_test for linux and windows
...
This reverts commit 83516e1740 .
2024-08-27 08:03:55 +02:00
Benoit Blanchon
e297932a98
Store 64-bit numbers (double and long long) in an additional slot
...
This change allows slots to be twices maller on 32-bit architectures.
See #1650 and #2103
2024-08-27 08:02:09 +02:00
Benoit Blanchon
e682337655
Release VariantData resources explicitly before setting value
2024-08-26 15:09:56 +02:00
Benoit Blanchon
4ada3f849c
Decouple parseNumber() from VariantData
2024-08-25 16:46:55 +02:00
Benoit Blanchon
5dd203bca4
Rename SlotWithId to Slot
2024-08-25 15:04:39 +02:00
Benoit Blanchon
362201241f
Make MemoryPool generic
2024-08-25 14:58:23 +02:00
Benoit Blanchon
2be24eded8
Rename SlotWithId::slot() and VariantWithId::data() to ptr()
2024-08-25 14:54:45 +02:00
Benoit Blanchon
4327f72140
Remove VariantSlot
2024-08-25 14:45:59 +02:00
Benoit Blanchon
f7f1b9745d
Hide FreeSlot in MemoryPoolList
2024-08-25 14:39:18 +02:00
Benoit Blanchon
cec18177b0
Move sizeofArray() and sizeofObject()
2024-08-25 14:36:38 +02:00
Benoit Blanchon
f2894552f2
Rename VariantPool to MemoryPool
2024-08-25 14:36:38 +02:00
Benoit Blanchon
d3721cb122
Make VariantSlot a union. Include next slot id in VariantData
2024-08-24 19:20:39 +02:00
Benoit Blanchon
ab72bb8601
Rename flags_ to type_
2024-08-24 11:18:21 +02:00
Benoit Blanchon
09c89dcacf
Store object members with two slots: one for the key and one for the value
2024-08-24 10:45:51 +02:00
Benoit Blanchon
a2b09bfbd2
Remove unused code
2024-08-23 15:28:44 +02:00
Benoit Blanchon
386105be90
Allocate slot before key
2024-08-23 15:27:46 +02:00
Benoit Blanchon
83516e1740
Split conf_test between linux and windows
2024-08-23 15:24:45 +02:00
Benoit Blanchon
bf99aeedb1
Add @LArkema to the list of sponsors 💖
2024-07-02 10:27:36 +02:00
Benoit Blanchon
22dd4da3af
Set version to 7.1.0
2024-06-27 18:20:22 +02:00
Benoit Blanchon
55c3b9b3a7
CI: update macOS runner to macos-13
2024-06-18 13:51:40 +02:00
Benoit Blanchon
d83515dcda
Add DevContainer files for Clang 13 to 17
2024-06-18 13:51:40 +02:00
Benoit Blanchon
e34c27723a
Fix build on modern compilers
2024-06-18 13:51:40 +02:00
Benoit Blanchon
b23ff65b99
Reduce MsgPack deserializer size
2024-06-18 13:51:33 +02:00
Benoit Blanchon
556785dc1e
Read MsgPack's 64-bit ints even if ARDUINOJSON_USE_LONG_LONG is 0
2024-06-18 13:50:50 +02:00
Benoit Blanchon
e9c87858d1
Remove files.associations from vscode settings
2024-06-18 09:31:39 +02:00
Benoit Blanchon
208e7a3304
Fix integer overflow in MsgPackDeserializer
2024-06-11 09:47:11 +02:00
Benoit Blanchon
45611924f3
Tests: add user-defined literal ""_s for std::string
2024-06-07 09:35:45 +02:00
Benoit Blanchon
5b88b2c1f6
Update GitHub actions
2024-06-06 18:43:10 +02:00
Benoit Blanchon
e4f3fd8c91
Add support for MsgPack extension
2024-06-06 18:33:48 +02:00
Benoit Blanchon
aec642be20
Rename tests in MixedConfiguration
2024-06-06 18:26:16 +02:00
Benoit Blanchon
5a60c55be7
Don't add partial objects when allocation fails
...
Fixes #2081
2024-05-23 18:36:24 +02:00
Benoit Blanchon
f99b2d63f9
Make error message more readable in case of an invalid conversion
2024-05-23 14:01:30 +02:00
Benoit Blanchon
1db803bcd3
Add helpers for type traits, such as enable_if_t
2024-05-22 10:22:59 +02:00
Benoit Blanchon
04326d2655
Allow Converter<T>::toJson() to return a boolean as an optimization
2024-05-22 09:27:15 +02:00
Benoit Blanchon
9e0c56acc3
Replace ConverterNeedsWriteableRef with function_traits
2024-05-22 09:27:14 +02:00
Benoit Blanchon
60f9f7eff6
Move CollectionData::releaseSlot() to ResourceManager::freeSlot()
2024-05-17 17:10:45 +02:00
Benoit Blanchon
0fe202af03
CI: don't build fuzzers with Clang 11
...
Clang 11 fails on GitHub Actions with the following error:
ERROR: UndefinedBehaviorSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
Sanitizer CHECK failed: /build/llvm-toolchain-11-mnvtwk/llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp:54 ((0 && "unable to mmap")) != (0) (0, 0)
2024-05-16 17:47:07 +02:00
Benoit Blanchon
c41e8cc634
Add dev container for Clang 11
2024-05-16 17:47:07 +02:00
Benoit Blanchon
d486157a9e
CMake: fix detection of GCC 4.8
2024-05-16 17:47:07 +02:00
Benoit Blanchon
91aad55412
CI: set cancel-in-progress to true
2024-05-16 17:47:07 +02:00
Benoit Blanchon
98fca74f66
Fix undefined reference to VariantPool::usage()
2024-05-16 17:47:07 +02:00
Benoit Blanchon
60fb268d9a
Fix UBSAN error "member call does not point to an object of type"
...
runtime error: member call on address XXX which does not point to an object of type 'Allocator'
XXX: note: object is of type 'SpyingAllocator'
This is due to the fact that some of the compilation units have different library settings, so a different namespace, and therefore a different `Allocator` class.
2024-05-16 17:47:07 +02:00
Benoit Blanchon
f1899d3049
Fix error resources_ may be used uninitialized
...
JsonArrayConst.hpp:29:56: error: 'array.ArduinoJson::V704HB22::JsonArrayConst::resources_' may be used uninitialized in this function [-Werror=maybe-uninitialized]
JsonObjectConst.hpp:62:56: error: 'null.ArduinoJson::V704HB22::JsonObjectConst::resources_' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2024-05-16 17:47:07 +02:00
Benoit Blanchon
4b779a7c1d
Fix wrong build flags when COVERAGE is not defined
2024-05-16 17:47:07 +02:00
Benoit Blanchon
5d1aa04e21
CI: add Valgrind log to step summary
2024-05-16 17:47:07 +02:00
Benoit Blanchon
2f6db1edb0
CI: remove step summary
...
CTest errors were ignored in favor or `tee`'s exit code
2024-05-16 17:47:06 +02:00
Benoit Blanchon
aeb30ef307
Support ElementProxy and MemberProxy in JsonDocument's constructor
2024-05-15 13:37:33 +02:00
Benoit Blanchon
1c5e5db071
Test JsonDocument constructor with a JsonVariantConst argument
...
See #2091
2024-05-15 09:30:22 +02:00
Benoit Blanchon
68a13117dc
Allow using a JsonVariant as a key or index
...
Closes #2080
2024-05-14 21:06:02 +02:00
Benoit Blanchon
071f718473
MsgPack: test failing string allocation
2024-05-06 11:23:20 +02:00
Benoit Blanchon
00949f8276
Remove redundant test
2024-05-06 11:16:55 +02:00
Benoit Blanchon
2c670e0148
Implement MsgPackBinary using raw strings and converters
2024-05-06 11:10:02 +02:00
Benoit Blanchon
002b07f0c5
Reduce the size of deserializeMsgPack()
2024-05-02 20:29:00 +02:00
Benoit Blanchon
5f5f927693
Add tests of as<MsgPackBinary>()
2024-05-01 19:26:19 +02:00
Benoit Blanchon
4d074840da
Optimize deserializeMsgPack()
2024-05-01 18:00:59 +02:00
David Gauchard
82de20ee14
Make string support even more generic
...
Ported from 57354de831
Closes #2084
2024-05-01 14:06:30 +02:00
Benoit Blanchon
ece4d030a8
CI: update runner for the lint job
2024-04-29 19:38:18 +02:00
Benoit Blanchon
4d5c17b5f6
Remove unused #include statements
2024-04-29 18:30:29 +02:00
Aubrey (Sanae)
18a9a5b590
Add MsgPack bin8/bin16/bin32 support
...
Closes #2078
Closes #922
2024-04-29 16:01:10 +02:00
Benoit Blanchon
cd4bf33132
Fix error "pasting X and Y does not give a valid preprocessing token"
2024-04-18 14:39:05 +02:00
Benoit Blanchon
2cfefe22ac
Add ARDUINOJSON_STRING_LENGTH_SIZE to the namespace name
2024-04-18 14:19:43 +02:00
RoboSchmied
0d43e51d48
Fix typo in "endianness"
...
Closes #2071
2024-03-26 13:43:07 +01:00
Benoit Blanchon
ef28064317
CI: merge the two "amalgamate" jobs
2024-03-18 10:54:36 +01:00
Benoit Blanchon
7c62cdb264
CI: update GitHub Actions
2024-03-17 21:30:42 +01:00
Benoit Blanchon
0ab4bdd691
CI: add a workaround for actions/runner-images#9491
2024-03-17 21:30:42 +01:00
Benoit Blanchon
af8c615266
Rename tests/JsonObject/copy.cpp to set.cpp
2024-03-16 14:02:56 +01:00
Benoit Blanchon
bd13375729
CI: add timeouts in the gcc job
2024-03-14 10:27:09 +01:00
Benoit Blanchon
5f8502ce9d
Upgrade to lock-threads version 5+
2024-03-14 09:51:44 +01:00
Benoit Blanchon
1404b1ef70
Add a workaround for particle-iot/particle-cli#716
2024-03-12 10:02:30 +01:00
Benoit Blanchon
36e1eecc7d
Set version to 7.0.4
2024-03-12 09:40:46 +01:00
Benoit Blanchon
ca2f80aeaf
Add links to the documentation
2024-02-21 10:48:50 +01:00
Benoit Blanchon
f17fc055d3
Make JSON_STRING_SIZE(N) return N+1 to fix third-party code
...
ThingsBoard uses this macro to compute size of char arrays ಠ_ಠ
https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/Helper.h#L38
Closes #2054
2024-02-18 20:00:25 +01:00
Benoit Blanchon
04ac53d114
Remove final from JsonArray, JsonObject, and JsonVariant
...
`final` breaks ThingsBoard ಠ_ಠ
https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/RPC_Response.h#L10
See #2056 .
This reverts commit 483a2c9101 .
2024-02-18 20:00:24 +01:00
Benoit Blanchon
483a2c9101
Mark JsonArray, JsonObject, and JsonVariant as final
...
See #2056
2024-02-18 10:52:07 +01:00
Benoit Blanchon
848c0cdc7e
Set version to 7.0.3
2024-02-05 13:34:38 +01:00
Benoit Blanchon
46a807bd30
Remove unused NO_INLINE
2024-02-05 11:56:08 +01:00
Benoit Blanchon
cb0dc94db4
Remove most FORCE_INLINEs
...
I kept only the ones that had a positive impact on code size AND no negative impact on stack memory.
Fixes #2046
2024-02-05 11:48:27 +01:00
Benoit Blanchon
72642e3090
Fix compatibility with GCC 4.8
...
Closes #2045
2024-02-01 21:37:45 +01:00
Benoit Blanchon
c98b05e207
Dont't inline JsonSerializer::visit(const ArrayData&)
...
It didn't improve the code size and was inconsistent with this other functions.
2024-02-01 10:24:01 +01:00
Benoit Blanchon
2a87cc5839
Stop using CollectionIterator in MsgPackSerializer
...
This doesn't reduce code size or stack usage, but as least it's consistent with `JsonSerializer`.
2024-02-01 10:24:01 +01:00
Benoit Blanchon
296fe79bfd
Stop using CollectionIterator in JsonSerializer
...
This reduces stack consumption and code size.
See #2046
2024-02-01 10:24:00 +01:00
Benoit Blanchon
650d537b5d
Improve error messages when using char or char*
...
See #2043
2024-01-26 10:34:49 +01:00
Benoit Blanchon
0435945a62
Set version to 7.0.2
2024-01-19 14:36:16 +01:00
Benoit Blanchon
844a50296f
Fix link to shrinkToFit()'s documentation
2024-01-16 14:29:08 +01:00
Benoit Blanchon
1b143d383b
Fix assertion poolIndex < count_ after JsonDocument::clear()
...
Fixes #2034
2024-01-16 10:10:43 +01:00
Benoit Blanchon
94783fdd2a
Set version to 7.0.1
2024-01-10 21:14:07 +01:00
Benoit Blanchon
e41d5d4fa1
Shorten the library description
2024-01-10 18:11:49 +01:00
Benoit Blanchon
5dfa25d3dc
Include the number of GitHub stars in the library description.
2024-01-10 18:11:43 +01:00
Benoit Blanchon
a7bfc2212c
Fix volatile bool serialized as 1 or 0
...
Ported from 5d1d2721d1
2024-01-10 14:03:12 +01:00
Benoit Blanchon
315cc722e9
Add more tests for JsonVariantConst
2024-01-08 19:47:40 +01:00
Benoit Blanchon
ca0dda7ac1
Add more tests for JsonArrayConst
2024-01-08 19:47:40 +01:00
Benoit Blanchon
08cac13c43
Add more tests for JsonObjectConst
2024-01-08 19:47:36 +01:00
Benoit Blanchon
44d2d47863
CI: publish package to PlatformIO registry
2024-01-04 18:05:31 +01:00
Benoit Blanchon
3571db6290
Remove unused files in the PlatformIO package
2024-01-04 18:01:52 +01:00
Benoit Blanchon
cc42373367
Fix "no matching function" with JsonObjectConst::operator[]
...
Fixes #2019
2024-01-03 16:30:44 +01:00
Benoit Blanchon
9dc43d14f3
Set version to 7.0.0
2024-01-03 09:19:34 +01:00
Benoit Blanchon
3fa6b6e04f
Fix typo in change log
2024-01-03 09:19:14 +01:00
Benoit Blanchon
2d47b3931d
Remove legacy Arduino package from release assets
2024-01-03 09:16:19 +01:00
Benoit Blanchon
0e8a236583
Update copyright year
2024-01-03 08:47:06 +01:00
Benoit Blanchon
955815fbfa
Fix function returns incomplete class type on IAR (issue #2001 )
...
Ported from 3e1be980d9
2023-12-07 15:51:29 +01:00
Benoit Blanchon
4cd03fbd26
Fix no instance of overloaded function... on IAR ( fixes #2001 )
...
Ported from 6ed87029e2
2023-12-07 15:51:29 +01:00
Benoit Blanchon
f7dcea562f
CI: always use libc++ with clang
2023-11-06 13:24:32 +01:00
Benoit Blanchon
4774ca3d29
Force inline ZeroTerminatedRamString::size()
...
Ported from 7517ecb91b
2023-11-06 09:52:17 +01:00
Benoit Blanchon
26b2ff4c0f
Reorder StringNode's members to reduce code size
2023-10-09 15:41:20 +02:00
Benoit Blanchon
7e6b89d21f
Use only one byte for the string length on 8-bit platforms
2023-10-09 15:21:18 +02:00
Benoit Blanchon
d20e64187b
Use only one byte for the reference counter on 8-bit platforms
2023-10-09 14:47:47 +02:00
Benoit Blanchon
86e06c901f
Add ARDUINOJSON_SIZEOF_POINTER
2023-10-09 14:40:18 +02:00
Benoit Blanchon
6fe4b9c01d
Detect string length overflows
2023-10-09 14:15:55 +02:00
Benoit Blanchon
9b34069a3b
Remove obsolete comments
2023-09-25 15:16:41 +02:00
Benoit Blanchon
30ea01bc31
StringExample: remove obsolete comment
2023-09-24 18:12:01 +02:00
Benoit Blanchon
92c9faf69f
Fix 'std::string_view' has not been declared (issue #1967 )
...
Ported from 49e2a8d421
2023-09-13 18:32:38 +02:00
Benoit Blanchon
b20653ee1a
Fix 'std::string' has not been declared (issue #1967 )
...
Ported from 259855a87b
2023-09-13 18:31:22 +02:00
Benoit Blanchon
750d53f8c7
Update URLs to point to https://arduinojson.org/v7/
2023-08-19 16:08:12 +02:00
Benoit Blanchon
7bd2ea1072
Remove mentions of the zero-copy mode
2023-08-19 16:05:42 +02:00
Benoit Blanchon
51c5f1a73a
Fix a Clang-Tidy warning
2023-08-10 19:27:03 +02:00
Benoit Blanchon
ac9b74df65
Show a warning when ARDUINOJSON_ENABLE_STRING_DEDUPLICATION is defined
2023-08-10 18:38:05 +02:00
Benoit Blanchon
305e80c09d
Show an error if ARDUINOJSON_SLOT_OFFSET_SIZE is defined
2023-08-10 18:28:38 +02:00
Benoit Blanchon
fc1f06822c
CI: add GCC 12
2023-08-10 18:25:53 +02:00
Benoit Blanchon
a8c763c40e
CI: add clang 11, 12, 13, 14, and 15
2023-08-10 18:25:53 +02:00
Benoit Blanchon
7ab6fc078c
CI: remove Clang 3.8
2023-08-10 18:18:30 +02:00
Benoit Blanchon
c98ba999af
Add more tests of JsonDocument constructor
2023-08-10 14:30:50 +02:00
Benoit Blanchon
1d583f68da
Add stubs for JSON_ARRAY_SIZE, JSON_OBJECT_SIZE, and JSON_STRING_SIZE
2023-08-10 09:54:47 +02:00
Benoit Blanchon
e93fd7657f
Add a "Breaking changes" section to the changelog
2023-08-10 09:54:47 +02:00
Benoit Blanchon
78399c2d78
Add a stub for createNestedObject()
2023-08-10 09:54:46 +02:00
Benoit Blanchon
8cc645c40c
Add a stub for createNestedArray()
2023-08-10 09:54:45 +02:00
Benoit Blanchon
11373af344
Add a stub for add()
2023-08-10 09:54:44 +02:00
Benoit Blanchon
53d54ba9d7
Add a stub for shallowCopy()
2023-08-10 09:54:44 +02:00
Benoit Blanchon
2f31c932d7
Add a stub for memoryUsage()
2023-08-10 09:54:43 +02:00
Benoit Blanchon
93cb3d2fdc
Add a stub for BasicJsonDocument
2023-08-10 09:54:42 +02:00
Benoit Blanchon
be5d5300a2
Add a stub for DynamicJsonDocument
2023-08-10 09:54:40 +02:00
Benoit Blanchon
ea5b019552
Add a stub for StaticJsonDocument
2023-08-10 09:54:28 +02:00
Benoit Blanchon
bc6707b10c
Rename tests/JsonObject/invalid.cpp to unbound.cpp
2023-08-09 12:08:21 +02:00
Benoit Blanchon
adea7f4131
Extract VariantRefBaseImpl.hpp
2023-08-09 12:08:21 +02:00
Benoit Blanchon
7f459adc4b
Remove createNestedArray() and createNestedObject()
2023-08-09 12:08:21 +02:00
Benoit Blanchon
cdc1262127
Remove unused JsonDocument constructor
2023-08-09 11:07:27 +02:00
Benoit Blanchon
f422b7b37d
Replace add() with add<T>() (add(T) is still supported)
2023-08-09 10:57:52 +02:00
Benoit Blanchon
7a587ac2e2
Fix some getVariant() that were accidentally renamed to getSlot()
2023-08-09 10:08:40 +02:00
Benoit Blanchon
38941d5807
Tests: use sections for filters tests
2023-08-01 19:14:11 +02:00
Benoit Blanchon
57454cf97b
Don't call shrinkToFit() for deserializeXxx(JsonVariant)
2023-08-01 18:48:10 +02:00
Benoit Blanchon
af6954c224
serializeXxx() sets std::string and String instead of appending
2023-07-31 18:37:35 +02:00
Benoit Blanchon
3003756adb
Reformat filters test file
2023-07-31 17:34:53 +02:00
Benoit Blanchon
218a12ca46
Call shrinkToFit() in deserializeJson() and deserializeMsgPack()
2023-07-31 17:34:17 +02:00
Benoit Blanchon
752d01a7f1
Add an enable_if to validate the first argument to deserializeXxx()
2023-07-29 12:05:18 +02:00
Benoit Blanchon
43eed00cd9
Add deserializeXxx(JsonVariant, ...) ( resolves #1226 )
2023-07-29 12:05:18 +02:00
Benoit Blanchon
bc8ea36781
Tests: gather deserializeMsgPack() errors test cases
2023-07-29 06:33:45 +02:00
Benoit Blanchon
8fb187baed
Tests: gather deserializeJson() errors test cases
2023-07-29 06:33:45 +02:00
Benoit Blanchon
db5b5f9ee2
Fix a typo in the changelog
2023-07-29 06:33:44 +02:00
Benoit Blanchon
9122d87f12
Tests: remove duplicate test of incomplete input
2023-07-27 14:31:56 +02:00
Benoit Blanchon
9a11d98117
Tests: make allocator assertions more readable
2023-07-26 09:28:21 +02:00
Benoit Blanchon
30ec507989
Tests: use a consistent naming convention for allocators
2023-07-25 14:53:54 +02:00
Benoit Blanchon
7a76da3bc7
Tests: rename ControllableAllocator to KillswitchAllocator
2023-07-25 14:46:25 +02:00
Benoit Blanchon
a8329564e2
Remove JsonDocument::garbageCollect()
2023-07-25 14:37:25 +02:00
Benoit Blanchon
00c9d8680a
Remove memoryUsage()
2023-07-24 17:21:25 +02:00
Benoit Blanchon
2fdacb1ca0
Reduce size of CollectionData::clear()
2023-07-24 10:33:06 +02:00
Benoit Blanchon
228c4cf9fa
JsonDocument: use the copy-and-swap idiom
2023-07-24 10:13:17 +02:00
Benoit Blanchon
9d2d257851
Scripts: call wandbox/publish.sh from get-release-page.sh
...
Ported from 371fa4667e
2023-07-23 18:08:54 +02:00
Benoit Blanchon
5458e916ea
Show a link to the doc when user passes an unsupported input type
...
Ported from 7eec01cdd6
2023-07-23 18:08:21 +02:00
Benoit Blanchon
1a14499612
Preallocate pool list
2023-07-21 17:57:13 +02:00
Benoit Blanchon
f427706e06
VariantPoolList: handle SlotId overflow
2023-07-21 17:57:13 +02:00
Benoit Blanchon
8be0d57d24
VariantPoolList: reduce the size of capacity_ and count_
2023-07-21 09:47:25 +02:00
Benoit Blanchon
8fcaebb44a
Detect null slot id earlier in VariantPoolList::getSlot()
2023-07-20 18:04:06 +02:00
Benoit Blanchon
bd2d232b40
JsonParseExample: use a const char* instead of a char[]
2023-07-20 18:04:06 +02:00
Benoit Blanchon
b69a952e69
Examples: remove outdated comments
2023-07-20 18:04:06 +02:00
Benoit Blanchon
727a1013ca
Recycle removed slots
2023-07-20 18:04:06 +02:00
Benoit Blanchon
781e449e78
CollectionData::releaseSlot() takes an iterator
2023-07-20 17:53:52 +02:00
Benoit Blanchon
d4af8cffa7
Store current and next slot id in CollectionIterator
2023-07-20 17:53:52 +02:00
Benoit Blanchon
0f3c73a211
Remove VariantPool::capacity()
2023-07-18 09:08:55 +02:00
Benoit Blanchon
0f319e7ca4
Remove capacity from JsonDocument's constructor
2023-07-18 09:08:55 +02:00
Benoit Blanchon
42b2840009
Create more memory pools as needed ( resolves #1074 )
2023-07-18 09:08:55 +02:00
Benoit Blanchon
65c67d317a
AllocatorLog: support nulls in deallocate() and reallocate()
2023-07-17 17:28:49 +02:00
Benoit Blanchon
c4e5051a7a
Store index of slot in the pool instead of a pointer or a distance
2023-07-17 11:20:46 +02:00
Benoit Blanchon
068c40d6ed
Add Dev Container configs
...
Ported from 4ba9c1b0c0
2023-07-17 11:20:46 +02:00
Benoit Blanchon
c203c86a42
CI: add --output-on-failure for coverage and valgrind tasks
2023-07-17 11:20:46 +02:00
Benoit Blanchon
8aec448adf
Add missing declaration of offsetof()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
9538bc32af
Implement the object copy at the JsonObject level
2023-07-17 11:20:46 +02:00
Benoit Blanchon
b2aa0029b9
Implement array copy at the JsonArray level
2023-07-17 11:20:46 +02:00
Benoit Blanchon
57e9134540
Implement variant copy at the JsonVariant level
2023-07-17 11:20:46 +02:00
Benoit Blanchon
fb4cb96c6c
Move JsonArray and JsonObject converters to ConverterImpl.hpp
2023-07-17 11:20:46 +02:00
Benoit Blanchon
5e3f84c718
Merge all visitXxx() into one overloaded visit() function
2023-07-17 11:20:46 +02:00
Benoit Blanchon
64922343e6
visitNull() takes a nullptr_t
2023-07-17 11:20:46 +02:00
Benoit Blanchon
1d07abddcd
Add nullptr_t
2023-07-17 11:20:46 +02:00
Benoit Blanchon
21bf4973de
visitRawString() takes a RawString
2023-07-17 11:20:46 +02:00
Benoit Blanchon
da845ae01d
visitString() takes a JsonString
2023-07-17 11:20:46 +02:00
Benoit Blanchon
5a9d3422f5
Add JsonVariantVisitor and use it for comparisons
2023-07-17 11:20:46 +02:00
Benoit Blanchon
7a9feb4d6e
Rename Visitor to VariantDataVisitor
2023-07-17 11:20:46 +02:00
Benoit Blanchon
39e8b63746
Remove shallowCopy()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
c37990d791
CollectionData: addSlot() returns an iterator
2023-07-17 11:20:46 +02:00
Benoit Blanchon
fac5b5a7a7
CollectionData: allocate the slot in addSlot()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
5ceb5d1813
Use CollectionIterator in CollectionData::memoryUsage()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
ec4c73db0b
Use CollectionIterator in CollectionData::nesting()
2023-07-17 11:20:45 +02:00
Benoit Blanchon
f86b22cf4f
Replace slotRelease() with CollectionData::releaseSlot()
2023-07-17 11:20:45 +02:00
Benoit Blanchon
78a74c4017
Inline slotSize()
2023-07-17 11:20:45 +02:00
Benoit Blanchon
dae0182914
Convert CollectionIterator to GoF style
2023-07-17 11:20:45 +02:00
Benoit Blanchon
0f511b873d
VariantPool: store VariantSlots instead of chars
2023-07-12 15:03:56 +02:00
Benoit Blanchon
1d96826371
Add a ResourceManager* member to JsonArrayConst, JsonObjectConst, and JsonVariantConst
2023-07-12 15:03:56 +02:00
Benoit Blanchon
f6b014582f
Implement object comparison out of class
2023-07-12 15:03:56 +02:00
Benoit Blanchon
555f3dd5fe
Implement array comparison out of class
2023-07-12 15:03:56 +02:00
Benoit Blanchon
04973ca494
Fix ARDUINOJSON_BIN2ALPHA_0110()
...
Ported from 6c5fde2a55
2023-07-12 15:02:21 +02:00
Benoit Blanchon
01b9b40bd2
Include ARDUINOJSON_SLOT_OFFSET_SIZE in the namespace name
...
Ported from 433fb4b961
2023-07-12 15:01:28 +02:00
Benoit Blanchon
c8517ee5b6
Fix double call to size() in serializeMsgPack()
...
Ported from afbcc2106e
2023-07-12 12:00:23 +02:00
Benoit Blanchon
23b01a89b1
Fix double lookup in to<JsonVariant>()
2023-07-05 16:18:35 +02:00
Benoit Blanchon
688e21e75f
Add CollectionIterator
2023-06-26 18:23:20 +02:00
Benoit Blanchon
d921cd6d02
Convert "variant functions" to static member functions
2023-06-26 12:33:34 +02:00
Benoit Blanchon
af8bdfbc8f
Convert "collection function" to static member functions
2023-06-26 11:58:28 +02:00
Benoit Blanchon
68b1602c35
Extract ObjectData from CollectionData
2023-06-26 11:42:25 +02:00
Benoit Blanchon
7bc73d7849
Extract ArrayData from CollectionData
2023-06-26 11:18:56 +02:00
Benoit Blanchon
67bbb4c90d
Manage resources in CollectionData
2023-06-26 10:07:40 +02:00
Benoit Blanchon
fffed4fba6
VariantAttorney: replace ResultOfGetData with a trailing return type
2023-06-20 18:47:45 +02:00
Benoit Blanchon
8d7bbffe10
Simplify JsonObject::operator==
2023-06-20 18:47:44 +02:00
Benoit Blanchon
488475fe16
Simplify JsonArray::operator==
2023-06-20 18:47:42 +02:00
Benoit Blanchon
ba8d102432
Swap the parameters of JsonObject's constructor
2023-06-20 18:47:40 +02:00
Benoit Blanchon
e96680eb29
Swap the parameters of JsonArray's constructor
2023-06-20 18:47:38 +02:00
Benoit Blanchon
4c0fb4eb55
Swap the parameters of JsonVariant's constructor
2023-06-20 18:47:37 +02:00
Benoit Blanchon
db2fb01795
Replace VariantPtr, VariantConstPtr, JsonPairPtr, and JsonPairConstPtr with Ptr<T>
2023-06-20 18:47:12 +02:00
Benoit Blanchon
18ae8ab7b9
Extract arrayEquals() and objectEquals()
2023-06-19 17:38:17 +02:00
Benoit Blanchon
87c96f9306
ResourceManager: rename string functions
2023-06-19 11:25:04 +02:00
Benoit Blanchon
262747b419
ResourceManager: extract the StringPool class
2023-06-19 11:15:00 +02:00
Benoit Blanchon
3e0ba2028c
ResourceManager: extract functions to manipulate StringNodes
2023-06-19 11:14:47 +02:00
Benoit Blanchon
972f665b07
Wandbox: upgrade to GCC 5.5.0
...
Ported from ecbc8e85d4
2023-06-19 09:17:36 +02:00
Benoit Blanchon
519e32badb
ResourceManager: remove unused operator new
2023-06-18 10:14:39 +02:00
Benoit Blanchon
d90b36c009
Extract VariantPool from ResourceManager
2023-06-18 10:14:39 +02:00
Benoit Blanchon
8147625921
ResourceManager: replace allocFromPool() with allocVariant()
2023-06-18 10:14:39 +02:00
Benoit Blanchon
2cf7fc5427
Remove unused #includes
2023-06-18 10:14:39 +02:00
Benoit Blanchon
4871380060
Rename MemoryPool to ResourceManager
2023-06-18 10:14:39 +02:00
Benoit Blanchon
2a663db3c7
MemoryPool: store usage and capacity as integers instead of using pointers
2023-06-18 10:14:39 +02:00
Benoit Blanchon
437307a955
MemoryPool: store slots at the beginning of the pool
2023-06-14 12:01:31 +02:00
Benoit Blanchon
56b3b4d5a9
MemoryPool: remove unused functions
2023-06-14 12:01:31 +02:00
Benoit Blanchon
f5355a9eb5
Move all functions from VariantFunctions.hpp to `VariantData.hpp
2023-05-26 14:09:12 +02:00
Benoit Blanchon
779ee07de9
Add VariantData::copyFrom()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
ab4e8547cb
Add VariantData::getOrAddElement()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
585795d002
Add VariantData::removeElement()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
68a167b167
Add VariantData::nesting()
2023-05-26 14:09:12 +02:00
Benoit Blanchon
78d4f721ff
Add VariantData::removeMember()
2023-05-26 14:09:00 +02:00
Benoit Blanchon
a97bcb6b2d
Add VariantData::getOrAddMember()
2023-05-26 14:09:00 +02:00
Benoit Blanchon
2da1f2553d
Add VariantData::addElement()
2023-05-26 14:09:00 +02:00
Benoit Blanchon
c267b55dec
Move raw string copy logic into VariantData::setRawString()
2023-05-25 10:06:01 +02:00
Benoit Blanchon
3a73ccf027
Move string copy logic into VariantData::setString()
2023-05-25 09:55:43 +02:00
Benoit Blanchon
8ab45e6f82
Add JsonVariant::release()
2023-05-25 09:35:40 +02:00
Benoit Blanchon
da45c4bc4f
Fix memory leak in JsonDeserializer when object key is repeated
2023-05-25 09:21:54 +02:00
Benoit Blanchon
48acf963fb
Remove VariantImpl.hpp
2023-05-25 09:06:05 +02:00
Benoit Blanchon
ccccd1da11
Sort VariantData's members alphabetically
2023-05-25 09:06:05 +02:00
Benoit Blanchon
78a30496be
Define all VariantData's member functions inline
2023-05-25 09:03:16 +02:00
Benoit Blanchon
636c8c36eb
Decouple MemoryPool from VariantSlot
2023-05-22 17:56:04 +02:00
Benoit Blanchon
5070fa6562
Rename memberFilter to elementFilter in deserializers
2023-05-22 14:11:59 +02:00
Benoit Blanchon
d9e035a288
Remove VariantData::isEnclosed()
2023-05-22 09:46:35 +02:00
Benoit Blanchon
aba8974148
Extract StringNode.hpp
2023-05-22 09:05:48 +02:00
Benoit Blanchon
044a4753d2
Rename StringCopier to StringBuilder
2023-05-10 10:12:55 +02:00
Benoit Blanchon
ff0deee793
Remove string storage policy to always use StringCopier
2023-05-10 10:02:48 +02:00
Benoit Blanchon
37357086e2
Remove the zero-copy mode
...
After removing the string size from `VariantContent`, `deserializeJson()` and `deserializeMsgPack()` could not support NUL in strings in the zero-copy mode anymore.
Instead of adding a complicated warning in the documentation, I thought it was better to remove the zero-copy mode entirely.
The zero-copy mode has always been a source of bugs because many users used it without realizing it.
Also, the memory savings are smaller now that we deduplicate strings, so this feature should not be missed much.
2023-05-10 09:55:21 +02:00
Benoit Blanchon
9321f8fdab
Remove string size from VariantContent ( #1650 )
2023-05-02 18:56:17 +02:00
Benoit Blanchon
167ea08c53
Pass StringNode* to VariantData
2023-05-02 18:56:02 +02:00
Benoit Blanchon
5c0338970c
Remove StoragePolicy
2023-05-02 17:52:53 +02:00
Benoit Blanchon
6b4dd3ff2f
Fix build on ESP32 (caused by espressif/arduino-esp32#7941 )
2023-05-02 10:48:02 +02:00
Benoit Blanchon
fead19560c
Rename visitRawJson() to visitRawString()
2023-05-02 10:06:27 +02:00
Benoit Blanchon
86772d33bc
Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING
2023-05-02 10:03:37 +02:00
Benoit Blanchon
a035116018
Remove unused struct RawData
2023-05-02 10:00:46 +02:00
Benoit Blanchon
806fa907ab
Always store serialized("string") by copy ( #1915 )
2023-05-02 09:36:40 +02:00
Benoit Blanchon
95f5d9d134
Fix compatibility with the Blynk libary ( fixes #1914 )
...
Ported from 52d8a65cbc
2023-04-21 19:08:53 +02:00
Benoit Blanchon
03139a08af
Set default for ARDUINOJSON_ENABLE_PROGMEM to 1 on AVR
...
Ported from 082ae69e86
2023-04-21 19:08:53 +02:00
Benoit Blanchon
acfbf26e37
CI: check build configuration on AVR
...
Ported from 976a6d7594
2023-04-21 19:08:53 +02:00
Benoit Blanchon
461cdaa818
Allow using PROGMEM outside of Arduino ( fixes #1903 )
...
Ported from 40daf56b5a
2023-04-21 19:08:53 +02:00
Benoit Blanchon
dd46813dc0
Change naming convention from _member to member_ ( fixes #1905 )
...
Ported from 31ce648e63
2023-04-21 18:59:48 +02:00
Benoit Blanchon
5d796781fb
Increase coverage
2023-04-21 18:39:47 +02:00
Benoit Blanchon
f5e7570f84
Simplify CollectionData to work only with VariantSlot*
2023-04-21 16:11:54 +02:00
Benoit Blanchon
003087406c
Reference-count shared strings
2023-04-21 16:11:54 +02:00
Benoit Blanchon
b7c8e0d25c
Decouple VariantData from MemoryPool
2023-04-21 16:11:54 +02:00
Benoit Blanchon
30c111fd3d
Remove callback from storeString()
2023-04-17 10:42:08 +02:00
Benoit Blanchon
9d0714efdf
Remove unused MemoryPool::_left
2023-04-17 10:42:08 +02:00
Benoit Blanchon
d8f3058efa
Store the strings in the heap
2023-04-17 10:42:08 +02:00
Benoit Blanchon
7c0fa7c276
Add MemoryPool::deallocPool()
2023-04-08 09:20:27 +02:00
Benoit Blanchon
6eb4f45fb9
Tests: ControllableAllocator controls reallocate() too
2023-04-08 09:18:15 +02:00
Benoit Blanchon
b3132cac3a
Tests: add SpyingAllocator::clearLog()
2023-04-07 18:30:31 +02:00
Benoit Blanchon
d95a3bd19a
Tests: add TimebombAllocator
2023-04-07 18:28:46 +02:00
Benoit Blanchon
22e4f216c3
Tests: allow ArmoredAllocator to be called multiple times
2023-04-07 18:27:38 +02:00
Benoit Blanchon
e9850152a7
Tests: replace constants with sizeofString(n)
2023-04-07 14:50:54 +02:00
Benoit Blanchon
5e0e35615c
Double speed of DynamicJsonDocument::garbageCollect()
2023-04-05 16:50:52 +02:00
Benoit Blanchon
c4b879645a
Remove JsonDocument::capacity()
2023-04-03 09:51:43 +02:00
Benoit Blanchon
6afa6b647c
Test: Support failed allocations in SpyingAllocator
2023-04-03 09:51:10 +02:00
Benoit Blanchon
acd465b365
Test: change ControllableAllocator into a decorator
2023-04-03 09:51:10 +02:00
Benoit Blanchon
e858570afb
Test: change SpyingAllocator into a decorator
2023-04-03 09:51:09 +02:00
Benoit Blanchon
0643c2e708
Test: gather JsonDocument constructor and assignment tests
2023-04-03 09:51:09 +02:00
Benoit Blanchon
bcf1339e89
Test: split JsonDocument.cpp into multiple files
2023-04-03 09:51:09 +02:00
Benoit Blanchon
dc463a2f72
Test: remove REQUIRE_JSON()
2023-04-03 09:51:09 +02:00
Benoit Blanchon
a7cdf638e7
Test: move ControllableAllocator
2023-04-03 09:51:09 +02:00
Benoit Blanchon
57810af2ac
Test: include deallocated size in allocator's log
2023-04-02 16:47:59 +02:00
Benoit Blanchon
2eb726b744
Test: add AllocatorLog
2023-04-02 16:47:59 +02:00
Benoit Blanchon
912137ccfb
Test: share SpyingAllocator
2023-04-01 10:34:48 +02:00
Benoit Blanchon
035c913c72
Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION
2023-03-29 19:28:44 +02:00
Benoit Blanchon
3f43c2b816
Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE()
2023-03-29 19:18:06 +02:00
Benoit Blanchon
0328f66340
Fix compatibility with GCC 5.2
2023-03-28 17:24:45 +02:00
Benoit Blanchon
b3eada9c7f
CI: restore build on GCC 5
2023-03-28 14:53:15 +02:00
Benoit Blanchon
8516b368ad
Set version to 7.0.0-alpha
2023-03-28 14:45:55 +02:00
Benoit Blanchon
d0fff5a0b5
Update branch to 7.x
2023-03-28 14:43:48 +02:00
Benoit Blanchon
4c8d4b4e20
Remove badges linking to the library registries
2023-03-28 14:43:03 +02:00
Benoit Blanchon
5faa3df43f
MemoryPool calls the Allocator directly
2023-03-20 15:03:09 +01:00
Benoit Blanchon
540901e219
Merge DynamicJsonDocument with JsonDocument
2023-03-20 14:49:51 +01:00
Benoit Blanchon
db9258bcd7
Remove BasicJsonDocument
2023-03-20 14:49:08 +01:00
Benoit Blanchon
24aaab6e3e
Add abstract Allocator class
2023-03-20 14:47:27 +01:00
Benoit Blanchon
17a482a9b1
Remove StaticJsonDocument
2023-03-20 10:40:35 +01:00
Benoit Blanchon
5edd435fe9
Add a constructor to VariantData
2023-03-20 10:14:54 +01:00
Benoit Blanchon
de9239caab
Set version to 6.21.0
2023-03-14 21:05:56 +01:00
Benoit Blanchon
c89a2025ce
Make string support generic (issue #1807 )
2023-03-13 12:19:05 +01:00
Benoit Blanchon
42ae8c3037
Remove negativeBinaryPowersOfTenPlusOne
2023-02-22 15:42:10 +01:00
Benoit Blanchon
319ececf26
Keep only one implementation of make_float()
2023-02-22 15:42:10 +01:00
Benoit Blanchon
886254c41e
Reduce size of make_float()
2023-02-22 15:42:10 +01:00
Benoit Blanchon
4e7099dc73
Add pgm_ptr<T>
2023-02-22 15:42:10 +01:00
Benoit Blanchon
26948cb83a
Use 64-bits literals to forge 64-bits literals
2023-02-22 11:40:15 +01:00
Benoit Blanchon
0f8698e655
Replace ARDUINOJSON_EXPANDX with variadic macros ( #1820 )
2023-02-22 11:24:51 +01:00
Benoit Blanchon
b2b995edb3
Use delete instead of hiding copy constructors and assignments ( #1820 )
2023-02-17 10:59:57 +01:00
Benoit Blanchon
33a4773fbd
Set clang-format standard to C++11 ( #1820 )
2023-02-16 11:51:02 +01:00
Benoit Blanchon
daa87e12dc
Update copyright notice
2023-02-16 11:45:01 +01:00
Benoit Blanchon
5abf512276
Reduce number of overloads of deserializeJson() and deserializeMsgPack() ( #1820 )
2023-02-16 11:17:15 +01:00
Benoit Blanchon
0dd4a68913
Use only letters to encode configuration in the namespace
2023-02-14 10:04:49 +01:00
Benoit Blanchon
8971127b66
Fix build on GCC 6
2023-02-14 10:04:49 +01:00
Benoit Blanchon
1b66a217bf
Replace ARDUINOJSON_NAMESPACE with an inline namespace ( #1820 )
2023-02-14 10:04:48 +01:00
Benoit Blanchon
34dd46110b
Remove safe bool idiom ( #1820 )
2023-02-13 11:12:41 +01:00
Benoit Blanchon
8f7211a50f
Remove ARDUINOJSON_HAS_NULLPTR ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
2be4ee732a
Remove ARDUINOJSON_HAS_RVALUE_REFERENCES ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
3bdedc9a2f
Remove ARDUINOJSON_HAS_LONG_LONG ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
f699954f4d
Remove support for __int64 ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
407fc2cd45
Drop support for C++98/C++03 ( closes #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
91fe6dcae8
Fix clang-tidy warning "Called C++ object pointer is null"
2023-02-10 17:02:51 +01:00
Benoit Blanchon
62dea9d364
Reformat CMake files
2023-02-10 17:02:51 +01:00
Benoit Blanchon
e0bdc4bff1
Remove unused variables ( fixes #1858 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
007b4f3362
Update Catch library to 2.13.10 ( #1820 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
94b2b3f9ce
Run all tests with C++11 enabled ( #1820 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
c2de812cbd
Set minimum Clang version to 3.8 ( #1820 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
669ee4dfe3
Set minimum GCC version to 6 ( #1820 )
2023-02-10 17:02:33 +01:00
Benoit Blanchon
e054cba610
Set minimum Visual Studio version to 2017 ( #1820 )
2023-02-10 14:49:24 +01:00
Benoit Blanchon
3d8287265c
Remove unused NOEXCEPT macro
2023-02-09 19:06:36 +01:00
Benoit Blanchon
de7afc2015
Minor improvements in the release workflow
2023-02-08 16:51:47 +01:00
Benoit Blanchon
ae0499fd57
Update idf_component.yml
2023-02-08 16:46:15 +01:00
Benoit Blanchon
b33966c755
Set version to 6.20.1
2023-02-08 16:42:04 +01:00
Benoit Blanchon
d2cd13bf2e
CI: automatically publish Particle library
2023-02-08 16:40:06 +01:00
Benoit Blanchon
06b2263329
README: reduce the size of the logo
2023-02-08 16:40:06 +01:00
Benoit Blanchon
d4bb839ce9
CI: remove the draft flag on the GitHub Release
2023-02-08 16:40:04 +01:00
Benoit Blanchon
6013a1a56f
Fix the name of the license file
2023-02-08 16:40:01 +01:00
Benoit Blanchon
34b38e07c7
Deduce template argument of pgm_read()
2023-01-26 18:10:41 +01:00
Benoit Blanchon
1ec16ca94f
Use pgm_read() instead of ARDUINOJSON_READ_STATIC_ARRAY
2023-01-26 14:55:46 +01:00
Benoit Blanchon
b350a96643
Remove explicit exclusion of as<char*>() and as<char>() ( #1860 )
...
If you try to call them, you'll now get the same error message as any unsupported type.
You could also add a custom converter for `char*` and `char`.
2023-01-18 22:10:37 +01:00
Benoit Blanchon
bf93779b4f
Update catch.hpp ( fixes #1856 )
...
See also catchorg/Catch2#2627
2023-01-17 13:53:47 +01:00
Benoit Blanchon
dd0f7019ef
CI: Update runner to get GCC 11.3 ( resolves #1859 )
2023-01-17 13:53:47 +01:00
Benoit Blanchon
175e5b3062
Add missing semicolon ( fixes #1857 )
2023-01-17 08:59:45 +01:00
Benoit Blanchon
7885155634
Add to IDF Component Registry ( closes #1844 )
2023-01-14 09:26:12 +01:00
Benoit Blanchon
1909ffe0f9
Remove link to Discord server
2023-01-13 08:52:33 +01:00
Johan Vromans
3345255f16
Fix comma tests.
2023-01-13 08:21:54 +01:00
Benoit Blanchon
c49adfd6da
Test custom converter for std::array (issue #1840 )
2022-12-31 10:48:20 +01:00
Benoit Blanchon
5094b84a46
Set version to 6.20.0
2022-12-26 17:35:54 +01:00
Benoit Blanchon
191fc5dff4
Remove support for naked char (was deprecated since 6.18.0)
2022-12-26 11:02:34 +01:00
Benoit Blanchon
cb9c90f2d0
Mark adapter's storagePolicy() as const
2022-12-26 10:23:48 +01:00
Benoit Blanchon
09f9bd6b8b
Fix detection of char types
2022-12-26 10:21:57 +01:00
Benoit Blanchon
67abbef818
Fix GitHub Actions badge ( badges/shields#8671 )
2022-12-26 10:09:06 +01:00
Benoit Blanchon
7ed2559e9e
Test custom converter for std::vector<T> (issue #1840 )
2022-12-26 10:09:06 +01:00
Benoit Blanchon
ac8e5f01db
Clang-Format: set AllowShortLoopsOnASingleLine to false
2022-12-24 15:48:00 +01:00
Benoit Blanchon
396d2a7b3b
CI: check URLs
2022-12-21 19:20:51 +01:00
Benoit Blanchon
de725e0a4e
Add documentation to most public symbols
2022-12-21 19:20:51 +01:00
Benoit Blanchon
2a32803e9e
CI: Replace set-output with environment file
...
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-12-19 14:58:15 +01:00
Benoit Blanchon
d602232b9f
Update change log
2022-12-19 14:41:53 +01:00
Benoit Blanchon
b0730f04f7
Rename VariantRef to JsonVariant
2022-12-19 14:41:53 +01:00
Benoit Blanchon
ef8ed28aec
Rename VariantConstRef to JsonVariantConst
2022-12-19 14:41:43 +01:00
Benoit Blanchon
b8eff868e6
Rename String to JsonString
2022-12-19 14:41:43 +01:00
Benoit Blanchon
d0b619ea93
Rename UInt to JsonUInt
2022-12-19 14:41:43 +01:00
Benoit Blanchon
652d70fe2c
Rename Integer to JsonInteger
2022-12-19 14:41:43 +01:00
Benoit Blanchon
8228aec74b
Rename Float to JsonFloat
2022-12-19 14:41:43 +01:00
Benoit Blanchon
2f2e0e9415
Rename ObjectIterator to JsonObjectIterator
2022-12-19 12:21:11 +01:00
Benoit Blanchon
3a9803679f
Rename Pair to JsonPair
2022-12-19 12:21:11 +01:00
Benoit Blanchon
dc42d93b0f
Rename ObjectConstRef to JsonObjectConst
2022-12-19 12:20:37 +01:00
Benoit Blanchon
dff07ebfe8
Rename ObjectRef to JsonObject
2022-12-19 12:20:13 +01:00
Benoit Blanchon
4c456a95a3
Rename ArrayIterator to JsonArrayIterator
2022-12-19 12:12:28 +01:00
Benoit Blanchon
83e5d9d150
Rename ArrayConstRef to JsonArrayConst
2022-12-19 12:12:28 +01:00
Benoit Blanchon
7079aa99d7
Rename ArrayRef to JsonArray
2022-12-19 12:10:58 +01:00
Benoit Blanchon
208a22e324
Update GitHub action dessant/lock-threads
2022-12-13 08:28:20 +01:00
Robert M Lugg
9afae963e8
Update tutorial links to point to version 6
2022-12-05 21:00:46 +01:00
Benoit Blanchon
1828dec658
CI: add CTest output to the job summary
2022-12-05 21:00:24 +01:00
Benoit Blanchon
afe2434baf
Extract ObjectConstRef.hpp from ObjectRef.hpp
2022-12-05 21:00:24 +01:00
Benoit Blanchon
e08f8d5b51
Inline class ObjectRefBase
2022-12-05 21:00:24 +01:00
Benoit Blanchon
7e3b40f379
Extract ArrayConstRef.hpp from ArrayRef.hpp
2022-12-05 21:00:24 +01:00
Benoit Blanchon
584770dc6f
Inline class ArrayRefBase
2022-12-05 21:00:24 +01:00
Benoit Blanchon
5d2a440c69
Remove ArrayFunctions.hpp and ObjectFunctions.hpp
2022-12-05 21:00:24 +01:00
Benoit Blanchon
ac14f29e6c
Move definitions of JSON_ARRAY_SIZE() and JSON_OBJECT_SIZE()
2022-12-05 21:00:24 +01:00
Benoit Blanchon
3d62fa8af2
CI: use ubuntu-20.04 for GCC
2022-12-05 21:00:24 +01:00
Benoit Blanchon
0f85a55cac
Implement VariantRefBase with a CRTP
2022-12-05 21:00:24 +01:00
Benoit Blanchon
21db92af47
Simpify variant reader
2022-11-26 18:32:33 +01:00
Benoit Blanchon
6447520b5b
Replace Yes/No with int/char
2022-11-22 18:56:42 +01:00
Benoit Blanchon
079ccadbee
Remove sponsor techexplorations
2022-11-08 08:59:18 +01:00
Benoit Blanchon
615f675840
Update dessant/lock-threads
2022-11-03 10:11:45 +01:00
Benoit Blanchon
2182c83b87
Remove ArrayShortcuts and ObjectShortcuts
2022-11-02 09:18:02 +01:00
Benoit Blanchon
b8d1dccb21
Test IsString<String> and IsString<StringSumHelper>
2022-10-31 18:02:07 +01:00
Benoit Blanchon
c3d5e9382d
Implement IsString from StringAdapter
2022-10-26 17:20:33 +02:00
Benoit Blanchon
ecb72f9a9d
Add StringAdapter<T>
2022-10-26 16:19:14 +02:00
Benoit Blanchon
7004c39af6
variantGetOrAddMember() takes an adapted string like all its siblings
2022-10-26 10:44:21 +02:00
Benoit Blanchon
057956225c
Add namespace StringStoragePolicy
2022-10-26 10:41:42 +02:00
Benoit Blanchon
b27990f780
Attach copy policy to string adapters
2022-10-26 10:37:18 +02:00
Benoit Blanchon
61c6f8ba59
CI : update macOS runner
2022-10-21 17:40:52 +02:00
Benoit Blanchon
d8d37ba7ad
CI: update deprecated actions
2022-10-21 17:37:15 +02:00
Benoit Blanchon
92d6bae25c
Remove ArrayIterator::internal() and ObjectIterator::internal()
2022-10-14 18:11:55 +02:00
Benoit Blanchon
6e17c3e6f9
Extract VariantRefBase from VariantProxy
2022-10-03 19:14:05 +02:00
Benoit Blanchon
8ee67b0229
Fix brew: command not found ( actions/runner-images#6283 )
2022-10-03 09:54:48 +02:00
Benoit Blanchon
07b9153ae4
CI: Add CodeQL
2022-09-22 10:05:55 +02:00
Benoit Blanchon
abfcac4674
README: bigger logo on mobile
2022-09-20 17:01:47 +02:00
Benoit Blanchon
cde8cd50f8
VSCode: configure include path
2022-09-20 16:55:43 +02:00
Benoit Blanchon
cf4436e581
Extract VariantProxy from ElementProxy and MemberProxy
2022-08-30 10:25:03 +02:00
Benoit Blanchon
2b6bb78a09
Don't call operator VariantConstRef in VariantComparer
2022-08-30 10:25:03 +02:00
Benoit Blanchon
ffa7f8d22d
Make MemberProxy and `ElementProxy similar
2022-08-30 10:25:03 +02:00
Andrii Pereverziev
f73be9cf0f
Fix typo.
...
DeserializationOpion --> DeserializationOption
2022-08-10 09:06:45 +02:00
Benoit Blanchon
8002722f3b
Clang-format: set DerivePointerAlignment to false
2022-08-09 16:52:17 +02:00
Benoit Blanchon
62e83133cd
Remove JsonDocument::data() and JsonDocument::memoryPool()
2022-08-09 10:38:36 +02:00
Benoit Blanchon
1d21027e2a
Fix lax parsing of true, false, and null ( fixes #1781 )
2022-08-06 09:15:07 +02:00
Benoit Blanchon
5705247e5f
Fix replacement for getOrAddElement() and getOrAddMember()
2022-08-04 10:47:02 +02:00
Benoit Blanchon
dde9e9fc26
Remove member MsgPackDeserializer::_error
...
This reduces the code size by 54 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon
a6da4ad452
Remove member JsonDeserializer::_error
...
This reduces the code size by 72 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon
e2a29eef24
CI: simplify Ubuntu package sources
2022-07-29 11:31:09 +02:00
Benoit Blanchon
043ee651a9
CI: remove dependency on Ubuntu 21.04 "The Hirsute Hippo"
2022-07-29 11:30:47 +02:00
Benoit Blanchon
84b7037b3e
Add VariantAttorney
2022-07-07 14:32:43 +02:00
Benoit Blanchon
c5838a876b
Remove getElement(), getOrAddElement(), getMember(), and getOrAddMember()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
750cd0be92
Add collectionToVariant()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
758580bfb6
Rename addElement() to add()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
04872b6db8
Simplify ProgmemExample.ino and StringExample.ino
2022-07-07 14:32:41 +02:00
Benoit Blanchon
58c7c919f2
Remove unused arrayAccept() and objectAccept()
2022-07-07 09:44:58 +02:00
Benoit Blanchon
cd8373ad32
Change link() to shallowCopy() (issue #1343 )
...
Instead of storing a pointer, the function copies the `VariantData`.
Benefits:
* smaller code
* no impact on programs that don't use this feature
Drawbacks:
* changes to the original variant are not always reflected on the copy
* modifying the original from the shallow copy leads to UB
2022-07-05 17:07:43 +02:00
Benoit Blanchon
3b3ab8c4e1
Inline variantAsArray() and variantAsObject()
2022-07-05 14:02:41 +02:00
Benoit Blanchon
5b06b1564e
Remove undocumented accept() functions
2022-07-03 17:38:03 +02:00
Benoit Blanchon
77b4270d97
Remove Visitable
2022-07-03 15:37:08 +02:00
Benoit Blanchon
7c2ca773ff
README: update Tech Explorations's link
2022-06-10 12:12:26 +02:00
Benoit Blanchon
e2bb2cec7b
Fix comparison operators for JsonObject and JsonObjectConst
2022-06-10 11:14:59 +02:00
Benoit Blanchon
ff4e837df5
Fix comparison operators for JsonArray and JsonArrayConst
2022-06-09 21:06:32 +02:00
Benoit Blanchon
fb904033d3
Replace serializeJson()'s template parameter with JsonVariantConst
2022-06-02 20:36:32 +02:00
Benoit Blanchon
e6cd16aec4
Add missing const specifiers in serializers
2022-05-23 19:20:15 +02:00
Benoit Blanchon
ee74c3bb1c
Inline variantAccept()
2022-05-23 19:17:18 +02:00
Benoit Blanchon
37faa7ce13
Merge definitions of VariantConstRef::accept() and VariantRef::accept()
2022-05-23 19:11:09 +02:00
Benoit Blanchon
3d6c328a4f
Add JsonVariant::link() ( resolves #1343 )
2022-04-27 15:08:13 +02:00
Benoit Blanchon
5577d18377
JsonVariant: add tests for size()
2022-04-27 15:08:13 +02:00
Benoit Blanchon
1d103a1528
MemberProxy: move tests for createNestedArray() and createNestedObject()
2022-04-27 15:07:26 +02:00
Benoit Blanchon
7b19a4b6e7
Add getMemberConst() and getElementConst()
2022-04-27 15:07:26 +02:00
Benoit Blanchon
ac1d29fac0
Add meta function ConverterNeedsWriteableRef<T>
2022-04-27 15:07:26 +02:00
Benoit Blanchon
98037e5742
Move several functions from VariantImpl.hpp to VariantRef.hpp
2022-04-27 15:07:26 +02:00
Benoit Blanchon
d0e3808dd0
Move declaration of VariantConstRef above VariantRef
2022-04-27 15:07:25 +02:00
Benoit Blanchon
3760a643cb
Implement comparison out of VariantData
2022-04-27 15:07:25 +02:00
Benoit Blanchon
fc9d8aa31e
Implement nesting() out of VariantData
2022-04-07 21:11:31 +02:00
Benoit Blanchon
ccfbb5fd1d
Fix 9.22337e+18 outside range of representable values of type 'long'
2022-04-07 20:59:20 +02:00
Benoit Blanchon
c9fbc5e40a
README: remove utm_source/utm_medium to make links more readable ( #1735 )
2022-04-07 18:49:39 +02:00
Benoit Blanchon
67b6797b6d
Set version to 6.19.4
2022-04-05 10:53:11 +02:00
Benoit Blanchon
8d9504239b
Fix comparisons operators with const JsonDocument&
2022-04-05 10:12:17 +02:00
Benoit Blanchon
bf5d0c790c
Add implicit conversion from JsonDocument to JsonVariant
2022-03-23 17:17:35 +01:00
Benoit Blanchon
f4379f97ae
Format code with clang-format
2022-03-23 17:17:35 +01:00
Benoit Blanchon
3dc67c5663
Add memoryUsage() to ElementProxy and MemberProxy ( fixes #1730 )
2022-03-19 12:11:40 +01:00
Benoit Blanchon
47f90b02c3
CI: run apt-get update before installing g++-multilib
2022-03-09 08:33:26 +01:00
Benoit Blanchon
27c924746b
CI: run apt-get update before installing valgrind
2022-03-08 19:09:56 +01:00
Benoit Blanchon
7abf875071
Set version to 6.19.3
2022-03-08 17:24:14 +01:00
Benoit Blanchon
e3e375f5cd
MessagePack: serialize round floats as integers ( fixes #1718 )
2022-02-28 19:38:26 +01:00
Benoit Blanchon
ff06292d74
Fix -Wsign-conversion -funsigned-char ( fixes #1715 )
2022-02-28 10:00:12 +01:00
Benoit Blanchon
c1278797f2
CI: use -funsigned-char in one GCC build (issue #1715 )
2022-02-28 09:50:32 +01:00
Benoit Blanchon
421ecec0dd
Tests: trim trailing white spaces
2022-02-25 10:28:42 +01:00
Benoit Blanchon
89ed54362b
Fix -Wsign-conversion on GCC 8 ( fixes #1715 )
2022-02-25 10:28:42 +01:00
Benoit Blanchon
986f77fa15
Tests: link with -static on MinGW
2022-02-25 10:28:22 +01:00
Benoit Blanchon
f831ed395d
Fix JsonString operator == and != for non-zero-terminated string
2022-02-17 17:33:16 +01:00
Benoit Blanchon
a880614a75
Fix call of overloaded 'String(const char*, int)' is ambiguous
2022-02-17 17:33:16 +01:00
Benoit Blanchon
ef8379df1b
Set version to 6.19.2
2022-02-14 09:06:06 +01:00
Benoit Blanchon
702f8c2e2f
Fix cannot convert 'pgm_p' to 'const void*' ( fixes #1707 )
2022-02-06 11:14:23 +01:00
Benoit Blanchon
6806393285
Wandbox: update compiler version
2022-01-14 09:23:12 +01:00
Benoit Blanchon
dea8387586
Publish script: don't stop if wandbox fails
2022-01-14 09:22:55 +01:00
Benoit Blanchon
6ea2815341
Set version to 6.19.1
2022-01-14 08:49:57 +01:00
Benoit Blanchon
3c145f1782
Add assertions to comfort Clang-Tidy
2022-01-13 20:25:49 +01:00
Benoit Blanchon
21b2c76524
Fix filter not working in zero-copy mode ( fixes #1697 )
2022-01-13 20:25:49 +01:00
Benoit Blanchon
4f6244eef4
Replace CopiedString and LinkedString with JsonString
2022-01-13 16:15:53 +01:00
Benoit Blanchon
973858b835
Remove unused CopiedString in MemoryPool
2022-01-13 16:10:42 +01:00
Benoit Blanchon
ee12155617
Fix crash when adding an object member in a too small JsonDocument
2022-01-13 11:52:45 +01:00
Benoit Blanchon
4b4c68df5f
Changelog: remove empty line
2022-01-13 11:52:45 +01:00
Benoit Blanchon
fcae33d574
Publish script: fix change log extraction code
2022-01-08 17:59:07 +01:00
Benoit Blanchon
896f50eeb9
Publish script: check that all required commands are available
2022-01-08 16:40:21 +01:00
Benoit Blanchon
9693fd2d74
Set version to 6.19.0
2022-01-08 16:21:29 +01:00
Benoit Blanchon
37f1c87338
Publish script: check that all changes are committed
2022-01-08 16:21:09 +01:00
Benoit Blanchon
4977de38fc
Remove .devcontainer/
2022-01-05 12:08:30 +01:00
Benoit Blanchon
9f4750637b
Add PlatformIO badge to README
2022-01-05 12:08:18 +01:00
Benoit Blanchon
0c65e13aa3
Add LGTM grade badge to README
2022-01-02 10:12:13 +01:00
Benoit Blanchon
af18994deb
Update copyright notice
2022-01-01 10:01:05 +01:00
Benoit Blanchon
8f9599cd19
Format appveyor.yml
2022-01-01 10:01:05 +01:00
Benoit Blanchon
78660c6e07
Fix support of long long in catch
2022-01-01 10:01:05 +01:00
Benoit Blanchon
4f786db82d
CI: build on multiple versions of MinGW
2022-01-01 09:51:05 +01:00
Benoit Blanchon
ad7b749dec
CI: build with arduino-cli
2021-12-31 14:39:39 +01:00
Benoit Blanchon
29ba744d64
Add a polyfill for pgm_read_ptr() (issue #1433 )
2021-12-31 14:39:38 +01:00
Benoit Blanchon
a2e1021d7d
Use pgm_read_dword() instead of pgm_read_float() (issue #1433 )
2021-12-31 14:39:38 +01:00
Benoit Blanchon
d20c3c65c8
Add a polyfill for pgm_read_dword() (issue #1433 )
2021-12-31 14:39:38 +01:00
Benoit Blanchon
8f029e6096
Fix Visual Studio command line error D9025
...
https://stackoverflow.com/a/58711983/1164966
2021-12-31 14:39:38 +01:00
Benoit Blanchon
91ed68b4a6
Fix conflicting definition of ARDUINOJSON_DEFINE_STATIC_ARRAY()
2021-12-31 14:39:38 +01:00
Benoit Blanchon
67fc2d9897
Assume PROGMEM is available as soon as ARDUINO is defined ( #1693 )
2021-12-31 11:00:50 +01:00
Benoit Blanchon
055304bf01
Ignore Visual Studio's /out/ folder
2021-12-29 10:23:15 +01:00
Benoit Blanchon
c2800ace32
Include Arduino.h before stdlib.h to avoid conflict ( closes #1693 )
2021-12-27 13:16:24 +01:00
Paulo Cabral Sanz
ec7ffa20f2
Avoid Arduino.h when all its features are disabled ( fixes #1692 )
2021-12-27 13:16:24 +01:00
Benoit Blanchon
ada1f2a894
Add support for char[][] in copyArray()
2021-12-20 17:51:44 +01:00
Benoit Blanchon
184a7c4fbd
Add support for arbitrary array rank in copyArray()
2021-12-20 17:51:27 +01:00
Benoit Blanchon
84e9447f12
Remove redundant copy constructor of AllocatorOwner
2021-12-19 14:08:19 +01:00
Benoit Blanchon
ca073fda46
Remove version 5 from change log
2021-12-16 14:56:28 +01:00
Benoit Blanchon
0f529a3587
Renamed undocumented function isUndefined() to isUnbound()
2021-12-16 14:55:26 +01:00
Benoit Blanchon
e16767af92
Avoid pool reallocation in BasicJsonDocument's copy assignment
2021-12-16 14:42:54 +01:00
Benoit Blanchon
3166356484
Test capacity after calling BasicJsonDocument's copy assignment
2021-12-16 14:28:30 +01:00
Benoit Blanchon
abdd9d81db
Reorder lines in changelog
2021-12-14 10:42:01 +01:00
Benoit Blanchon
3bf47761c8
Fix return type of StaticJsonDocument::operator=
2021-12-14 10:41:25 +01:00
Benoit Blanchon
f39d8f548f
CI: Add Visual Studio 2022
2021-12-12 15:48:51 +01:00
Benoit Blanchon
90d750e4d9
Increase coverage
2021-12-07 16:08:44 +01:00
Benoit Blanchon
ca24ed48f5
Separate string adapter from storage policy
2021-12-07 16:08:44 +01:00
Benoit Blanchon
51937778dd
Add operator<<(std::ostream&, const JsonString&)
2021-12-07 16:08:44 +01:00
Benoit Blanchon
be70f6ddd7
Support NUL inside string values (issue #1646 )
2021-12-07 16:08:44 +01:00
Benoit Blanchon
a27398e445
Check for NUL terminator in MemoryPool::findString()
2021-11-24 19:06:49 +01:00
Benoit Blanchon
43b2e2e774
Append terminator in saveStringFromFreeZone()
2021-11-24 19:06:49 +01:00
Benoit Blanchon
62f9b94ab1
Add CopiedString and LinkedString
2021-11-24 19:06:49 +01:00
Benoit Blanchon
b06bbd9d2a
Fix inconsistent pool size in BasicJsonDocument's copy constructor
2021-11-23 10:49:35 +01:00
Benoit Blanchon
2df1bc7d4f
Fix call of overloaded 'swap(...)' is ambiguous ( fixes #1678 )
2021-11-23 10:47:31 +01:00
Benoit Blanchon
599e927590
Fix JsonVariant::memoryUsage() for raw strings
2021-11-12 16:55:41 +01:00
Benoit Blanchon
0429016ff1
Remove IsWriteableString
2021-11-12 15:28:33 +01:00
Benoit Blanchon
bd42b9638a
README: add sponsors section
2021-11-11 09:45:59 +01:00
Benoit Blanchon
b1a826b03a
README: remove empty lines between the badges
2021-11-11 09:23:58 +01:00
Benoit Blanchon
5ed5f3687b
Improve test coverage
2021-10-24 09:58:39 +02:00
Benoit Blanchon
943a902a0b
Remove DeserializationError == bool and DeserializationError != bool
2021-10-24 09:58:39 +02:00
Benoit Blanchon
a7873389c6
Change VariantData::asString() return type to JsonString
2021-10-24 09:58:39 +02:00
Benoit Blanchon
acfa174333
Add safe bool idiom in JsonString
2021-10-24 09:58:39 +02:00
Benoit Blanchon
8418845c8d
Add is<JsonString>()
2021-10-24 09:58:39 +02:00
Benoit Blanchon
df4a4b9e1d
Add as<JsonString>()
2021-10-24 09:58:13 +02:00
Benoit Blanchon
7f5497db55
VSCode: exclude catch/ from search
2021-10-22 14:11:50 +02:00
Benoit Blanchon
e4658e963f
Change the default of ARDUINOJSON_USE_LONG_LONG to 1 on 32-bit platforms
2021-10-19 22:25:45 +02:00
Benoit Blanchon
7764515f56
Change the default of ARDUINOJSON_USE_DOUBLE to 1
2021-10-19 22:25:45 +02:00
Benoit Blanchon
7046c38c84
Remove ARDUINOJSON_EMBEDDED_MODE
2021-10-19 22:25:45 +02:00
Benoit Blanchon
9e9bb30a57
CI: Test ArduinoJson's configuration
2021-10-19 15:36:32 +02:00
Benoit Blanchon
41d1be24cc
Update GitHub issue templates
2021-10-11 15:20:14 +02:00
Benoit Blanchon
7d3b475e24
Update the README
2021-10-11 15:17:36 +02:00
Benoit Blanchon
f82a227da6
Set version to 6.18.5
2021-09-28 17:18:44 +02:00
Benoit Blanchon
fcd8159617
Set ARDUINOJSON_EMBEDDED_MODE to 1 on Nios II ( closes #1657 )
2021-09-28 15:58:18 +02:00
Benoit Blanchon
f51ccb5c3f
README: added link to Discord server
2021-09-21 16:20:52 +02:00
Benoit Blanchon
e0cd5b6405
Increased test coverage
2021-09-12 10:13:12 +02:00
Benoit Blanchon
6a71f31820
Set version to 6.18.4
2021-09-06 09:11:22 +02:00
Benoit Blanchon
3428ab1e89
Added a comment to easily diagnose issue #1648
2021-09-03 08:31:51 +02:00
Benoit Blanchon
956e4a7cbb
Fixed deserialization of \u0000 (issue #1646 )
2021-08-31 14:23:58 +02:00
Benoit Blanchon
669bad27d4
CI: added a workaround for adafruit/Adafruit_nRF52_Arduino#653
2021-08-22 18:01:56 +02:00
Benoit Blanchon
2c3ae1c181
Filter: exact match takes precedence over wildcard ( fixes #1628 )
2021-08-13 10:35:15 +02:00
Benoit Blanchon
f570fe8c37
Fixed error expected unqualified-id on GCC 11 ( fixes #1622 )
2021-08-03 11:39:18 +02:00
Benoit Blanchon
1b74ad0731
Fixed error 'dummy' may be used uninitialized on GCC 11
2021-08-03 11:39:07 +02:00
Benoit Blanchon
6717700d3b
CI: added GCC 11
2021-08-03 10:42:37 +02:00
Benoit Blanchon
b810833145
Set version to 6.18.3
2021-07-27 15:44:36 +02:00
Benoit Blanchon
9d58e566fd
Added as<std::string_view>() and is<std::string_view>()
2021-07-27 14:16:39 +02:00
Benoit Blanchon
6632fa8da1
Removed StringAdapter::equals()
2021-07-27 14:16:39 +02:00
Benoit Blanchon
5790f3c8f7
Refactored string adapters: only one IsString<T> and adaptString()
2021-07-27 14:16:18 +02:00
Benoit Blanchon
4073b52c00
Changed return type of convertToJson() and Converter::toJson() to void
2021-07-23 15:11:48 +02:00
Benoit Blanchon
f5c7a6478e
Publish script: fixed frontmatter for arduinojson.org
2021-07-19 10:19:04 +02:00
Benoit Blanchon
ebf58320ca
Set version to 6.18.2
2021-07-19 10:11:21 +02:00
Benoit Blanchon
09ddb0f824
Publish script: generate the file for arduinojson.org
2021-07-19 09:58:01 +02:00
Benoit Blanchon
f02a699c26
CI: added a workflow to create a release when matching tag is pushed
2021-07-16 11:06:50 +02:00
Benoit Blanchon
67d0931c19
Added parameters to script build-arduino-package.sh
2021-07-16 09:35:32 +02:00
Benoit Blanchon
19d079c33c
Removed a symlink because the Arduino Library Specification forbids it
2021-07-15 12:50:22 +02:00
Benoit Blanchon
40723a4cc7
CI: check that the repository doesn't contain any symlink
...
The Arduino Library Specification forbids symlinks, that's probably the reason why version 6.18.1 is missing from the Library Manager.
2021-07-15 12:50:22 +02:00
Benoit Blanchon
8a9a26588c
Fixed publish script
2021-07-03 16:08:36 +02:00
Benoit Blanchon
219475630a
Set version to 6.18.1
2021-07-03 16:03:01 +02:00
Andreas Kuster
52e856fa6f
CI: added ESP-IDF component build ( closes #1599 )
2021-06-30 13:34:59 +02:00
baruch
cb2c029e57
Added support for ESP-IDF component build ( closes #1562 )
2021-06-30 10:29:28 +02:00
Benoit Blanchon
ef7579394b
Fixed JsonVariant::as<unsigned>() ( fixes #1601 )
2021-06-30 09:58:03 +02:00
Benoit Blanchon
fc4f175300
CI: fixed ARM compiler installation
2021-06-28 09:10:15 +02:00
Benoit Blanchon
a6fc9311b4
Added JsonArray::clear() ( fixes #1597 )
2021-06-26 11:29:15 +02:00
Benoit Blanchon
14639f129e
CMake: added empty line at end of each file
2021-06-26 11:29:15 +02:00
Benoit Blanchon
9182c2068d
Fixed build-single-header.sh ( fixes #1592 )
2021-06-21 16:11:02 +02:00
Benoit Blanchon
cb1b3be723
CI: build single headers
2021-06-21 16:11:02 +02:00
Benoit Blanchon
5ccd62a789
Updated the readme
2021-06-18 11:39:00 +02:00
Benoit Blanchon
145d45c746
Fixed warning on Clang 10
2021-06-17 20:41:04 +02:00
Benoit Blanchon
f235157466
Added support for std::string_view ( closes #1578 , closes #1554 )
2021-06-17 20:41:04 +02:00
Benoit Blanchon
ba5cdab619
Test: extracted executable Cpp11Tests
2021-06-17 20:28:09 +02:00
Benoit Blanchon
eab5ae2f07
Simplified string adapters
2021-06-16 21:08:05 +02:00
Benoit Blanchon
2f0b3c0e63
VSCode: added devcontainer configuration
2021-06-16 21:08:05 +02:00
Benoit Blanchon
4e261068a1
clang-format: set IndentPPDirectives to AfterHash
2021-06-16 21:08:01 +02:00
Benoit Blanchon
1d24caf066
Added InvalidConversion to identify invalid conversions ( closes #1585 )
2021-06-11 11:54:52 +02:00
Benoit Blanchon
dc76c5165f
Fixed clang-tidy warnings ( fixes #1574 )
2021-06-04 12:00:33 +02:00
Benoit Blanchon
de11b36a98
clang-tidy: muted "uninitialized pointer/field" in StringCopier
2021-06-04 11:38:21 +02:00
Benoit Blanchon
c4a4ed5272
clang-tidy: muted "uninitialized field" in Latch
2021-06-04 11:37:07 +02:00
Benoit Blanchon
a24edac5a9
clang-tidy: muted "use of memory after it is freed" in MemoryPool
2021-06-04 11:37:07 +02:00
Benoit Blanchon
9dbf44388d
clang-tidy: muted "call to function is insecure" in tests
2021-06-04 11:37:07 +02:00
Benoit Blanchon
6b8e93e05e
clang-tidy: fixed "uninitialized field" in VariantData
2021-06-04 11:36:20 +02:00
Benoit Blanchon
6b5239b9d5
clang-tidy: removed unused field
2021-06-04 11:16:24 +02:00
Benoit Blanchon
214c06b771
clang-tidy: fixed clang-analyzer-optin.cplusplus.UninitializedObject
2021-06-04 11:16:17 +02:00
Armandas
e32a8552be
CI: added clang-tidy ( closes #1577 )
2021-06-04 11:00:16 +02:00
Benoit Blanchon
9bcb409648
Fixed serializeJson(doc, String) when allocation fails ( fixes #1572 )
2021-05-30 21:34:07 +02:00
Benoit Blanchon
3b10afd2ab
CI: test more platforms on PlatformIO
2021-05-30 18:45:40 +02:00
Benoit Blanchon
af3bb131c8
Fixed error Pe070 "incomplete type is not allowed" on IAR ( fixes #1560 )
2021-05-19 15:07:59 +02:00
Benoit Blanchon
622e7dd287
Fixed support for volatile float and double ( fixes #1557 )
2021-05-19 15:01:51 +02:00
Benoit Blanchon
68082e6fc1
CI: use libc++ for Clang 3.5 to 4.0
...
The fixes the error: "__STRICT_ANSI__ seems to have been undefined; this is not supported" with Clang 3.9
2021-05-17 09:06:28 +02:00
Benoit Blanchon
36bcc7b355
Set version to 6.18.0
2021-05-05 20:41:35 +02:00
Benoit Blanchon
c7c0b729c1
Added a deprecation warning for is<char>() and is<char*>()
2021-05-05 15:43:02 +02:00
Benoit Blanchon
6aeefda3b6
CI: Skip WillFail and Fuzzing test labels when measuring coverage
2021-05-04 16:36:21 +02:00
Benoit Blanchon
4780174ee1
Added a deprecation warning for as<char>() and set(char)
2021-05-04 16:10:50 +02:00
Benoit Blanchon
ab23625091
Renamed DEPRECATED to ARDUINOJSON_DEPRECATED
2021-05-04 14:44:07 +02:00
Kyle Smith
a88cf8fab7
PlatformIO: set build.libArchive to false ( closes #1550 )
2021-05-03 08:55:20 +02:00
Benoit Blanchon
2be528a3fa
serializeMsgPack(doc, p, n) doesn't add terminator anymore ( fixes #1545 )
2021-04-29 20:59:15 +02:00
Benoit Blanchon
337864618c
Reversed parameters of convertToJson() and convertFromJson()
...
Now the order matches copyArray(): source first, destination second.
2021-04-28 10:25:39 +02:00
Benoit Blanchon
526cad54d7
VSCode: insert final new line
2021-04-27 18:25:42 +02:00
Benoit Blanchon
506cf7f438
Added .prettierignore
2021-04-27 18:25:42 +02:00
Benoit Blanchon
4b89878c10
Added a deprecation warning for as<char*>()
2021-04-27 18:25:42 +02:00
Benoit Blanchon
06fad301cb
CI: added Valgrind job ( closes #1542 )
2021-04-25 20:58:22 +02:00
Benoit Blanchon
7be0c2c650
CMake: added labels to tests
2021-04-25 11:38:19 +02:00
Benoit Blanchon
43f0db45ad
Updated Catch library to 1.12.2
2021-04-22 08:54:16 +02:00
Benoit Blanchon
892c37db08
Optimized JsonVariant::is<float>()
2021-04-21 13:21:40 +02:00
Benoit Blanchon
d8a1d1a120
Increased coverage of ConverterImpl.hpp
2021-04-18 17:23:51 +02:00
Benoit Blanchon
64e52e97ee
Removed redundant range check in MemoryPoolPrint
2021-04-18 16:47:28 +02:00
Benoit Blanchon
2a777a659a
Fixed reference-binding-to-null-pointer in MsgPack deserializer
2021-04-15 14:56:59 +02:00
Benoit Blanchon
898f429826
Fixed member-call-on-null-pointer in getMember() when array is empty
2021-04-15 14:56:59 +02:00
Benoit Blanchon
88fbe3ac34
Fixed undefined behavior in JSON serializer
2021-04-15 14:56:59 +02:00
Benoit Blanchon
4ddc674846
CI: fixed sanitizers errors not been reported
2021-04-15 11:11:50 +02:00
Benoit Blanchon
fc4f5fd05f
Changed integer storage from positive/negative to signed/unsigned
2021-04-14 11:45:01 +02:00
Benoit Blanchon
a002393716
Replaced donation link
2021-04-14 11:45:01 +02:00
Benoit Blanchon
a889f6560c
Added VSCode settings
2021-04-14 11:43:51 +02:00
Benoit Blanchon
4db17ecd93
CI: format YAML file with Prettier
2021-04-08 09:46:01 +02:00
Benoit Blanchon
2a57f2b365
CI: fix installation of GCC and Clang
2021-04-08 09:45:04 +02:00
George Beckstein
803e07c188
Updated folders list in .mbedignore ( closes #1515 )
2021-03-31 09:58:51 +02:00
Benoit Blanchon
ff44d93e68
Removed buggy blank line in CHANGELOG
2021-03-29 19:35:25 +02:00
Benoit Blanchon
d5d2209d09
Added "https://" prefix to all URLs so they are clickable in VS Code
2021-03-29 19:35:25 +02:00
Benoit Blanchon
c81e8fc93a
README: added a link to ARDUINOJSON_ENABLE_ARDUINO_STREAM
2021-03-29 18:10:00 +02:00
Benoit Blanchon
347ac422f4
Added support for Printable ( closes #1444 )
2021-03-27 14:35:15 +01:00
Benoit Blanchon
d7f5b56ca4
Added support for custom converters ( closes #687 )
2021-03-20 14:52:47 +01:00
Benoit Blanchon
53d6f0d492
CI: Fixed build on Arduino 1.6.7
2021-03-19 11:50:29 +01:00
Benoit Blanchon
e4ce75e20c
Simplified JsonVariant::as<T>() to always return T
2021-03-08 19:33:52 +01:00
Benoit Blanchon
9094179856
CI: added a clang-format job
2021-02-26 13:13:11 +01:00
Benoit Blanchon
3aab36fec2
Changed JsonVariantConst::is<JsonArray/JsonObject>() to return false ( closes #1412 )
2021-02-25 19:19:23 +01:00
Benoit Blanchon
744d61f6fd
Added JsonVariant::is<JsonVariant/JsonVariantConst>() (issue #1412 )
2021-02-23 08:41:24 +01:00
Benoit Blanchon
05498aa178
Added JsonVariant::is<JsonVariant>() (issue #1412 )
2021-02-23 08:39:58 +01:00
Benoit Blanchon
b1eb273d5b
Added JsonVariant::is<JsonArrayConst/JsonObjectConst>() (issue #1412 )
2021-02-23 08:33:28 +01:00
Benoit Blanchon
8a3f8510d6
Simplified tests of JsonVariant::is<T>()
2021-02-23 08:27:48 +01:00
Benoit Blanchon
22904a48a6
Added a default implementation in the Visitor class
2021-02-21 13:37:07 +01:00
Benoit Blanchon
1730304f46
Funding: added paypal.me
2021-02-21 12:24:46 +01:00
Benoit Blanchon
1038fc35df
Removed DeserializationError::NotSupported
2021-02-18 19:41:15 +01:00
Benoit Blanchon
71f44aaee1
deserializeMsgPack() inserts null instead of returning NotSupported
2021-02-18 19:40:25 +01:00
Benoit Blanchon
cc7ebfd11e
deserializeJson() leaves \uXXXX instead of returning NotSupported
2021-02-18 19:40:11 +01:00
Benoit Blanchon
54d4b308f4
Remove JsonVariant::set(char)
2021-02-18 08:48:28 +01:00
Benoit Blanchon
5234c8124b
Removed JsonVariant::as<char>() ( fixes #1498 )
2021-02-18 08:48:10 +01:00
Benoit Blanchon
e22d4bf31f
Set version to 6.17.3
2021-02-15 09:53:10 +01:00
Benoit Blanchon
21f7b90f03
PlatformIO: set framework compatibility to * ( closes #1490 )
2021-02-15 09:49:56 +01:00
Benoit Blanchon
769e8440f5
CI: skip Particle job for Pull Requests
2021-02-05 13:00:56 +01:00
Benoit Blanchon
33de2b6cf3
Added GitHub sponsors
2021-02-05 12:03:50 +01:00
Benoit Blanchon
3975b07371
Moved CI from Travis to GitHub Actions ( fixes #1493 )
2021-02-03 21:33:18 +01:00
Benoit Blanchon
abd64102aa
Fixed compilation error on Clang 10
2021-02-03 12:56:26 +01:00
Benoit Blanchon
d2174d1580
Fixed compilation error when isdigit() is a macro ( fixes #1487 )
2021-02-02 10:08:10 +01:00
Benoit Blanchon
c72eccdd35
Added missing calls to client.stop() in JsonHttpClient.ino ( fixes #1485 )
2021-02-01 09:16:23 +01:00
Benoit Blanchon
ab902128dc
Upgrade to Lock Threads 2
2021-01-31 11:00:05 +01:00
Benoit Blanchon
c70a491f59
Made JsonDocument's destructor protected ( fixes #1480 )
2021-01-27 10:00:10 +01:00
Benoit Blanchon
322d13de0d
Examples: add a note about performance issues with streams ( #1476 )
2021-01-25 09:26:29 +01:00
Benoit Blanchon
97b7161d78
Update copyright notice for 2021
2021-01-25 09:14:15 +01:00
Benoit Blanchon
1360b6a396
Set version to 6.17.2
2020-11-14 10:38:21 +01:00
Benoit Blanchon
16e51b83ab
Changed the default value of ARDUINOJSON_ENABLE_PROGMEM ( fixes #1433 )
...
It now checks that the pgm_read_XXX macros are defined before enabling PROGMEM.
2020-11-10 14:58:31 +01:00
Benoit Blanchon
aa7cc5351c
Travis: added smoke test for Particle Argon
2020-11-10 14:46:45 +01:00
Benoit Blanchon
30da920135
Fixed invalid conversion in operator|(Variant, char*) ( fixes #1432 )
2020-11-09 09:21:19 +01:00
Benoit Blanchon
bcdf5b7e52
Set version to 6.17.1
2020-11-07 10:11:41 +01:00
Benoit Blanchon
c711fe592d
Allowed more than 32767 values in non-embedded mode ( fixes #1414 )
2020-10-28 09:59:40 +01:00
Benoit Blanchon
9d5c1b3742
Added an assert to detect too large variants (issue #1414 )
2020-10-24 09:39:03 +02:00
Takayuki 'January June' Suwa
6b26cd0977
Add JsonDocument to keywords.txt
...
see #1413
2020-10-24 09:37:16 +02:00
Benoit Blanchon
10ec0f21b0
Fixed operator|(MemberProxy, JsonObject) ( fixes #1415 )
2020-10-23 10:48:33 +02:00
Benoit Blanchon
ff66182dc6
Gathered the tests of MemberProxy in one file
2020-10-22 09:37:05 +02:00
Benoit Blanchon
d02ce2f1bb
Gathered the tests of ElementProxy in one file
2020-10-22 09:37:05 +02:00
Benoit Blanchon
2664a2d0da
Fixed error "ambiguous overload for operator|" ( fixes #1411 )
2020-10-22 09:30:31 +02:00
Benoit Blanchon
1f7350658e
Set version to 6.17.0
2020-10-19 11:35:09 +02:00
Benoit Blanchon
41132b701b
Fixed error "no matching function for pgm_read<double>()" on AVR
2020-10-17 14:02:26 +02:00
Benoit Blanchon
712005219c
Added filtering for MessagePack ( closes #1298 , closes #1394 )
2020-10-13 09:40:39 +02:00
Benoit Blanchon
0bd17aff8a
Coverage: use -O0 instead of -Og
2020-10-11 15:10:52 +02:00
Benoit Blanchon
f3f44d7812
Renamed StdStringAdapter to StlStringAdapter (internal use only)
2020-10-01 10:01:33 +02:00
Benoit Blanchon
8385d5fa3a
Added wildcard key (*) for filters ( closes #1309 )
2020-09-28 21:11:38 +02:00
Benoit Blanchon
726f8be341
Added operator|(JsonVariantConst, JsonVariantConst)
2020-09-26 14:48:17 +02:00
Benoit Blanchon
fee029b86e
Moved float tables to PROGMEM
2020-09-19 16:12:49 +02:00
Benoit Blanchon
c3504ddf0a
Added tests for DeserializationError::f_str()
2020-09-18 19:06:21 +02:00
Benoit Blanchon
6a878ee444
Fixed error "No such file or directory WString.h" ( fixes #1381 )
2020-09-16 10:29:20 +02:00
Benoit Blanchon
c4ec2ba88f
Added DeserializationError::f_str() (issue #846 )
2020-09-14 18:40:00 +02:00
Benoit Blanchon
c907ca6e5d
Added DeserializationError::EmptyInput
2020-09-13 10:27:29 +02:00
Benoit Blanchon
8993a093e9
Travis: run sanitizer on recent GCC version to avoid false positives
2020-09-13 10:25:34 +02:00
Benoit Blanchon
d04669d0cc
Fixed result of JsonVariant::set((char*)0) ( fixes #1368 )
2020-09-05 17:33:47 +02:00
Benoit Blanchon
05fc136915
Disabled memory sanitizer with clang 6
2020-09-05 13:44:40 +02:00
Benoit Blanchon
8d37939086
Added JsonDocument::overflowed() ( closes #1358 )
2020-09-05 13:44:40 +02:00
Benoit Blanchon
6d2ad4539f
Simplified the implementation of parseNumber()
2020-09-04 09:23:40 +02:00
Benoit Blanchon
5ab53f42b2
Added a return value to visitors
2020-08-29 18:40:27 +02:00
Benoit Blanchon
f448e805e9
Removed dead code
2020-08-25 14:36:14 +02:00
Benoit Blanchon
67aa8efd5a
Added a build failure when nullptr is defined as a macro ( closes #1355 )
2020-08-23 09:31:40 +02:00
Benoit Blanchon
61a5273aea
Set version to 6.16.1
2020-08-04 10:33:38 +02:00
Benoit Blanchon
35a39b8d8f
Fixed deserializeJson() that stopped reading after {} ( fixes #1335 )
2020-08-04 09:52:42 +02:00
Benoit Blanchon
96b6571352
Fixed use-of-uninitialized-value in encodeCodepoint()
2020-08-03 13:44:45 +02:00
Benoit Blanchon
74e7dd053f
Added memory sanitizer to fuzzers
2020-08-03 13:44:45 +02:00
Benoit Blanchon
1f8636d762
Fixed build-arduino-package.sh to ignore .vs/
2020-08-01 15:35:04 +02:00
Benoit Blanchon
e4cfa701d8
Fixed publish.sh to commit CMakeLists.txt
2020-08-01 15:34:27 +02:00
Benoit Blanchon
b85181a6db
Set version to 6.16.0
2020-08-01 15:17:39 +02:00
Benoit Blanchon
6841b80466
Added JsonString::operator!=
2020-07-31 14:02:20 +02:00
Benoit Blanchon
298864bafe
Set ARDUINOJSON_DECODE_UNICODE to 1 by default
2020-07-30 09:49:09 +02:00
Benoit Blanchon
4d7f03836c
Added a test that removes an element during iteration ( #1332 )
2020-07-30 09:20:31 +02:00
Benoit Blanchon
c63eb80b95
Shortened the name of the private namespace using hexadecimal digits
2020-07-30 09:18:08 +02:00
Mikolaj Stawiski
0c0bf80074
Suppress IAR compiler warning.
2020-07-28 10:12:41 +02:00
Benoit Blanchon
144ff3b06e
Updated the change log. Closes #1210 and closes #1314 .
2020-07-26 16:09:03 +02:00
Benoit Blanchon
d6c50c3596
Reduced stack usage when compiled with -Og (issue #1210 )
...
This saves 128 bytes on ESP8266
2020-07-26 14:51:58 +02:00
Benoit Blanchon
51b177ce47
Reduced stack usage when compiled with -Og (issue #1210 )
...
This saves 112 bytes on ESP8266
2020-07-26 12:58:12 +02:00
Benoit Blanchon
824b7a25ca
Reduced stack usage when compiled with -Og (issue #1210 )
...
This saves 96 bytes on ESP8266
2020-07-26 12:25:13 +02:00
Benoit Blanchon
2223d40640
Reduced stack usage when compiler aggressively inlines deserializeJson()
...
This saves 64 bytes on the recursive part.
2020-07-26 12:25:13 +02:00
Benoit Blanchon
4df29fbac1
Fixed "linked" strings incorrectly marked as "owned" ( fixes #1318 )
2020-07-24 22:25:56 +02:00
Benoit Blanchon
6dc36125c2
Added ElementProxy::getOrAddElement() ( fixes #1311 )
2020-07-23 10:58:47 +02:00
Benoit Blanchon
40085609e2
Fixed copyArray() not working with MemberProxy and ElementProxy
2020-07-22 21:08:18 +02:00
Benoit Blanchon
ebb6d80092
Fixed copyArray() not working with String
2020-07-22 20:02:33 +02:00
Benoit Blanchon
764ff2cd53
Added string deduplication ( closes #1303 )
2020-07-21 20:15:31 +02:00
Benoit Blanchon
8ef226bcb8
Travis: Added Clang 9. Removed Xcode 7.3
2020-07-15 15:27:39 +02:00
Benoit Blanchon
63606c0985
Added json_fuzzer and msgpack_fuzzer in test suite
2020-07-15 12:50:00 +02:00
Benoit Blanchon
1600d39693
Refactored StringBuilder into StringStorage
2020-07-11 17:51:45 +02:00
Benoit Blanchon
04c59985a1
Inverted dependency between MemoryPool and string adapters.
...
Inserted a null after each raw string in the pool.
2020-07-08 09:38:27 +02:00
Benoit Blanchon
7e58347fbe
Added comparisons between JsonVariants
2020-07-02 15:28:34 +02:00
Benoit Blanchon
0e794a28a1
Simplified implementation of comparison operators
2020-06-13 15:42:04 +02:00
Benoit Blanchon
6fb52c3638
Set version to 6.15.2
2020-05-15 09:26:25 +02:00
Benoit Blanchon
b72ef09451
Fixed publish script
2020-05-15 09:26:06 +02:00
Benoit Blanchon
f7de027617
Break build if using 64-bit integers with ARDUINOJSON_USE_LONG_LONG==0
2020-05-14 10:25:10 +02:00
Benoit Blanchon
bc4c2dde33
Moved failing builds to a dedicated folder
2020-05-12 18:11:55 +02:00
Benoit Blanchon
95f05dad66
Added JsonVariant as an input type for deserializeXxx()
2020-05-05 13:16:32 +02:00
Benoit Blanchon
3bb0a7aa8e
Added support for enums in as<T>() and is<T>() ( fixes #1256 )
2020-05-04 11:13:06 +02:00
Benoit Blanchon
dcf7eeef28
CMake: used link_libraries() instead of target_link_libraries()
2020-05-03 10:25:38 +02:00
Benoit Blanchon
3b923b6e4e
Added support for JsonDocument to copyArray() (issue #1255 )
2020-05-02 10:00:08 +02:00
Benoit Blanchon
8050f7404b
CMake: gathered all build flags in a dedicated file
2020-04-28 16:02:59 +02:00
Benoit Blanchon
959b1d9e4c
Fixed error C2766 with flag /Zc:__cplusplus on VS2017+ ( fixes #1250 )
2020-04-28 16:02:38 +02:00
Benoit Blanchon
daa279d57b
CMake: made project arch-independent
2020-04-11 18:49:28 +02:00
Benoit Blanchon
ae9b7926a2
CMake: don't build tests when imported in another project
2020-04-11 18:49:28 +02:00
Benoit Blanchon
1f7a5e6943
Fixed links in README
2020-04-11 11:53:08 +02:00
Benoit Blanchon
9e354803de
Changed publish.sh to update the CMake project version
2020-04-09 21:28:48 +02:00
Benoit Blanchon
3ea5eb3f3a
Set version to 6.15.1
2020-04-08 18:23:27 +02:00
Benoit Blanchon
ec43bf4fe9
Simplified the implementation of implicit casts
2020-04-08 18:18:18 +02:00
Benoit Blanchon
2097ffaabf
Updated README
2020-04-08 11:16:22 +02:00
Benoit Blanchon
67e78f0751
Disabled alignment on AVR ( fixes #1231 )
2020-04-08 11:16:22 +02:00
Benoit Blanchon
1791dccbf2
Added CMake "install" target ( closes #1209 )
2020-04-07 21:43:10 +02:00
Benoit Blanchon
40d1cfe7af
Fixed "pointless integer comparison" warning on IAR (issue #1233 )
2020-04-06 18:20:12 +02:00
Benoit Blanchon
4627f851ca
Fixed "statement is unreachable" warning on IAR (issue #1233 )
2020-04-06 18:19:32 +02:00
Benoit Blanchon
fc9e609ab5
Fixed "maybe-uninitialized" warning ( fixes #1217 )
2020-03-25 08:37:57 +01:00
Benoit Blanchon
8b3d861a9d
Updated README
2020-03-23 13:39:58 +01:00
Benoit Blanchon
9ef864b27c
Fixed markup in changelog
2020-03-23 11:03:30 +01:00
Benoit Blanchon
275b80a462
Updated library description
2020-03-23 11:02:58 +01:00
Benoit Blanchon
763be4f266
Set version to 6.15.0
2020-03-22 21:02:38 +01:00
Benoit Blanchon
5b812522fa
Enabled debug mode when PlatformIO builds in debug
2020-03-20 20:58:08 +01:00
Benoit Blanchon
9cb0ddb5e7
Removed the copy-constructor of JsonDocument (issue #1189 )
2020-03-05 13:46:45 +01:00
Benoit Blanchon
735bea1f47
Added StaticJsonDocument::garbageCollect()
2020-03-02 14:50:16 +01:00
Benoit Blanchon
0853b04589
Changed BasicJsonDocument's copy-constructor to copy the capacity
2020-03-02 12:39:29 +01:00
Benoit Blanchon
c1b3705df1
Added BasicJsonDocument::garbageCollect() (issue #1195 )
2020-03-01 18:01:55 +01:00
Benoit Blanchon
2540b4e01b
Added move-constructor and move-assignment to BasicJsonDocument
2020-03-01 17:24:29 +01:00
Benoit Blanchon
2641697e0b
Fixed incorrect string comparison on some platforms ( fixes #1198 )
2020-02-27 11:44:09 +01:00
Benoit Blanchon
2996503b27
Fixed enums serialized as booleans ( fixes #1197 )
2020-02-26 16:16:20 +01:00
Benoit Blanchon
0214c9bcad
Improved coverage of JsonObject
2020-02-23 13:03:14 +01:00
Benoit Blanchon
a471aed6db
Improved coverage of JsonObject
2020-02-22 14:17:10 +01:00
Benoit Blanchon
af0edecddb
Fixed MemberProxy::set(char[]) not duplicating the string ( fixes #1191 )
2020-02-22 12:06:39 +01:00
Benoit Blanchon
300323cfd7
Improved coverage of JsonArray
2020-02-20 09:18:10 +01:00
Benoit Blanchon
d8724e0a0b
Changed the array subscript to automatically add missing elements
2020-02-20 08:59:25 +01:00
Benoit Blanchon
0001dabfd1
Improved coverage of MemoryPool
2020-02-19 17:27:04 +01:00
Benoit Blanchon
ad78001241
Removed useless null checks
2020-02-19 17:22:23 +01:00
Benoit Blanchon
5a837a591e
Improved coverage of MsgPackDeserializer
2020-02-19 17:14:40 +01:00
Benoit Blanchon
fd79d23910
Updated copyright year
2020-02-19 16:07:34 +01:00
Benoit Blanchon
1902c0ec93
Improved coverage of JsonDeserializer
2020-02-19 10:31:56 +01:00
Benoit Blanchon
85499be855
Added tests for FlashStringAdapter
2020-02-16 17:56:47 +01:00
Benoit Blanchon
e6ddfc7afb
Fixed static JsonString not being saved by reference
2020-02-16 17:34:04 +01:00
Benoit Blanchon
58298ec5ba
Extracted storage_policy to improve coverage in string adapters
2020-02-16 17:34:04 +01:00
Benoit Blanchon
0814fc185f
Added a line-break after each "if" to get more accurate coverage report
2020-02-16 15:05:23 +01:00
Benoit Blanchon
8f8c82d400
Reduced code size
2020-02-13 17:05:08 +01:00
Benoit Blanchon
372b7d3d9d
Exposed JsonPairConst
2020-02-13 16:58:23 +01:00
Benoit Blanchon
fbffadb2cf
Moved nesting decrement logic to class NestingLimit
2020-02-13 16:54:18 +01:00
Benoit Blanchon
6e52f242b2
Extracted the class Latch
...
also fixed a buffer overrun and reduced the code size
2020-02-13 14:53:54 +01:00
Benoit Blanchon
d2a67f362f
Fixed "deprecated-copy" warning on GCC 9 ( fixes #1184 )
2020-02-13 11:07:40 +01:00
Benoit Blanchon
66b12da4e7
Added DeserializationOption::Filter ( closes #959 )
2020-02-12 17:22:42 +01:00
Benoit Blanchon
42b0d6a83d
Set version to 6.14.1
2020-01-27 15:05:36 +01:00
Benoit Blanchon
94b1c75fd2
Added getElement() and getMember() to JsonVariantConst
2020-01-27 12:35:32 +01:00
Benoit Blanchon
b04b549b34
Delete .bak file produced during publish
2020-01-27 12:10:11 +01:00
Benoit Blanchon
09d4b2cd38
Fixed regression in UTF16 decoding ( fixes #1173 )
2020-01-27 12:10:10 +01:00
Benoit Blanchon
ddfe7d8b91
Set version to 6.14.0
2020-01-16 20:48:03 +01:00
Benoit Blanchon
4a657ca87f
Update the features section of the README page
2020-01-16 20:46:25 +01:00
Benoit Blanchon
1e3d478998
Improved speed of serializeXxx() when writing to a String
2020-01-14 14:50:44 +01:00
Benoit Blanchon
3aebef6d0a
Fixed value returned by serializeXxx() when writing to a String
2020-01-14 11:22:44 +01:00
Benoit Blanchon
25879466da
Fixed variant.is<nullptr_t>()
2020-01-13 20:47:43 +01:00
Benoit Blanchon
27ec1afb7a
Configure the "lock-threads" app
2020-01-13 18:23:30 +01:00
Benoit Blanchon
06a0d1a872
Added measureJson, measureJsonPretty, and measureMsgPack to keywords
2020-01-13 18:20:05 +01:00
Benoit Blanchon
04fe7e1a27
Added ARDUINOJSON_ENABLE_COMMENTS to enable support for comments
2020-01-13 18:16:02 +01:00
Benoit Blanchon
f9cfea244a
Updated copyright notice
2020-01-09 15:48:38 +01:00
Benoit Blanchon
5ec062cc71
Reduced Unicode conversion code size (-122 bytes on AVR)
2020-01-09 15:39:45 +01:00
Kay Sievers
91b808381e
Improved decoding of UTF-16 surrogate pairs ( closes #1157 )
2020-01-08 09:55:43 +01:00
Benoit Blanchon
8550418875
Auto enable std::string and stream on modern compilers ( closes #1156 )
2020-01-04 15:05:20 +01:00
Benoit Blanchon
00c391320c
Added support for CMake's unity builds
2019-12-24 16:42:34 +01:00
Benoit Blanchon
9723682d20
AppVeyor: added Visual Studio 2019
2019-12-24 16:10:11 +01:00
Benoit Blanchon
8bf6f6e09f
Added support uint8_t for serializeMsgPack() ( closes #1142 )
2019-12-13 14:15:30 +01:00
Benoit Blanchon
062c1c13b5
Added BasicJsonDocument::shrinkToFit()
2019-11-07 15:40:20 +01:00
Benoit Blanchon
1b8107094f
Set version to 6.13.0
2019-11-01 10:32:45 +01:00
Benoit Blanchon
8721ac88b1
Reorganized writer classes
2019-10-31 19:27:23 +01:00
Benoit Blanchon
6da6f921cd
Fixed dangling reference in MemberProxy and ElementProxy ( fixes #1120 )
2019-10-30 19:09:21 +01:00
Benoit Blanchon
ef63757b1a
Fixed deserializer that stopped reading at the first 0xFF ( closes #1118 )
2019-10-29 14:17:11 +01:00
Benoit Blanchon
3a169df0a5
Added support for custom reader classes
2019-10-25 11:39:04 +02:00
Benoit Blanchon
d4f819f1f0
Added detection of Atmel AVR8/GNU C Compiler ( fixes #1112 )
2019-10-18 22:10:35 +02:00
Benoit Blanchon
16fe3c0acc
Improved deserializeMsgPack() speed by reading several bytes at once
2019-10-14 12:02:26 +02:00
Benoit Blanchon
fd8f4eb3a6
Moved msgpack.org.md to github.com/bblanchon/ArduinoJson-msgpack.org
2019-10-11 09:07:25 +02:00
baruch
b261eca865
esp-idf make system
2019-10-07 09:00:31 +02:00
Benoit Blanchon
a37480eec9
Fixed deserializeJson() when input contains duplicate keys ( fixes #1095 )
2019-09-27 10:07:29 +02:00
Benoit Blanchon
713aaa3d68
Added msgpack.org.md
...
https://github.com/msgpack/website/blob/master/README.md#how-to-list-up-your-project-on-msgpackorg
2019-09-26 09:52:50 +02:00
Benoit Blanchon
7d1d0c4e67
Added conversion from JsonArray/JsonObject to bool
2019-09-24 09:38:00 +02:00
Benoit Blanchon
4ad05dbaef
Replaced GitHub stars badge
2019-09-19 09:28:57 +02:00
Benoit Blanchon
38371aae62
Added OSS-Fuzz badge
2019-09-19 09:28:49 +02:00
Benoit Blanchon
498a2e4c1e
Added support for custom writer classes ( closes #1088 )
2019-09-13 14:10:21 +02:00
Benoit Blanchon
2078871f36
Added missing #include <ArduinoJson/Namespace.hpp>
2019-09-13 12:09:07 +02:00
Benoit Blanchon
140525b7a0
Fix deployment scripts
2019-09-05 09:36:18 +02:00
Benoit Blanchon
1a81d46a97
Set version to 6.12.0
2019-09-05 09:31:06 +02:00
Benoit Blanchon
4c4c4688a9
Fix src/ path in Makefile
2019-09-04 09:13:09 +02:00
Benoit Blanchon
b47ac27ac6
Moved ancillary files to extras/ ( fixes #1011 )
2019-09-03 15:11:05 +02:00
Benoit Blanchon
ed18e77655
Changed as<bool>() to return true for any non-null value ( closes #1005 )
2019-08-29 08:56:34 +02:00
Benoit Blanchon
fcbec6eb6d
Use absolute instead of relative includes ( fixes #1072 )
2019-08-26 11:57:57 +02:00