Jim Carver
/
mbed-cloud-workshop-connect-HTS221
bug fix
simple-mbed-cloud-client/mbed-cloud-client/CHANGELOG.md@1:521604503e81, 2018-10-19 (annotated)
- Committer:
- JimCarver
- Date:
- Fri Oct 19 02:01:38 2018 +0000
- Revision:
- 1:521604503e81
- Parent:
- 0:6b753f761943
bug fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JimCarver | 0:6b753f761943 | 1 | ## Changelog for Mbed Cloud Client |
JimCarver | 0:6b753f761943 | 2 | |
JimCarver | 0:6b753f761943 | 3 | ### Release 1.4.0 (13.07.2018) |
JimCarver | 0:6b753f761943 | 4 | * Fixed a timer initialization bug under connection handler. |
JimCarver | 0:6b753f761943 | 5 | * Linux: Updated mbed-coap to 4.5.0. |
JimCarver | 0:6b753f761943 | 6 | * This version of Cloud Client has been tested with Mbed OS 5.9.2. |
JimCarver | 0:6b753f761943 | 7 | |
JimCarver | 0:6b753f761943 | 8 | #### Platform Adaptation Layer (PAL) |
JimCarver | 0:6b753f761943 | 9 | |
JimCarver | 0:6b753f761943 | 10 | * Introduced support for ARIA cipher suite introduced in mbedTLS 2.10.0. |
JimCarver | 0:6b753f761943 | 11 | * Introduced MbedTLS configuration support for non-TRNG boards like NUCLEO-F411RE. |
JimCarver | 0:6b753f761943 | 12 | * Hook-up point for allowing application to provide its own reboot function. |
JimCarver | 0:6b753f761943 | 13 | * Defining `PAL_USE_APPLICATION_REBOOT` activates this feature. |
JimCarver | 0:6b753f761943 | 14 | * You must define the function `void pal_plat_osApplicationReboot(void)` in your application to provide the required functionality. |
JimCarver | 0:6b753f761943 | 15 | * Introduced the feature flag `PAL_USE_APPLICATION_REBOOT` for application to override generic reboot functionality, which is useful for different Linux flavors. |
JimCarver | 0:6b753f761943 | 16 | * 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. |
JimCarver | 0:6b753f761943 | 17 | |
JimCarver | 0:6b753f761943 | 18 | #### Factory configurator client |
JimCarver | 0:6b753f761943 | 19 | |
JimCarver | 0:6b753f761943 | 20 | * Chain verification failure will result in `KCM_STATUS_CERTIFICATE_CHAIN_VERIFICATION_FAILED` error instead of `FCC_STATUS_CERTIFICATE_CHAIN_VERIFICATION_FAILED`. |
JimCarver | 0:6b753f761943 | 21 | * Improved robustness of factory serial communication layer. |
JimCarver | 0:6b753f761943 | 22 | * Define `KCM_MAX_NUMBER_OF_CERTITICATES_IN_CHAIN` was renamed to `KCM_MAX_NUMBER_OF_CERTIFICATES_IN_CHAIN`. |
JimCarver | 0:6b753f761943 | 23 | |
JimCarver | 0:6b753f761943 | 24 | #### Mbed Cloud Update |
JimCarver | 0:6b753f761943 | 25 | |
JimCarver | 0:6b753f761943 | 26 | * Improved Linux shell scripts for compatibility and robustness. |
JimCarver | 0:6b753f761943 | 27 | * 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. |
JimCarver | 0:6b753f761943 | 28 | * Fixed compiler warnings. |
JimCarver | 0:6b753f761943 | 29 | * Removed designated initialisers from C++ code. |
JimCarver | 0:6b753f761943 | 30 | * 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. |
JimCarver | 0:6b753f761943 | 31 | * Added error messages for missing commands in `arm_update_activate.sh`. |
JimCarver | 0:6b753f761943 | 32 | * Added error reporting when there is not enough space on the device to store the firmware image candidate. |
JimCarver | 0:6b753f761943 | 33 | * Added registration for the scheduler error handler. |
JimCarver | 0:6b753f761943 | 34 | |
JimCarver | 0:6b753f761943 | 35 | #### PAL Platform |
JimCarver | 0:6b753f761943 | 36 | |
JimCarver | 0:6b753f761943 | 37 | * Introducing mbedTLS 2.10.0 support for ARIA cipher suite. |
JimCarver | 0:6b753f761943 | 38 | |
JimCarver | 0:6b753f761943 | 39 | ### Release 1.3.3 (08.06.2018) |
JimCarver | 0:6b753f761943 | 40 | |
JimCarver | 0:6b753f761943 | 41 | #### Mbed Cloud Client |
JimCarver | 0:6b753f761943 | 42 | |
JimCarver | 0:6b753f761943 | 43 | * Fixed issue: Wrong CoAP ping message. CoAP ping must be sent as an empty confirmable message. |
JimCarver | 0:6b753f761943 | 44 | * 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. |
JimCarver | 0:6b753f761943 | 45 | * This version of Cloud Client supports Mbed OS 5.8.5 and onwards patch releases. |
JimCarver | 0:6b753f761943 | 46 | * Improvements for connection handler, removed usage of static pointer to class. There is now possible to allocate more than one class M2MConnectionSecurityPimpl pareller. |
JimCarver | 0:6b753f761943 | 47 | * Support for new asynchronous DNS API ("mbed-client-pal.pal-dns-api-version : 2") with Mbed OS 5.9.x. |
JimCarver | 0:6b753f761943 | 48 | |
JimCarver | 0:6b753f761943 | 49 | #### Factory configurator client |
JimCarver | 0:6b753f761943 | 50 | |
JimCarver | 0:6b753f761943 | 51 | * Full support for the `device generated keys` mode. You can activate the mode using the factory configurator utility (FCU) or the KCM APIs. |
JimCarver | 0:6b753f761943 | 52 | |
JimCarver | 0:6b753f761943 | 53 | <span class="notes">**Note:** Cloud Client and Mbed Cloud do not yet support this mode.</span> |
JimCarver | 0:6b753f761943 | 54 | * A certificate signed request (CSR) that is generated on the device, can be created with the `Extended key usage` extension. |
JimCarver | 0:6b753f761943 | 55 | * A new KCM API introduced: |
JimCarver | 0:6b753f761943 | 56 | * `kcm_certificate_verify_with_private_key` - a self-generated certificate can be checked against a stored private key. |
JimCarver | 0:6b753f761943 | 57 | * Fixed the `FtcdCommBase::wait_for_message` function to receive multiple messages. |
JimCarver | 0:6b753f761943 | 58 | |
JimCarver | 0:6b753f761943 | 59 | #### Platform Adaptation Layer (PAL) |
JimCarver | 0:6b753f761943 | 60 | |
JimCarver | 0:6b753f761943 | 61 | * 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 20KB. More details in Mbed OS PR [#6963](https://github.com/ARMmbed/mbed-os/pull/6963). |
JimCarver | 0:6b753f761943 | 62 | |
JimCarver | 0:6b753f761943 | 63 | ### Release 1.3.2 (22.05.2018) |
JimCarver | 0:6b753f761943 | 64 | |
JimCarver | 0:6b753f761943 | 65 | #### Mbed Cloud Client |
JimCarver | 0:6b753f761943 | 66 | |
JimCarver | 0:6b753f761943 | 67 | * Fixed issue: Resource does not notify with content format requested in observation. |
JimCarver | 0:6b753f761943 | 68 | * New internal API: `check_config_parameter()`, returns SUCCESS if parameter exits in KCM. |
JimCarver | 0:6b753f761943 | 69 | * Do not try to store Timezone/UTC data, if there is no data. |
JimCarver | 0:6b753f761943 | 70 | * A separate CoAP response is used only for POST operation, other ones are using piggybacked responses. |
JimCarver | 0:6b753f761943 | 71 | * Send only one notification at a time. |
JimCarver | 0:6b753f761943 | 72 | * 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. |
JimCarver | 0:6b753f761943 | 73 | * Introducing Mbed Edge specific features: |
JimCarver | 0:6b753f761943 | 74 | * M2MEndpoint class for describing endpoints behind Mbed Edge device. |
JimCarver | 0:6b753f761943 | 75 | * Allow registering M2MEndpoints and M2MObjects using the registration API. |
JimCarver | 0:6b753f761943 | 76 | * Added the `endpoint_type` attribute to the registration update message. |
JimCarver | 0:6b753f761943 | 77 | * Added the `endpoint name` attribute to the registration and registration update messages. |
JimCarver | 0:6b753f761943 | 78 | * Improved Edge performance for registration update. |
JimCarver | 0:6b753f761943 | 79 | * This optimization speeds up the registration update. It monitors which endpoints have changed and updates only |
JimCarver | 0:6b753f761943 | 80 | them. |
JimCarver | 0:6b753f761943 | 81 | * The bandwitdth of the CoAP messages is reduced. Endpoint data for the unchanged endpoints is not sent in the |
JimCarver | 0:6b753f761943 | 82 | registration update. |
JimCarver | 0:6b753f761943 | 83 | |
JimCarver | 0:6b753f761943 | 84 | #### Factory configurator client |
JimCarver | 0:6b753f761943 | 85 | |
JimCarver | 0:6b753f761943 | 86 | * New APIs introduced for keys and CSR generation on the device: |
JimCarver | 0:6b753f761943 | 87 | * `kcm_key_pair_generate_and_store` |
JimCarver | 0:6b753f761943 | 88 | * `kcm_csr_generate` |
JimCarver | 0:6b753f761943 | 89 | * `kcm_generate_keys_and_csr` |
JimCarver | 0:6b753f761943 | 90 | * Chain validations added. |
JimCarver | 0:6b753f761943 | 91 | * 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. |
JimCarver | 0:6b753f761943 | 92 | * 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. |
JimCarver | 0:6b753f761943 | 93 | |
JimCarver | 0:6b753f761943 | 94 | #### Platform Adaptation Layer (PAL) |
JimCarver | 0:6b753f761943 | 95 | |
JimCarver | 0:6b753f761943 | 96 | * Linux: Converted all timers to use signal-based timer (SIGEV_SIGNAL) instead of (SIGEV_THREAD). |
JimCarver | 0:6b753f761943 | 97 | * This fixes the Valgrind warnings for possible memory leaks caused by LIBC's internal timer helper thread. |
JimCarver | 0:6b753f761943 | 98 | |
JimCarver | 0:6b753f761943 | 99 | <span class="notes">**Note**: If the client application is creating a pthread before instantiating MbedCloudClient, |
JimCarver | 0:6b753f761943 | 100 | it needs to block the PAL_TIMER_SIGNAL from it. Otherwise the thread may get an exception caused |
JimCarver | 0:6b753f761943 | 101 | by the default signal handler with a message such as "Process terminating with default action |
JimCarver | 0:6b753f761943 | 102 | 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> |
JimCarver | 0:6b753f761943 | 103 | * 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. |
JimCarver | 0:6b753f761943 | 104 | * Fixed a hard fault issue that occurred when calling `pal_ECKeyGenerateKey`. |
JimCarver | 0:6b753f761943 | 105 | * Return PAL_ERR_BUFFER_TOO_SMALL if the output buffer is too small for write in `pal_writePrivateKeyToDer`, `pal_writePublicKeyToDer` and `pal_x509CSRWriteDER APIs`. |
JimCarver | 0:6b753f761943 | 106 | * Fixed the missing handling for initialization failure of SOTP. |
JimCarver | 0:6b753f761943 | 107 | * New API `pal_x509CertGetHTBS`: Calculate the hash of the _To Be Signed_ part of an X509 certificate. |
JimCarver | 0:6b753f761943 | 108 | |
JimCarver | 0:6b753f761943 | 109 | #### Mbed Cloud Update |
JimCarver | 0:6b753f761943 | 110 | |
JimCarver | 0:6b753f761943 | 111 | * Improvements to the scheduler to ensure that events are not lost. The scheduler now uses a pool allocation mechanism and queue element locks. |
JimCarver | 0:6b753f761943 | 112 | * Implemented an API to get the active firmware details. |
JimCarver | 0:6b753f761943 | 113 | * A rollback protection error will now be reported as "Firmware update failed" (8) when MCCP=1. |
JimCarver | 0:6b753f761943 | 114 | * An error is issued when the firmware payload exceeds the maximum storage-size limit. |
JimCarver | 0:6b753f761943 | 115 | * Mbed Cloud Update now uses a constant time binary compare function. |
JimCarver | 0:6b753f761943 | 116 | * Fixed a build error for Cortex-A9 target when retrieving the current interrupt enabled state. |
JimCarver | 0:6b753f761943 | 117 | |
JimCarver | 0:6b753f761943 | 118 | ### Release 1.3.1.1 (27.04.2018) |
JimCarver | 0:6b753f761943 | 119 | |
JimCarver | 0:6b753f761943 | 120 | #### Mbed Cloud Client |
JimCarver | 0:6b753f761943 | 121 | |
JimCarver | 0:6b753f761943 | 122 | * 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. |
JimCarver | 0:6b753f761943 | 123 | |
JimCarver | 0:6b753f761943 | 124 | #### Mbed Cloud Update |
JimCarver | 0:6b753f761943 | 125 | |
JimCarver | 0:6b753f761943 | 126 | * In Linux builds, Update related callbacks are now called in the context of the Update thread. Previously, it was |
JimCarver | 0:6b753f761943 | 127 | possible to call some of these callbacks in a different thread. |
JimCarver | 0:6b753f761943 | 128 | * In Linux builds, if tracing is enabled, the update scheduler will display an error if a callback can't |
JimCarver | 0:6b753f761943 | 129 | be added to the scheduler queue. |
JimCarver | 0:6b753f761943 | 130 | |
JimCarver | 0:6b753f761943 | 131 | #### Platform Adaptation Layer (PAL) |
JimCarver | 0:6b753f761943 | 132 | |
JimCarver | 0:6b753f761943 | 133 | * Linux: Replaced `fflush(NULL)` with `sync()` in `pal_osReboot` which was causing deadlock in Raspberry Pi3. |
JimCarver | 0:6b753f761943 | 134 | |
JimCarver | 0:6b753f761943 | 135 | ### Release 1.3.1 (19.04.2018) |
JimCarver | 0:6b753f761943 | 136 | |
JimCarver | 0:6b753f761943 | 137 | #### Mbed Cloud Client |
JimCarver | 0:6b753f761943 | 138 | |
JimCarver | 0:6b753f761943 | 139 | * Improve tracing of CoAP packages. |
JimCarver | 0:6b753f761943 | 140 | * Added an API to enable sending of the resource value as a part of the registration message. |
JimCarver | 0:6b753f761943 | 141 | * Only the following value types are allowed: |
JimCarver | 0:6b753f761943 | 142 | * STRING |
JimCarver | 0:6b753f761943 | 143 | * INTEGER |
JimCarver | 0:6b753f761943 | 144 | * FLOAT |
JimCarver | 0:6b753f761943 | 145 | * BOOLEAN |
JimCarver | 0:6b753f761943 | 146 | * A fix for sending an empty ACK with blockwise messages. |
JimCarver | 0:6b753f761943 | 147 | * Replaced TCP_KEEPALIVE with CoAP PING. |
JimCarver | 0:6b753f761943 | 148 | * Fixed the possible overflow in bootstrap errors. |
JimCarver | 0:6b753f761943 | 149 | * Now, a token is used to verify BS, register, update register and unregister responses. |
JimCarver | 0:6b753f761943 | 150 | * A fix for sending empty CoAP requests. |
JimCarver | 0:6b753f761943 | 151 | * A fix for the internal timer. |
JimCarver | 0:6b753f761943 | 152 | * PAL is used for asyncronous handling of DNS. |
JimCarver | 0:6b753f761943 | 153 | |
JimCarver | 0:6b753f761943 | 154 | #### Mbed Cloud Update |
JimCarver | 0:6b753f761943 | 155 | |
JimCarver | 0:6b753f761943 | 156 | Using PAL for asyncronous handling of DNS enables firmware update with mesh. |
JimCarver | 0:6b753f761943 | 157 | |
JimCarver | 0:6b753f761943 | 158 | #### Platform Adaptation Layer (PAL) |
JimCarver | 0:6b753f761943 | 159 | |
JimCarver | 0:6b753f761943 | 160 | * A fix to crash when enabling mbed-tls traces. |
JimCarver | 0:6b753f761943 | 161 | * Removed the thread-priority requirement. |
JimCarver | 0:6b753f761943 | 162 | * Fixed the compatibility issues with Mbed OS 5.8/5.9. |
JimCarver | 0:6b753f761943 | 163 | |
JimCarver | 0:6b753f761943 | 164 | ### Release 1.3.0 (27.3.2018) |
JimCarver | 0:6b753f761943 | 165 | * Initial public release. |