Azure Iot Sdk C Versions Save

A C99 SDK for connecting devices to Microsoft Azure IoT services

LTS_03_2024

1 month ago

Long-term support (LTS) release for Azure IoT C SDK, published on 2024-03-04. For details about LTS branches, please see our documentation.

vcpkg:

  • Port: azure-iot-sdk-c
  • Version: 2024-03-04 (pending)

C Device SDK:

  • Code version: 1.12.0
  • Added memory checks for C SDK (#2583)
  • Update DPS API version to 2021-06-01 (#2584)
  • Update malloc checks on submodules (#2573)
  • Add malloc size checks (#2568)
  • Fix potential size_t overflow in twin serializer (#2567)
  • Fix potential Int wraparound in CopyPayloadToString (#2565)
  • Update uamqp (get double-free fixes) (#2563)
  • Fix IoTHubClient_LL_UploadToBlob_NotifyCompletion to use empty string when responseMessage is NULL (gh2554) (#2555)
  • Add extern "C" to iothub_client_properties.h (#2548)
  • Document that azure-iot-sdk-c does not currently support HTTPS proxy, only HTTP (#2546)
  • Updated doxygen for Retry Policy (#2542)
  • xcode fix prototype warnings (#2527)
  • Fix DUP flag in re-sent telemetry over MQTT protocol (#2519)

uAMQP:

  • Fix potential null pointer dereference (#455)
  • Fix potential double free in link.c (#456)
  • Added AMQP malloc checks (#453)
  • Use safe math in message.c (#452)
  • Check for minimum size of amqpvalue_get_encoded_size in sasl_frame_codec_encode_frame (#450)
  • Fix double-free throughout amqp_definitions (#447)
  • Added int overflow checks for amqp value (#446)

uMQTT:

  • Added missing malloc checks (#164)

uHTTP:

  • Added missing malloc checks (#132)

uTPM:

  • Added missing malloc checks (#129)

LTS_08_2023

8 months ago

Long-term support (LTS) release for Azure IoT C SDK, published on 2023-08-07.
For details about LTS branches, please see our documentation.

vcpkg

  • Port: azure-iot-sdk-c
  • Version: 2023-08-07

C Device SDK

  • Code version: 1.11.0
  • Remove support for TizenRT board #2431
  • Fix propagation of file upload timeout to multi blocks upload #2439
  • Fix duplicate include guard in AMQP common files #2467
  • Fix AMQP transport to break infinite loop of link re-attachments #2472
  • Update upload to blob sample to use MQTT #2482
  • DPS-TPM deprecation #2484
  • Remove curl dependency from iot_hub_client_sample_mqtt_dm sample #2485
  • Fix data type of error code for upload to blob error responses #2490
  • Change message_queue indexing from pointer to uint32_t to fix memory corruption #2497
  • New API: Add more granular upload-to-blob functions, refactor u2b code #2498

C Shared Utility

  • Remove files and support related to MBED OS #609
  • Adding IPv6 Dual Stack support for Linux #623
  • Remove check for return value of strcpy #625
  • Fix UUIT_T overflow #626
  • Allow openssl engine support to be optional #628
  • Library fix when http is OFF #629
  • Local socket bug fix post IPv6 addition on Linux #630)

uMQTT Library

  • Remove files and support related to MBED OS #145

uAMQP Library

  • Remove files and support related to MBED OS #428

uTPM Library

  • DPS-TPM deprecation announcement #117

LTS_01_2023_Ref02

1 year ago

vcpkg: Port: azure-iot-sdk-c Status: Pending

Long-term support (LTS) for Azure IoT C SDK, published on 2023-04-20. For details about LTS branches, please see our documentation.

C Device SDK

  • Code version: 1.10.1
  • Fix for infinite re-ATTACH bug (#1f4fd95b2fabee500244d51d7b99663ac6e36a20)

LTS_01_2023_Ref01

1 year ago

vcpkg: Port: azure-iot-sdk-c Version: 2023-01-18

Long-term support (LTS) for Azure IoT C SDK, published on 2023-01-19. For details about LTS branches, please see our documentation.

C Device SDK

  • Code version: 1.10.0
  • Add deprecation warning to cocoapods (#2409)
  • Support openssl engine when using curl library (#2400)
  • Allow empty file blob uploads (#2393)
  • Added docker sample for ARM cross compile and latest MIPS32 toolchain (#2366)
  • Use tick counter and not clock for connection retry (#2384)

C Shared Utility

  • Adding support for OpenSSL engines when using curl (#602)
  • Add HTTP transport (cURL) support for OpenSSL Engines (#2372)

LTS_07_2022_Ref02

1 year ago

vcpkg: Port: azure-iot-sdk-c Version: 2022-09-15

Long-term support (LTS) release for Azure IoT C SDK, published on 2022-09-22. For details about LTS branches, please see our documentation.

C Device SDK

  • Code version: 1.9.1
  • Added gate check on Ubuntu 22.04 to be able to test OpenSSL 3 (#2346)

C Shared Utility

  • Added OpenSSL 3 and Ubuntu 22.04 compatibility (#604)

LTS_07_2022_Ref01

1 year ago

Long-term support (LTS) release 07_2022 for Azure IoT C SDK, published on 2022-08-09. For details about LTS branches, please see our documentation.

Version updates:

  • Parson to v1.3.1
  • RIoT:
    • Update bouncycastle dependency (#2202 and #2197)

C Device SDK

  • Code version: 1.9.0
  • Update CMake Linux samples to remove warnings (#2212)
  • Add macros includes to the build include directories (#2218)
  • Added documentation on device application CMAKE (#2224)
  • Adding X509 PEM support for Provisioning Client (#2229)
  • Remove SAS token validation in the SDK (#2256)
  • Added subscription_error_count reset / AMQP IOTHUB_CLIENT_CONNECTION (#2267)
  • MQTT reconnect order fix (#2289)
  • MQTT double free (#2311)
  • The get twin callback is now called on a get twin operation if the client handle destroy is called before the get twin operation is completed. (#2321)
  • Change tickcounter cast to portable type (#2327)
  • Add MQTT reconnect timeout (#2319)
  • Merge PnP feature into main (#2334)

C Shared Utility

  • Remove failure on wrong TLS match with cURL (#597)
  • Check cURL TLS platform is valid and matches CSDK TLS platform (validates that cURL is using a valid TLS platform that the CSDK supports(wolfSSL, OpenSSL, or mbedTLS) to prevent potential memory leaks) (#595)
  • Fix for memory leak in http-proxy-io (#592)
  • Handle ENOBUFS correctly in socketio_berkeley (#590)
  • Adapters: fix build with libressl >= 2.8.0 (#589)
  • Update console logger (#587)
  • Fixing functions for strict-prototypes. (#586)
  • Update Node version on gate from 6=>16 (#579)

uTPM Library

  • Fixing functions for strict-prototypes (#100)

uMQTT Library

  • Reset time on ping since reconnection (#139)

LTS_01_2022_Ref01

2 years ago

vcpkg: Port: azure-iot-sdk-c Version: 2022-01-21

Long-term support (LTS) release for Azure IoT C SDK, published on 2022-01-21. For details about LTS branches, please see our documentation.

C Device SDK

  • Code version: 1.8.0
  • Rename master branch to main (#2165)
  • Fix send_error_count not being reset by amqp_messenger_stop (#2120)
  • Fix upload to blob (#2112, #2057)
  • Pass empty JSON in method callback when null payload received from service (#2097)
  • Send COMMUNICATION_ERROR for failed PUBACK DC messages (#2078)
  • Added additional SDL validation.

c-shared-utility

  • Fix crash when proxy configuration is invalid (#567)

umqtt-c

  • Fixes to chain of async_operation_cancel calls (#416)
  • Fix sending MQTT PING requests (#129)

LTS_07_2021_Ref01

2 years ago

Package versions:

Apt/Debian: (No longer supported)

vcpkg: Port: azure-iot-sdk-c Version: 2021-09-09

Long-term support (LTS) release 07_2021 of Azure IoT C SDK, published on 08/11/2021. For details about LTS branches, please see our documentation.

C Device SDK

  • Code version: 1.7.0
  • Updated certificate support and information (#2025, #1979, #1971, #1856, #1832)
  • Removed support for binary releases, including APT and NuGet (#1933)
  • Added support to send async responses for C2D messages (#1994)
  • Added support for file upload network interface (#1884)
  • Added reconnect for AMQP when CONNECTION_STATE_CLOSE_RCVD (#1960)
  • Updated Edge input message MQTT topic subscription from QoS 0 to 1. (#1876)
  • Increased blob upload size (#2014)
  • Fixed upload long Blob using mbed TLS + compact (#2004)
  • Fixed proxy port for provisioning client with AMQP-WS (#2002)
  • Fixed certGen.sh (#1864, #1862)
  • Rewrote MQTT PUBLISH topic parser for C2D / IoT Edge parsing (#1756)
  • Updated builds (#2015, #1948, #1846)
  • Updated CMake to 3.17.5 (#1847, #1941)
  • Updated Raspberry Pi requirements (#2013)
  • Updated TLS requirements (#1926)

c-shared-utility

  • Added support for OpenSSL IP Address SAN validation (#522)
  • Added support of TLS renegotiation options (#521)
  • Added support to compile uuid for Azure Sphere (#519)
  • Added support for file upload network interface (#516)
  • Fixed upload long Blob using mbed TLS + compact (#541)
  • Fixed proxy with wolfSSL and MQTT/WS (#504)
  • Fixed segfault when using wolfSSL and MQTT/WS (#496)
  • Fixed build break for gcc11 (#552)

umqtt-c

  • Added support for async PUBACK (#120)

uamqp-c

  • Updated amqp_management and cbs to return async_operation_handles (#387)
  • Fixed flow control to be based off message instead of transfer frame (#383)

LTS_01_2021_Ref01

3 years ago

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

  • Fixed setDeviceId retry bug in wolfSSL (PR #500)
  • Updated unused parameter (PR #481)
  • Suppressed SIGPIPE error during debugging (PR #479)
  • Addressed Y2K38 issue for SAS tokens (PR #494)
  • Fixed errno.h inclusion (PR #485)
  • Added OpenSSL engine support (PR #492)

LTS_07_2020_Ref02

3 years ago

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.

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)