Releases: dotnet/iot
3.1 Release
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
- Fix arm64 macOS builds by @krwq in #2101
- Add binding for generic HX711 (load cell amplifier and 24-Bit ADC Module) driver by @matteo-tosi in #1994
- Improve support for AXP192 by @pgrawehr in #2104
- Fix wrong PinCount evaluation for FT232H by @holidayfun in #2116
- Add new display device - Pimoroni Four letter phat display by @t1mr0dg3r5 in #2118
- Binding for some common Gui operations by @pgrawehr in #2117
- Bind to explicit major version of libgpiod - Try 2 by @joperezr in #2120
- Fixes the button holding test randomly failing on Mac by @raffaeler in #2121
- Added CM4 model check to IsPi4 by @Daniel-Foley in #2125
- Update RaspberryBoardInfo.cs for pi400 Rev 1.1 by @stevetms in #2124
- Documentation improvments by @Ellerbach in #2129
- Allow creation of duplicate device addresses for the Tca9548A. by @pgrawehr in #2146
- add WriteAllPixels to Is31fl3731 by @HumJ0218 in #2144
- Update Board info for Pi 5 by @pjgpetecodes in #2145
- Removed probably unnecessary code of Sysfs driver by @ignaciocaramba in #2151
- Add event handling methods by @pgrawehr in #2140
- Add support for Adafruit Seesaw NeoPixel and Adafruit NeoDriver by @nickverschueren in #2142
- New sample using an M5Stack display as a remote controller by @pgrawehr in #2152
- Fix DHT22 reading errors when temperature and humidity are too low by @Ellerbach in #2155
- Camera binding by @raffaeler in #2150
- Add support for a few new messages, fix warnings from AisManager by @pgrawehr in #2158
- Improve SSD13xx binding, add unified interface for graphic displays by @pgrawehr in #2156
New Contributors
- @matteo-tosi made their first contribution in #1994
- @holidayfun made their first contribution in #2116
- @t1mr0dg3r5 made their first contribution in #2118
- @Daniel-Foley made their first contribution in #2125
- @stevetms made their first contribution in #2124
- @pjgpetecodes made their first contribution in #2145
- @ignaciocaramba made their first contribution in #2151
- @nickverschueren made their first contribution in #2142
Full Changelog: 3.0...3.1
3.0 Release
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:
- System.Device.Gpio 3.0 package
- Iot.Device.Bindings 3.0 package
- Iot.Device.Bindings.SkiaSharpAdapter 3.0 package
What's Changed
- Branding changes for 2.3 by @joperezr in #1934
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #1933
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #1936
- Made I2cDevice/SpiDevice ReadByte/WriteByte methods virtual by @Jimmys20 in #1937
- Implementation of VL53L1X sensor including sample and documentation by @sichelz1 in #1923
- Fix build issue when trying to run pack by @joperezr in #1942
- Bump Iot.Device.Bindings from 2.1.0 to 2.2.0 in /samples/force-sensitive-resistor by @dependabot in #1953
- Add a few new WeatherHelper functions by @pgrawehr in #1941
- Add LIS3DH sensor by @krwq in #1954
- Bump Microsoft.CodeAnalysis.CSharp.Scripting from 4.3.0 to 4.3.1 in /tools/DevicesApiTester by @dependabot in #1944
- Bump System.Device.Gpio from 2.1.0 to 2.2.0 in /samples/force-sensitive-resistor by @dependabot in #1952
- Bump System.Device.Gpio from 2.1.0 to 2.2.0 in /samples/led-more-blinking-lights by @dependabot in #1951
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #1938
- Add HX711 I2C weight sensor module by @krwq in #1956
- Bump Microsoft.Net.Compilers.Toolset from 4.3.0 to 4.3.1 in /tools/DevicesApiTester by @dependabot in #1948
- Bump sample versions to 2.2.0 in one pass by @joperezr in #1963
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #1964
- Regenerate device listing by @krwq in #1966
- Added automatic markdown link checking and fixed broken links by @Jimmys20 in #1970
- Added TCA9548A device binding by @asheesh1996 in #1908
- Add rule that removes untriaged label when a priority is assigned by @joperezr in #1975
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #1968
- Added markdown-link-check to azure-pipelines.yml by @Jimmys20 in #1974
- Add support for new revision of RaspberryPi Compute Module 4 by @StefanTischler in #1978
- Remove Windows Helix test execution by @MattGal in #1976
- mcp25xx add read and write methods by @Andrew25455 in #1959
- Adding GpioPin by @Ellerbach in #1895
- Bump Microsoft.CodeAnalysis.CSharp.Scripting from 4.3.1 to 4.4.0 in /tools/DevicesApiTester by @dependabot in #1981
- Bump Microsoft.Net.Compilers.Toolset from 4.3.1 to 4.4.0 in /tools/DevicesApiTester by @dependabot in #1980
- Upgrade to .NET 7 GA by @richlander in #1988
- Update 6.0 to latest servicing by @richlander in #1989
- Hand-over unmute parameter by @mfudpi in #1985
- Move from Raspbian 9 to 11 queue by @MattGal in #1993
- FT232H: SetDataBitsLowByte requires value before direction (#1996) by @gabbla in #2001
- Update to December 2022 servicing by @richlander in #1997
- Adjust for ConfigurableFirmata V3 by @pgrawehr in #2000
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2002
- Add Matrix binding for HT16K33 by @richlander in #1916
- Update Microsoft.Extensions.Logging to v7.0.0, drop netcoreap3.1 support by @pgrawehr in #1990
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2003
- Reverse byte order of ATQA calculated by ListenToIsoCard14443TypeA by @jdbruner in #2005
- Update for January servicing update by @richlander in #2008
- Adding Orange PI PC driver by @Ellerbach in #1999
- Add bitrate for chip with 12Mhz frequency by @Andrew25455 in #2006
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2007
- Fixing broken links in markdown documents by @raffaeler in #2014
- Add LED matrix bindings for IS31FL3731 driver by @richlander in #1926
- Adding AM2320 (migration from .NET nanoFramework) by @Ellerbach in #1998
- Button debounce bug by @raffaeler in #2015
- Fix internal link by @krwq in #2016
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2009
- Another set of broken datasheet links by @raffaeler in #2018
- Only check internal markdown links, plus a few stable sites by @pgrawehr in #2021
- Fixing EV3 color sensor by @Ellerbach in #2020
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2024
- UltralightCard fixes - byte order of ATQA, number of blocks in EV1 by @jdbruner in #2022
- Button with external resistor bug as for #2012 by @raffaeler in #2013
- Disable a flaky test for SysFs by @pgrawehr in #2023
- support Mifare Ultralight EV1 counters by @jdbruner in #2026
- Update UnitsNet to V5.0 by @pgrawehr in #2010
- Improve FT232H, add FT2232H and FT4232H by @Ellerbach in #2019
- Fix bug where SHTC3 was not woken from sleep before operations by @jcoliz in #2034
- MFRC522 NFC transceiver support for Write16Bytes by @jdbruner in #2027
- Add binding for IS31FL3730 LED driver by @richlander in #1930
- Refactor status handling in SHTC3 binding by @jcoliz in #2038
- Update for February servicing by @richlander in #2039
- Board: Improve I²C device management to avoid null reference exceptions by @swharden in #2032
- NMEA support improvements by @pgrawehr in #1939
- Fix OragePiPC typo by @MishaTy in #2035
- multiple fixes for 2K and 4K cards by @jdbruner in #2028
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2033
- A set of minor fixes by @pgrawehr in #2044
- Bump Microsoft.Net.Compilers.Toolset from 4.4.0 to 4.5.0 in /tools/DevicesApiTester by @dependabot in #2048
- Bump Microsoft.CodeAnalysis.CSharp.Scripting from 4.4.0 to 4.5.0 in /tools/DevicesApiTester by @dependabot in #2049
- add protocol awareness to NFC card transceivers by @jdbruner in #2045
- Fix build by @krwq in #2051
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2046
- Update .markdown-link-check.json by @krwq in #2056
- Update for March servicing by @richlander in #2050
- fix encoding of NfcProtocol.cs by @jdbruner in #2055
- Ultralight NDEF fixes by @jdbruner in #2060
- Update azure-pipelines.yml for Azure Pipelines by @krwq in #2063
- change Mfrc522.ReselectTarget to use WUPA instead of REQA by @jdbruner in #2061
- Adding RPI dtoverlay to check in configuration file by @Ellerbach in #2058
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #2068
- add ReselectAfterError property to MifareCard and UltralightCard by @jdbruner in #2062
- add support for Mifare application directory (resolves #2030) by @jdbruner in #2067
- Update for April servicing by @richlander in #2070
- First draft for new ComponentInformation support by @pgrawehr in #1965
- improve Pn532 I2C performance by reducing response buffe...
2.2 Release
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:
- @Jimmys20 with 2 commits
- @fadyanwar with 2 commits
- @FloGs with 1 commit
- @shaggygi with 3 commits
- @HumJ0218 with 1 commit
- @john-mills-nz with 1 commit
- @Ellerbach with 1 commit
- @Rdlprmpf with 1 commit
- @pgrawehr with 6 commits
- @serega404 with 1 commit
- @tibel with 1 commit
- @ZhangGaoxing with 1 commit
- @efraimnewman with 1 commit
- @jdbruner with 1 commit
- @lpatalas with 1 commit
- @sangyuxiaowu with 1 commit
2.1 Release
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
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:
- @antonfirsov with 1 commit
- @CamSoper with 1 commit
- @scalablecory with 2 commits
- @Jimmys20 with 6 commits
- @ikivanc with 1 commit
- @TheZlodziej with 1 commit
- @jantielens with 2 commits
- @Ellerbach with 9 commits
- @CrispyBit with 1 commit
- @dotMorten with 2 commits
- @nemunozgarcia with 1 commit
- @pgrawehr with 6 commits
- @mork2020 with 1 commit
- @raffaeler with 1 commit
- @StefanTischler with 1 commit
- @forki with 1 commit
- @zoekdestep with 1 commit
- @CodedBeard with 2 commits
- @will118 with 1 commit
- @wdolek with 1 commit
- @behroozbc with 1 commit
- @fabiankropp with 1 commit
- @jesseryoung with 1 commit
- @wsad4ryba with 1 commit
- @lpatalas with 1 commit
1.5 Release
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:
- @pgrawehr with 10 commits
- @jBarrineau with 2 commits
- @Ellerbach with 2 commits
- @adrianstevens with 1 commit
- @sylints with 1 commit
- @thecaptncode with 1 commit
- @RD-AP-PPT with 1 commit
- @rschiefer with 1 commit
- @Hubble1942 with 1 commit
- @mstroppel with 1 commit
- @ZhangGaoxing with 1 commit
- @Jimmys20 with 1 commit
- @aexhg with 1 commit
- @smdn with 1 commit
- @Alex-111 with 1 commit
- @Jimmys20 with 1 commit
1.4 Release
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:
- @amgarnier with 2 commits
- @DazFahy with 1 commit
- @SaDiablo with 1 commit
- @henryshunt with 1 commit
- @JeroenVandezande with 1 commit
- @Ellerbach with 3 commits
- @oliverchristen with 2 commits
- @oraad with 1 commit
- @pgrawehr with 5 commits
- @rodrigobengoechea with 2 commits
- @forki with 1 commit
- @vornet with 1 commit
- @wsad4ryba with 1 commit
- @ZhangGaoxing with 1 commit
1.3 Release
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:
- @Ellerbach with 7 commits
- @DazFahy with 2 commit
- @fehdem with 1 commit
- @chrfin with 1 commit
- @RobinTTY with 1 commit
- @negativeeddy with 1 commit
- @quigamdev with 1 commit
- @HumJ0218 with 1 commit
- @jmojiwat with 1 commit
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
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:
- @Ellerbach with 6 commits
- @Frankenslag with 1 commit
- @fehdem with 1 commit
- @pgrawehr with 1 commit
- @Richy1989 with 1 commit
- @sensslen with 1 commit
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