Skip to content

Releases: Azure/azure-iot-sdk-c

LTS_08_2024

12 Aug 22:32
Compare
Choose a tag to compare

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

vcpkg:

C Device SDK:

  • Code version: 1.13.0
  • Update uamqp to consume fix for possible double-free in link.c/link_transfer_async
  • Fixed safemath header conflict when cross compiling
  • Fixed file upload openssl options with x509 authentication
  • Update uamqp to get link credit reset fixes
  • Fixed possible UAF in readApplicationPropertiesFromuAMQPMessage (AMQP transport)
  • Added guard against crash in amqp messenger/mq
  • Delayed republish on MQTT reconnect
  • Added guard to avoid double-free in amqp messaging module
  • Fixed link list delete in remove_timed_out_events (Telemetry over AMQP transport)
  • Added %s NULL check to logging statements
  • Float upload to blob errors in convenience layer (gh issue #2569)

uAMQP:

  • Avoid double-free if session_send_transfer fails and internally destroys the async operation (in link_transfer_async)
  • Fixed safemath SIZE_MAX header conflict when cross compiling
  • Reset link credit on last transfer legally received
  • Fixed possible double free during decoding in amqpvalue
  • Fixed argument being freed in message_set_body_amqp_value

C Shared Utility:

  • Indicate error in tlsio schannel if list operation fails
  • Fix memory leak in tlsio_schannel (update first_pending_io properly in loop)
  • Handle max WebSocket packet size (uws_client.c)
  • Set freed pointers as NULL in several modules

LTS_03_2024_Ref02

26 Jun 18:26
3d2e0fb
Compare
Choose a tag to compare

Refresh for 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:

C Device SDK:

  • Code version: 1.12.1
  • Fixed upload to blob error capturing and callback in convenience layer
  • Fixed link list delete in remove_timed_out_events (telemetry/AMQP)
  • Avoid double-free in amqp messaging module (#2599)
  • Fix possible UAF in readApplicationPropertiesFromuAMQPMessage (telemetry/AMQP) (#2618)

C-Utility

uAMQP:

LTS_03_2024

20 Jun 17:41
Compare
Choose a tag to compare

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

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

07 Aug 22:56
97fef57
Compare
Choose a tag to compare

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

20 Apr 21:58
fb03e38
Compare
Choose a tag to compare

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

19 Jan 18:35
eaeb156
Compare
Choose a tag to compare

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

22 Sep 23:56
3fd808b
Compare
Choose a tag to compare

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

09 Aug 18:40
66d2752
Compare
Choose a tag to compare

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

22 Jan 02:02
5805fb6
Compare
Choose a tag to compare

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

09 Sep 20:15
808a559
Compare
Choose a tag to compare

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)