Releases: arduino-libraries/ArduinoIoTCloud
0.11.0
Changes
- Reduce public API by turning connect/disconnect into protected methods. (#113)
- Port CI configuration from Travis CI to GitHub Actions (#115)
- Report memory usage change caused by PRs (#116)
- Replacing SetDeviveId with SetDeviceId (#117)
- Firmware Over-The-Air (OTA) update capability (#118)
- Add GitHub Actions workflow to run unit tests and check code coverage (#121)
- Update CI status badges in readme (#122)
- Only run Compile Examples workflow when relevant files are modified (#123)
- Improve board-specific configuration system in compile-examples CI workflow (#124)
- Both MqttClient and BearSSLClient are allocated on the stack instead of the heap. (#128)
- Integrate ArduinoCloudThing with ArduinoIoTCloud (#129)
- Replace custom SingleLinkedList with std::list (#130)
- Run unit tests via valgrind to check for memory leaks (#131)
- Extracting property container functionality (#132)
- Add size trends report step to CI workflow (#133)
- Refresh spell check CI workflow (#134)
- Additional update policy "OnDemand" (#135)
- Allow an optional encoding of the timestamp in the CBOR message (#137)
- Use temporary file for storing the downloaded OTA image. (#138)
- Deprecate old c style functions for adding properties in favour of composition (#139(
- Default value for update policy and rate limit (#140)
- Various minor refactor operations (#141)
- Use the WiFi Nina module for storing the OTA image (#145)
- Integrate ArduinoBearSSL 1.5.0 with ArduinoIoTCloud and reduce ressource requirements. (#148)
- Removing ArduinoBearSSL dependency (#149)
- Split ArduinoCloudThing into CBOREncoder and CBORDecoder and clean up superflous statements. (#150)
- Drastically reduce size of cloud serial buffers (#151)
- Fix: Handle encoded CBOR message exceeding buffer size (#152)
- Use the SARA U-201 modem for storing OTA update image. (#153)
- Remove property OTA_STORAGE_TYPE (#154)
- Automatically configure OTA for MKRMEM/SFU (#155)
- Automatically configure SSU/OTA logic for MKR GSM 1400 (#156)
- Renaming OTAStorage_MKRMEM to OTAStorage_SFU (#157)
- Bugfix: Changing value of property before loop prevents connection to cloud server. (#158)
- Changing #define OTA_STORAGE_MKRMEM to OTA_STORAGE_SFU (#159)
- Fix: Use sketch compile time if no connection is available for estimating system time. (#160)
- Fix: Preventing dereferencing nullptr in case of missing initialisation (#161)
- Removing obsolete identifier CloudProtocol::V2 from test code (#162)
- Adding keywords.txt for syntax highlighting in Arduino IDE (#163)
- Debug macros replace direct calls to Arduino_DebugUtils (#164)
- Change github actions compile examples workflow back to use the latest release version (#165)
- Add tool for LZSS compression/decompression and improve documentation (#166)
- Use the latest released version of WiFiNINA for CI build (#167)
- Support LZSS capable SSU Bootloader (#168)
- Add support for LZSS tools on MacOS (#169)
- This change allows to use the LZSS decompression feature of the SNU (#170)
- Refactor OTA Storage API (#171)
- Remove CloudSerial (#172)
- Add verbose debug output for OTA logic (#173)
- Calculate SHA256 over firmware image uploaded via OTA (#174)
- OTA image delivery via HTTPS (#175)
- Restructure connection logic (#177, #176)
- OTA logic should be called at start of update (#178)
- Add Portenta H7 to Arduino IoT Cloud (#179)
- Adding Portenta H7 to list of supported (WiFi enabled) boards (#181)
- Use ArduinoCore-samd - latest released version for CI (#182)
- Add Portenta boards to Compile Examples CI workflow (#183)
- Disable warnings when compiling test code -Werror and GCC 9.3.0 (#185)
- Add alias names for various server side used "property types" (#186)
- Produce warning when running with nina-fw version < 1.4.1 (required for OTA) (#188)
0.10.0
Since over the course of the ArduinoIoTCloud
development a lot of clutter has gathered which makes it more difficult to use the existing code base to add something new on top (increasing technical debt). This release contains contains a large clean-up of the whole code base which allows to easily build on top of it.
0.9.3
0.9.2
- Removing unused parameter
Client &
ofArduinoIoTCloud::reconnect()
- Register a function for retrieving a global timestamp with
ArduinoCloudThing
(necessary to break hidden dependency toRTCZero
- see here). - Bugfix: The TCP load balancer of the Arduino IoT Cloud terminates a TCP connnection after 350 seconds. Unfortunately this termination is only detected after transmitting the next data set to the Arduino IoT Cloud. This has the unfortunate side effect that the data set sent to the cloud is lost. This change buffers every transmission to the server and requests a retransmission in case of loosing the connection. Note: This can only happen if the keep-alive interval is set to a value > 350 seconds.
0.9.1
0.9.0
0.8.3
Release 0.8.3
0.8.2
- add cloud blink example for mkr nb 1500
0.8.1
0.8.0
BREAKING CHANGES:
The code which handles WiFi and GSM connections as well as the code which handles the debug and status messages have until now been a part of the ArduinoIoTCloud
library. This is no longer the case. In order to simplify ArduinoIoTCloud
and allow the easy addition of new connection types the code responsible for connection handling has been put into a separate Arduino library Arduino_ConnectionHandler. Similiarly the code responsible for debug and status messages has been put into a separate Arduino library Arduino_DebugUtils.
Unfortunately those changes break compatibility with already existing sketches which is why you need to make the following adjustments to get your code to compile again:
- Modify
thingProperties.h
MKR1000/MKR WiFi 1010
-#include <GSMConnectionManager.h>
+#include <Arduino_ConnectionHandler.h>
...
-ConnectionManager * ArduinoIoTPreferredConnection = new WiFiConnectionManager(SSID, PASSWORD);
+WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASSWORD);
MKR GSM 1400
-#include <WiFiConnectionManager.h>
+#include <Arduino_ConnectionHandler.h>
...
-ConnectionManager * ArduinoIoTPreferredConnection = new GSMConnectionManager(SECRET_PIN, SECRET_APN, SECRET_LOGIN, SECRET_PASS);
+GSMConnectionHandler ArduinoIoTPreferredConnection(SECRET_PIN, SECRET_APN, SECRET_LOGIN, SECRET_PASS);
Also there is no longer a need for the cloud specific Arduino library ArduinoIoTCloudBearSSL. It is replaced with the general purpose Arduino port of BearSSL ArduinoBearSSL.
If you are compiling your sketches on the Arduino Create platform the new libraries Arduino_ConnectionHandler, Arduino_DebugUtils and ArduinoBearSSL have already been installed for you. If you are working on your PC those libraries need to be installed, e.g. via the library manager.