Releases: microsoft/WindowsAppSDK
Release list
Windows App SDK 1.8.12 (1.8.260921001)
Windows App SDK 1.8.12 is the final servicing release for version 1.8. It fixes a Windows ML issue that could expose an unavailable execution provider on certain Arm64 devices.
Bug fixes
| Bug fix | Runtime Compatibility Change |
|---|---|
Fixed an issue where ExecutionProviderCatalog.FindAllProviders could return an execution provider in the NotPresent state on certain Arm64 devices even though ExecutionProvider.EnsureReadyAsync could not acquire it. The unavailable provider is no longer returned on affected devices. |
N/A, Windows ML provider availability fix |
To see everything that's new and changed, see the full Windows App SDK 1.8.12 release notes.
Try it out
- Download the 1.8.260921001 NuGet package to use WinAppSDK 1.8 in your app.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
2.5 Experimental (2.5.4-experimental) 🧪
Windows App SDK 2.5 Experimental is the latest experimental release, adding new Windows AI capabilities, code-based theme resource bindings and DataTemplate construction, the new TableView and Chart controls, and expanded WinUI 3 inking support. It follows Windows App SDK 2.5.1 stable and brings forward the changes from that release alongside the experimental-only additions below.
What's new in WinAppSDK 2.5 Experimental:
- Windows AI device selection. New
AIComputeDeviceAPIs let apps choose the default, CPU, or NPU execution device for text recognition. App Content Index image indexing can use the same preference for OCR throughContentRegionImageOptions.PreferredTextRecognizerDevice. - AI Speech and language model updates. New speech recognition factories improve model configuration and creation, while updated audio, streaming, and continuous recognition APIs expand speech scenarios. Language model APIs now expose model identity, low-rank adapter compatibility, and response statuses for game mode and low video memory.
- Theme resource binding from code. The experimental
FrameworkElement.SetThemeResourceBindingAPI lets apps create the equivalent of a{ThemeResource}binding programmatically. - Delegate-based
DataTemplateconstruction. A new experimentalDataTemplateconstructor accepts an app-provided delegate that creates the template's element subtree. TableViewcontrol. The experimentalTableViewcontrol is now available in the public WinMDs, with grouping, templated group headers, sorting and filtering, resizable columns, and optional cell and header tooltips.Chartcontrol. A new experimental WinUI 3Chartcontrol presents Cartesian data as line, area, and bar series, with configurable axes, legends, labels, and markers.- WinUI 3 inking updates. New
InkPresenter.ActivateCustomDryingandInkSynchronizerAPIs let apps render committed ink themselves, andInkToolbarnow targets anInkPresenterdirectly.
Bugs fixed:
- Fixed an access violation that could occur when reading
InkPresenter.StrokeContainerwhile custom drying was active. - Fixed
InkCanvaspresenter sizing under aRenderTransform. - Fixed a WinUI resource-tracking issue that could cause memory usage to grow when apps repeatedly created visual-state storyboards or resolved static or theme resources.
- Improved cleanup of unreachable native WinUI objects in .NET apps after tab or page teardown.
To see everything that's new and changed, see the full Windows App SDK 2.5 Experimental release notes.
Try it out
- Download the 2.5.4-experimental NuGet package to use WinAppSDK 2.5 Experimental in your app.
- Download and update the WinUI Gallery to see the WinUI 3 updates firsthand.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Windows App SDK 2.5.1
Windows App SDK 2.5.1 adds Windows Error Reporting support for self-contained .NET MSIX apps, introduces limited-access app content search APIs, and includes reliability fixes across WinUI 3, input, composition, deployment, and Windows AI.
What's new in WinAppSDK 2.5.1:
- Windows Error Reporting support. Self-contained .NET MSIX apps can now use the
windows.diagnosticServiceModulepackage-manifest extension to declare diagnostic modules, allowing Windows Error Reporting to load them and collect actionable crash dumps. - Limited-access AppContentSearch APIs. Apps with a limited-access feature token can use the new
AppContentIndexAPIs to index text and images, perform lexical queries, and use semantic matching on supported NPU-enabled devices. The APIs support semantic search and retrieval-augmented generation scenarios.
Bug fixes:
| Bug Fix | Runtime Compatibility Change |
|---|---|
| Fixed a crash in windowed-popup input handling when a focus or pointer event was processed after the popup's island had been disposed. | PointerInputProcessor_ReleaseCaptureOnDisposedIsland |
Fixed a crash in NavigationView when resizing the control could produce a negative pane MaxHeight. |
NavigationView_UpdatePaneLayoutNegativeMaxHeight |
Fixed an issue where the property set returned by ElementCompositionPreview.GetPointerPositionPropertySet stopped updating while a pointer was pressed. |
PointerPositionPropertySet_UpdateWhilePressed |
Fixed a crash in NavigationView when an expanded item's flyout was shown after the item had been collapsed or recycled. |
NavigationViewItem_DeferredFlyoutShowStaleState |
Fixed a fail-fast when a KeyboardAccelerator used an OEM or punctuation key and displayed the accelerator shortcut label. |
KeyboardAccelerator_OemKeyNoFailFast |
| Fixed a fatal process exit during XAML shutdown in apps hosting WinUI 3 on more than one UI thread. | WindowsXamlManager_ActivationFactoryCacheResetRace |
Fixed an issue where a CommandBar with no secondary commands could show an empty overflow button at fractional display scales such as 175%. |
CommandBar_SpuriousOverflowButtonAtFractionalScale |
Fixed an issue that prevented apps using the System Composition Engine from calling VisualInteractionSource.CreateFromIVisualElement. |
CompositionEngine_SwitcherSeptemberFixes |
Fixed effect graphs and SceneLighting rendering for apps using the System Composition Engine. |
CompositionEngine_SwitcherSeptemberFixes |
Fixed InputPointerSource.ActivationBehavior not honoring NoActivate when using the System Composition Engine. |
CompositionEngine_SwitcherSeptemberFixes |
Fixed CompositionEngine selection behavior for null inputs and no-op selections. |
CompositionEngine_SwitcherSeptemberFixes |
| Fixed cursor customization for lifted input when using the System Composition Engine. | CompositionEngine_SwitcherSeptemberFixes |
Fixed ICompositionObject queries on gradient stop collections when using the System Composition Engine. |
N/A, operating system composition fix |
Fixed ContentExternalOutputLink border and background behavior when using the System Composition Engine. |
N/A, operating system composition fix |
Fixed access to VisualReferenceController when using the System Composition Engine. |
N/A, operating system composition fix |
| Fixed a registration issue that could occur when installing the Windows App SDK. | N/A, deployment registration fix |
| Fixed an issue where Video Super Resolution could fail during initialization or inference with the updated ONNX Runtime dependency. | N/A, dependency compatibility update |
To see everything that's new and changed, see the full Windows App SDK 2.5.1 release notes.
Try it out
- Download the 2.5.1 NuGet package to use WinAppSDK 2.5 in your app.
- Download and update the WinUI Gallery to see the WinUI 3 updates firsthand.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
2.4 Experimental (2.4.1-experimental) 🧪
Windows App SDK 2.4 Experimental (2.4.1-experimental) 🧪
Windows App SDK 2.4 Experimental is the latest experimental release, headlined by inking support for WinUI 3. It follows Windows App SDK 2.4.0 stable and generally brings forward the changes from that release alongside the experimental-only addition below.
What's new in WinAppSDK 2.4 Experimental:
- Inking support for WinUI 3. The new
InkCanvas,InkToolbar, andInkPresenterAPIs add pen and touch input, clipboard and high-contrast support, stroke input, and unprocessed input to WinUI 3 apps.
To see everything that's new and changed, see the full Windows App SDK 2.4 Experimental release notes.
Try it out
- Download the 2.4.1-experimental NuGet package to use WinAppSDK 2.4 in your app.
- Download and update the WinUI Gallery to see the WinUI 3 updates firsthand.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Windows App SDK 2.4.0
Windows App SDK 2.4.0
Windows App SDK 2.4.0 is the latest stable release on the 2.x line, adding expanded input support, more precise LanguageModel response statuses, and targeted reliability fixes across input, Storage Pickers, MRT Core, app runtime isolation, composition, and XAML tooling.
What's new in WinAppSDK 2.4.0:
- Expanded input support. WinUI 3 apps can now use operating system touchpad and mouse haptics through
Windows.Devices.Haptics, along with touchpad single-finger panning, when supported by the operating system and hardware. - More precise
LanguageModelresponse statuses. The newLanguageModelResponseStatus.UnsupportedLanguageandLanguageModelResponseStatus.LanguageMismatchvalues let apps distinguish unsupported-language and input/output-language mismatch conditions from generic errors.
Bug fixes:
| Bug Fix | Runtime Compatibility Change |
|---|---|
| Fixed a crash that could occur when a touch or pen contact left a scrollable area with precise timing. | InputPointerSource_DepartingScrollInputCrashFix |
| Fixed an issue where the Storage Pickers left the calling WinUI app window without keyboard focus after the file dialog closed. The app now restores its previous focus. See GitHub issue microsoft/WindowsAppSDK#6505. | StoragePickers_RestoreFocusAfterDialogCloses |
Fixed a regression where MrmGetFilePathFromName returned ERROR_FILE_NOT_FOUND when the PRI file didn't exist instead of returning the documented fallback path. See GitHub issue microsoft/WindowsAppSDK#5940. |
ResourceManager_RestoreDefaultFallbackPath |
Fixed an issue where MICROSOFT_WINDOWSAPPRUNTIME_BASE_DIRECTORY could be inherited by child processes, disrupting MRT Core and catalog lookups. See GitHub issue microsoft/WindowsAppSDK#5987. |
WindowsAppRuntime_BaseDirectoryIsolation |
Fixed a crash when apps using the System Composition Engine called VisualInteractionSource.TryRedirectForManipulation. |
N/A, operating system composition bridge fix |
Fixed the access modifier on the generated C# entry point helper when DISABLE_XAML_GENERATED_MAIN is defined. See GitHub issue microsoft/microsoft-ui-xaml#11245. |
N/A, build-time tooling change |
To see everything that's new and changed, see the full Windows App SDK 2.4.0 release notes.
Try it out
- Download the 2.4.0 NuGet package to use WinAppSDK 2.4 in your app.
- Download and update the WinUI Gallery to see the WinUI 3 updates firsthand.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
2.3.2-experimentalA 🧪
Windows App SDK 2.3 Experimental A (2.3.2-experimentalA) 🧪
Windows App SDK 2.3 Experimental A is the latest experimental release, headlined by new DPI-aware window sizing from XAML, a substantial round of App Content Index indexing and reliability improvements, and additional Windows AI and speech APIs. It builds on the Windows App SDK 2.3.1 stable release and adds the experimental-only work described below.
What's new in WinAppSDK 2.3 Experimental A:
Window.WidthandWindow.Height. New properties give apps a DPI-aware way to get and set a window's size in logical (client) pixels directly from code or markup, without reaching throughWindow.AppWindowand doing manual logical-to-physical DPI conversion. CompanionWindow.MinWidth,Window.MinHeight,Window.MaxWidth, andWindow.MaxHeightproperties constrain the window's size.- App Content Index improvements. The experimental App Content Index APIs add faster batch indexing via
AppContentIndexer.BatchAddOrUpdate, direct indexing of bitmap and image-stream content (with OCR and semantic options), static ranking boosts for individual content items or regions, ICU-based multilingual tokenization, and automatic recovery from index corruption. Indexing and query paths are also substantially faster, with more stable lexical ranking. - Structured JSON generation. A new
LanguageModel.GenerateStructuredJsonResponseAsyncAPI lets apps generate structured JSON output from the on-device language model, making it easier to get typed, machine-readable results back from a prompt. - Speech recognition cleanup. The experimental
SpeechAudioProvidernow implementsIClosable, so apps can deterministically release the provider withClose/Disposewhen they finish streaming audio.
To see everything that's new and changed, see the full Windows App SDK 2.3 Experimental A release notes.
Try it out
- Download the 2.3.2-experimentalA NuGet package to use WinAppSDK 2.3 in your app.
- Download and update the WinUI Gallery to see the WinUI 3 updates firsthand.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Windows App SDK 1.8.11 (1.8.260804001)
Windows App SDK 1.8.11 (1.8.260804001)
WinAppSDK 1.8.11 is the latest stable servicing release for 1.8, with fixes for Storage Picker focus restoration, MRT Core fallback paths, and Windows App Runtime base-directory isolation.
Bug fixes:
| Bug Fix | Runtime Compatibility Change |
|---|---|
Fixed an issue where the Storage Pickers (FileOpenPicker, FileSavePicker, and FolderPicker) left the calling WinUI app window without keyboard focus after the file dialog closed. The app now restores its previous focus. See GitHub issue microsoft/WindowsAppSDK#6505. |
StoragePickers_RestoreFocusAfterDialogCloses |
Fixed a regression where MrmGetFilePathFromName returned ERROR_FILE_NOT_FOUND when the PRI file didn't exist instead of returning the documented fallback path. See GitHub issue microsoft/WindowsAppSDK#5940. |
ResourceManager_RestoreDefaultFallbackPath |
Fixed an issue where MICROSOFT_WINDOWSAPPRUNTIME_BASE_DIRECTORY could be inherited by child processes, disrupting MRT Core and catalog lookups. See GitHub issue microsoft/WindowsAppSDK#5987. |
WindowsAppRuntime_BaseDirectoryIsolation |
To see everything that's new and changed, see the full Windows App SDK 1.8.11 release notes.
Try it out
- Download the 1.8.260804001 NuGet package to use WinAppSDK 1.8 in your app.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Windows App SDK 2.3.1
Windows App SDK 2.3.1
Windows App SDK 2.3.1 is the latest stable release on the 2.x line, with a new structured JSON output API for Phi Silica, the XamlOptionalChanges API for opting into XAML breaking changes, an unstable CompositionEngine Limited Access Feature, Video Super Resolution improvements, ARM64EC support for Windows ML, a broad set of XAML performance optimizations, and a batch of reliability fixes.
What's new in WinAppSDK 2.3.1:
- Structured JSON output for Phi Silica. The new
LanguageModel.GenerateStructuredJsonResponseAsyncAPI generates language-model responses constrained to a caller-supplied JSON Schema, so apps get well-formed, schema-conformant output instead of free-form text they have to parse themselves. XamlOptionalChanges. A new API that lets apps opt into optional breaking changes before XAML initialization. In the same release, theDISABLE_XAML_GENERATED_MAINpreprocessor constant now renames the generatedmain()method (C#:XamlGeneratedProgram.XamlGeneratedMain(); C++/WinRT:wXamlGeneratedMain()) instead of removing it, so a custommain()can invoke the default implementation. See PR microsoft/microsoft-ui-xaml#11110.CompositionEngine(Limited Access Feature). A new, unstable Limited Access Feature that lets apps opt into using the OS as the engine for the Composition APIs.- Video Super Resolution improvements. Fixed NPU detection, added CPU support, and improved performance for Video Super Resolution.
- Windows ML: ARM64EC support. Windows ML now supports ARM64EC, alongside a fix to execution-provider enumeration in certain scenarios.
- XAML performance optimizations. This release adds a broad set of startup, styling, and resource-lookup optimizations. Several are opt-in through the
DefaultStyleOptimizationsandOptimizeApplyStylesXamlChangeIds, including optimizedXamlControlsResourcesstyles, a lighterFontIcon/BitmapIconvisual tree, and fasterThemeResourceandResourceDictionarylookups. - AI IntelliSense documentation. Added IntelliSense documentation for the stable APIs in the
Microsoft.WindowsAppSDK.AINuGet package.
Bug fixes:
| Bug Fix | Runtime Compatibility Change |
|---|---|
Fixed ApplicationData.GetForUnpackaged().LocalSettings() opening a registry key at a roaming path (HKCU\SOFTWARE\publisher\product) instead of a machine-local one, so unpackaged app settings now persist in the correct location. See GitHub issue microsoft/WindowsAppSDK#6559. |
ApplicationData_GetForUnpackaged_LocalSettings |
Fixed a crash that could repeatedly bring down backgroundTaskHost.exe when a background task had no stored CLSID, and added graceful handling when CoCreateInstance fails. See GitHub issue microsoft/WindowsAppSDK#5870. |
UniversalBGTask_RunCrash |
| Fixed windowed and non-windowed flyouts appearing misaligned (about one item-height above the parent item) for side placements when they open upward near the bottom of the screen. | Flyout_SidePlacementFlipUpAlignmentFix |
Fixed a crash in MediaPlayerPresenter when the GPU device is lost during media playback event handling. |
MediaPlayerPresenter_DeviceLostCrash |
Fixed a use-after-free crash in CPopupRoot::ReplayPointerUpdate when a popup is closed synchronously during pointer-event replay. |
CPopupRoot_ReplayPointerUpdateCrash |
Fixed a crash (null LayoutState dereference) in UniformGridLayout and FlowLayout that could occur when a collection change was raised on an ItemsRepeater that was no longer loaded. |
UniformGridLayoutFlowLayout_OnItemsChangedNullLayoutStateCrash |
To see everything that's new and changed, see the full Windows App SDK 2.3.1 release notes.
Try it out
- Download the 2.3.1 NuGet package to use WinAppSDK 2.3 in your app.
- Download and update the WinUI Gallery to see the WinUI 3 updates firsthand.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Windows App SDK 1.8.10 (1.8.260710003)
Windows App SDK 1.8.10 (1.8.260710003)
WinAppSDK 1.8.10 is the latest stable servicing release for 1.8, with a reliability fix for Microsoft.UI.System.ThemeSettings.
Bug fixes:
| Bug Fix | Runtime Compatibility Change |
|---|---|
Fixed an issue where Microsoft.UI.System.ThemeSettings could crash an app if it was destroyed on a background thread, for example when destroyed by the .NET garbage collector. |
ThemeSettings_OffThreadDestructorFix |
To see everything that's new and changed, see the full Windows App SDK 1.8.10 release notes.
Try it out
- Download the 1.8.260710003 NuGet package to use WinAppSDK 1.8 in your app.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
2.2 Experimental 9 (2.2.2-experimental9) 🧪
Windows App SDK 2.2 Experimental 9 (2.2.2-experimental9) 🧪
Windows App SDK 2.2 Experimental 9 is the latest experimental release. It ships alongside Windows App SDK 2.2.0 stable and generally brings over the changes from that release; the highlights below describe the experimental-only additions.
What's new in WinAppSDK 2.2 Experimental 9:
- Language Model APIs on GPU [Experimental]. The Language Model APIs now run on non-Copilot+ PCs equipped with a supported GPU, bringing local language model capabilities to a broader range of Windows 11 devices. Supported hardware includes NVIDIA GeForce RTX 30 series and newer with 6+ GB vRAM. GPU inference requires Developer Mode to be enabled and a Windows Insider Experimental Channel build. The GPU model is not pre-installed; it is downloaded on demand via
EnsureReadyAsyncthrough Windows Update. Apps should checkGetReadyStateand display a consent dialog before triggering the download. Users can manage the model at Settings > System > AI Components. For responsible AI guidance, see the new Transparency Note: Language Model APIs on Non-Copilot+ PCs. - Speech Recognition APIs [Experimental]. New on-device speech recognition APIs in
Microsoft.Windows.AI.Speechenable both batch and streaming speech-to-text.BatchRecognitionrecognizes a complete audio source in a single call, andStreamingRecognitionraisesRecognizingandRecognizedevents. Audio can be sourced from a device (AudioConfiguration.FromAudioDevice), file (FromFile), input stream (FromStream), or pushed by the caller viaSpeechAudioProvider(16 kHz, 16-bit, single-channel PCM). The on-device model is managed viaSpeechRecognitionModel.EnsureReadyAsync/TryCreateAsync, with download and load progress reported throughSpeechRecognitionModelProgress. - New
NpuTypeAPI. A newMicrosoft.Windows.Workloads.NpuTypeenum surfaces the NPU class on the current device (for example,Qnn,Lnl,Stx,Win365,Unknown,None), so apps and Workloads infrastructure can route AI workloads to the appropriate execution path.
This release also rolls forward all changes from the 2.2.0 stable release: the new Microsoft.Windows.AI.Video.VideoScaler Video Super Resolution API, the new Microsoft.Windows.Storage.ApplicationData.GetForUnpackaged() entry point for unpackaged apps, the new XamlBindingHelper boxing-free setter overloads, and the WinUI / Windows ML reliability fixes shipped in 2.2.0.
New or updated APIs (since 2.1 Experimental 8):
Microsoft.UI.Xaml
Setter
ValueProperty
Microsoft.UI.Xaml.Markup
XamlBindingHelper
SetPropertyFromColor
SetPropertyFromCornerRadius
SetPropertyFromThickness
Microsoft.Windows.AI.Speech
AudioConfiguration
BatchRecognition
SpeechAudioProvider
SpeechContract
SpeechRecognitionModel
SpeechRecognitionModelProgress
SpeechRecognitionModelProgressStatus
SpeechRecognitionModelResult
StreamingRecognition
StreamingRecognizedEventArgs
StreamingRecognizingEventArgs
Microsoft.Windows.AI.Text.Experimental
LanguageModelExperimental
CompressPromptAsync
GenerateResponseAsync
GenerateResponseFromEmbeddingsAsync
LanguageModelOptionsExperimental
PreferredRetentionRatio
Microsoft.Windows.Workloads
NpuType
Try it out
- Download the 2.2.2-experimental9 NuGet package to use WinAppSDK 2.2 Experimental 9 in your app.
Getting started
To get started using Windows App SDK to develop Windows apps, check out the following documentation: