Skip to content

Windows App SDK 2.2.0

Latest

Choose a tag to compare

@agniuks agniuks released this 09 Jun 23:30
9bde038

Windows App SDK 2.2.0

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.

What's new in WinAppSDK 2.2.0:

  • Video Super Resolution AI API. The new 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.
  • New 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.
  • New XamlBindingHelper APIs. Added boxing-free value setter overloads to XamlBindingHelper (SetPropertyFromThickness, SetPropertyFromCornerRadius, SetPropertyFromColor) and exposed the Setter.ValueProperty dependency property.

Bug fixes:

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

New or updated APIs (since 2.1.3):

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

Try it out

  • Download the 2.2.0 NuGet package to use WinAppSDK 2.0 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: