azure-iot-sdk-c

A C99 SDK for connecting devices to Microsoft Azure IoT services

OTHER License

Stars
587
Committers
162

Bot releases are hidden (Show)

azure-iot-sdk-c - 2018-03-02

Published by jebrando over 6 years ago

Versions

Nuget: 1.2.0

C Device SDK

  • Added Provisioning Service Client CRUD operations
  • Add script to run long-haul tests on Windows for windows mqtt
  • Update XCode support for Apple builds
  • Rework Provisioning registration id to be able to be set from set option

Shared Utility

  • Add options for httpapi_winhttp
  • Use cmake XCode generator for Mac builds
azure-iot-sdk-c - 2018-02-09

Published by cartertinney over 6 years ago

Versions

Nuget: 1.1.33
Apt-get Xenial: 0.1.0.0-35xenial
Apt-get Trusty: 0.1.0-37trusty

C Device SDK

  • Extra checking for existing CA certificates
  • Added iothub C2D sample

Bug Fixes

  • Fixed connection status callback in MQTT transport not handling Service Unavailable
  • Fixed a recoverable error in MQTT
  • Reintroduced the deprecated OPTION_C2D_KEEP_ALIVE_FREQ_SECS to undo a breaking change

Documentation

  • Fixed typos and clarified production readiness in iothub_client_sample_mqtt_dm docs
  • Cleaned up CA certificate docs
  • DPS SDK info added to readme
  • Inline documentation added to devicetwin_simplesample

Build tools

  • Increased number of test cores for Linux and Windows

Shared Utility

  • Fixed WolfSSL segfault upon failure
  • Fixed Linux release build errors
  • Fixed "no_logging" flag build break
  • Improved MBED build

uAMQP

  • Updated AMQP management module to use statusCode and statusDescription by default
  • Bubble up message received as an AMQP management reply
azure-iot-sdk-c - 2018-01-29

Published by ewertons over 6 years ago

C Device SDK

  • Add e2e tests and samples to iothub client solution
  • Free UploadToBlob MultiBlock thread handle; re-factor existing code to use same paths
  • Add abortable callback to UploadToBlob APIs

Bug Fixes

  • Fix Subject Alternative Name in generated certificates (tools/CACertificates)
  • Remove non-ascii chars from iothubtransporthttp.c
  • Fix memory leak in iothubclient unit tests
  • Fix WinCE build failure
  • Enable remaining MQTT Web Sockets sfc tests
  • Add fixes for provisioning client installation
  • Fix bug preventing CURL verbose to be set with SetOption

Documentation

  • Update DPS Matrix
  • Fix mis-formatting in devdoc/iothubclient_c_library.md
  • Remove "/en-us" segments in readme.md URLs

Shared Utility

  • Fix WolfSSL TLS I/O segfault
  • Remove hard-dependency between curl and openssl
  • Provide required on_send_complete callback to TLS layer implementation of xio_send

uHTTP

  • Fix installation directives CMakeLists.txt

uTPM

  • Add installation directives to CMakeLists.txt

uAMQP

  • Provide required on_send_complete callback to TLS layer implementation of xio_send
azure-iot-sdk-c - release_2018-01-12

Published by jspaith almost 7 years ago

C Device SDK

  • Enabling the mqtt fault injection tests
  • Make AMQP device side ping user configurable
  • Add sample iothub_client_sample_upload_to_blob_multi_block

Bug Fixes

  • fixed a bug in wolfSSL where the values need to be initialized before a call to open
  • Update the svc fault tests to ensuring they don't produce false positives
  • Additional log messages and remove 'service_wait_for_d2c_event_arrival' in sfc test
  • Fix missing SET_TRUSTED_CERT_IN_SAMPLES handling", 2017-12-15

Documentation

  • Update DPS Matrix

Shared Utility

  • Specify immediate send attempt during send_async
  • Change the raspberry pi script name
  • Made change to facilitate smaller memory footprint in the iothub sdk
  • Fixed vs2008 error in the build
  • Add Product Id to get platform info
  • Fix for tlsio_openssl memleak occuring in network reconnections
  • Set up recv for zero bytes which indicates socket disconnect
  • add no_logging option to disable output from xlogging

uMQTT

  • CMakeLists.txt: add symlinks to dynamic lib builds
  • adding script to build two new platforms
azure-iot-sdk-c - release_2017-12-14

Published by zolvarga almost 7 years ago

C Device SDK (version 1.1.29)

  • Use latest parson library
  • Add Connection String option in SDK
  • Expose TPM build parameter for build scripts

Bug Fixes

  • AMQP E2E fault injection tests are enabled and stabilized in the Gate (MQTT will follow)
  • Add connection fixes for the sdk
  • Fix enum type comparison
  • Fix Connection Status Callback on AMQP transport
  • Fix win64 & wince issues
  • Fix function signatures
  • Use correct function & set thread return code
  • Remove obsolete ARDUINO ifdefs
  • Fix bugs in the registration of devices

