Skip to content

Releases: dotnet/iot

3.1 Release

11 Dec 15:31
e04d3d0
Compare
Choose a tag to compare

This is V3.1 of System.Device.Gpio and Iot.Device.Bindings. This release includes a few new bindings, support for new Raspberry Pi Models, and some bug fixes. Users of the AIS/NMEA0183 bindings are recommended to update asap due to an important safety issue fixed.

Important changes

New Contributors

Full Changelog: 3.0...3.1

3.0 Release

13 Jul 19:06
2242d27
Compare
Choose a tag to compare

This marks the 3.0 release of dotnet/iot. This is our third major release. The release included three packages which are available in NuGet.org today. Here is a link to them:

What's Changed

Read more

2.2 Release

29 Sep 19:46
eae8a70
Compare
Choose a tag to compare

This marks the 2.2 release of dotnet/iot. This is our second minor release of 2.0. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added better handling of TaskCancelledException in Dispose method of LibGpiodDriver.
  • Added support for Raspberry pi 400
  • Fixed creation of driver for Raspberry Pi 4 cm
  • Fixed incorrect parameter ordering when throwing an IOException

Iot.Device.Bindings

  • Added an Arduino C# Compiler.
  • Added BiColorBargraph using Ht16k33
  • Fixed some namespaces issues for some of the bindings.
  • Fixed MifareCard WriteNdefMessage capacity check.
  • Added pull-down resistor support to KeyMatrix binding
  • Fixed channel comparison in Mcp342x binding.
  • Fixed Arduino binding performance for large SPI buffer transfers.
  • Fixed inverted timeout condition on Mfrc522 device binding.
  • Added encoder support to Seesaw device.
  • Removed ValueArray type which had a possible GC hole and adjusted DHT sensor family.
  • Updated telemetry sent from the Bno055Sensor.
  • Added support for several new bindings including:
    • WS2815B
    • Allwinner H616 and Orange Pi Zero 2
    • MPU6050
    • Radxa Rock Pi 4B Plus

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

2.1 Release

28 Feb 19:25
e06b70b
Compare
Choose a tag to compare

This marks the 2.1 release of dotnet/iot. This is our first minor release of 2.0. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added support for new Raspberry Pi 4 board revision b03115.
  • Fixed handling of epoll_wait returning EINTR on SysFSDriver.
  • Fixed issue where we didn't allow pins to be already exported outside of the program.
  • Removed unnecessary package dependencies for non-Netstandard TFMs.

Iot.Device.Bindings

  • New transport layer for HardwareAccess
  • Removed ILI9341 SPI buffer range limit
  • Make Motorhat compatible with WaveShare Motor Driver Hat
  • Added support for several new Device Bindings including:
    • NMEA GPS/Sonar binding
    • HT1632
    • LP55231
    • SK6812-Strips

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

2.0 Release

27 Jan 18:51
edaa1cc
Compare
Choose a tag to compare

This marks the 2.0 release of dotnet/iot. This is our second major stable release. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Fix issue for SysFsDriver when callbacks registered events are not fired when unregistering all registered callbacks.
  • Added support for Raspberry Pi 4 and Zero 2 W

Iot.Device.Bindings

  • Fix issue with VirtualOutputSegment in order to write bytes in the correct order.
  • Fix issue with DCMotorWithStartStop
  • Adjusted the constructor of PN532 so that it can work with very similar devices.
  • Improved performance of Video device continuous capture
  • Fix miscellaneous issues in different device bindings.
  • Added SPI support for lcd interface
  • Added ability to extend the Arduino library externally.
  • Added debounce support for buttons.
  • Add class that supports OS-independent setting of the system clock
  • Added TryReadHumidity/TryReadTemperature to temperature sensors.
  • Added support for several new Device Bindings including:
    • Added Raspberry Pi build HAT
    • Sn74hc595 SpiDevice
    • FT232H device
    • Mcp960X device
    • Sensirion SHT4x and SCD4x devices
    • Button binding
    • MPU6886
    • BMM150
    • AXP192 and IP5306 - Power Management chips
    • Ili9341

Other Changes

  • Switched to target .NET Core 6.0 (deprecated 5.0 target), .NET Core 3.1 (deprecated 2.1 target), and NetStandard 2.0
  • Migrated to new AzDO tenant owned by DotNet Foundation, and switching signing certificates to be DotNet foundation-owned.
  • A lot of documentation cleanup.
  • Added markdown linter to the repo in order to have consistent readme docs.
  • Added package validation coverage to prevent accidental breaking changes.
  • Added an E2E sample with .NET Core IoT using Azure SDK and Certificates.

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

1.5 Release

16 Jul 19:46
135b856
Compare
Choose a tag to compare

