Release Notes
3.0.2.1000 (2026-09-08) RTW
Firmware fixes for analog inputs and the CLR, plus mass storage identification. Update the firmware, the extension, and the libraries together.
Firmware
- Analog in: the internal temperature sensor, internal reference voltage, and VBAT channels now map and read correctly.
- Analog in: fixed a spurious exception when reading a channel while USB is enumerating.
- CLR: fixed an overloaded virtual method binding to the wrong overload.
- CLR: fixed
ToString(),Equals(), andGetHashCode()on an unconstrained generic holding a reference type. - USB mass storage: the SCSI product revision level is now settable.
Libraries
GHIElectronics.TinyCLR.Devices.UsbClient:MassStorage.AttachLogicalUnitaccepts SCSI vendor, product, and revision strings.GHIElectronics.TinyCLR.Pins: corrected theInternalReferenceVoltageandVBATADC channel numbers.- All other libraries: version updated to match this release. No API or behavior changes.
Visual Studio Extension
- Version updated to match this release. No functional changes.
Visual Studio Code extension
- Version updated to match this release. No functional changes.
TinyCLR Config
- Version updated to match this release. No functional changes.
3.0.1.6000 (2026-08-27) RTW
3.0.1.6000 is an RTW release: it improves QSPI handling for large applications that run from external deployment, and adds GroupBox background and header colors. All other libraries and tools were rebuilt only to keep versions in sync.
Firmware
- Improved QSPI handling that may help avoid a potential issue when performing an in-field update (IFU) of a large application that uses external deployment.
Libraries
GHIElectronics.TinyCLR.UI:GroupBoxnow supports a background color and a header color.- All other libraries: version updated to match this release. No API or behavior changes.
Visual Studio Extension
- UI Designer:
GroupBoxnow supports a background color and a header color.
TinyCLR Config
- Version updated to match this release. No functional changes.
Visual Studio Code extension
- Version updated to match this release. No functional changes.
3.0.1.5000 (2026-08-06) Prerelease
Visual Studio extension and GHIElectronics.TinyCLR.UI update. Firmware and the other tools are unchanged.
Visual Studio Extension
- Added support for an image in a tab header.
Libraries
GHIElectronics.TinyCLR.UIupdated to support the extension changes in this release.
Firmware
- No change. 3.0.1.2000 remains the current release.
TinyCLR Config
- No change. 3.0.1.2000 remains the current release.
Visual Studio Code extension
- No change. 3.0.6 remains the current release.
3.0.1.4000 (2026-07-29) Prerelease
A Visual Studio extension and GHIElectronics.TinyCLR.UI update with fixes and refinements. Firmware and the other tools are unchanged.
Visual Studio Extension
- Refinements to the UI Designer — a Gauge's start position can now be set to top, bottom, left, or right.
Libraries
GHIElectronics.TinyCLR.UIupdated to support the extension changes in this release.
Firmware
- No change. 3.0.1.2000 remains the current release.
TinyCLR Config
- No change. 3.0.1.2000 remains the current release.
Visual Studio Code extension
- No change. 3.0.6 remains the current release.
3.0.1.3000 (2026-07-24) Prerelease
A Visual Studio extension and GHIElectronics.TinyCLR.UI update. Firmware and the other tools are unchanged.
Visual Studio Extension
- UI Designer: host one screen inside another with a nested control (
<local:MyScreen/>), shown live in the preview. - Firmware update: an "Automatically check for firmware updates" option, with clearer, shorter prompts.
- Deploying an application that doesn't fit the device now stops with an error instead of a warning.
Libraries
GHIElectronics.TinyCLR.UIupdated to 3.0.1.3000.
Firmware
- No change. Version 3.0.1.2000 remains the current release.
TinyCLR Config
- No change. Version 3.0.1.2000 remains the current release.
Visual Studio Code extension
- No change. Version 3.0.6 remains the current release.
3.0.1.2000 (2026-07-23) Prerelease
3.0.1.2000 is a prerelease that fixes a firmware update-over-USB/serial bug and resolves the UI Designer issues from 3.0.1.1000. Other libraries and tools are unchanged and were rebuilt only to keep versions in sync.
Firmware
Fixes
- Fixed firmware update timing out on an idle device. The bootloader/reboot command is now handled promptly over both USB and serial (COM).
Libraries
GHIElectronics.TinyCLR.UIand all other libraries: version updated to match this release. No API or behavior changes; the UI improvements this cycle are in the UI Designer below.
Visual Studio Extension
Fixes
- UI Designer:
Grid.Row/Grid.Columnbeyond the defined rows/columns no longer overlaps other controls in the preview. - UI Designer: a control inside a
ScrollViewercan now be selected by clicking it on the canvas. - UI Designer: an image with
Stretch="None"now previews at the correct scale. - UI Designer: a resource whose name is not a valid C# identifier (for example
ghi-logo) no longer causes build errors. - The version-conflict error now lists each conflicting version and the projects that reference it, so it is clear which project to change.
- UI Designer: a
Chartnow previews using its selectedMode(LineMode,RectangleMode,AreaMode), matching the device. - UI Designer: a control's
WidthandHeightcan be set directly in the designer (resize handles or the property grid); no need to edit the generated C#. - Adding an image or bitmap resource now adds the
GHIElectronics.TinyCLR.Drawingpackage automatically from your configured NuGet sources.
TinyCLR Config
- Version updated to match this release. No functional changes.
Visual Studio Code extension
- Version updated to match this release. No functional changes.
3.0.1.1000 (2026-07-22) Prerelease
3.0.1.1000 is a prerelease of TinyCLR OS 3.0. The headline additions are a visual TinyCLR UI Designer for Visual Studio and an expanded library of ready-to-use UI controls. The Visual Studio extension can now also detect out-of-date device firmware and update it from the IDE.
Libraries
New features
- An expanded set of
GHIElectronics.TinyCLR.UIcontrols:DataGrid,Chart,Gauge,Calendar,Menu,TabControl,TreeView,Expander,GroupBox, and theDockPanellayout container. CornerRadiusonBorder/Panel,Gaugesweep angle, andChartarea mode.Button.ClickMode(Press/Release) for instant touch-down response.- A built-in on-screen pointer (
UI.Input.Pointer) andUIElement.IsHitTestVisible, plus support for driving the UI with a USB mouse and keyboard. System.Xmlnow ships alongside the classicData.XmlAPI, so existing 2.x XML code compiles unchanged and new code can useusing System.Xml.
Fixes
- Fixed blocking socket calls stalling the rest of the application: while one thread was blocked in
Accept,Receive, orSend, every other thread'sThread.Sleepcould be delayed by up to ~250 ms. Blocking socket operations now wait cooperatively, so other threads keep running on schedule. - 2.x XML code that stopped compiling in 3.0 (the XML types had become internal) compiles again.
Firmware
New features
DigitalSignal.Generaterepeat / continuous (infinite) output mode.
Fixes & improvements
- Fixed low-power
Sleepnot waking on devices that execute from external QSPI flash. - Fixed a DNS resolution issue.
- Improved on-device UI rendering performance.
- Raised the internal string/signature table limit from 32K to 64K, allowing larger programs and resource sets.
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
New features
- TinyCLR UI Designer: design device UI visually — drag controls from a toolbox onto the canvas, move and resize them, edit properties, and wire event handlers — with a live, device-accurate preview.
- Firmware update check: the extension detects when a connected device's firmware is out of date and lets you update it from the IDE.
- New UI Application and SPI-display project templates.
Fixes
- Fixed the duplicate-NuGet exclamation mark (⚠) shown with
PackageReference. - Resource accessors (
GetBytes()/GetBitmap()) are now generated automatically — you no longer need to run Run Custom Tool.
Known issues
- UI Designer: in a
Grid, a control whoseGrid.Row/Grid.Columnwas greater than the number of defined rows/columns overlapped other controls in the preview. - UI Designer: a control inside a
ScrollViewercannot be selected by clicking it on the canvas. - UI Designer: an image with
Stretch="None"wrong scale. - UI Designer: a resource whose name is not a valid C# identifier (for example
ghi-logo) causes build errors.
TinyCLR Config
- Rebuilt for internal consistency with this release; the version was updated to stay in sync with TinyCLR 3.0.1.1000. No functional changes.
Visual Studio Code extension
- Migrated to SDK-style projects (
dotnet add package+dotnet build), with support for adding image, font, binary, string, and text resources.
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