title | description | ms.topic | ms.date | keywords | ms.localizationpriority |
---|---|---|---|---|---|
Stable channel release notes for the Windows App SDK | Provides information about the stable release channel for the Windows App SDK. | article | 03/18/2025 | windows win32, windows app development, Windows App SDK | medium |
The stable channel provides releases of the Windows App SDK that are supported for use by apps in production environments. Apps that use the stable release of the Windows App SDK can also be published to the Microsoft Store.
Important links:
- If you'd like to upgrade an existing app from an older version of the Windows App SDK to a newer version, see Update existing projects to the latest release of the Windows App SDK.
Stable channel release note archive:
- Stable channel release notes for the Windows App SDK 1.6
- Stable channel release notes for the Windows App SDK 1.5
- Stable channel release notes for the Windows App SDK 1.4
- Stable channel release notes for the Windows App SDK 1.3
- Stable channel release notes for the Windows App SDK 1.2
- Stable channel release notes for the Windows App SDK 1.1
- Stable channel release notes for the Windows App SDK 1.0
- Stable channel release notes for the Windows App SDK 0.8
- Stable channel release notes for the Windows App SDK 0.5
Note
The Windows App SDK Visual Studio Extensions (VSIX) are no longer distributed as a separate download. They are available in the Visual Studio Marketplace inside Visual Studio.
In an existing Windows App SDK app, you can update your Nuget package to 1.7.250401001 (see the Update a package section in Install and manage packages in Visual Studio using the NuGet Package Manager).
For the updated runtime and MSIX, see Downloads for the Windows App SDK.
This is a servicing release of the Windows App SDK that includes critical bug fixes for the 1.7 release.
- Improved the telemetry for failure scenarios in
WindowsAppRuntimeInstall-<arch>.exe
. For more info, see GitHub issue #5289. (RuntimeCompatibilityChange: N/A for this installer change) - Fixed an issue where pointer input would stop working when using arrow keys at the same time. For more info, see GitHub issue #10126. (RuntimeCompatibilityChange:
FixStuckPointerInputQueue
) - Fixed an issue where apps in remote desktop stop responding to pointer input. For more info, see GitHub issue #10009. (This is the same fix as the pointer input plus arrow keys fix, due to remote desktop automatically sending some key input during the switch away and back.) (RuntimeCompatibilityChange:
FixStuckPointerInputQueue
) - Fixed a potential crash trying to restore focus if a window activation event is delivered for a window which is closing. (RuntimeCompatibilityChange:
FixWindowCloseFocusCrash
) - Fixed a performance regression introduced in WinAppSDK 1.6 due to WinUI binaries missing some linker optimizations. (RuntimeCompatibilityChange: N/A, changed linker options)
- Fixed a potential crash if
ProgressBar::SetProgressBarIndicatorWidth
is called on a ProgressBar which is not in the tree. (RuntimeCompatibilityChange:FixSetProgressBarIndicatorWidthCrash
) - Fixed a potential crash caused by
CPopup::EnsureBridgeClosed
sometimes triggering reentrancy. (RuntimeCompatibilityChange:FixPopupClosingReentrancyCrash
) - Fixed a potential crash when closing a popup due to
CUIElement::FlushPendingKeepVisibleOperations
using a null children collection. (RuntimeCompatibilityChange:FixPopupUnloadingCrash
) - Fixed
PackageDeploymentManager.EnsurePackage*Ready
to ensure version supersedence. For more info, see GitHub issue #5191. (RuntimeCompatibilityChange:EnsurePackageReadyVersionSupercedence
) - Fixed a potential crash caused by
WebView2::UpdateCoreWebViewVisibility
sometimes triggering reentrancy. For more info, see GitHub issue #10305. (RuntimeCompatibilityChange:FixWebViewVisibilityReentrancyCrash
) - Fixed an issue where app UI sometimes permanently freezes and can stop rendering due to the DispatcherQueue getting stuck. (RuntimeCompatibilityChange:
FixRandomUIFreezeInDispatcher
)
The following sections describe new and updated features and known issues for version 1.7.
The notification badge conveys a summary or status information specific to an app. This can be numeric (1-99) or a glyph from one of the system-provided glyphs. This new functionality provides an easy way for apps to show status, such as number of unread mails in a mail app or number of new posts in a social media app.
For more info, see GitHub #4926.
Developers have encountered challenges in the desktop environments due to WinRT CameraCaptureUI being dependent on CoreWindows, and lack of InitializeWithWindow support. The team has released this new Microsoft.Windows.Media.Capture.CameraCaptureUI
API to WinAppSDK to provide a streamlined solution with feature parity, now supporting WindowID in the constructor for enhanced desktop compatibility.
For more info, see GitHub issue #4721.
A new OAuth2Manager
API provides a streamlined solution for web authentication, offering OAuth 2.0 capabilities with full feature parity across all Windows platforms supported by Windows App SDK. This new Authentication Manager is different from the public WebAuthentication Broker API, as it better aligns with OAuth best practices.
For more info, see GitHub issue #4772.
Background tasks are app components that run in the background without a user interface, performing actions like download files, syncing data, sending notifications or updating files. The new BackgroundTaskBuilder
API provides WinAppSDK dependent apps the ability to directly register the full trust COM components with background tasks, removing the need to implement a workaround.
For more info, see GitHub #4831.
A new TitleBar
control makes it much easier to create a great, customizable titlebar for your app. Configure properties such as the titlebar icon, Title, and Subtitle, include an integrated back button, or even add a custom control like a search box! The control includes robust titlebar capabilities like empty-space draggable regions, theme responsiveness, caption buttons, and built-in accessibility support so you can focus on your personalized design and still get the same reliable titlebar as the default experience.
For more info, see GitHub #10056.
RichEditBox
now supports MathML, via RichEditTextDocument.SetMathMode
and RichEditTextDocument.SetMathML
.
For more info, see GitHub #4196.
- Windows App SDK's Dynamic Dependencies APIs delegate all calls to Windows 11's implementation when running on >= Windows 11 24H2 (10.0.26100.0) providing improved performance and robustness. This holds true for all C/C++ (Mdd*()) and WinRT (namespace Microsoft.Windows.ApplicationModel.DynamicDependency) APIs.
- Packaged processes calling Windows App SDK's Dynamic Dependencies APIs is now supported on >= Windows 11 24H2 (10.0.26100.0). This is still unsupported on older systems (WinAppSDK's implementation doesn't support packaged apps).
- This has no impact to the developer experience. Callers can continue using the Bootstrapper API to add the WinAppSDK framework package to the calling process' package graph.
- For more info, see GitHub PR #4949.
- Undocked Registration-free WinRT (URFW) is not enabled on >= Windows 11 24H2 (10.0.26100.0). The OS' implementation handles all Registration-free WinRT activity on these systems providing improved performance and robustness. For more info, see GitHub PR #4949.
- Detours is not used on >= Windows 11 24H2 (10.0.26100.0). Detours was only used by Windows App SDK's implementations of Dynamic Dependencies and Registration-free WinRT, but as those features are now handled by the OS' implementations there's no need for them to initialize or otherwise wire up Detours. This provides a small performance gain when loading Microsoft.WindowsAppRuntime.dll. For more info, see GitHub PR #4949.
New AppWindow
APIs make it easier to control your app windows to create a great experience. New capabilities include using SetTaskBarIcon
and SetTitleBarIcon
to independently set the taskbar and titlebar icons, using AppWindowTitleBar.PreferredTheme
to set the light/dark theme of the titlebar, and using new properties like OverlappedPresenter.PreferredMinimumWidth
and OverlappedPresenter.PreferredMaximumHeight
to set a minimum or maximum width or height for the window.
The updates in the Microsoft.UI.Content namespace introduce several significant enhancements and new features aimed at improving the functionality and interoperability of the ContentIsland APIs. These changes are designed to support new hosting scenarios, enhance rendering capabilities, and ensure better synchronization of input and accessibility states. Key updates include:
- New primitives for hosting ContentIslands:
DesktopPopupSiteBridge
: Enables hosting aContentIsland
in the environment of a Win32 window with WS_POPUP style, facilitating scenarios where applications use popup windows for dialog boxes and message boxes.ChildSiteLink
: Allows a parentContentIsland
to host a nested childContentIsland
, providing a seamless partitioning of the rendering surface without user experience seams.DesktopAttachedSiteBridge
: Attaches to an existing Win32 window instead of creating a new one, designed to host aContentIsland
with Windows.UI.Composition.Visuals at the root of the Win32 window hierarchy, ensuring full control over Win32-based input processing and accessibility.
- Enhanced rendering and input synchronization:
- The
LocalToParentTransformMatrix
andActualSize
properties of aChildSiteLink
are updated relative to the parentContentIsland
before rendering, avoiding latency and ensuring synchronized input and accessibility states.
- The
- ContentIslands with Windows.UI.Composition.Visuals:
ContentIsland
can use Windows.UI.Composition.Visuals for rendering and Win32 window APIs for input processing, enabling interoperability with applications that use legacy UX frameworks. This allows for a gradual adoption of newer UX frameworks layered on top of the Windows App SDK Scene Graph, such as WinUI and React Native for Windows on Fabric. These updates collectively enhance the flexibility, performance, and interoperability of the ContentIsland APIs, enabling developers to create more sophisticated and responsive applications.
Additionally, the updates in the Microsoft.UI.Xaml namespace introduce a new XamlIsland
API, which allows for the hosting of Xaml content within a SiteBridge or a ChildSiteLink
. The XamlIsland
offers greater flexibility compared to the DesktopWindowXamlSource
API. While DesktopWindowXamlSource
requires hosting within an existing Win32 window, the XamlIsland
exposes a ContentIsland
, enabling more options for hosting Xaml content.
- New
RuntimeCompatibilityOptions
support will allow more control over how servicing changes affect apps. For more info, see GitHub #4966. - A new
ReleaseInfo
API provides easy access to the version of the Windows App SDK Runtime in use. For more info, see GitHub #2893. - Note: Windows Copilot Runtime APIs are not included this release. To experiment with these APIs, please continue to use the 1.7-experimental3 release and share your feedback!
This release includes the following new APIs compared to the stable 1.6 release:
Microsoft.Security.Authentication.OAuth AuthFailure AuthRequestParams AuthRequestResult AuthResponse ClientAuthentication CodeChallengeMethodKind OAuth2Manager TokenFailure TokenFailureKind TokenRequestParams TokenRequestResult TokenResponse
Microsoft.UI.Content ChildSiteLink ContentAutomationOptions ContentEnvironmentStateChangedEventArgs DidDisplayScaleChange ContentIsland AutomationOption Children CreateForSystemVisual FindAllForSystemCompositor FragmentRootAutomationProvider GetBySystemVisual LocalToClientTransformMatrix LocalToParentTransformMatrix NextSiblingAutomationProvider ParentAutomationProvider Popups PreviousSiblingAutomationProvider ProcessesKeyboardInput ProcessesPointerInput ContentIslandEnvironment DisplayScale ContentIslandStateChangedEventArgs DidLocalToClientTransformMatrixChange DidLocalToParentTransformMatrixChange ContentSite LocalToClientTransformMatrix LocalToParentTransformMatrix ProcessesKeyboardInput ProcessesPointerInput ContentSiteAutomationProviderRequestedEventArgs ContentSiteEnvironment DisplayScale ContentSiteEnvironmentView DisplayScale ContentSiteView AutomationOption LocalToClientTransformMatrix LocalToParentTransformMatrix ProcessesKeyboardInput ProcessesPointerInput DesktopAttachedSiteBridge DesktopChildSiteBridge CreateWithDispatcherQueue DesktopPopupSiteBridge IContentSiteAutomation IContentSiteInput IContentSiteLink
Microsoft.UI.Input InputFocusNavigationHost GetForSiteLink
Microsoft.UI.Text RichEditTextDocument GetMathML GetMathMode SetMathML SetMathMode
Microsoft.UI.Windowing AppWindow SetTaskbarIcon SetTaskbarIcon SetTitleBarIcon SetTitleBarIcon AppWindowTitleBar PreferredTheme OverlappedPresenter PreferredMaximumHeight PreferredMaximumWidth PreferredMinimumHeight PreferredMinimumWidth TitleBarTheme
Microsoft.UI.Xaml XamlIsland XamlRoot ContentIsland
Microsoft.UI.Xaml.Controls TitleBar TitleBarAutomationPeer TitleBarTemplateSettings
Microsoft.Windows.ApplicationModel.Background BackgroundTaskBuilder
Microsoft.Windows.ApplicationModel.Background.UniversalBGTask Task
Microsoft.Windows.ApplicationModel.WindowsAppRuntime ReleaseInfo RuntimeCompatibilityChange RuntimeCompatibilityOptions RuntimeInfo WindowsAppRuntimeVersion
Microsoft.Windows.BadgeNotifications BadgeNotificationGlyph BadgeNotificationManager
Microsoft.Windows.Media.Capture CameraCaptureUI CameraCaptureUIMaxPhotoResolution CameraCaptureUIMaxVideoResolution CameraCaptureUIMode CameraCaptureUIPhotoCaptureSettings CameraCaptureUIPhotoFormat CameraCaptureUIVideoCaptureSettings CameraCaptureUIVideoFormat
This release includes the following bug fixes:
- Changed
SplitButton
so touch input now matches the behavior of mouse input. For more info, see GitHub issue #178. - Changed cascading menus so sub menus now open immediately if clicked. For more info, see GitHub issue #939.
- Fixed an issue where opening a
ComboBox
which is in a flyout closes all flyouts. For more info, see GitHub issue #1467. - Fixed an issue where
SwipeControl
would randomly crash in aListView
. For more info, see GitHub issue #2527. - Fixed an issue where drag-and-drop only a
ListViewItem
would leave it in the wrong visual state. For more info, see GitHub issue #3458. - Fixed an issue in
StackLayout
so that it respects the ItemsRepeater.HorizontalAlignment and ItemsRepeater.VerticalAlignment properties (when StackLayout.Orientation is Vertical and Horizontal respectively). The old layout behaved as if the ItemsRepeater alignment was Stretch. With the fix, the layout results in items aligned to the right when the Right alignment is used, for example. For more info, see GitHub issue #3842. - Fixed a potential crash when using a resource which contains an
x:Bind
. For more info, see GitHub issue #5786. - Fixed an issue where deleting items in the
ItemsRepeater
's source would not generate items which moved up into view. For more info, see GitHub issue #6661. - Fixed an issue where the right Alt key would not show keytips for Access Keys. For more info, see GitHub issue #8447. Note: This may result in key events for the right Alt key no longer being delivered to handles in the app or controls.
- Fixed an issue where using a ResourceDictionary containing only a single resource would fail to find that resource and likely cause a crash. For more info, see GitHub issue #8832.
- Fixed a crash where
UniformGridLayout
would sometimes pick a wrong layout anchor and cause infinite layout passes when scrolling backwards. For more info, see GitHub issue #9199. - Fixed an issue where setting
NavigationFailedEventArgs.Handled
to True would still throw an exception. For more info, see GitHub issue #9632. - Fixed an issue where
TabView
would not apply any specifiedCornerRadius
. For more info, see GitHub issue #9846. - Fixed a potential layout cycle crash in
StackLayout
. For more info, see GitHub issue #9852. - Fixed a potential crash in
ItemsView
when removing items. For more info, see GitHub issue #9868. - Fixed an issue in 1.7-preview1 where popups no longer correctly moved with their parent window. For more info, see GitHub issue #10386.
- Based on feedback from 1.7-preview1, renamed some properties on the new
TitleBar
control.