This marks the 1.5 release of dotnet/iot. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Improved handling of EINTR for libgpiod driver
  • SPI will disable CS line if it's not used (i.e. when controlling selection manually)
  • Allow for writing to pins when in input mode to allow changing value quickly when switching to output mode when using i.e. relays
  • Openning/closing pins will not affect its state if possible
  • Libgpiod will consume less CPU when using PinValueChangedEvent

Iot.Device.Bindings

  • Added Arduino Firmata protocol which allows to access Arduino protocols through USB
  • Added Board abstraction
  • Added GPIO drivers: RockchipDriver, OrangePi4Driver and NanoPiR2sDriver
  • Added Ultralight NFC card support
  • Added SensorHub board
  • Added support for displaying big characters on big LCD displays (20x4 or above)
  • Added SpiBusInfo which allows for reading information like buffer size
  • Improved initialization sequence for the CharacterLcd
  • Improved changing I2C address for VL53L0X
  • Bindings now use common logging provider rather than having their own conventions
  • Fixed multiple typos in argument and method names
  • Fixed few issues with HardwareMonitor

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

1.4 Release

17 Mar 22:33
4db4714
Compare
Choose a tag to compare

This marks the 1.4 release of dotnet/iot. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added ability to set alternate pin mode on Raspberry Pis.

Iot.Device.Bindings

  • Added attributes for devices which help with Azure Plug & Play scenarios.
  • Added several new device bindings
  • Fixes for several existing bindings
  • Added new GpioDrivers for Allwinner SoCs and Orange Pi Zero/Lite/Lite2
  • Added Arduino Firmata device support
  • Added a Generic logging infrastructure for bindings.

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

1.3 Release

22 Dec 16:31
5a96ecc
Compare
Choose a tag to compare

This marks the 1.3 release of dotnet/iot. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Add I2cBus
  • Improve detection of Raspberry PI boards

Iot.Device.Bindings

  • We now have a new unit from UnitsNet for RelativeHumidity which we have adopted
  • NFC cards improvements
    • NDEF support
    • MFRC522 support
    • PN532 SPI support
  • PiJuice UPS hat support
  • STUSB4500 support
  • Tsl256x support
  • KeyMatrix support
  • SoundDevice and VideoDevice support continuous recording
  • BMxx80 improvements
  • MPU9250 improvements
  • FT4222 improvements
  • Various documentation updates

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

Also special thanks for @pgrawehr for being very active on issues and PRs. He has now been included into our triage meetings.

1.2 Release

10 Dec 18:11
daa43b7
Compare
Choose a tag to compare

This marks the 1.2 release of dotnet/iot. This is our third stable release. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Unsealed the GpioController class.
  • Fixed issue to detect Raspberry Pi 4 model 0b3112 & 0c3112.
  • Added support for Raspberry Pi Compute Module 3+.

Iot.Device.Bindings

  • Added RotaryEncoder Binding
  • Fixes on DHT sensor
  • Added device binding for AMG88xx infrared array sensor family.
  • Fixes to PN532 sensor

Other Changes

  • Updated to 5.0 Compilers and SDK.
  • Fixed consistency of Target Frameworks in projects.
  • Modernized the codebase to use latest C# language features.
  • Documentation updates.

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors:

1.1 Release

11 Nov 23:24
17d497e
Compare
Choose a tag to compare

This marks the 1.1 release of dotnet/iot. This is our second stable release and we expect that moving forward we will do a much faster cadence with releasing stable versions. The release included two packages which are available in NuGet.org today. Here is a link to them:

Release Notes

System.Device.Gpio

  • Added .NET 5 support
  • Annotated library to use Nullable Reference Types.
  • Adapting to WinRT breaking change: dotnet/runtime#35318
  • Added support for Mono
  • Removed RID-specific implementations for netstandard2.0
  • Improvements with interrupt handling and eventing APIs
  • Improvements on PWM performance and bugfixes.
  • Added support for more OSes by adding support to /dev/mem in case /dev/gpiomem is not available
  • Added support for Pull-up and pull-down input types on Linux drivers.
  • Added support for reading from output pins
  • Changed LibGpiodDriver to use process name as consumer name.
  • Added ! operator to PinValue

Iot.Device.Bindings

  • Added .NET 5 support
  • Annotated library to use Nullable Reference Types.
  • Added support for new bindings (many bindings were added so we suggest looking into our device listings)
  • Fixed issues with Mcp* bindings and Bmx* bindings
  • Added support for Bringing-your-own GpioController to most bindings that use Gpio
  • Fixed issue with 1-wire thermometer binding.
  • A lot of improvements on SoftwarePWM
  • Added CI coverage for top device bindings in order to easily catch regressions.
  • Added integration with Units.Net

Other Changes

  • Modernized codebase to use C# 9.
  • Added StyleCop support to provide better code-readability and consistency.
  • Added solution files for all bindings.
  • Added documentation for naming schemes used in the repo.
  • Moved all samples to .NET 5
  • Added discord chat

We would like to thank all the community that made this release possible, and particularly we would like to special thank the following contributors: