Releases: dotnet/iot
1.1 Release
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:
- @arnoud-koolecontrols with 1 commit
- @CamSoper with 1 commit
- @DazFahy with 1 commit
- @djaus2 with 2 commits
- @dovissz with 1 commit
- @Ellerbach with 36 commits
- @eugecm with 2 commits
- @famblard86 with 1 commit
- @fehdem with 23 commits
- @Fortinbra with 1 commit
- @Frankenslag with 4 commits
- @garciaolais with 3 commits
- @gLes with 2 commits
- @HakanL with 2 commits
- @HumJ0218 with 4 commits
- @Kash0321 with 1 commit
- @leoncastellanos1 with 1 commit
- @MaherJendoubi with 1 commit
- @maloo Lorentzon with 1 commit
- @MarkCiliaVincenti with 7 commits
- @MaxMommersteeg with 1 commit
- @microhobby with 2 commits
- @mtripsky with 1 commit
- @nahueltaibo with 3 commits
- @NielZeeman with 1 commit
- @pgrawehr with 37 commits
- @R10Rasmus with 1 commit
- @RobinTTY with 2 commits
- @rubberduck203 with 1 commit
- @shaggygi with 5 commits
- @smdn with 3 commits
- @SteveDesmond-ca with 1 commit
- @TobBrandt with 1 commit
- @Tragetaschen with 1 commit
- @wsad4ryba with 2 commits
- @ZhangGaoxing with 3 commits
1.1 Preview 2 Release
1.1 Preview 1 Release
1.0 Release
This is the 1.0 release of dotnet/iot. This is also the first stable release of the repository. With this release, we are mainly shipping two packages:
- System.Device.Gpio package which contains the main library which adds support for common protocols when interacting with IoT devices. The protocols added in this release are GPIO, PWM, I2C, and SPI.
- Iot.Device.Bindings package, whcih adds support for many common Iot devices and sensors, which with the help of the protocols supported by System.Device.Gpio, will help to wrap the communication between an application and the device/sensor. The functionalities for each device will depend on what the device/sensor capabilities are. For a full list of all of the device/sensors that are included in this package, please head out to our main index.
We would like to special thank all the community that made this release possible, and want to special thank the following contributors:
- @shaggygi with 64 commits
- @ZhangGaoxing with 25 commits
- @Ellerbach with 9 commits
- @Frankenslag with 6 commits
- @garciaolais with 4 commits
- @SergeyRazmyslov with 4 commits
- @DemoS76 with 3 commits
- @microhobby with 2 commits
- @RobinTTY with 2 commits
- @monty124 with 2 commits
- @maloo with 2 commits
- @nahueltaibo with 2 commits
- @johnastaf with 2 commits
- @fredeil with 2 commits
- @GeorgeMathieson with 1 commit
- @Ogieeeeee with 1 commit
- @kmate95 with 1 commit
- @MaxMommersteeg with 1 commit
- @Silvenga with 1 commit
- @zochris with 1 commit
- @Rickvanderwaal with 1 commit
- @CleoQc with 1 commit
- @Veujin with 1 commit
- @techniq with 1 commit
- @gloveboxes with 1 commit
- @CosminLazar with 1 commit
- @HumJ0218 with 1 commit
- @schonbachler with 1 commit
- @chaudi with 1 commit
We really appreciate all of your contributions, and the great help in order to drive this product to its first stable release!
Preview 8 Release
This is the preview 8 release of dotnet/iot. Given that we are getting closer to GA, most of the changes going in to these last previews will be related to stabilizing the packages for release, so there won't be a lot of additions to APIs and instead be more focused on fixing high priority bugs in order to drive a better quality. Some of the changes included in this release include:
- Moving the versions of both of our packages (and assembly versions as well) from 0.1.0 to 1.0.0.
- Fixed performance issue with our hardware pwm driver which was opening a file handle for each operation it performed.
- Fixed temperature formula on Bmx device family binding.
- Fixed bug with our LibGpioD driver for linux where it was not recognizing requests for both rising and falling edges.
- Fixed issue with I2c and Spi connection settings that was allowing them to be mutated after creation. They are immutable now.
- Added support for several new bindings in the IoT.Device.Bindings package.
- Fixed issue with the Unix hardware Pwm implementation when not using the default chip.
Special thanks to contributors that made this release possible: (not sorted by a particular order):
Packages published to NuGet.org:
Preview 7 Release
This is the preview 7 release of dotnet/iot. Here are the list of changes included in this release:
- Remove System.Device.Gpio.Native native shim and PInvoke directly to libgpiod. This will allow us to have arm64 support with our libgpiod driver.
- Added I2cDevice.Create and SpiDevice.Create static methods that will create a protocol device for the platform where the code is running in.
- Removed PWMController and instead introduced PwmChannel, which is the new way to use PWM. It is simpler to setup, and simpler to use given that it is scoped down to one pin. Refactoring will also help for a future Pwm software implementation.
- Added XMLDocs to the package in order to get a better VS experience.
- Started pushing portable symbols for NuGet packages into the Microsoft symbol servers in order for a better debugging experience.
- Added sourcelink information to the NuGet packages, for a better debugging experience.
- Several performance improvements.
- Fixed an issue where we were not checking for a supported pin mode.
- Fixed an issue with our RaspberryPi Driver when running in ARM64.
- Fixed an issue with the dht temperature sensors.
- Added support for several new bindings into the IoT.Device.Bindings package.
Special thanks to contributors that made this release possible: (not sorted by a particular order)
- @shaggygi
- @Frankenslag
- @ZhangGaoxing
- @Rickvanderwaal
- @zochris
- @monty124
- @DemoS76
- @Silvenga
- @MaxMommersteeg
- @kmate95
- @Ogieeeeee
- @GeorgeMathieson
- @krwq
- @joperezr
Packages pushed to NuGet.org:
Preview 6 Release
This is the preview 6 release of dotnet/iot. Changes included this release are:
- Removed reference assembly from System.Device.Gpio package
- Added a rid-less configuration to the System.Device.Gpio package which throws PlatformNotSupported Exception.
- [Breaking Change] Added new members to IGpioController interface.
- Added support to use boards with multiple GPIO banks with libgpiod driver.
- Added support for reading an offset when using the sysfsdriver in arm64 where the pin numbering is different.
- Fixed issue with eventing on the sysfsdriver and raspberrypi driver where we would get an ObjectDisposedException when the CancellationTokenSource got disposed too soon.
- Added WriteRead method to I2CDevice which is used when atomic operations are needed to both write data and to immediately read data on the bus.
- Added IPwmController interface.
- Added support for several new bindings into the IoT.Device.Bindings package.
Packages pushed to NuGet.org:
Preview 4 release
Preview 2 release
This was the first time we pushed the package to NuGet.org.
https://www.nuget.org/packages/System.Device.Gpio/0.1.0-prerelease.19078.2