Releases: Azure/azure-iot-sdk-c
LTS_08_2024
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:
- Port: azure-iot-sdk-c
- Version: 2024-08-12
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
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:
- Port: azure-iot-sdk-c
- Version: 2024-06-24
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
- Indicate error in tlsio schannel if list operation fails
- Update first_pending_io, schannel fix (Azure/azure-c-shared-utility#663)
uAMQP:
- Fixed argument being freed in message_set_body_amqp_value (Azure/azure-uamqp-c#460)
- Fixed possible double free during decoding in amqpvalue (Azure/azure-uamqp-c#463)
- Reset link credit on last transfer legally received (Azure/azure-uamqp-c#465)
LTS_03_2024
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
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
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
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
LTS_07_2022_Ref02
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
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:
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
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
LTS_07_2021_Ref01
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)