Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Releases: Azure/iot-edge-v1

Azure IoT Edge SDK

31 Jan 23:09
Compare
Choose a tag to compare
  • Update to latest Azure IoT C Device Client (Version 2018-01-29)
  • Merge pull request #405 by @MaxKhlupnov (Added link to Zwave protocol modules)
  • Merge pull request #395 by @villepalo (Iothub remove mandatory source)
  • Merge pull request #392 by @villepalo (Iothub delivery notification)
  • Update documentation to move V1 gateway into the "v1" directory and highlight public preview release of V2.
  • Replace non-ascii characters where they weren't wanted.
  • Print out a helpful message when a submodule fails to build.

Issues to be closed by this release:
#476 Documentation links lead to 404
#493 Build failed on Windows

Azure IoT Edge SDK

14 Sep 14:59
Compare
Choose a tag to compare

NOTE: iothub_client.dll has been renamed to iothub_client_dll.dll

  • Update to latest Azure IoT C Device Client. Resolve build issues around previous release.
  • Merge pull request #382 by @villepalo (Add RetryPolicy configuration to iothub module)
  • Merge pull request #376 by @kkmsft (Adding recommendation on running UT)
  • Merge pull request #371 by @kkmsft (Log info about the exiting out of process module. Fix for item 2 in #339)
  • Fixed logging module bug which always reported "20" for the datestamp.

Issues to be closed by this release:
#378 - retry policy for iothub module

Azure IoT Edge SDK

22 Aug 17:11
Compare
Choose a tag to compare

NOTE: Due to a change on the build process of the Azure IoT C SDK device client, this release has the C Device client statically linked with the iothub module. This does not affect the behavior of the Gateway SDK, but it affects installation and packaging.