Documentation

  • Update readme with feature matrix for DPS
  • Updated version in the sdk for the service requirements
  • Add Documentation for samples in the devbox_setup.md

Shared Utility

  • Add freertos lock adapter
  • Add Apple iOS TLS transport
  • Add ECC option support

uAQMP

  • Fix for segfault on link.c due to free on async operation content
azure-iot-sdk-c - 2017-11-17

Published by ewertons almost 7 years ago

C Device SDK (version 1.1.28)

  • Add provisioning client convenience layer
  • Adding DLL and Custom HSM for Provisioning Client

Bug Fixes

  • Fix message sender/receiver destroy function in telemetry and twin messenger modules (github #274)
  • Change CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR in CMakeLists.txt to ensure SDK compiles when added as a git submodule

Documentation

  • Updated links on how-to guides and documentation

Shared Utility

  • Fix runtime info provided by platform abstractions (iothubclient user agent string)
  • Make plaform_get_platform_info() in platform_stub.c return not NULL (gh#125)
  • Change Proxy to default access in httpapi_winhttp.c (VS2010 and later)
  • Fix retrieve/feed option for TLS version (github #223)

uMQTT

  • Added error checking for prepareheaderDataInfo and fixed .md formatting

uAQMP

  • Add cbs_destroy in EH sender sample and fix the target to include publisher
  • Make link_transfer return an ASYNC_OPERATION_HANDLE so that subsequently it can be plumbed into the message_sender_send_async to have clean timeouts
azure-iot-sdk-c - 2017-11-03

Published by jspaith almost 7 years ago

C Device SDK (version 1.1.27)

  • Add convenience layer for IoTHubClient_CreateFromDeviceAuth
  • Adding common cleanup helpers and some new helper fcns
  • Remove cstdbool from repo
  • Update provisional client tools
  • Bash to create CA certificates; docs for both PowerShell and Bash

Bug Fixes

  • Fix (test-only) race condition if twin callback arrives with original data
  • Allow transport to be reused for after last multiplexed device is destroyed (github #270)
  • Fix duplicated user-agent info on D2C telemetry over HTTP transport

Documentation

  • Update feature matrix

Shared Utility

  • Allow keyName to be NULL in SAS token creation
  • add ECC support in CloneOption (pull request https://github.com/Azure/azure-c-shared-utility/pull/120)
  • Remove Arduino-specific defines from c-utility
  • Move ESP32 docs to PAL repo and delete unused ESP32 build_all
  • Remove stdbool from shared_util
  • Moved Arduino dev docs to PAL repo

uMQTT

  • Remove stdbool from repo

uAQMP

  • Add support for UUID in amqp_value_to_string and add LogError in amqp_value_to_string
  • Remove usage of cstdbool
azure-iot-sdk-c -

Published by jebrando almost 7 years ago

C Device SDK (version 1.1.26)

  • Adding PowerShell to interact with CA Certificates creation
  • Removing Arduino to separate repo

Bug Fixes

  • Fix for uninitialized result value on uamqp_messaging.c (ref c-shared github issue #118)

Documentation

  • Improved AMQP Batching documentation
  • Update references to C API docs
  • (On behalf of yzhong94) Add feature matrix documentation

Shared Utility

  • (Bug Fix) set tickcounter_ms_t to 64-bit integer data type for Windows
  • Fix open issues in socket and TLS layer- Change code to not send during error state in socketio (github issue #106)
  • Added Base32 code

Packages

  • Nuget version: 1.1.27
  • APT/trusty: 0.1.0-34
  • APT/xenial: 0.1.0.0-30
azure-iot-sdk-c - Release_2017_10_09

Published by jebrando about 7 years ago

C Device SDK (version 1.1.25)

  • Bring back content type & encoding missed in AMQP batching
  • Add default timeout to amqp
  • Update transport for new service changes for amqp & mqtt

Bug Fixes

  • Url encode the file name before to enable blanks

Documentation

  • Update Iothub_sdk_options.md to include all options in the SDK

uAMQP

  • (Bug Fix) Fix for unitialized result value on uamqp_messaging.c (ref c-shared github issue #118)

uMQTT

  • (Bug Fix) Fix bug if the message is 127 then the size would not get calculated correctly

Packages

Nuget version: 1.1.26
APT/vivid: 0.1.0-54
APT/trusty: 0.1.0-33
APT/xenial: 0.1.0.0-29

azure-iot-sdk-c - release_2017_09_25

Published by ewertons about 7 years ago

C Device SDK (version 1.1.24)

  • AMQP transport to process C2D messages with UUID/ULONG in message-id and correlation-id
  • Added uHTTP submodule
  • Removed device-methods "WIP" define from the c-sdk
  • Update dice tool to accept user input correctly

Bug Fixes

  • Fixed SAS token expiration length in AMQP transport

Documentation

  • Update the C SDK porting guide and associated specs.

C Shared Utility

  • Update MBED build urls from developer.mbed.org to os.mbed.com
  • Added Decode to base32 module

uAMQP

  • (Bug Fix) Add check for Null value on message_destroy

Packages

Nuget version: 1.1.25
APT/vivid: 0.1.0-53
APT/trusty: 0.1.0-32
APT/xenial: 0.1.0.0-28

azure-iot-sdk-c - release_2017_09_08

Published by jspaith about 7 years ago

C Device SDK (version 1.1.23)

  • Add DPS client public preview support(!).
  • Add AMQP batching.
  • Support OpenSsl on Windows.

Bug Fixes

  • Clarify callback pointer for serializer.
  • Additional change related to Github issue #54.
  • Fix mbed pointer to Parson.

Documentation

  • Fix serializer doc variables.

C Shared Utility

  • UniqueId_GetStringFromBytes
azure-iot-sdk-c - release_2017_08_25

Published by zolvarga about 7 years ago

C Device SDK (version 1.1.22)

  • Have MQTT WebSocket destroy underlying socket before reassigning sas token
  • Properly handle C2D messages without content type/encoding on AMQP transport
  • Implement ContentType and ContentEncoding code and unit tests
  • Update upload to accept proxy

Bug Fixes

  • Fix test failure due to valgrind error
  • Update c-shared dependency with nuget fixes

uAMQP

  • Update c-shared dependency with nuget fixes

uMQTT

  • Update c-shared dependency with nuget fixes

C Shared Utility

  • Add ncrypt to nuget package dependency lists
azure-iot-sdk-c - release_2017_08_11

Published by ewertons about 7 years ago

C Device SDK (version 1.1.21)

  • Added Device Twin over AMQP on Azure IoT C SDK
  • Change WINC1500 to WiFi101 library

Bug Fixes

  • IoTHubClient_LL_CreateWithTransport shall not destroy shared transport
  • Force a default for CMAKE_INSTALL_INCLUDEDIR, include GNUInstallDirs for service client install.
  • Only send thumbbprint for IOTHUB_REGISTRYMANAGER_AUTH_X509_THUMBPRINT

uAMQP

  • Fix memory leak on send_one_message()

uMQTT

  • Change returning the device payload even on empty values
  • Added in-place messaging for mqtt
  • Make ping response callback conditional
  • Fix memory leak in mqtt_client cloneMqttOptions (GH issue #190)

C Shared Utility

  • Fix for SEGFAULT on uws client when xio_send has already destroyed message being sent (GH issue#167)
  • Fix bug in setting TLS 1.2 for openssl
azure-iot-sdk-c - release_2017_07_28

Published by jspaith about 7 years ago

C Device SDK

  • iothub_client DLL build with the regular build
  • MQTT transport requirement changes for completion of retry policy support
  • MQTT transport full retry policy support (using retry_control module
  • Change tabs to spaces in mqtt transport

C Service SDK

  • Adding IOTHUB_REGISTRYMANAGER_AUTH_X509_CERTIFICATE_AUTHORITY for CA based certs
  • Update version to 2017-06-30

Bug Fixes

  • Fix C2D keep alive frequency
  • Memory leak fix (see github #174)

Documentation

  • Update SetOption documentation in header file

uAMQP

  • Update readme and remove obsolete spec markers
  • Use STRICT_EXPECTED_CALL in all tests
  • Implement SASL server mechanism interface (specs, tests and code)
  • if "use_installed_dependencies" is set, the include for "dependencies.cmake" needs to be before the call to set_platform_files.
  • Fix AV in local_client_server_tcp_perf
  • Revive saslclientio unit tests and cleanup necessary for reviving the tests

C Shared Utility

  • Include needed for ESP8266 compiler
  • Improve lwIP implementation flexibility
  • Added Ecc Certificates to schannel
  • exclude ecc certs from wince
  • Fixing memory leak in connection string parser
  • Use chained buffer API; fix miscalculation of cert lengths
azure-iot-sdk-c - release_2017_07_14

Published by ewertons over 7 years ago

C Device SDK (version 1.1.19)

  • Stop including the cstdbool header for C++.
  • Initialize test provision devices at right time

Bug Fixes

  • Add missing ThreadAPI_Exit calls in iothubclient and iothubtransport
  • Pick up fixed make install in submods
  • Get make install to work with cross compile

Documentation

uAMQP (version 1.0.39)

  • Do not delete messages in on_link_state_changed on detach or error

C Shared Utility (version 1.0.39)

  • Fix make install
  • RSA sends intermediate certs; small refactor to cleanup RSA paths
  • Implement tlsio_retrieveoptions for https://github.com/Azure/azure-iot-arduino/issues/54
  • have ETW logger
  • Fix building against libressl
  • Fix building against OpenSLL 1.0.2
  • Fix warnings and deprecations in OpenSSL 1.1
  • Update platform files to include wolfssl and update real_string for failure
  • wince failure fix for install destination
  • Fixed runtime issue with using lib instead of dll
  • Fixed https://github.com/Azure/azure-umqtt-c/issues/13 and made tlsio_close idempotent
  • Add singlylinkedlist remove_if and foreach APIs
azure-iot-sdk-c - release_2017_06_30

Published by zolvarga over 7 years ago

C Device SDK

  • Add an addendum on the MQTT reconnect logic
  • Add disconnect after a missed retry in MQTT
  • Implement SetOption to modify C2D keep alive frequency
  • Enable cross-compilation for ESP32
  • Updated submodules

Bug Fixes

  • Add comment to serializer sample to clarify callback behavior
  • Fix repeated client version info created by MQTT re-connection
  • Fixed tests
  • Fixed CMake for MQTT

Documentation

  • Fix link to mbed-freescale-k64f-c.md
azure-iot-sdk-c - release_2017_06_16

Published by jspaith over 7 years ago

C Device SDK

  • Renaming iothubtransport_amqp_messenger to iothubtransport_amqp_telemetry_messenger (prep for Twin module)
  • Rename iothubtransport_amqp_telemetry_messenger_ut to iothubtr_amqp_tel_msgr_ut
  • Modify file upload facility to use new REST api.

Bug Fixes

  • Unit test updates
  • Fix for iothubtransport_amqp_device integration with iothubtransport_amqp_telemetry_messenger
  • Remove duplicate projectUrl from *.nuspec

Documentation

  • Added reference to mqtt sample in mbed get-started doc

uAMQP

  • Fix for WindowsCE build
  • Add message UTs
  • Patch multiple value handling to allow single SASL mechanisms in SASL_init
  • Tabs => spaces

C Shared Utility

  • Received a fix for "receive" typos
  • Fix clock_gettime related build break for gcc 4.6.3
  • Enable network interface selection on older linux kernels (4.1.19)
  • Add jenkins scripts to run for build
  • Specs, implementation, and UT for tlsio_openssl_compact
azure-iot-sdk-c - release_2017_06_02

Published by ewertons over 7 years ago

C Device SDK

  • Expand MQTT_WS and x509 e2e tests for twin/methods

Bug Fixes

C Service SDK

Documentation

uAMQP

C Shared Utility

  • Fixed errors when building tests with VS2008
  • Fixed CPlusPlus guard for xlogging.h
azure-iot-sdk-c - release_2017_05_19

Published by jspaith over 7 years ago

C Device SDK

  • Expand MQTT_WS and x509 e2e tests for twin/methods
  • Add e2e tests for IoTHubClient_UploadToBlobAsync
  • Modify AMQP and MQTT E2E tests to use selection of network interface
  • Added correlation id and message id to mqtt

Bug Fixes

  • Fix for github issue #130
  • Change timeouts for e2e tests
  • Fix possible race around desired_state_callback
  • 64 bit integer comparison fix in tests
  • Fix MQTT e2e tests

C Service SDK

Documentation

uAMQP

  • Fix unittest errors when building with VS2008
  • Add VS 2008 build

C Shared Utility

  • Fix errors for building production code on VS2008
  • Add GetLastError calls for Windows
  • Updating the shrinking of the buffer
  • UT for dns_async
  • Make tlsio_openssl retrieve underlying_io options
azure-iot-sdk-c - release_2017_05_05

Published by ewertons over 7 years ago

C Device SDK

  • Aligned all of the Arduino libraries with the pull request, and put IDE version at 1.6.12
  • Update AMQP transport to use authorization module
  • Added temperature and humidity info to events sent by all samples
  • Add e2e test for device methods with device multiplexing
  • Add e2e tests for x509 AMQP/MQTT over WebSockets

Bug Fixes

  • Made MQTT and HTTP transports return a clone of hostname in GetHostname API
  • Fixed a multiplex/authorization module-related bug in iothub_client
  • Fixed for ASYNC callback processing in device multiplexing scenario
  • Memory leak fixes in negative unit tests
  • Fixed error when building without service client

C Service SDK

Documentation

uAMQP

  • Add a getter for peer max message size
  • Added LogError to message, connection and use handles in connection.c

C Shared Utility

  • Added a fix to SasToken Validate for SKN
  • Added fixes for OSX machine information bug
Package Rankings
Top 3.76% on Cocoapods.org
Top 7.59% on Alpine-edge
Top 26.52% on Conda-forge.org
Badges
Extracted from project README
Build Status
Related Projects