Stable release channel 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.
The following releases of the stable channel are currently available:
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.
The Windows App SDK was previously known by the code name Project Reunion. Some SDK assets such as the VSIX extension and NuGet packages still use the code name, but these assets will be renamed in a future release. Some areas of the documentation still use Project Reunion when referring to an existing asset or a specified earlier release.
The latest available release of the stable channel is the servicing release 0.8.2.
This is a servicing release of the Windows App SDK that includes more critical bug fixes for the 0.8.0 release.
- Windows App SDK and WinUI 3 are now supported in Visual Studio 2022 Preview 2 and above.
- For .NET apps, you may receive the following error when passing in an array of enums:
Object contains non-primitive or non-blittable data.
- Writing using the HandWriting Panel inside a textbox causes a crash
- Icons/images always load at their 100% scale value rather than based on the monitor scale value
- Garbage collection of EventSource<T> causes subsequent failure to unsubscribe handlers (see GitHub issue for more details)
- Security fix – see CVE-2021-34533 for more details.
- SwapChainPanel.CompositionScaleChanged sometimes returning incorrect CompositionScale values after changing display scale
The limitations and known issues for version 0.8 also apply to version 0.8.2, unless marked otherwise in the section below.
This is a servicing release of the Windows App SDK that includes a few critical bug fixes for the 0.8.0 release.
- Windows App SDK cannot run on the latest Windows Insider build
- Crash in EditableComboBox when entering a value that does not appear in dropdown
- WebView2 doesn't allow user to tab out once focused has been received
- Fully qualify Windows.Foundation.Metadata.DefaultOverload namespace in WinUI generated code to avoid namespace ambiguity
- This fixes bug #5108.
- Security fix – see CVE-2021-34489 for more details.
The limitations and known issues for version 0.8 also apply to version 0.8.1, unless marked otherwise in the section below.
New features and updates
This release supports all stable channel features.
This release includes many bug fixes and improved stabilization across WinUI 3. These are all of the new changes in WinUI 3 since the release of WinUI 3 - Project Reunion 0.5:
The Pivot control has been added back in and can now be used in any WinUI 3 app.
All bug fixes from Project Reunion v0.5.5, v0.5.6, and v0.5.7 are included with this release.
New bug fixes, including:
- Mouse right-click in TextBox crashes the application
- NavigationView causes crash in UWP, Reunion 0.5 Preview
- ProgressBar doesn't show difference between Paused and Error option
- Crash in RichEditBox when copying/pasting/changing text style
- Window caption buttons are misplaced when SetTitleBar is not set or null
For the full list of bugs addressed in this release, see our GitHub repo.
ColorHelper.ToDisplayNameAPI is no longer available.
The following types have been removed:
All types in the
Microsoft.Systemnamespace have been moved to the
Microsoft.UI.Dispatchingnamespace, including the DispatcherQueue class.
AcrylicBrush.BackgroundSourceproperty has been removed, since
HostBackdropis not supported as a
BackgroundSourcein WinUI 3.
For more information on WinUI, see Windows UI 3 Library (WinUI).
To get started developing with WinUI, check out the following articles:
- WinUI 3 project templates in Visual Studio
- Get started developing apps with WinUI 3
- WinUI 3 desktop apps and basic Win32 interop
- WinUI 3 API Reference
This release of DWriteCore includes the following new and updated features. DWriteCore is introduced and described in the DWriteCore overview.
- DWriteCore now has support for underline—see IDWriteTextLayout::GetUnderline and IDWriteTextLayout::SetUnderline.
- Support for strikethrough—see IDWriteTextLayout::GetStrikethrough and IDWriteTextLayout::SetStrikethrough.
- Support for vertical text via IDWriteTextLayout—see Vertical text.
- All of the methods of the IDWriteTextAnalyzer and IDWriteTextAnalyzer1 interfaces are implemented.
- The DWriteCoreCreateFactory free function creates a factory object that is used for subsequent creation of individual DWriteCore objects.
DWriteCoreCreateFactory is functionally the same as the DWriteCreateFactory function exported by the system version of DirectWrite. The DWriteCore function has a different name to avoid ambiguity in the event that you link both
- The Build Action for resources is automatically set when you add the resource to your project, reducing the need for manual project configuration.
This release is not currently supported on the Dev Channel of the Windows Insider Program. This is fixed in version 0.8.1.
Desktop apps (C# .NET 5 or C++ desktop): This release is supported for use only in desktop apps (C++ or C# with .NET 5) that are packaged using MSIX. To use the Windows App SDK in unpackaged desktop apps, you must use the experimental release channel.
UWP apps: This release is not supported for UWP apps that are used in production environments. To use the Windows App SDK in UWP apps, you must use the experimental release channel.
WinUI 3 tooling such as Live Visual Tree, Live Property Explorer, and Hot Reload in version 0.8 and later requires Visual Studio 2019 16.11 Preview 3 or later.
Apps currently using WinUI 3 and the Windows App SDK 0.8 cannot use class libraries that use Project Reunion 0.5. Update the class libraries to use the Windows App SDK 0.8.
.NET apps must target build 18362 or higher: Your TFM must be set to net5.0-windows10.0.18362 or higher, and your packaging project's must be set to 18362 or higher. For more info, see GitHub issue #921.
You may encounter a crash when switching frequently between light and dark mode.
For .NET apps, you may receive the following error when passing in an array of enums:
Object contains non-primitive or non-blittable data.This is fixed in version 0.8.2.
For .NET apps, there is currently no way to opt out of an image getting indexed as an app resource using the Visual Studio UI. To work around this, add a Directory.Build.targets (see Customize your build - Visual Studio for instructions) to the project and remove the image(s) as follows:
To remove specific images (note that the relative path is needed):
<Project> <ItemGroup> <Content Remove="..\Bitmap1.bmp" /> </ItemGroup> </Project>
To remove images based on metadata:
<Project> <ItemGroup> <Content Remove="@(None->WithMetadataValue('Pack','true'))" /> </ItemGroup> </Project>
A fix for this issue is planned for an upcoming release - at that point, the above workarounds will no longer be needed.
The latest available servicing release is 0.5.7.
New features and updates
This release supports all stable channel features.
Known issues and limitations
This release has the following limitations and known issues:
- Desktop apps (C# .NET 5 or C++ desktop): This release is supported for use only in desktop apps (C++ or C# with .NET 5) that are packaged using MSIX. To use the Windows App SDK in unpackaged desktop apps, you must use the experimental release channel.
- UWP apps: This release is not supported for UWP apps that are used in production environments. To use the Windows App SDK in UWP apps, you must use a release from the experimental release channel.
- .NET apps must target build 18362 or higher: Your TFM must be set to
net5.0-windows10.0.18362or higher, and your packaging project's
<TargetPlatformVersion>must be set to 18362 or higher. For more info, see the known issue on GitHub.