NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1485 most downloaded on NuGet
The Windows App SDK empowers all Windows Desktop apps with modern Windows UI, APIs, and platform features, including back-compat support.
Last release 8 days ago
29 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 5 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
127 years old
123 releases · first in 1900
Nothing published for this version
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 i
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.
windows.diagnosticServiceModule package-manifest extension to declare diagnostic modules, allowing Windows Error Reporting to load them and collect actionable crash dumps.AppContentIndex APIs 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 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.
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
One column per quarter.
Nothing published for this version
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 t
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.
Windows.Devices.Haptics, along with touchpad single-finger panning, when supported by the operating system and hardware.LanguageModel response statuses. The new LanguageModelResponseStatus.UnsupportedLanguage and LanguageModelResponseStatus.LanguageMismatch values let apps distinguish unsupported-language and input/output-language mismatch conditions from generic errors.| 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.
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
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.
Window.Width and Window.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 through Window.AppWindow and doing manual logical-to-physical DPI conversion. Companion Window.MinWidth, Window.MinHeight, Window.MaxWidth, and Window.MaxHeight properties constrain the window's size.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.LanguageModel.GenerateStructuredJsonResponseAsync API 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.SpeechAudioProvider now implements IClosable, so apps can deterministically release the provider with Close/Dispose when they finish streaming audio.To see everything that's new and changed, see the full Windows App SDK 2.3 Experimental A release notes.
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
…the XamlOptionalChanges API for opting into XAML breaking changes, an unstable CompositionEngine Limited Access Feature, Video Super Resolution improv…
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.
LanguageModel.GenerateStructuredJsonResponseAsync API 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, the DISABLE_XAML_GENERATED_MAIN preprocessor constant now renames the generated main() method (C#: XamlGeneratedProgram.XamlGeneratedMain(); C++/WinRT: wXamlGeneratedMain()) instead of removing it, so a custom main() 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.DefaultStyleOptimizations and OptimizeApplyStyles XamlChangeIds, including optimized XamlControlsResources styles, a lighter FontIcon/BitmapIcon visual tree, and faster ThemeResource and ResourceDictionary lookups.Microsoft.WindowsAppSDK.AI NuGet package.| 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.
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Nothing published for this version
WinAppSDK 2.2.0 is the latest stable servicing release for 2.0, with a new Windows AI video upscaling API, a first-class ApplicationData entry point f
WinAppSDK 2.2.0 is the latest stable servicing release for 2.0, with a new Windows AI video upscaling API, a first-class ApplicationData entry point for unpackaged apps, additions to XamlBindingHelper, and a batch of WinUI and Windows ML reliability fixes.
Microsoft.Windows.AI.Video.VideoScaler API delivers real-time video enhancement through advanced AI upscaling, optimized for streams featuring people in conversation. It enables developers to provide sharper, clearer visuals across conferencing, streaming, and editing platforms, even under poor network conditions. The API supports customization of output resolution, frame rate, and regions of interest, with compatibility for multiple video formats including BGR, RGB, and NV12. VideoScaler is disposable, and includes a capability check so apps can validate VSR support at runtime. Explicit Windows ML initialization is not required.ApplicationData API for unpackaged apps. Microsoft.Windows.Storage.ApplicationData.GetForUnpackaged() gives unpackaged apps a first-class WinRT entry point to per-user / per-machine application data, matching the surface previously available only to packaged apps. This simplifies future packaged ↔ unpackaged migration and removes the need for Registry-API workarounds.XamlBindingHelper APIs. Added boxing-free value setter overloads to XamlBindingHelper (SetPropertyFromThickness, SetPropertyFromCornerRadius, SetPropertyFromColor) and exposed the Setter.ValueProperty dependency property.| Bug fix | Runtime Compatibility Change |
|---|---|
Fixed a crash in RenderTargetBitmap when the target element leaves the visual tree (for example, a popup closes) before PreCommit completes. RenderAsync now returns E_ABORT instead of crashing. |
RenderTargetBitmap_PreCommitCrashOnTreeLeave |
Fixed a use-after-free crash in ScrollView when the control is destroyed while its hide-indicators timer tick is still pending. See microsoft/microsoft-ui-xaml#10514. |
ScrollView_HideIndicatorsTimerUseAfterFree |
Fixed a potential crash in Microsoft.UI.Xaml.dll!DirectUI::DXamlCore::GetPeerPrivate caused by attempting to access an object scheduled to be freed. |
GetPeerPrivate_UseAfterFree |
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 |
| Fixed a crash that could occur on certain devices when active touch contacts were canceled by input hardware, such as when pen input overrides them. | InputPointerSource_PointerCancelCrashFix |
| Fixed an issue where sparse-packaged apps were unable to discover module-specific PRI files. See microsoft/WindowsAppSDK#6375. | MRTCore_SparsePackagedPriFallback |
| Fixed a string ownership bug when using the Flat-C Windows ML Catalog API. | WindowsMLFlatCCatalog_CallbackStringOwnership |
| Fixed a potential issue in Windows ML during process shutdown. | WindowsML_ComRundownFix |
| Fixed potential COM initialization and teardown issues in Windows ML. | WindowsML_ComInitializationFix |
Microsoft.UI.Xaml
Setter
ValueProperty
Microsoft.UI.Xaml.Markup
XamlBindingHelper
SetPropertyFromColor
SetPropertyFromCornerRadius
SetPropertyFromThickness
Microsoft.Windows.AI.Video
VideoScaler
VideoScalerOptions
VideoScalerResult
VideoScalerStatus
Microsoft.Windows.Storage
ApplicationData
GetForUnpackaged
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Nothing published for this version
Windows App SDK 2.1.3 is the latest stable servicing release on the 2.x line, with new TitleBar drag-region APIs in WinUI, the LoRA API for Phi Silica
Windows App SDK 2.1.3 is the latest stable servicing release on the 2.x line, with new TitleBar drag-region APIs in WinUI, the LoRA API for Phi Silica promoted to the stable surface, a new Copilot+ PC detection API, expanded Windows ML execution-provider support, an ONNX Runtime update, and a batch of reliability fixes.
TitleBar now recursively walks TitleBar.Content and automatically excludes interactive controls from the drag region while keeping empty gaps draggable by default. Three new APIs (TitleBar.IsDragRegion attached property, TitleBar.AutoRefreshDragRegions, and TitleBar.RecomputeDragRegions()) give developers explicit control when the default behavior isn't sufficient. See PR microsoft/microsoft-ui-xaml#10936 and tracking issue microsoft/microsoft-ui-xaml#10421.LanguageModelLowRankAdapter.CreateFromPath and LanguageModelOptions.LowRankAdapter. See Phi Silica LoRA for details.| Bug Fix | Runtime Compatibility Change |
|---|---|
Fixed a memory leak in ItemsRepeater where recycled elements were never garbage collected due to a reference cycle through the RecyclePool, which could also cause crashes in InvalidateChildrenMeasure. |
ItemTemplateWrapper_RecyclePoolLeak |
Fixed a crash where an implicit Show/Hide animation completion callback could access a destroyed CUIElement, causing an access violation. The callback now uses a weak reference to safely handle the case where the element is destroyed before the animation completes. |
Animation_FixImplicitHideAnimationCrash |
Fixed an issue where windowed popup content opened in a XAML Island did not respect OverrideScale, causing content to appear oversized and clipped. See GitHub issue microsoft/microsoft-ui-xaml#11000. |
Popup_WindowedPopupOverrideScale |
Fixed a fail-fast crash caused by re-entrant dispatch during cross-apartment COM release operations in UIAffinityReleaseQueue::DoCleanup. |
UIAffinityReleaseQueue_PauseDispatchDuringCleanup |
Fixed ambiguous module lookup in WinUI when multiple modules with the same name are loaded in the same process. GetModuleHandleW has been replaced with GetModuleHandleExW so the correct module is resolved by address. |
GetModuleHandle_FixAmbiguousModuleLookup |
Fixed an integer divide-by-zero crash in UniformGridLayout::GetMajorSize when an ItemsRepeater is laid out in an available width narrower than one item's minor stride. |
UniformGridLayout_GetItemsPerLineDivideByZero |
| Fixed a potential crash when a package has been uninstalled prior to being processed. | PackageManager_FixCrash |
Fixed an issue where GetReadyState could return incorrect error codes (for example, DisabledByUser or NotSupportedOnCurrentSystem) when required packages were not yet deployed. The API now correctly reports NotReady in this scenario, improving diagnostic clarity. |
ModelInitialization_GetReadyStateAvailabilityGuard |
Fixed an issue where XAML compiler errors were silently lost when using dotnet build, showing only MSB3073: exited with code 1 instead of the actual error messages. See GitHub issue microsoft/microsoft-ui-xaml#9813. |
N/A, build-time XAML compiler tooling change |
To see everything that's new and changed, see the full Windows App SDK 2.1.3 release notes.
To get started using Windows App SDK to develop Windows apps, check out the following documentation:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →