Releases: Azure/azure-iot-sdk-c
LTS_01_2021_Ref01
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-31xenial
azure-iot-sdk-c - 0.2.0.0-24bionic
VcPkg:
Port: azure-iot-sdk-c
Version: unreleased
Long-term support (LTS) release of Azure IoT C SDK, published on 01/2021.
For details about LTS branches, please see our documentation.
C Device SDK
- Code version: 1.6.0
- Updated string buffer size in unit test (PR #1825)
- Addressed Y2K38 issue for SAS tokens (PR #1807)
- Added OpenSSL engine support (PR #1798)
- Added fix for device multiplexing in AMQP transport (#1797)
- Added retry to device when SAS refreshes (#1794)
- Fixed Return value ignored: 'snprintf' (#1780)
C Shared Utility
LTS_07_2020_Ref02
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-29xenial
azure-iot-sdk-c - 0.2.0.0-22bionic
This release contains a security fix affecting applications using c-utility in conjunction with OpenSSL or WolfSSL.
- TLS hostname validation fix for OpenSSL and WolfSSL. CVE-2020-17002
Additional fixes:
C Device SDK
- Code version: 1.4.1
- Fix for memory leak in _GetTwinAsync (gh issue #1478)
- Fix for memory leak if destroying device client right after sending Twin reported property update
- Fix sending get twin requests only after the response topic suback is received (#1585)
- Fix Heap Buffer Overflow when sending message with Property (#1618)
- Fix for lack of throttling on registration request of DPS client
- Fix mqtt disconnect bug (#1696)
C Shared Utility
- [mbedtls] Adding support to send larger payload (#421)
- [tlsio_mbedtls] Fix memory leak (#422, #475)
- Fixing socket state when DNS resolution failed. (#437)
- Fix potential buffer overflow in crypto library
- Fix retry bug in tlsio_wolfssl
- Add check for overflow for BUFFER_prepend (#467)
- Sdl bug fix (#465)
- Fix for using correct wolfssl api in httpapi (#471)
- Add ecc support in httpapi_compact
- Fix for #1624 iOS 14 send temeletry fix (#477)
LTS_02_2020_Ref02
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-28xenial
azure-iot-sdk-c - 0.2.0.0-21bionic
This release contains a security fix affecting applications using c-utility in conjunction with OpenSSL or WolfSSL.
- TLS hostname validation fix for OpenSSL and WolfSSL. CVE-2020-17002
Additional fixes:
C Device SDK
- Code version: 1.3.10
- Fix for memory leak in _GetTwinAsync (gh issue #1478)
- Fix for memory leak if destroying device client right after sending Twin reported property update
- Fix sending get twin requests only after the response topic suback is received (#1585)
- Fix Heap Buffer Overflow when sending message with Property (#1618)
- Fix for lack of throttling on registration request of DPS client
- Fix mqtt disconnect bug (#1696)
C Shared Utility
- [mbedtls] Adding support to send larger payload (#421)
- [tlsio_mbedtls] Fix memory leak (#422, #475)
- Fixing socket state when DNS resolution failed. (#437)
- Fix potential buffer overflow in crypto library
- Fix retry bug in tlsio_wolfssl
- Add check for overflow for BUFFER_prepend (#467)
- Sdl bug fix (#465)
- Fix for using correct wolfssl api in httpapi (#471)
- Add ecc support in httpapi_compact
- Fix for #1624 iOS 14 send temeletry fix (#477)
2020-12-09
This release contains a security fix affecting applications using c-utility in conjunction with OpenSSL or WolfSSL.
- TLS hostname validation fix for OpenSSL and WolfSSL. CVE-2020-17002
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-23bionic
azure-iot-sdk-c - 0.2.0.0-30xenial
VcPkg:
Port: azure-iot-sdk-c
Version: 2020-12-09
Arduino:
IN PROGRESS
C Device SDK
- Code version: 1.5.0
- Removed ESP8266 sample
- Added references for Embedded C SDK
- Fixed lack of throttling on registration request of DPS client.
- Turn on mqtt encode/decode option by default
- Updated cross-compilation docs for Raspberry Pi 4 (gh #1093)
- Added support for intermediate cert chains DPS X.509 flow
- Exposed CreationTimeUtc for D2C message (#1568)
- Included module E2E tests, both for x509 and also basic telemetry
- Refactored and fixed bugs in MQTT common code
- Fixed issue #1255: Disconnect without connection status callback called
- Small fixes in code for stricter compiler options
- Fixed samples vcproj files to load from correct vcpkg path
- Updated cert gen script to exit on failure
- Fixed mqtt transport disconnect bug
- Fix issue #1698 and refactor multiblock blob upload code
- Expanded sendHttpRequestMethod in iothub_client_edge.c to succeed on any 2xx response (#1231)
- Fixed IoTHubMessage_SetProperty to discern out of memory issues (#1290)
- Fixed Heap Buffer Overflow when sending message with Property (#1618)
- Updated PnP preview string to 2020-09-30
- Fixed min/max reporting for PnP samples
- Added additional e2e tests for modules
- Removed support for gcc 4.4 and gcc 4.6
- Added general updates and fixes to documentation
C Shared Utility
- Fixed OpenSSL and WolfSSL hostname validation. Removing ESP adapters. (PR #488)
- Added check for kCFStreamStatusError on macos tlsio (PR #486)
- Fixed for github issue #1624 iOS 14 send temeletry fix (PR #477)
- Added ecc support in httpapi_compact
- Fixed memory leak in tlsio mbedtls (PR #475)
- Use correct wolfssl api in httpapi
- Fixed wolfssl re-connection issue
- Fixed retry bug in tlsio_wolfssl
- Added check for overflow for BUFFER_prepend
- Fixed bug in FormatMessage usage in tls layer
- Removed support for gcc 4.4 and gcc 4.6
- SDL bug fixes
C AMQP Library
- Fixed potential double free of link endpoint by link.c
- Removed support for gcc 4.4 and gcc 4.6
C MQTT Library
- Added function for cleaning xio handle (for upper layer reconnection control)
- Removed support for gcc 4.4 and gcc 4.6
LTS_07_2020_Ref01
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-27xenial
azure-iot-sdk-c - 0.2.0.0-20bionic
azure-iot-sdk-c - 0.2.0-27trusty
VcPkg:
Port: azure-iot-sdk-c
Version: 2020-07-19
C SDK code version: 1.3.9
Long-term support (LTS) release of Azure IoT C SDK, published on 07/2020.
For details about LTS branches, please see our documentation.
2020-07-19
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-27xenial
azure-iot-sdk-c - 0.2.0.0-20bionic
azure-iot-sdk-c - 0.2.0-27trusty
VcPkg:
Port: azure-iot-sdk-c
Version: 2020-07-19
Arduino:
azure-iot-arduino v1.3.9
azure-iot-arduino-protocol-mqtt v1.3.9
azure-iot-arduino-protocol-http v1.3.9
azure-iot-arduino-utility v1.3.9
C Device SDK
- Code version: 1.3.9
- Fixed potential NULL pointer dereferences
- Updated MXChip build scripts
- Update build scripts for new ESP sample
- Fixed provisioning client retry after DNS failure
- Added a maximum delay cap between re-connection attempts for iothub_client (retry policy)
- Fixed possible buffer & arithmetic overflows
- Fixed wrong include in prov_dev_client_sample & prov_dev_client_ll_sample
- Fixed memory leak in iothub_ll_get_device_twin_async_callback not properly freeing queue_context
- Fixed leaf cert extension when generating with openSSL
- Reordered enum in iothub_client_core_common.h for backwards compatibility
- Minor documentation updates
- Add ModelID parameter to IoTHub Client (MQTT only)
- Added/improved PnP Samples
- Fixed for memory leak if destroying device client right after sending Twin reported property update
- Fixed MQTT transport to send pending Get Twin requests only after the SUBACK is received (#1585)
C Shared Utility
- Updated tickcounter_get_current_ms to return correct time ticks
- Updated HTTPAPI_SetOption return value to enum
- Updated tlsio options from BIT_NONE to BIT_TRUSTED_CERTS in tlsio_appleios.c
- Fixed socket state when DNS resolution failed
- Fixed various security bugs
- Updated Raspberry Pi build scripts for new docker containers
- Added proper handling of options retrieval in Http Proxy IO
- Updated tlsio_openssl to send SNI on client hello
C AMQP Library
- Fixed FLOW propagation for when endpoint links are detaching
- Fixed security issue where allocated bytes were not zeroed out
LTS_02_2020_Ref01
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-26xenial
azure-iot-sdk-c - 0.2.0.0-19bionic
azure-iot-sdk-c - 0.2.0-26trusty
VcPkg:
Port: azure-iot-sdk-c
Version: 2020-02-04.1
C SDK code version: 1.3.8
Long-term support (LTS) release of Azure IoT C SDK, published on 02/2020.
For details about LTS branches, please see our documentation.
2020-01-22
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-25xenial
azure-iot-sdk-c - 0.2.0.0-18bionic
azure-iot-sdk-c - 0.2.0-25trusty
VcPkg:
Port: azure-iot-sdk-c
Version: 2020-01-22
C Device SDK
- Code version: 1.3.8
- Add missing include in azure_prov_client/prov_transport.h
- Added documentation on how to use the SDK with the latest version of TLS only and specific cyphers
- Added documentation explaining usage of low-layer (LL) vs convenience layers (threading_notes.md)
- Marked iothub_client.h as deprecated (please use iothub_device_client.h instead)
- Improved coverage of Arduino on gated builds
- Updated setup_arduino_libraries.sh to clone azure-iot-pal-arduino from correct branch
- Fixed sample dockerfile in cross-compilation documentation (Docker_SDK_Cross_Compile.md)
- Fixed documentation issues.
2019-12-11
Package versions:
Apt/Debian:
azure-iot-sdk-c - 0.2.0.0-24xenial
azure-iot-sdk-c - 0.2.0.0-17bionic
azure-iot-sdk-c - 0.2.0-24trusty
VcPkg:
Port: azure-iot-sdk-c
Version: 2019-12-11 (pending merge)
C Device SDK
- Code version: 1.3.7
- Added fixes needed to support releasing new cocoapods packages
- Fixed *_GetSendStatus in AMQP transport (github issue #1039)
- Fixed correlation id in body for upload to blob (github issue #1310)
- Added fix to include corresponding provisioning tools according to build options.
- Added documentation for how to configure XIO read buffer size.
- Updated references in documentation from Device Explorer (deprecated) to Azure IoT Explorer.
C Shared Utility
- Added support for sending larger payload when using mbedtls
- Added control to force-close when tlsio_mbed is in Error state
- Fixed SEGFAULT errors introduced by dns_resolver in socketio
- Added capability to print executable file name with ETW logging
- Added socket_async_os.h to ios pal layer
- Fixed OptionHandler_AddOption result check in tlsio_wolfssl.c, use MU_DEFINE_ENUM_WITHOUT_INVALID in OptionHandler
LTS_07_2019_Ref01
This release is a refresh of the latest LTS branch (lts_07_2019) with select security fixes.
Package versions:
Apt/Debian:
Not released
VcPkg:
Port: azure-iot-sdk-c
Version: 2019-07-01-LTS-1
C Device SDK
- Always delete xio in MQTT cleanup (Port of 4ac2326)
- Fix segfault in the function message_queue_move_all_back_to_pending at message_sender.c and add UT for it. (port of 4ac2326)
- Mqtt twin timeout cleanup (#1234) (port of eec5e3a)
C Shared Utility
- Fix critical socketio_win32 bug where socketio_send() will drop packets if send() returns SOCKET_ERROR and WSAEWOULDBLOCK (port of Azure/azure-c-shared-utility@72289bb)
- Fix critical socketio_berkeley bug where socketio_send() will drop packets if send() returns -1 and errno=EAGAIN (port of Azure/azure-c-shared-utility@83f5ca9, Azure/azure-c-shared-utility@bac62b9, Azure/azure-c-shared-utility@c87c4a3)