Latest stable channel release notes for the Windows App SDK
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
Downloads for the Windows App SDK
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.
Version 1.7
The following sections describe new and updated features and known issues for version 1.7.
In an existing Windows App SDK app, you can update your Nuget package to 1.7.250310001 (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.
Version 1.7.0 (1.7.250310001)
New Badge Notifications Feature
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.
New CameraCaptureUI API
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.
New Authentication API
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.
New Background Task support
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.
New TitleBar control
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.
Support for MathML
RichEditBox
now supports MathML, via RichEditTextDocument.SetMathMode
and RichEditTextDocument.SetMathML
.
For more info, see GitHub #4196.
Enhanced Runtime
- 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
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.
New Island APIs
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.
Other notable changes
- 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!
New APIs for 1.7.0
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
Bug fixes
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.
Related topics
Windows developer