Release Notes
3.0.0.3000 (2026-06-29) Prerelease
Libraries
- Support HTTPS with no CA certificate option
Firmware
- No changes. Firmware version 3.0.0.2000 remains the recommended version.
Known issues
- SC20xxx: Webcam reconnect fails after disconnect when connected through a hub.
- USB host hubs do not support low-speed (LS) devices. To use a mouse or keyboard, connect it directly to the USB port or use a full-speed device instead.
Visual Studio Extension
- Fixed Visual Studio freezing/closing when deploying to a low-memory device
- Support packages.config and PackageReference
- Ctrl+F5 now deploys the application and reboots the device immediately. There is no longer a 60-second wait.
- The same NuGet package can be used on both desktop and device projects, as long as it is compatible with the target device.
Known issues
- An exclamation mark may still appear due to duplicate NuGet packages when using the PackageReference configuration, but it is harmless and can be safely ignored.
- Users need to add the GHIElectronics.TinyCLR.Drawing NuGet package when adding a bitmap or image resource (if it has not already been added to the project).
- Users need to run Run Custom Tool on the resource to (re)generate the GetBytes() / GetBitmap() accessors.
- Desktop mode does not support Debug.WriteLine; use Console.WriteLine instead.
TinyCLR Config
- Build-tca now supports PackageReference
Visual Studio Code extension
- Update the fixes from Visual Studio extension.
3.0.0.2000 (2026-06-12) Prerelease
TinyCLR OS 3.0 is a major release. The headline change is broad runtime and library support for modern C#: generics and generic collections, Task/async,
Tuple/ValueTuple, LINQ, ranges and indices, record types, and required members. It also adds native RLP support, USB hub and webcam support,
multi-interface non-blocking networking, an updated Visual Studio extension for VS2022/VS2026, and a new Visual Studio Code extension.
Libraries
New features
System.Collections.Generic:List<T>,Dictionary<TKey, TValue>, the generic interfaces (IList<T>,IDictionary<,>,IEnumerable<T>,ICollection<T>, …), andComparer<T>/EqualityComparer<T>.System.Threading.Tasks:Task,Task<T>,Task.Run,Task.Delay,Task.WhenAll,Task.WhenAny, andasync/awaitsupport.- cooperative cancellation:
CancellationToken,CancellationTokenSource, andOperationCanceledException. System.TupleandSystem.ValueTuple, including tuple literals and deconstruction.System.Linq(LINQ-to-Objects).System.IndexandSystem.Range, enabling from-end indexing and slicing (for examplearray[^1]andarray[1..3]).- the generic delegates
Func<>,Predicate<T>,Comparison<T>, andConverter<T>, plus the generic interfacesIEquatable<T>andIComparable<T>. - the support types behind modern C#: init-only setters and
recordtypes (IsExternalInit),requiredmembers,[ModuleInitializer], and[CallerArgumentExpression]. Activator.CreateInstance<T>().HashSet<T>.System.Console.System.Device.Gpio,System.Device.I2c,System.Device.Pwm,System.Device.Spi,System.IO.Ports,System.Security.Cryptography,System.Xml- desktop/dual-mode companion assemblies (GPIO, SPI, I2C, PWM, UART, ADC, SerialPort, Network, Cryptography, …) for PC-side build and test.
- USB host webcam support.
GpioController.WaitForEventandStringBuilder.AppendFormat.- XML documentation for the TinyCLR APIs — IntelliSense tooltips and summaries now appear in the editor.
Fixes
- Fixed
TimeSpan.FromXxx/TimeSpan.TotalMillisecondsreturning negative values. - Fixed
DateTimesubtraction returning a negative elapsed time. - Fixed a crash involving
double.PositiveInfinity/double.NegativeInfinity. - Fixed FTP and HTTP server exceptions, and reworked MQTT.
- Fixed UI touch-event routing and improved scroll/redraw performance.
IsDriveModeSupportedno longer requires a pin.- Tweak UI.
- Reworked the cryptography library.
- Separated the socket send and receive timeouts so that setting one no longer blocks the other.
Firmware
New features
- RLP (native runtime-loadable procedures) support.
- the CLR runtime support behind the new library features: generics and generic collections (
List,Dictionary),Tuple/ValueTuple, LINQ, andTask/async, with improved boxing, unboxing, and generic type handling. - a native Task controller for background and driver work.
- C# 11 language support.
- USB host hub support (cascaded hubs and multiple USB mass-storage sticks) and USB webcam capture (DCMI + DMA).
- multiple simultaneous network interfaces, non-blocking network bring-up (
EnableAsync), non-blocking DNS, socketShutdown, and TCP listener support. - a hardware RNG source for the network security stack.
- firmware support for reading and setting the RTC (exposed through the TinyCLR-Config CLI).
Fixes & improvements
- Fixed several floating-point / number-to-string formatting issues (G-format rounding, exponent, precision, and trailing zeros).
- Fixed CAN: classic (non-FD) operation failed when no data bit-rate is set.
- Fixed mass-storage (MSC) read/write and mount-after-format.
- Fixed DigitalSignal capture crashed with at 2.5MHz .
- Fixed inconsistent comparison of simple value types.
- Fixed SD card read/write disabling global interrupts (IRQs).
- Fixed SD card mounting.
- Reworked networking.
- Reworked low-power / sleep handling.
- Reworked EtherNet/IP (board-to-board Class-1 I/O).
- Improved I2C (Master and Client modes).
- The deploy error now reports which assembly exceeds the maximum size.
Known issues
- SC13xxx: System crash when use Dictionary if memory is low.
- SC20xxx: Webcam reconnect fails after disconnect when connected through a hub.
- USB host hubs do not support low-speed (LS) devices. To use a mouse or keyboard, connect it directly to the USB port or use a full-speed device instead.
Visual Studio Extension
New features
- Dual mode: A TinyCLR project can run in both device and Desktop mode (.NET Framework 4.8).
- support for connecting to multiple devices / ports.
Fixes
- Visual Studio no longer deadlocks or blocks when a device flash fails.
- A "PNG is not supported" error message is displayed when a PNG resource is detected.
Known issues
- Users need to add the GHIElectronics.TinyCLR.Drawing NuGet package when adding a bitmap or image resource (if it has not already been added to the project).
- Users need to run Run Custom Tool on the resource to (re)generate the
GetBytes()/GetBitmap()accessors. - Desktop mode does not support
Debug.WriteLine; useConsole.WriteLineinstead.
TinyCLR Config
New features
- a command-line (CLI) mode for scripted/headless device operations.
- export/generation of
.tcaconfiguration archive files. - support for connecting to and managing multiple devices.
- get/set of the real-time clock (RTC) through the CLI.
Fixes & improvements
- Auto-scales the UI by font and fixed the layout across different screen resolutions.
- No longer crashes when the selected COM port is already held by another application.
Known issues
- CLI:
rebootneed to called twice to reset the device
Visual Studio Code extension
- Feature parity with the Visual Studio extension.
2.4.1.1000 (2026-03-25) RTW
Firmware
- Fixed multiple issues in floating-point string formatting (rounding, exponent, precision)
2.4.0.1000 (2026-03-16) RTW
Firmware
- SC20xxx only change
- Add SDRAM overclock support
- Fix CPU usage statistics
- Add WPA/WPA2 support for WiFi in both AP and Client modes
Libraries
- HTTPS server now supports TLS 1.2