Device Management Client 4.9.0
Known issues
- [Zephyr] Asynchronous DNS does not work well. The device fails to reconnect to the cloud if some of the pods are restarted. In such a scenario, the device needs to be restarted. To address this issue, the default DNS settings should be overridden to synchronous DNS in the application level by setting the DNS API selection to POSIX in the application's configuration settings.
Device Management Client
- Fixed a race condition in the handling of message status callback (particularly the handling of
MESSAGE_STATUS_SENT
). Previously, it was getting reported just before the operation had finished successfully. - Added support for TLV to single resource.
- PUT to a resource 1/0/1 now triggers a registration update.
- POST to a resource 1/0/4 now triggers a deregister process.
- Removed deprecated STL APIs. These APIs and classes were removed:
SimpleM2MResource*
.MbedCloudClient::set_device_resource_value(M2MDevice::DeviceResource resource, const std::string &value)
.MbedCloudClient::register_update_callback(string route, SimpleM2MResourceBase* resource)
.
- Added new API
MbedCloudClient::alert()
to send high-priority messages.- In alert mode, Device Management Client halts all data sendings/active operations and waits for priority data to be sent.
- Added new status callback API
MbedCloudClient::on_status_changed()
, which replaces these callback APIs:MbedCloudClient::on_registered()
.MbedCloudClient::on_unregistered()
.MbedCloudClient::on_registration_updated()
.- The old APIs are deprecated and will be removed in a future release.
- Added option to reduce traffic in bootstrap flow:
MBED_CONF_MBED_CLIENT_BOOTSTRAP_PIGGYBACKED_RESPONSE
flag added to control whether delay or piggybacked response is used. By default, piggybacked response type is used.- Piggybacked response can be disabled by setting
mbed-client.bootstrap-piggybacked-response" : 0
inmbed_app.json
.
- Fixed register and register update content type to
COAP_CT_LINK_FORMAT
(Core Link Format). - Fixed a memory leak when
setup()
andclose()
were called multiple times in row.
Device Management Update client
- Removed the
need_reboot = false
option in thefota_component_add()
API. When registering a component, theneed_reboot
option must always betrue
. - Fixed storage erase calculations for boards with a non-uniform sector map.
- Fixed the FOTA defer download behavior. Device registration update won't cause the client to resume FOTA download after the application calls the
fota_app_defer()
API.
Platform Adaptation Layer (PAL)
- Added new PAL_DNS_API_VERSION 3. It's an asynchronous DNS API that can return multiple DNS results.
- This feature is currently implemented only for the Linux platform and is disabled by default. You can enable it by defining
PAL_DNS_API_VERSION=3
. In future releases, this feature will be enabled by default for Linux.
- This feature is currently implemented only for the Linux platform and is disabled by default. You can enable it by defining
Release notes can be found from:
https://cloud.mbed.com/docs/current/release-notes/device-management-client.html