Releases: xively/xively-client-c
Xively Client v1.3.4
Xively Client version 1.3.4
Feb 9 2018
Features
-
[CC3220SF] Further support for WiFi disconnection events. SimpleLink is now restarted upon loss of WiFi AP. Previously attempting to build socket connections after reconnecting WiFi would sometimes cause the underlying network system to fail in building TCP/IP connections. Restarting SimpleLink seems to solve all of these edge cases.
-
[make] Support linking and inclusion of TLS libraries outside the xively-client-c directory. This is part of the effort to get the ESP32 running its SDK's version of mbedTLS, as opposed of downloading and building our own.
-
[ESP32] Updated the Xively C Client build to work with IDF SDK: Master commit 16de6bff
Bugfix
- [mbedTLS] Fix BSP certificate buffer parsing. mbedTLS expects a NULL-terminated string but our certificate array was non NULL-terminated in order to support WolfSSL. The WolfSSL BSP has been updated to ignore the NULL terminator if present.
Xively Client v1.3.3
Xively Client version 1.3.3
Jan 22 2018
Features
- [CC3220SF] Updated example application support to TI SimpleLink SDK 1.6, XDC Tools version 3.50.04.43.
- [CC3220SF] Example application now detects WiFi disconnections and cleanly reconnects when WiFi AP returns.
- [ESP32] Updated the Xively C Client build to work with IDF SDK: Master commit af63ca1
- [ESP32] Improved LED signaling in demo application.
- [Secure File Transfer] CBOR library assertions are now suppressed. They can be enabled by defining
XI_DEBUG_ASSERT=1
on the make command line when building the Xively C Client library.
Bugfix
- [ESP32] Fix integer overflow in time BSP.
- [ESP32/CC3200] Fix FWU Board Support Packages for SFT when running an SFT migration that does not include new firmware binaries. Previously the device rebooted at switched boot partitions upon all SFT deliveries, now this only occurs if a new firmware image is downloaded.
- [WolfSSL]
src\import\tls\wolfssl.conf
configuration script errantly defined --enable-debug twice.
Misc
- Removed legacy
Licenses
directory. All licenses are now inLICENSE.md
of the base directory of the repository. - Updated Copyright Header to 2018.
- Travis CI configuration changes to FuzzTest Environment.
- Moved the
cc3200\xively_firmware_updates
tosrc\experimental\cc3200\xively_sft_external_client
. This external client application is not our standard Secure File Transfer client, but instead serves as a reference for those who would like to implement SFT on another MQTT client or in another language. Specifically it demonstrates how to use the CBOR encoder to handle SFT Service Requests and Responses over MQTT. This implementation was moved from our examples directory as it was being confused with our CC3200 SFT implementation via our Board Support Packages (FWU and FS BSPs). This experimental application will not be kept up to date. Further development using the Xively C Client SFT feature should be done inside the BSPs of the respective platforms, such as insrc\bsp\platform\cc3200\xi_bsp_fw_cc3200.c
andsrc\bsp\platform\cc3200\xi_bsp_io_fs_cc3200.c
.
Xively Client v1.3.2
Nov 24 2017
Features
Extensions to Secure File Transfer (SFT) and Firmware Updates (FWU) feature
- SFT now supports Large File Downloads over HTTP. The SFT Service cannot deliver files
larger than 8MB through MQTT. However, it now transmits URLs for these large files so
that larger devices may download them over the HTTP protocol. The Xively C Client now has an
updated Board Support Package (BSP) which reports these URLs to the Application, which
must then download the file separately and report the download result to the Xively C Client.
The file download status report is propagated back to the Xively SFT service by the
Xively C Client for fleet-wide deployment tracking, and then the Xivley C Client continues
the update process by working through the next file on the download list. From an update flow
perspective, nothing has changed, only the protocol that was used to download the file. - Added the ability for the Applications to order the files downloaded over the Xively Secure
File Transfer service. Please see the documentation for
xi_bsp_io_fwu_order_resource_downloads()
in the headerinclude/bsp/xi_bsp_fwu.h
for more
information. - Auto-test coverage was increased on the new SFT feature.
ESP32 Support Extended
- ESP32 now supports firmware updates over MQTT using Xively's Secure File Transfer
protocol. - Travis CI now builds ESP32 target.
Misc
- API extension: added
xi_is_context_connected( xi_context_handle_t )
to the standard
Xively API.
Xively Client v1.3.1
Oct 10 2017
Bugfix
- Fix WolfSSL build for the ESP32 platform.
Xively Client v1.3.0
Oct 06 2017
Features
Secure File Transfer (SFT) and Firmware Updates (FWU)
-
The Xively C Client now provides Secure File Transfer (SFT) and Firmware
Update (FWU) functionality over MQTT out of the box. These features are coupled to a
device's Firmware and File Storage SDKs through two highly-portable Board Support Packages
(BSPs). The Xivley C Client controls the main update flow, protocol, and chunking of files,
with only the satellite functionalities of non-volatile storage, bootloader management and
restart functionalities required for porting.Example implementations for CC3200 and POSIX. -
Secure File Transfer (SFT) and Firmware Updates (FWU) features have been added to the
CC3200 xively_demo example. -
Changes to our External SFT Implementation Demo: Previously the Xively C Client
added TI CC3200 SFT and FWU functionalities at the application level (not in our Xively C
Client Library BSPs). We will keep the sources for this client-external SFT implementation
to serve as a quick reference of how a Xively SFT client could be implemented in other
languages. Please see our CC3200 Secure File Transfer (SFT) Tutorial in
the Xively Development Center to remote update your CC3200's firmware over MQTT today!
Ports
-
ESP32 Port (New!): A BSP, makefile system, and an example application have been written for
the ESP32. Please see the Xively Developer Center for a tutorial. -
STM32F4 Tier 1 tutorial support: now the repository contains precompiled STM32F4
wifi + ethernet application binaries to support the simpliest tutorial of connecting
these devices to Xively.
Misc
-
CC3220SF Library and Build environment update: tested use of CC3220 SDK v1.4 and
XDCTOOLS v3.50.02.20, which will be part of our CI builds. -
wolfSSL version update: default builds now work against version 3.10.2-stable
Documentation
- Porting Guide and User Guide are updated with Secure File Transfer (SFT) and
Firmware Updates (FWU) feature description.
Xively Client v1.2.6
Jun 30 2017
Documentation
- Fixes to
doc/porting_guide.md
referring to improper make enviornment CONFIG flagtls
. It should betls_bsp
.
Features
- Secure File Transfer: A new TI CC3200 client that allows firmware updates over MQTT via the Xively SFT service.
- Updates to the User Guide to reflect the new Open Source porting process. Also added links to our CC3200 and STM32 Nucleo examples, and to our Further Readings.
TI CC3200
- Contains a new example
xively_firmware_updates
as our first reference implemention of using Xively Secure File Transfer to update the firwmare of a CC3200.
TI CC3220SF
- Added TI CC3220SF demo application sources and build process for tutorials on Xively Developer Center.
STM32F4 Nucleo
- Updated STM32F4 examples to build against latest ST SDKs.
- New build configurations to support both sensor boards (IKS01A1 and IKS01A1) out of the box.
- The github repository is extended with a prebuilt binary for STM32F401RE + WiFi IDW01M1 + MEMS IKS01A1. Tier 1 tutorial (how to use the precompiled binary) is also provided.
- STM32F4 ethernet example now supports runtime provisioning over serial and flash storage of Xively credentials.
- Convenience fixes for Ethernet and WiFi project examples to increase ease use of the tutorial.
Internal Development
- CI system now builds against ST SDKs v1.16.0 for Ethernet and v3.0.2 for WiFi.
Xively Client v1.2.5
March 14 2017
Features
- STM32F401RE Nucleo board + wifi X-NUCLEO-IDW01M1 expansion board support. Example Eclipse project and Tutorial (https://developer.xively.com/docs/stm32f4xx-nucleo) included. TLS connection to Xively Servers uses the wifi expansion on-board TLS solution. Accurate time initialised from SNTP servers.
Xively Client v1.2.4
Jan 17 2017
Bugfixes
- Fixing two build errors for CC3200's Tutorial project: xively_demo (linker optimization problems with two functions: xi_event_loop_with_evtds and xi_bsp_io_net_select)
Xively Client v1.2.3
Jan 10 2017
Features
- TI CC3200: fixed all compiler warnings so that the client compiles cleanly for that platform.
- The library now supports fuzz tests! For more details refer to
doc/dev/FuzzTestsProgrammerManual.md
. - Makefile support files in the
make/
directory now have the .mk extension. - Makefile updates for better Linux compatibility.
- Travis CI maintenance, Internal Storage Infrastructure and Build changes for Continuous Integration tools.
- End result: We'll be to support more platforms.
- Removed legacy TLS BSP files for WolfSSL. These were from a previous Xively C Client BSP architecture.
- The new BSP files remain in
src/bsp/tls/wolfssl
.
- The new BSP files remain in
Xively Client v1.2.2
Documentation and Ease of Use
- CC3200 tutorials are now accessible on https://developer.xively.com.
- Added xively_demo application example Code Composer Studio project for CC3200 devices.
- Removed uses of \r from some debug output statements to be more consistent, and to remove some formatting problems on some platforms. We now always simply use \n.
- Added error code numbers to comments in xi_error.h to easily map error codes integer values to their corresponding enumerated type.
Bugfixes
- Fixed a socket descriptor leak on the CC3200.
Known issues
- When the io input buffer size increased over 64 bytes incoming messages could be stacked in the tls receive buffer and not parsed