Skip to content

Windows App SDK 2.3.1

Latest

Choose a tag to compare

@agniuks agniuks released this 17 Jul 02:44
c046292

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.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.
  • 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 DefaultStyleOptimizations and OptimizeApplyStyles XamlChangeIds, including optimized XamlControlsResources styles, a lighter FontIcon/BitmapIcon visual tree, and faster ThemeResource and ResourceDictionary lookups.
  • AI IntelliSense documentation. Added IntelliSense documentation for the stable APIs in the Microsoft.WindowsAppSDK.AI NuGet 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: