This program collects raw time series data from the ADC using the NXP board that will later be post processed by PFP Cyber-security cloud base machine learning engine to determine the state of the device.

Dependencies:   FXAS21002 FXOS8700Q

Committer:
vithyat
Date:
Fri Mar 20 20:15:18 2020 +0000
Revision:
2:990c985a69ae
Parent:
0:977e87915078
Update to work with P2Scan runtime

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vithyat 0:977e87915078 1 ## Changelog for Pelion Device Management Client
vithyat 0:977e87915078 2
vithyat 0:977e87915078 3 ### Release 2.2.1 (28.02.2019)
vithyat 0:977e87915078 4
vithyat 0:977e87915078 5 #### Device Management Connect client
vithyat 0:977e87915078 6
vithyat 0:977e87915078 7 * Fixed handling of blockwise message during concurrent notification sending.
vithyat 0:977e87915078 8 * Fixed handling of content type format for PUT requests on resource level. Client only accepts `text/plain` and `opaque` content-types.
vithyat 0:977e87915078 9
vithyat 0:977e87915078 10 #### Factory Configurator client
vithyat 0:977e87915078 11
vithyat 0:977e87915078 12 * [Mbed OS] Support for injecting external entropy for devices using [KVstore](https://os.mbed.com/docs/mbed-os/v5.11/apis/kvstore.html) (internal flash).
vithyat 0:977e87915078 13
vithyat 0:977e87915078 14 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 15
vithyat 0:977e87915078 16 * [Mbed OS] Fixed the usage of deprecated socket APIs.
vithyat 0:977e87915078 17 * Added logic to `pal_plat_initTime` to recover from data corruption due to power failure.
vithyat 0:977e87915078 18 * Improved API documentation.
vithyat 0:977e87915078 19 * [Mbed OS] Support for injecting external entropy for devices using [KVstore](https://os.mbed.com/docs/mbed-os/v5.11/apis/kvstore.html) (internal flash).
vithyat 0:977e87915078 20
vithyat 0:977e87915078 21 ### Release 2.2.0 (25.02.2019)
vithyat 0:977e87915078 22
vithyat 0:977e87915078 23 #### Device Management Connect client
vithyat 0:977e87915078 24
vithyat 0:977e87915078 25 * Updated Mbed CoAP to 4.7.4.
vithyat 0:977e87915078 26 * Mbed CoAP for non-Mbed OS platforms is one patch release ahead of the Mbed OS version (5.11.3) of Mbed CoAP.
vithyat 0:977e87915078 27 * Implemented DTLS fragmentation support for Device Management Client.
vithyat 0:977e87915078 28 * If your device has constraints with network buffer sizes where the DTLS handshake packets cannot fit into a single MTU, this configuration allows smaller packet size (minimum fragment length of 512 bytes + DTLS headers).
vithyat 0:977e87915078 29 * This feature is supported from Mbed TLS 2.15.1 onwards.
vithyat 0:977e87915078 30 * To enable support, define `mbed-client-pal.pal-max-frag-len = <value>` in the `mbed_app.json` file.
vithyat 0:977e87915078 31 * Value 0 = disabled, 1 = `MBEDTLS_SSL_MAX_FRAG_LEN_512`, 2= `MBEDTLS_SSL_MAX_FRAG_LEN_1024`, 3 = `MBEDTLS_SSL_MAX_FRAG_LEN_2048`.
vithyat 0:977e87915078 32 * The value must be twice the defined value of `SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE`, otherwise your client will give a compilation error with mismatching configuration options.
vithyat 0:977e87915078 33 * [Edge] In Edge mode, the client can process more than one request per resource at a time.
vithyat 0:977e87915078 34 * Fixed message status callback handling when using delayed response with the blockwise option.
vithyat 0:977e87915078 35 * Application received multiple delivered statuses when using blockwise transfer. This issue has now been resolved.
vithyat 0:977e87915078 36 * [Linux] Updated CMake minimum version to 3.5.
vithyat 0:977e87915078 37 * [Mbed OS] Enabled new configuration option for selecting secure storage mechanism : `"mbed-cloud-client.external-sst-support":"<null/1>"`
vithyat 0:977e87915078 38 * `"mbed-cloud-client.external-sst-support":null` means client continues using SOTP-ESFS based storage implementation.
vithyat 0:977e87915078 39 * `"mbed-cloud-client.external-sst-support":1` means client uses KVStore-based storage implementation. This requires Mbed OS 5.11.4 version and higher.
vithyat 0:977e87915078 40 * By default, it is set to `null` so older versions of Device Management Client example are binary compatible with this client version.
vithyat 0:977e87915078 41 * For Linux, client continues using SOTP-ESFS based storage implementation.
vithyat 0:977e87915078 42 * Added a configuration check for the update profile (`ARM_UC_PROFILE_MBED_CLIENT_LITE`) to prevent accidental usage of LITE profile with Device Management Client.
vithyat 0:977e87915078 43 * Added the [pause and resume functionality](../connecting/device-guidelines.html#client-pause-and-resume). The APIs let you change the network interface without deregistering the client. You can also pause the client, for example, for sleeping (with RAM retention).
vithyat 0:977e87915078 44 * Deprecated client APIs that use `std::string`, including the whole `SimpleM2MResourceString` and `SimpleM2MResourceInt` classes.
vithyat 0:977e87915078 45 * The existing code using these APIs still compiles and works, but gives compiler warnings.
vithyat 0:977e87915078 46 * This was changed because the code using C++ Standard Template Library (STL) is causing issues in some environments, where the `std::` namespace or STL is not available at all.
vithyat 0:977e87915078 47 * STL also causes large ROM overhead, and disabling it saves ~15 KB on ROM budget, depending on the compiler toolchain used.
vithyat 0:977e87915078 48 * To remove the deprecated APIs completely, set `MBED_CLOUD_CLIENT_STL_API` to 0.
vithyat 0:977e87915078 49 * You can now disable the namespace pollution of code that includes `MbedCloudClient.h` with `using namespace std;`.
vithyat 0:977e87915078 50 The behavior is left unchanged, but you can disable it by setting `MBED_CLOUD_CLIENT_STD_NAMESPACE_POLLUTION` to 0.
vithyat 0:977e87915078 51 * Fixed regression on the application not receiving `value_updated()` callback for a POST message to an Object or Object Instance.
vithyat 0:977e87915078 52 * Fixed stack overflow issue with local memory allocation from stack rather than heap when trying to read values from KCM.
vithyat 0:977e87915078 53 * Changed network errors printing in `M2MConnectionHandlerpimpl.cpp` to use hexadecimal format for easier comparison with `mbed-client-pal/Source/PAL-Impl/Services-API/pal_errors.h`.
vithyat 0:977e87915078 54 * Modified event API to use `uintptr_t` types for passing pointers instead of `uint32_t` for 64-bit compatibility.
vithyat 0:977e87915078 55
vithyat 0:977e87915078 56 #### Factory Configurator client
vithyat 0:977e87915078 57
vithyat 0:977e87915078 58 * Integration with Mbed OS 5.11 KVStore module.
vithyat 0:977e87915078 59
vithyat 0:977e87915078 60 #### Device Management Update client
vithyat 0:977e87915078 61
vithyat 0:977e87915078 62 * Support for large file download: converted notification handling to use a flag instead of a counter to avoid a deadlock in the scheduler.
vithyat 0:977e87915078 63 * [Mbed OS] Enabled a new configuration option for selecting the storage location for the Update client update image.
vithyat 0:977e87915078 64 * `"mbed-cloud-client.update-storage":"<mode>"`
vithyat 0:977e87915078 65 * `<mode>` can be either `ARM_UCP_FLASHIAP` for internal flash or `ARM_UCP_FLASHIAP_BLOCKDEVICE` for external flash.
vithyat 0:977e87915078 66 * Fixed the Update client state machine reboot state logic so that the active firmware details are not re-sent if reboot does not happen.
vithyat 0:977e87915078 67 * Enabled a single HTTP request to be sent instead of multiple fragments during file download. Added a flag to guard the writing of the entire update file to pre-allocate space before the file is downloaded. The flag is disabled by default.
vithyat 0:977e87915078 68 * Fixed traces from printing empty values for asynchronous DNS calls.
vithyat 0:977e87915078 69 * Modified the trace and error macros in the manifest manager to use common macros.
vithyat 0:977e87915078 70 * Fixed the race conditions on critical section code in the atomic-queue module.
vithyat 0:977e87915078 71 * Fixed various compiler warnings.
vithyat 0:977e87915078 72 * Update client calls a new `pal_plat_osGetRoT` function that reads RoT from KVStore.
vithyat 0:977e87915078 73 * Added the possibility of queueing callbacks with an associated context in the Update client scheduler.
vithyat 0:977e87915078 74 * Implemented an Update client scheduler API to post an error. The scheduler executes the error callback in priority over all the other callbacks in the queue.
vithyat 0:977e87915078 75 * Added a compilation check for CoAP buffer size.
vithyat 0:977e87915078 76 * Added trace messages to HTTP source module for debugging purposes.
vithyat 0:977e87915078 77 * Fixed the Update client trace module when `mbed_trace` is off.
vithyat 0:977e87915078 78 * Removed the accelerated handling of binary comparisons that relied on unaligned access.
vithyat 0:977e87915078 79 * Fixed overflow in the HTTP request header.
vithyat 0:977e87915078 80 * Sanitized module codes in trace messages. Defined a macro that replaces non-printable characters with a dot character. Wrapped module codes in the new macro wherever traces or debug messages are printed.
vithyat 0:977e87915078 81 * Replaced calls to `mbed_tracef` with calls to `tr_debug`/`tr_error`.
vithyat 0:977e87915078 82 * Added a compile time check for non-zero update storage size.
vithyat 0:977e87915078 83 * Fixed page rounding issue in PAL block device.
vithyat 0:977e87915078 84 * Improved trace messages in HTTP resume engine.
vithyat 0:977e87915078 85 * Fixed the event API callback types to match the changes in Update client.
vithyat 0:977e87915078 86 * Added support for reporting out of memory error from Mbed TLS.
vithyat 0:977e87915078 87 * Removed `TRACE_GROUP` definitions from public header files.
vithyat 0:977e87915078 88
vithyat 0:977e87915078 89 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 90
vithyat 0:977e87915078 91 * Introduced PAL Secure Storage (SST) APIs.
vithyat 0:977e87915078 92 * Added Mbed OS configuration for secure storage using KVStore through this API (PAL SST).
vithyat 0:977e87915078 93 * Added more unit tests and clarified error messages in them to help in-platform porting process.
vithyat 0:977e87915078 94 * Added `PAL_UNIT_TESTING_NONSTANDARD_ENTRYPOINT` for executing unit tests.
vithyat 0:977e87915078 95 * Added `pal_osSetRoT` API and related `pal_plat_osSetRoT` functions for SOTP and KVstore.
vithyat 0:977e87915078 96 * Remove obsolete documentation and unnecessary board-specific configuration.
vithyat 0:977e87915078 97 * Added error handling of `MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED`.
vithyat 0:977e87915078 98 * Fixed error translation in the Linux implementation of `pal_plat_getAddressInfo`.
vithyat 0:977e87915078 99 * Refactored the flash simulation over file system code out of the generic flash module.
vithyat 0:977e87915078 100 * Refactored the Linux-specific reboot simulation code.
vithyat 0:977e87915078 101
vithyat 0:977e87915078 102 ### Release 2.1.1 (19.12.2018)
vithyat 0:977e87915078 103
vithyat 0:977e87915078 104 * Full support for asynchronous CoAP REST response with response code and payload for GET, PUT and POST requests. You can enable this feature with `ENABLE_ASYNC_REST_RESPONSE`.
vithyat 0:977e87915078 105 * Updated Mbed CoAP to 4.7.2.
vithyat 0:977e87915078 106 * Added more unit tests and clarified error messages in them to help in platform porting process.
vithyat 0:977e87915078 107
vithyat 0:977e87915078 108 ### Release 2.1.0 (11.12.2018)
vithyat 0:977e87915078 109
vithyat 0:977e87915078 110 #### Pelion Device Management Client
vithyat 0:977e87915078 111
vithyat 0:977e87915078 112 * Added Edge-specific translated device unregistration parameter `d` to registration message body.
vithyat 0:977e87915078 113 * Start reconnection if no response received for CoAP ping.
vithyat 0:977e87915078 114 * Updated Mbed CoAP to 4.7.1.
vithyat 0:977e87915078 115
vithyat 0:977e87915078 116 #### Factory configurator client
vithyat 0:977e87915078 117
vithyat 0:977e87915078 118 * Fixed SOTP flash write area size to accept values larger than 8 bytes.
vithyat 0:977e87915078 119
vithyat 0:977e87915078 120 #### Update Client
vithyat 0:977e87915078 121
vithyat 0:977e87915078 122 * Implemented new error codes for the campaign metrics feature.
vithyat 0:977e87915078 123 * Client reports an error if the firmware image is greater than the device flash limit.
vithyat 0:977e87915078 124 * Fixed issues with 32-bit addressing limits to enable download of very large firmware images.
vithyat 0:977e87915078 125 * Removed an unnecessary DNS lookup. The HTTP Source FSM implementation redid the DNS lookup on every new fragment, even though in most cases the data was expected to already be in the TCP receive buffer. This modifies the FSM to avoid that step unless it is necessary.
vithyat 0:977e87915078 126 * Added logic to generate a compilation error for an invalid download protocol value.
vithyat 0:977e87915078 127 * Defined additional individually enabled trace functions at compile time to reduce the resume trace ROM size.
vithyat 0:977e87915078 128 * Fixed various Linux warnings.
vithyat 0:977e87915078 129 * Replaced wrong licence headers to Apache 2.0 and added license headers where missing.
vithyat 0:977e87915078 130 * Removed dependency to deprecated component `COMMON_PAL` in Mbed OS 5.9.
vithyat 0:977e87915078 131 * Guarded `ARM_UC_cryptoDecrypt` against unnecessary calls.
vithyat 0:977e87915078 132 * Removed external reference to `arm_uc_blockdevice` and used default block device instance from Mbed OS instead.
vithyat 0:977e87915078 133 * Added debug messages to check the frequency of resume attempts.
vithyat 0:977e87915078 134
vithyat 0:977e87915078 135 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 136
vithyat 0:977e87915078 137 * Refactored internal library structure to allow more streamlined porting to new platforms.
vithyat 0:977e87915078 138 * Removed limitation for setting page size for SOTP.
vithyat 0:977e87915078 139 * PAL TLS: `memory allocation failed` error is passed to caller.
vithyat 0:977e87915078 140 * The generated doxygen documentation has been removed from the repository. To generate the docs, use the `doxygen PAL_doxy` command in the `Docs` folder or see the [online documents](https://cloud.mbed.com/docs/current/pal/index.html).
vithyat 0:977e87915078 141 * Fixed `pal_osGetDeviceKey()`'s return code on an invalid argument.
vithyat 0:977e87915078 142 * RTOS: Refactored secure/weak time related code into new `Time` module.
vithyat 0:977e87915078 143 * Time: Moved the SOTP-specific code out of `pal_time.c` to its own platform module.
vithyat 0:977e87915078 144 * Unit test overhaul:
vithyat 0:977e87915078 145 * Tests are now split into smaller libraries.
vithyat 0:977e87915078 146 * Revived tests that were disabled by mistake.
vithyat 0:977e87915078 147 * Fixed uninitialized memory access bugs revealed by Valgrind.
vithyat 0:977e87915078 148 * Removed `ExampleBSP` code, that was used only by tests. Replaced it with common platform code provided in the [example application](https://github.com/ARMmbed/mbed-cloud-client-example/tree/master/source/platform).
vithyat 0:977e87915078 149
vithyat 0:977e87915078 150 ### Release 2.0.1 (12.10.2018)
vithyat 0:977e87915078 151
vithyat 0:977e87915078 152 #### Pelion Device Management Client
vithyat 0:977e87915078 153
vithyat 0:977e87915078 154 * Client now has CoAP duplication detection enabled by default. This improves the stability of client on networks like NB-IoT.
vithyat 0:977e87915078 155 * For resources containing big data (blockwise CoAP), client starts sending notifications only after subscription for that resource has completed its blockwise transfer.
vithyat 0:977e87915078 156
vithyat 0:977e87915078 157 #### Update Client
vithyat 0:977e87915078 158
vithyat 0:977e87915078 159 * Firmware download now resumes after network outage when using CoAP.
vithyat 0:977e87915078 160 * Added support for slow link networks when a received packet contained only a HTTP header. This was causing the resume download feature to fail.
vithyat 0:977e87915078 161
vithyat 0:977e87915078 162 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 163
vithyat 0:977e87915078 164 * [Mbed OS] Changed default mount point from "fs" to "default". The mount point "default" can be used with all diffrent type of storages.
vithyat 0:977e87915078 165 * [Mbed OS][Mbed TLS] Tuned software AES for smaller size instead of speed. Disabled some of the speed optimizations on AES code to save 6 KB of ROM.
vithyat 0:977e87915078 166 * [Mbed OS][Mbed TLS] Updated mbedtls-config to save 7.5 KB of ROM on Mbed OS.
vithyat 0:977e87915078 167
vithyat 0:977e87915078 168 ### Release 2.0.0 (26.09.2018)
vithyat 0:977e87915078 169
vithyat 0:977e87915078 170 #### Pelion Device Management Client
vithyat 0:977e87915078 171
vithyat 0:977e87915078 172 * This version of client has been tested with Mbed OS 5.10.0.
vithyat 0:977e87915078 173 * Updated Mbed CoAP to 4.6.3.
vithyat 0:977e87915078 174
vithyat 0:977e87915078 175 #### Factory Configurator client
vithyat 0:977e87915078 176
vithyat 0:977e87915078 177 * Introduced certificate renewal feature for LwM2M and custom certificates.
vithyat 0:977e87915078 178 * You can renew both LwM2M and custom certificate through the Certificate renewal service and with client side APIs.
vithyat 0:977e87915078 179
vithyat 0:977e87915078 180 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 181
vithyat 0:977e87915078 182 * [Mbed OS] Fixed a hardfault in a failing DNS request.
vithyat 0:977e87915078 183
vithyat 0:977e87915078 184 #### Update client
vithyat 0:977e87915078 185
vithyat 0:977e87915078 186 * The firmware is downloaded using CoAP in MbedOS and HTTP in Linux.
vithyat 0:977e87915078 187 * Fixed a segfault when Linux update scripts are provided but no header exists.
vithyat 0:977e87915078 188 * Added support in HTTP source to make download fragments per burst user configurable.
vithyat 0:977e87915078 189 * Fixed resume engine to not block on HTTP header errors.
vithyat 0:977e87915078 190 * Fixed malloc issue in URI handling.
vithyat 0:977e87915078 191 * Passed HTTP URI instead of coaps to the generate-manifest script.
vithyat 0:977e87915078 192 * Fixed incorrect handling of an async DNS callback that caused a download failure.
vithyat 0:977e87915078 193 * Fixed the error of a campaign not completing when there is a payload hash mismatch during the firmware update operation.
vithyat 0:977e87915078 194
vithyat 0:977e87915078 195
vithyat 0:977e87915078 196 ### Release 1.5.0 (11.09.2018)
vithyat 0:977e87915078 197
vithyat 0:977e87915078 198 #### Device Management Client
vithyat 0:977e87915078 199
vithyat 0:977e87915078 200 * Implemented a new callback to track notification and delayed post response delivery statuses.
vithyat 0:977e87915078 201 * Added API `M2MBase::set_message_delivery_status_cb(message_delivery_status_cb callback, void *client_args);`.
vithyat 0:977e87915078 202 * Following APIs are marked as deprecated since the new API replaces them. They will be removed in subsequential client relases:
vithyat 0:977e87915078 203 * `M2MBase::send_notification_delivery_status(const M2MBase& object, const NotificationDeliveryStatus status)`
vithyat 0:977e87915078 204 * `M2MBase::get_notification_msgid()`
vithyat 0:977e87915078 205 * `M2MBase::set_notification_msgid(uint16_t msgid)`
vithyat 0:977e87915078 206 * `M2MBase::set_notification_delivery_status_cb(notification_delivery_status_cb callback, void *client_args)`
vithyat 0:977e87915078 207 * `M2MBase::get_notification_delivery_status()`
vithyat 0:977e87915078 208 * `M2MBase::clear_notification_delivery_status()`
vithyat 0:977e87915078 209 * Implemented a new functionality to get the internal Object list of Device Management Client.
vithyat 0:977e87915078 210 * Added API `MbedCloudClient::get_object_list()`.
vithyat 0:977e87915078 211
vithyat 0:977e87915078 212 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 213
vithyat 0:977e87915078 214 * Fixed Coverity issues in PAL.
vithyat 0:977e87915078 215 * Improved error handling and logging for network and storage.
vithyat 0:977e87915078 216 * Introduced `PAL_DNS_API_VERSION` for handling DNS.
vithyat 0:977e87915078 217 * 0 = synchronous DNS.
vithyat 0:977e87915078 218 * 1 = asynchronous DNS.
vithyat 0:977e87915078 219 * 2 = asynchronous DNS v2 (Only with Mbed OS 5.9 or later).
vithyat 0:977e87915078 220 * Fixed PAL tracing implementation to allow an application to override the tracing level definitions.
vithyat 0:977e87915078 221 * In `pal_isLeapYear`, fixed a bug that made the certificate times off by a day.
vithyat 0:977e87915078 222 * Enforced usage of MTU limits when using DTLS and `PAL_UDP_MTU_SIZE` is defined.
vithyat 0:977e87915078 223 * Added configuration for K66F.
vithyat 0:977e87915078 224 * [LINUX] Improved logging for RNG generation.
vithyat 0:977e87915078 225 * [LINUX] Removed the glibc-specific function `pthread_sigqueue()` and replaced it with `pthead_kill()`.
vithyat 0:977e87915078 226 * [LINUX] Increased stack-size of `PAL_NOISE_TRNG_THREAD` to 32 k. Increased stack-size of `PAL_NET_TEST_ASYNC_SOCKET_MANAGER_THREAD_STACK_SIZE` to 24 k.
vithyat 0:977e87915078 227 * [LINUX] Added socket event filter clearing for `pal_plat_connect()` and `pal_plat_asynchronousSocket()`.
vithyat 0:977e87915078 228 * [Mbed OS] Define `PAL_USE_INTERNAL_FLASH` and `PAL_INT_FLASH_NUM_SECTIONS = 2` by default for all targets.
vithyat 0:977e87915078 229 * [Mbed OS] Compatibility changes for Mbed OS 5.10.
vithyat 0:977e87915078 230 * [Mbed OS] Fixed a compatibility issue with Mbed TLS 2.13.0 for ARMCC compiler.
vithyat 0:977e87915078 231
vithyat 0:977e87915078 232 #### Update client
vithyat 0:977e87915078 233
vithyat 0:977e87915078 234 * Fixed Device Management Client factory update flow by setting the default identity configuration to KCM.
vithyat 0:977e87915078 235 * Added firmware update over CoAP into Device Management Client.
vithyat 0:977e87915078 236 * The firmware is downloaded using HTTP by default.
vithyat 0:977e87915078 237 * To download with CoAP in Mbed OS, set the flag into `"target_overrides"` section in the `mbed_app.json` as follows:
vithyat 0:977e87915078 238 * "mbed-cloud-client.update-download-protocol": "MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP"
vithyat 0:977e87915078 239 * [LINUX] Fixed Linux update e2e failure reverting by adding "set -eu" to the Linux scripts.
vithyat 0:977e87915078 240 * Fixed RTL8195 Flash R/W issue by adding `FlashIAP Init` call into initialization.
vithyat 0:977e87915078 241 * Fixed long HTTP headers handling logic to support headers to split to multiple fragments.
vithyat 0:977e87915078 242 * Fixed Device Management Update client versioning to work in the factory flow.
vithyat 0:977e87915078 243 * Fixed Device Management Update client uninitialization logic by adding handling for state `ARM_UC_HUB_STATE_UNINITIALIZED` in the state machine.
vithyat 0:977e87915078 244 * Optimized static RAM usage by reusing the static object "ManifestManagerContext" during initialization.
vithyat 0:977e87915078 245 * Added support to Device Management Update client configuration to map external download protocol definition to internal configurations. This is needed to support download protocol selection in Device Management Client.
vithyat 0:977e87915078 246 * Implemented resume firmware download after a connection failure.
vithyat 0:977e87915078 247 * Added a scheduler trace macro.
vithyat 0:977e87915078 248 * Merged two branches of Device Management Update client to one and added profile and feature flags to separate between different feature sets. The new profile flag `ARM_UC_PROFILE_MBED_CLOUD_CLIENT` is used to enable correct profile for Device Management Client.
vithyat 0:977e87915078 249 * `MBED_CONF_MBED_CLIENT_DNS_USE_THREAD` removed.
vithyat 0:977e87915078 250 * Fixed Linux scripts to use `-e` and `-u` parameters for "set" to propagate errors
vithyat 0:977e87915078 251 * Fixed an update state machine failure that was noticed when traces were enabled. The notification state machine was changed to sequentially wait for internal asynchronous operations to complete before sending updated resource values to service and waiting for an acknowledgment from service.
vithyat 0:977e87915078 252 * MCCP=3 in Device Management Client: Support for sending update resource data as part of the registration message, thereby reducing traffic to Device Management.
vithyat 0:977e87915078 253 * Changed uninitialization for Device Management Update client to be done for all states past initialization states. Added null-checks for resource value settings.
vithyat 0:977e87915078 254
vithyat 0:977e87915078 255 #### Factory Configurator client
vithyat 0:977e87915078 256
vithyat 0:977e87915078 257 * The error `FCC_STATUS_STORE_ERROR` is returned upon an internal storage init failure.
vithyat 0:977e87915078 258
vithyat 0:977e87915078 259 ### Release 1.4.0 (13.07.2018)
vithyat 0:977e87915078 260
vithyat 0:977e87915078 261 * Fixed a timer initialization bug under connection handler.
vithyat 0:977e87915078 262 * Linux: Updated mbed-coap to 4.5.0.
vithyat 0:977e87915078 263 * This version of Cloud Client has been tested with Mbed OS 5.9.2.
vithyat 0:977e87915078 264
vithyat 0:977e87915078 265 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 266
vithyat 0:977e87915078 267 * Introduced support for ARIA cipher suite introduced in Mbed TLS 2.10.0.
vithyat 0:977e87915078 268 * Introduced Mbed TLS configuration support for non-TRNG boards like NUCLEO-F411RE.
vithyat 0:977e87915078 269 * Hook-up point for allowing application to provide its own reboot function.
vithyat 0:977e87915078 270 * Defining `PAL_USE_APPLICATION_REBOOT` activates this feature.
vithyat 0:977e87915078 271 * You must define the function `void pal_plat_osApplicationReboot(void)` in your application to provide the required functionality.
vithyat 0:977e87915078 272 * Introduced the feature flag `PAL_USE_APPLICATION_REBOOT` for application to override generic reboot functionality, which is useful for different Linux flavors.
vithyat 0:977e87915078 273 * New asynchronous DNS API (activated in application mbed_app.json via `mbed-client-pal.pal-dns-api-version : 2`) with Mbed OS 5.9.x.
vithyat 0:977e87915078 274
vithyat 0:977e87915078 275 #### Factory configurator client
vithyat 0:977e87915078 276
vithyat 0:977e87915078 277 * Chain verification failure results in `KCM_STATUS_CERTIFICATE_CHAIN_VERIFICATION_FAILED` error instead of `FCC_STATUS_CERTIFICATE_CHAIN_VERIFICATION_FAILED`.
vithyat 0:977e87915078 278 * Improved robustness of factory serial communication layer.
vithyat 0:977e87915078 279 * Define `KCM_MAX_NUMBER_OF_CERTITICATES_IN_CHAIN` was renamed to `KCM_MAX_NUMBER_OF_CERTIFICATES_IN_CHAIN`.
vithyat 0:977e87915078 280
vithyat 0:977e87915078 281 #### Mbed Cloud Update
vithyat 0:977e87915078 282
vithyat 0:977e87915078 283 * Improved Linux shell scripts for compatibility and robustness.
vithyat 0:977e87915078 284 * Fixed an issue in `ARM_UC_HUB_Initialize()` and `ARM_UC_HUB_Uninitialize()` to prevent these functions being called when Update client is in the wrong state.
vithyat 0:977e87915078 285 * Fixed compiler warnings.
vithyat 0:977e87915078 286 * Removed designated initialisers from C++ code.
vithyat 0:977e87915078 287 * Update results are now sent synchronously to ensure that the Update client hub is in the correct state if several LwM2M operations are performed in rapid succession.
vithyat 0:977e87915078 288 * Added error messages for missing commands in `arm_update_activate.sh`.
vithyat 0:977e87915078 289 * Added error reporting when there is not enough space on the device to store the firmware image candidate.
vithyat 0:977e87915078 290 * Added registration for the scheduler error handler.
vithyat 0:977e87915078 291
vithyat 0:977e87915078 292 #### PAL Platform
vithyat 0:977e87915078 293
vithyat 0:977e87915078 294 * Introduced Mbed TLS 2.10.0 support for ARIA cipher suite.
vithyat 0:977e87915078 295
vithyat 0:977e87915078 296 ### Release 1.3.3 (08.06.2018)
vithyat 0:977e87915078 297
vithyat 0:977e87915078 298 #### Mbed Cloud Client
vithyat 0:977e87915078 299
vithyat 0:977e87915078 300 * Fixed issue: Wrong CoAP ping message. CoAP ping must be sent as an empty confirmable message.
vithyat 0:977e87915078 301 * In the previous versions, the client in queue mode went to sleep while in reconnection mode. Now, it completes the connection before going to sleep.
vithyat 0:977e87915078 302 * This version of Cloud Client supports Mbed OS 5.8.5 and onwards patch releases.
vithyat 0:977e87915078 303 * Improvements for connection handler. Removed the usage of static pointer to class. It is now possible to allocate more than one class `M2MConnectionSecurityPimpl` in parallel.
vithyat 0:977e87915078 304 * Support for new asynchronous DNS API ("mbed-client-pal.pal-dns-api-version : 2") with Mbed OS 5.9.x.
vithyat 0:977e87915078 305
vithyat 0:977e87915078 306 #### Factory Configurator client
vithyat 0:977e87915078 307
vithyat 0:977e87915078 308 * Full support for the `device generated keys` mode. You can activate the mode using the Factory Configurator Utility (FCU) or the KCM APIs.
vithyat 0:977e87915078 309
vithyat 0:977e87915078 310 <span class="notes">**Note:** Cloud Client and Mbed Cloud do not yet support this mode.</span>
vithyat 0:977e87915078 311
vithyat 0:977e87915078 312 * A certificate signed request (CSR) that is generated on the device, can be created with the `Extended key usage` extension.
vithyat 0:977e87915078 313 * A new KCM API introduced:
vithyat 0:977e87915078 314 * `kcm_certificate_verify_with_private_key` - a self-generated certificate can be checked against a stored private key.
vithyat 0:977e87915078 315 * Fixed the `FtcdCommBase::wait_for_message` function to receive multiple messages.
vithyat 0:977e87915078 316
vithyat 0:977e87915078 317 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 318
vithyat 0:977e87915078 319 * The u-blox ODIN-W2 board now requires support for RSA crypto from Mbed TLS. RSA crypto has been enabled by default for the target `MODULE_UBLOX_ODIN_W2`. Enabling RSA crypto increases the flash size by 20 KB. More details in Mbed OS PR [#6963](https://github.com/ARMmbed/mbed-os/pull/6963).
vithyat 0:977e87915078 320
vithyat 0:977e87915078 321 ### Release 1.3.2 (22.05.2018)
vithyat 0:977e87915078 322
vithyat 0:977e87915078 323 #### Mbed Cloud Client
vithyat 0:977e87915078 324
vithyat 0:977e87915078 325 * Fixed issue: Resource does not notify with content format requested in observation.
vithyat 0:977e87915078 326 * New internal API: `check_config_parameter()`, returns SUCCESS if parameter exits in KCM.
vithyat 0:977e87915078 327 * Do not try to store Timezone/UTC data, if there is no data.
vithyat 0:977e87915078 328 * A separate CoAP response is used only for POST operation, other ones are using piggybacked responses.
vithyat 0:977e87915078 329 * Send only one notification at a time.
vithyat 0:977e87915078 330 * Fixes the issue with an application changing multiple resource values at a same time causing the client to lose notifications from earlier resources. This change ensures that the latest value is always sent to the server.
vithyat 0:977e87915078 331 * Introducing Mbed Edge specific features:
vithyat 0:977e87915078 332 * M2MEndpoint class for describing endpoints behind Mbed Edge device.
vithyat 0:977e87915078 333 * Allow registering M2MEndpoints and M2MObjects using the registration API.
vithyat 0:977e87915078 334 * Added the `endpoint_type` attribute to the registration update message.
vithyat 0:977e87915078 335 * Added the `endpoint name` attribute to the registration and registration update messages.
vithyat 0:977e87915078 336 * Improved Edge performance for registration update.
vithyat 0:977e87915078 337 * This optimization speeds up the registration update. It monitors which endpoints have changed and updates only
vithyat 0:977e87915078 338 them.
vithyat 0:977e87915078 339 * The bandwitdth of the CoAP messages is reduced. Endpoint data for the unchanged endpoints is not sent in the
vithyat 0:977e87915078 340 registration update.
vithyat 0:977e87915078 341
vithyat 0:977e87915078 342 #### Factory configurator client
vithyat 0:977e87915078 343
vithyat 0:977e87915078 344 * New APIs introduced for keys and CSR generation on the device:
vithyat 0:977e87915078 345 * `kcm_key_pair_generate_and_store`
vithyat 0:977e87915078 346 * `kcm_csr_generate`
vithyat 0:977e87915078 347 * `kcm_generate_keys_and_csr`
vithyat 0:977e87915078 348 * Chain validations added.
vithyat 0:977e87915078 349 * A chain is validated when it is stored. Each certificate in the chain is validated against its issuer. An error is returned if the chain is not valid.
vithyat 0:977e87915078 350 * If the device certificate (bootstrap or LwM2M) or the update authentication certificate is saved as a chain, the expiration of all certificates is checked in the `fcc_verify_device_configured_4mbed_cloud` function.
vithyat 0:977e87915078 351
vithyat 0:977e87915078 352 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 353
vithyat 0:977e87915078 354 * Linux: Converted all timers to use signal-based timer (SIGEV_SIGNAL) instead of (SIGEV_THREAD).
vithyat 0:977e87915078 355 * This fixes the Valgrind warnings for possible memory leaks caused by LIBC's internal timer helper thread.
vithyat 0:977e87915078 356
vithyat 0:977e87915078 357 <span class="notes">**Note**: If the client application is creating a pthread before instantiating MbedCloudClient,
vithyat 0:977e87915078 358 it needs to block the PAL_TIMER_SIGNAL from it. Otherwise the thread may get an exception caused
vithyat 0:977e87915078 359 by the default signal handler with a message such as "Process terminating with default action
vithyat 0:977e87915078 360 of signal 34 (SIGRT2)". For a suggested way to handle this please see `mcc_platform_init()` in [here](https://github.com/ARMmbed/mbed-cloud-client-example/blob/master/source/platform/Linux/common_setup.c).</span>
vithyat 0:977e87915078 361 * Linux: Fixed the Linux-specific version of `pal_accept()'s` `addressLen` parameter which previously required a platform-specific socket address structure size, not a platform independent one.
vithyat 0:977e87915078 362 * Fixed a hard fault issue that occurred when calling `pal_ECKeyGenerateKey`.
vithyat 0:977e87915078 363 * Return PAL_ERR_BUFFER_TOO_SMALL if the output buffer is too small for write in `pal_writePrivateKeyToDer`, `pal_writePublicKeyToDer` and `pal_x509CSRWriteDER APIs`.
vithyat 0:977e87915078 364 * Fixed the missing handling for initialization failure of SOTP.
vithyat 0:977e87915078 365 * New API `pal_x509CertGetHTBS`: Calculate the hash of the _To Be Signed_ part of an X509 certificate.
vithyat 0:977e87915078 366
vithyat 0:977e87915078 367 #### Mbed Cloud Update
vithyat 0:977e87915078 368
vithyat 0:977e87915078 369 * Improvements to the scheduler to ensure that events are not lost. The scheduler now uses a pool allocation mechanism and queue element locks.
vithyat 0:977e87915078 370 * Implemented an API to get the active firmware details.
vithyat 0:977e87915078 371 * A rollback protection error will now be reported as "Firmware update failed" (8) when MCCP=1.
vithyat 0:977e87915078 372 * An error is issued when the firmware payload exceeds the maximum storage-size limit.
vithyat 0:977e87915078 373 * Mbed Cloud Update now uses a constant time binary compare function.
vithyat 0:977e87915078 374 * Fixed a build error for Cortex-A9 target when retrieving the current interrupt enabled state.
vithyat 0:977e87915078 375
vithyat 0:977e87915078 376 ### Release 1.3.1.1 (27.04.2018)
vithyat 0:977e87915078 377
vithyat 0:977e87915078 378 #### Mbed Cloud Client
vithyat 0:977e87915078 379
vithyat 0:977e87915078 380 * Fixed POST response handling. The client was sending multiple responses for the POST request received from Cloud, which would sometimes cause undefined behaviour for the POST callback on the webservice.
vithyat 0:977e87915078 381
vithyat 0:977e87915078 382 #### Mbed Cloud Update
vithyat 0:977e87915078 383
vithyat 0:977e87915078 384 * In Linux builds, Update related callbacks are now called in the context of the Update thread. Previously, it was possible to call some of these callbacks in a different thread.
vithyat 0:977e87915078 385 * In Linux builds, if tracing is enabled, the update scheduler will display an error if a callback can't be added to the scheduler queue.
vithyat 0:977e87915078 386
vithyat 0:977e87915078 387 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 388
vithyat 0:977e87915078 389 * Linux: Replaced `fflush(NULL)` with `sync()` in `pal_osReboot` which was causing deadlock in Raspberry Pi3.
vithyat 0:977e87915078 390
vithyat 0:977e87915078 391 ### Release 1.3.1 (19.04.2018)
vithyat 0:977e87915078 392
vithyat 0:977e87915078 393 #### Mbed Cloud Client
vithyat 0:977e87915078 394
vithyat 0:977e87915078 395 * Improved tracing of CoAP packages.
vithyat 0:977e87915078 396 * Added an API to enable sending of the resource value as a part of the registration message.
vithyat 0:977e87915078 397 * Only the following value types are allowed:
vithyat 0:977e87915078 398 * STRING
vithyat 0:977e87915078 399 * INTEGER
vithyat 0:977e87915078 400 * FLOAT
vithyat 0:977e87915078 401 * BOOLEAN
vithyat 0:977e87915078 402 * A fix for sending an empty ACK with blockwise messages.
vithyat 0:977e87915078 403 * Replaced TCP_KEEPALIVE with CoAP PING.
vithyat 0:977e87915078 404 * Fixed the possible overflow in bootstrap errors.
vithyat 0:977e87915078 405 * Now, a token is used to verify BS, register, update register and unregister responses.
vithyat 0:977e87915078 406 * A fix for sending empty CoAP requests.
vithyat 0:977e87915078 407 * A fix for the internal timer.
vithyat 0:977e87915078 408 * PAL is used for asyncronous handling of DNS.
vithyat 0:977e87915078 409
vithyat 0:977e87915078 410 #### Mbed Cloud Update
vithyat 0:977e87915078 411
vithyat 0:977e87915078 412 Using PAL for asyncronous handling of DNS enables firmware update with mesh.
vithyat 0:977e87915078 413
vithyat 0:977e87915078 414 #### Platform Adaptation Layer (PAL)
vithyat 0:977e87915078 415
vithyat 0:977e87915078 416 * A fix to crash when enabling mbed-tls traces.
vithyat 0:977e87915078 417 * Removed the thread-priority requirement.
vithyat 0:977e87915078 418 * Fixed the compatibility issues with Mbed OS 5.8/5.9.
vithyat 0:977e87915078 419
vithyat 0:977e87915078 420 ### Release 1.3.0 (27.3.2018)
vithyat 0:977e87915078 421
vithyat 0:977e87915078 422 * Initial public release.
vithyat 0:977e87915078 423