• Rename Gateway SDK to IoT Edge
• Added Ubuntu Snap documentation
• Support Node.js apps as out-of-proc modules
• Allow a device to receive messages before sending telemetry
• Add stack protector for GCC and clang
• Update information about Proficy Historian module (pull request #328 @by Dbojsen)
• Support macOS builds from build.sh
• Added Raspberry Pi into the build gate.
• Update to C SDK release 2017-08-11
• Merge pull request #250 by @funvil (Fixed the headers for Github markdown in the readme.md)
• Merge pull request #253 by @grrttedwards (Fix typos)
• Merge pull request #254 by @joshualyon (minor typo: preforms → performs)
• Merge pull requests #256 and #270 by @furqanMM (Update README.md)
• Merge pull request #257 by @dsajanice (Fix position of quotes in powershell build script)
• Merge pull request #259 by @yfakariya (Fix Java binding build error on Windows)
• Merge pull request #260 by @jobbgallant (Updating doc refs to iot-edge)
• Merge pull requests #269, #299, #303, #300, and #305 by @dominicbetts (documentation improvements)
• Merge pull request #285 by @yfakariya (Fix JNIEnv* share between start thread and receive thread)
• Merge pull request #292 by @Shakti213 (Specify libdir when configuring libuv)
• Merge pull requests #310, #311 by @DBojsen (Remove filter from message printing)
• Merge pull request #312 by @WilliamBerryiii (correct dll name in built binaries)
• Merge pull request #316 by @DBojsen (Clean up copy/paste error)
• Merge pull request #318 by @kiranpradeep (bad links temporary fix)
• Merge pull request #345 by @sandervandevelde (Typos fixed)
• Merge pull request #359 by @kkmsft (Fix commandline check when no file is provided)
• Merge pull request #360 by @kkmsft (Fix the broken link to azure-iot-sdk contributing doc)
Thank you to all of our contributors!

• Various bug fixes.
• Various build improvements and bug fixes.
• Various improvements and fixes to documentation.

Issues to be closed by this release:
#297 - Build Error on Ubuntu
#288 - IoTHub module: Unrecoverable crash
#268 - Support for Raspian
#241 - IoT Hub C module does not receive C2D messages if no D2C messages are sent
#232 - Make Event_System optional so gateway can build without Conditional library
#218 - libuv doesn't build in VS2017
#241 - IoT Hub C module does not receive C2D messages if no D2C messages are sent

Azure IoT Gateway SDK

27 Apr 21:23
Compare
Choose a tag to compare
  • Feature the Batch/Shred module in the README (pull request #208 by @WilliamBerryiii)
  • Add macOS support for Java remote modules
  • Add a "launch" activation type for out-of-process modules (uses libuv to manage process lifetime)
  • Update dev Dockerfile to build .NET Core binding/tests and use a smaller base image
  • Silence annoying VECTOR errors in Java module loader & out-of-process module loader
  • Add information about Maven, npm, and NuGet packages to the README
  • Add Java ProxyGateway library to version-bump tooling
  • Fix #203 by targeting .NET Standard 1.3 instead of 1.6 in Microsoft.Azure.Devices.Gateway.dll
  • Add an end-to-end test to measure broker throughput
  • Fix #193 by logging an error when the ID mapper module drops a message because it has no "source" property

Azure IoT Gateway SDK

12 Apr 21:20
Compare
Choose a tag to compare
  • Feature Proficy Historian module in our README (pull request #170 from @DBojsen)
  • Enable stricter compile/link settings for C/C++ code
  • Fix #161 by removing the call to FreeLibrary()/dlclose() in the Node.js loader (node.dll is not meant to be unloaded)
  • Fix a crash in the .NET Core binding by making interop delegates static so they aren't garbage-collected
  • Merge pull request #201 from @WilliamBerryiii (fix a typo in a one of the dev docs)
  • For out-of-process modules, make channel identifiers more amenable to Posix-compliant systems (on which the identifier is actually a file reference)
  • Add required metadata to Java binding POM (pull request #205 from @JunyiYi)

Azure IoT Gateway SDK

03 Apr 02:07
Compare
Choose a tag to compare

New Features

Out of process modules for Azure IoT Gateway
Added capability to have a .NET Core Managed Gateway loading .NET Core modules (Including sample)
Java Out of process modules
Re-implement Node.js binding using libuv async
Build gateway SDK for macOS (Core C Components and the Java Binding)
New Gateway_UpdateFromJson api, which enables to dynamically create Modules, Loaders and Links from JSON Content.

Changes/Bug Fixes

Fixed issue with .NET Core binding on a gateway running on Windows 32-bit.
Building .NET Core as "Any CPU" instead of specific architecture.
Updated .NET Core version for 1.1.1.
Fix .NET Core CLR Path Parser on Json.
Cleanup of warnings and errors after enabling compiler secure flags and compiler warnings.
Update Windows instructions in devbox setup.

Azure IoT Gateway SDK

07 Mar 00:02
Compare
Choose a tag to compare

New Features

Add support for modules running in .NET Core (see Known Issues)
Allow Java modules to implement a default ctor that doesn't call Create
Use versioned CMake packages for dependencies

Changes/Bug Fixes

When building dependencies, don't build azure-iot-sdk-c samples
Fix out-of-order delivery of messages to Node.js modules
Fix .NET release build configurations
Fix unit test failures in Release builds
Fix #109 by removing the sample bitbake file in favor of Azure recipes from Intel
Fix #118 by exposing an option to use cross-platform UUID
Update submodule references to fix #119
Validate "debug.port" JSON value in Java module config
Get rid of VECTOR errors in stdout
Fix #120 by removing the --clean option from the bash build script
Specify CMake generator explicitly in 32-bit Windows builds
Fix #104 by:

  • Propagating build config (Release, Debug) when building dependencies
  • Generating symbols on Windows for release build configurations
  • Supporting rebuilding of dependencies in build scripts

Fix bug #96 by making the call to a Node.js module's Create function synchronous
Update documentation & config JSON for Node.js module sample
Remove uses of crtdbg in favor of VLD
Pass toolchain to CMake in Wind River Linux build script
Remove C++11 uniform initializers to workaround GCC 4.8 bug
Replace develop with master in Git-aware documentation and scripts
Merge pull request #98 from @SummerSun
Describe the current gateway architecture in a Visio diagram

Known Issues

An exception is thrown when a module written for .NET Core is loaded by a gateway application on 32-bit Windows. This bug is under investigation. 64-bit Windows, as well as 32- and 64-bit Ubuntu, are not affected.

Azure IoT Gateway SDK

14 Jan 01:18
Compare
Choose a tag to compare
  • Build the gateway library as a DLL/SO (by default, static library still available)
  • Merge pull requests #76 and #82 from @anhashia (updates to Node.js sample README)
  • Shallow-clone the Node.js repo in build_nodejs.sh/.cmd
  • Document that JSON config file must be ASCII or UTF-8
  • Fix leak in Node.js binding when copying message contents
  • Update documentation to address #89
  • Fix bugs #71 and #73 by propagating toolchain information to dependencies in CMake
  • Fix bug #69 by updating references to submodules where Unicode chars were removed from source comments
  • Update Java sample JSON files to include a binding.path
  • Feature GZip Compression module in our README

Azure IoT Gateway SDK

16 Dec 21:44
Compare
Choose a tag to compare

Updates nanomsg submodule. (#58 and #53)
Fixes issue related to incorrect RPATH values during linking. (#58 and #53)
Enables multiplexing over AMQP in the iothub module.
Fixes UTF-8 BOM issue by updating parson submodule. (#49)
Adds SDK overview to readme.
Fixes metahost.h issue in .NET binding (#35)
Simulated BLE prints to stdout on Receive and Publish
Documentation updates. (#60)
Updates to Node.js v6.9.1.
Simulated cloud upload sample sensor module configures the message interval.
Fixes the build error when building module loader unit tests and bindings disabled. (#55)

Azure IoT Gateway SDK

19 Nov 02:06
783b96f
Compare
Choose a tag to compare

This is the first official release for the Azure IoT Gateway SDK.

Breaking Changes

JSON gateway definition

  • Added a "loaders" array, to customize how modules are loaded into the gateway. (See new features)
  • Restructured the "modules" object, "loading args" is replaced by a "loader" object, which names the module loader to use and the entrypoint for the module.
  • Renamed fields:
Old New
module name name
module path module.path
main path main.path
dotnet_module_path assembly.name
dotnet_module_entry entry.type
class_path class.path
library_path library.path
jvm_options jvm.options
debug_port debug.port
additional_options additional.options

Public API Changes

  • Module_CreateFromJson was removed from the module api version 1 and replaced with Module_ParseConfigurationFromJson and Module_FreeConfiguration. The module api remains at version 1.
  • Module_GetApi is defined as expecting MODULE_API_VERSION gateway_api_version - removed const.
  • dynamic_loader.h was moved to module_loaders/dynamic_loader.h, and this has been extended to become the "native" module loader.
  • In GATEWAY_MODULES_ENTRY, loader_configuration and loader_api fields were removed and replaced by module_loader_info.

New Features

  • Enhancements to how an architect can configure module loading.
    The Gateway now supports 4 module loader types: native, java, Node.js and C#, and there is one default loader for each type. These default loaders may be used as is, modified to suit the gateway architect's needs, or duplicated with a new name and altered.
    The new "loaders" array of the JSON configuration is used to modify or create new module loaders. The "loaders" array may be omitted if the user only references the unmodified default loaders.
    New modules loaders may be written in C by conforming to the MODULE_LOADER_API.
  • The new module loaders allow Java, Node.js and C# developers to avoid knowing the details of how the language binding ties into the gateway.
  • Users do not need to install or build SDK dependencies that are already installed.
    Users may install the IoT SDK devices library manually or through the IoT Gateway build process. If the libraries are found, the gateway will use those libraries, Otherwise, the libraries are built once and installed. This reduces disk space and build time for each developer.
  • MODULE_API changes. Module_CreateFromJson was removed from the module api version 1 and replaced with Module_ParseConfigurationFromJson and Module_FreeConfiguration.
    This separates the JSON parsing functionality from the module creation functionality. Module_ParseConfigurationFromJson is expected to produce the data needed for Module_Create, and Module_FreeConfiguration is expected to free any resources created by Module_ParseConfigurationFromJson.

Doc Updates

Significant documentation updates occurred during this release, as a result of the module loaders feature. Some other structural changes are:

  • Added featured modules in top-level README.
  • introductory tutorials were moved into the appropriate sample README.
  • All references to Beta have been removed from documentation.

Changes/Bug Fixes

  • Allow Linux developers to exclude the BLE module from the build
  • Java binding is tested in x64 windows build.
  • When building Node modules and sample, copy node.dll to the output folder
  • Default class path for java modules is located in /usr/local/lib/azure_iot_gateway_sdk-1.0.0/bindings/java/classes in Linux and either the %PROGRAMFILES%\azure_iot_gateway_sdk-1.0.0\lib\bindings\java\classes or %PROGRAMFILES(X86)%\azure_iot_gateway_sdk-1.0.0\lib\bindings\java\classes for Windows (64 and 32 bit systems, respectively).
  • Print the module's path when it fails to load.
  • Fix BLE write instruction access violation.
  • Moved a few more event-system specific structures into "experimental"