From 72a150293df09d9384dbe39d5438a40b0636e4d9 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Fri, 6 Sep 2024 07:11:40 -0700 Subject: [PATCH 1/6] templates, archived, dvdr cmts, list spacing --- .../webview2/release-notes/archive.md | 1173 +++++++++++++++++ .../webview2/release-notes/index.md | 1156 ++++------------ 2 files changed, 1402 insertions(+), 927 deletions(-) diff --git a/microsoft-edge/webview2/release-notes/archive.md b/microsoft-edge/webview2/release-notes/archive.md index 8172ffbaed..85fdb4102a 100644 --- a/microsoft-edge/webview2/release-notes/archive.md +++ b/microsoft-edge/webview2/release-notes/archive.md @@ -13,6 +13,938 @@ ms.date: 05/28/2024 These Release Notes provide information about added features and bug fixes that are included in the WebView2 Release SDK and the WebView2 Prerelease SDK, for older releases. + +## 1.0.2478.35 + +Release Date: April 22, 2024 + +[NuGet package for WebView2 SDK 1.0.2478.35](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2478.35) + +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 124.0.2478.35 or higher. + + + +#### Promotions + +The following APIs have been promoted to Stable and are now included in this Release SDK. + + + +* Added the Runtime selection feature to support more prerelease testing and flighting scenarios. You can specify `ReleaseChannels` to choose which channels are searched for during environment creation, and `ChannelSearchKind` to select a search order. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.channelsearchkind?view=webview2-dotnet-1.0.2478.35&preserve-view=true) + * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.releasechannels?view=webview2-dotnet-1.0.2478.35&preserve-view=true) + +* [CoreWebView2ChannelSearchKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2channelsearchkind?view=webview2-dotnet-1.0.2478.35&preserve-view=true) + * `MostStable` + * `LeastStable` + +* [CoreWebView2ReleaseChannels Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2releasechannels?view=webview2-dotnet-1.0.2478.35&preserve-view=true) + * `None` + * `Stable` + * `Beta` + * `Dev` + * `Canary` + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2478.35&preserve-view=true#channelsearchkind) + * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2478.35&preserve-view=true#releasechannels) + +* [CoreWebView2ChannelSearchKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2channelsearchkind?view=webview2-winrt-1.0.2478.35&preserve-view=true) + * `MostStable` + * `LeastStable` + +* [CoreWebView2ReleaseChannels Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2releasechannels?view=webview2-winrt-1.0.2478.35&preserve-view=true) + * `None` + * `Stable` + * `Beta` + * `Dev` + * `Canary` + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2EnvironmentOptions7](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true) + * [ICoreWebView2EnvironmentOptions7::get_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#get_channelsearchkind) + * [ICoreWebView2EnvironmentOptions7::put_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#put_channelsearchkind) + * [ICoreWebView2EnvironmentOptions7::get_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#get_releasechannels) + * [ICoreWebView2EnvironmentOptions7::put_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#put_releasechannels) + +* [COREWEBVIEW2_CHANNEL_SEARCH_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2478.35&preserve-view=true#corewebview2_channel_search_kind) + * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE` + * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE` + +* [COREWEBVIEW2_RELEASE_CHANNELS enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2478.35&preserve-view=true#corewebview2_release_channels) + * `COREWEBVIEW2_RELEASE_CHANNELS_NONE` + * `COREWEBVIEW2_RELEASE_CHANNELS_STABLE` + * `COREWEBVIEW2_RELEASE_CHANNELS_BETA` + * `COREWEBVIEW2_RELEASE_CHANNELS_DEV` + * `COREWEBVIEW2_RELEASE_CHANNELS_CANARY` + +--- + + + +#### Bug fixes + + + +###### Runtime-only + +* Fixes a potential integer overflow that could lead to a crash when using `AdditionalObjects` in the WebMessage API. + + + + + + +## 1.0.2526-prerelease + +Release Date: April 22, 2024 + +[NuGet package for WebView2 SDK 1.0.2526-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2526-prerelease) + +For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 125.0.2526.0 or higher. + + + +#### Breaking changes + +The minimum .NET Framework version requirement for .NET WebView2, including WPF and WinForms controls, has been updated from .NET Framework 4.5 to .NET Framework 4.6.2. + + + +#### Experimental APIs + +The following Experimental APIs have been added in this Prerelease SDK. + +* Added `SaveAs` APIs that allow you to programmatically perform the **Save as** operation. You can use these APIs to block the default **Save as** dialog, and then either save silently, or build your own UI for **Save as**. These APIs pertain only to the **Save as** dialog, not the **Download** dialog, which continues to use the existing Download APIs. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.SaveAsUIShowing Event](/dotnet/api/microsoft.web.webview2.core.corewebview2.saveasuishowing?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2.ShowSaveAsUIAsync Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.showsaveasuiasync?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + +* [CoreWebView2SaveAsKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2saveaskind?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * `Complete` + * `Default` + * `HtmlOnly` + * `SingleFile` + +* [CoreWebView2SaveAsUIResult Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuiresult?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * `Cancelled` + * `FileAlreadyExists` + * `InvalidPath` + * `KindNotSupported` + * `Success` + +* `CoreWebView2SaveAsUIShowingEventArgs` Class: + * [CoreWebView2SaveAsUIShowingEventArgs.AllowReplace Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.allowreplace?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2SaveAsUIShowingEventArgs.Cancel Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.cancel?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.contentmimetype?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2SaveAsUIShowingEventArgs.Kind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.kind?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.saveasfilepath?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.suppressdefaultdialog?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * [CoreWebView2SaveAsUIShowingEventArgs.GetDeferral Method](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.getdeferral?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.SaveAsUIShowing Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#saveasuishowing) + * [CoreWebView2.ShowSaveAsUIAsync Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#showsaveasuiasync) + +* [CoreWebView2SaveAsKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveaskind?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true) + * `Complete` + * `Default` + * `HtmlOnly` + * `SingleFile` + +* [CoreWebView2SaveAsUIResult Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuiresult?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true) + * `Cancelled` + * `FileAlreadyExists` + * `InvalidPath` + * `KindNotSupported` + * `Success` + +* `CoreWebView2SaveAsUIShowingEventArgs` Class: + * [CoreWebView2SaveAsUIShowingEventArgs.AllowReplace Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#allowreplace) + * [CoreWebView2SaveAsUIShowingEventArgs.Cancel Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#cancel) + * [CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#contentmimetype) + * [CoreWebView2SaveAsUIShowingEventArgs.Kind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#kind) + * [CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#saveasfilepath) + * [CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#suppressdefaultdialog) + * [CoreWebView2SaveAsUIShowingEventArgs.GetDeferral Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#getdeferral) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2Experimental25](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true) + * [ICoreWebView2Experimental25::add_SaveAsUIShowing](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true#add_saveasuishowing) + * [ICoreWebView2Experimental25::remove_SaveAsUIShowing](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true#remove_saveasuishowing) + * [ICoreWebView2Experimental25::ShowSaveAsUI](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true#showsaveasui) + +* [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_AllowReplace](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_allowreplace) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_cancel) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_ContentMimeType](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_contentmimetype) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_Kind](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_kind) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_SaveAsFilePath](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_saveasfilepath) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_SuppressDefaultDialog](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_suppressdefaultdialog) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::GetDeferral](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#getdeferral) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_AllowReplace](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_allowreplace) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_cancel) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_Kind](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_kind) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_SaveAsFilePath](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_saveasfilepath) + * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_SuppressDefaultDialog](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_suppressdefaultdialog) + +* [ICoreWebView2ExperimentalSaveAsUIShowingEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventhandler?view=webview2-1.0.2526-prerelease&preserve-view=true) + +* [ICoreWebView2ExperimentalShowSaveAsUICompletedHandler](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalshowsaveasuicompletedhandler?view=webview2-1.0.2526-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalShowSaveAsUICompletedHandler::Invoke](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalshowsaveasuicompletedhandler?view=webview2-1.0.2526-prerelease&preserve-view=true#invoke) + +* [COREWEBVIEW2_SAVE_AS_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2526-prerelease&preserve-view=true#corewebview2_save_as_kind) + * `COREWEBVIEW2_SAVE_AS_KIND_DEFAULT` + * `COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY` + * `COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE` + * `COREWEBVIEW2_SAVE_AS_KIND_COMPLETE` + +* [COREWEBVIEW2_SAVE_AS_UI_RESULT enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2526-prerelease&preserve-view=true#corewebview2_save_as_ui_result) + * `COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS` + * `COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH` + * `COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS` + * `COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED` + * `COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED` + +--- + + + +#### Promotions + +The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. + + + +* Support for the Fluent Style Overlay Scrollbar. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.scrollbarstyle?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + +* [CoreWebView2ScrollbarStyle Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2scrollbarstyle?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) + * `Default` + * `FluentOverlay` + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#scrollbarstyle) + +* [CoreWebView2ScrollbarStyle Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2scrollbarstyle?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true) + * `Default` + * `FluentOverlay` + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2EnvironmentOptions8](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions8?view=webview2-1.0.2526-prerelease&preserve-view=true) + * [ICoreWebView2EnvironmentOptions8::get_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions8?view=webview2-1.0.2526-prerelease&preserve-view=true#get_scrollbarstyle) + * [ICoreWebView2EnvironmentOptions8::put_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions8?view=webview2-1.0.2526-prerelease&preserve-view=true#put_scrollbarstyle) + +* [COREWEBVIEW2_SCROLLBAR_STYLE enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2526-prerelease&preserve-view=true#corewebview2_scrollbar_style) + * `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` + * `COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY` + +--- + + + +#### Bug fixes + + + +###### Runtime and SDK + +* Fixed a bug in WinRT JavaScript projection where passing in a typed array resulted in an "Interface Not Supported" error. ([Issue #3486](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3486)) + +* Added support for handling `out` array parameters in WinRT JavaScript projection. + + + +###### Runtime-only + +* Fixed a bug where the Image Auto-captioning feature was enabled by default. + +* Fixed a bug where if the `LaunchingExternalURIScheme` event handler is attached, if the **always remember** checkbox is enabled and the user selects this checkbox, the dialog will incorrectly be shown again. + +* Fixed `GetNonClientRegionAtPoint` incorrectly returning `Nowhere` for some points. + +* Fixed a bug where the Text Services Framework would disconnect upon dropping a file onto a WebView2 region. + +* Fixed a bug where the View Source **Ctrl+U** keyboard shortcut remained enabled when the `AreDevToolsEnabled` setting was `false`. + +* Fixed a bug where a composable IME was duplicated upon regaining focus. ([Issue #1610](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1610)) + +* Ensured that `devicePixelRatio` is synchronized with custom rasterization scales. ([Issue #3060](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3060)) + +* Fixed a race condition when using `CallDevToolsProtocolMethod` events in `NewWindowRequested`. ([Issue #4181](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4181)) + +* Fixed a crash that can occur in WPF `TabIntoCore` when the `Controller` has been destroyed but the user tries to tab into the control (pressing the **Tab** key). ([Issue #4452](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4452)) + +* Ensured that spellcheck takes input language with case-insensitive format. + +* Made the Language API more robust regarding user input. + +* Fixed a bug where the **Save password?** prompt is not displayed. + + + +###### SDK-only + +* Fixed missing `AreBrowserExtensionsEnabled` API in WinRT projection. + + + + + + +## 1.0.2420.47 + +Release Date: March 25, 2024 + +[NuGet package for WebView2 SDK 1.0.2420.47](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2420.47) + +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 123.0.2420.47 or higher. + + + +#### Promotions + +The following APIs have been promoted to Stable and are now included in this Release SDK. + + + +* Added a new API to provide hit-testing results on the regions that a WebView2 contains. This API is useful for visually hosted applications that want to handle mouse events on the non-client area of the WebView2 window. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2CompositionController` Class: + * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.getnonclientregionatpoint?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + * [CoreWebView2CompositionController.NonClientRegionChanged Event](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.nonclientregionchanged?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + * [CoreWebView2CompositionController.QueryNonClientRegion Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.querynonclientregion?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + +* `CoreWebView2NonClientRegionChangedEventArgs` Class: + * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionchangedeventargs.regionkind?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + +* [CoreWebView2NonClientRegionKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + * `Caption` + * `Client` + * `Nowhere` + +* `CoreWebView2Settings` Class: + * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/dotnet/api/microsoft.web.webview2.core.corewebview2settings.isnonclientregionsupportenabled?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2CompositionController` Class: + * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2420.47&preserve-view=true#getnonclientregionatpoint) + * [CoreWebView2CompositionController.NonClientRegionChanged Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2420.47&preserve-view=true#nonclientregionchanged) + * [CoreWebView2CompositionController.QueryNonClientRegion Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2420.47&preserve-view=true#querynonclientregion) + +* `CoreWebView2NonClientRegionChangedEventArgs` Class: + * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionchangedeventargs?view=webview2-winrt-1.0.2420.47&preserve-view=true#regionkind) + +* [CoreWebView2NonClientRegionKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2420.47&preserve-view=true) + * `Caption` + * `Client` + * `Nowhere` + +* `CoreWebView2Settings` Class: + * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2settings?view=webview2-winrt-1.0.2420.47&preserve-view=true#isnonclientregionsupportenabled) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2CompositionController4](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true) + * [ICoreWebView2CompositionController4::add_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#add_nonclientregionchanged) + * [ICoreWebView2CompositionController4::GetNonClientRegionAtPoint](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#getnonclientregionatpoint) + * [ICoreWebView2CompositionController4::QueryNonClientRegion](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#querynonclientregion) + * [ICoreWebView2CompositionController4::remove_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#remove_nonclientregionchanged) + +* [ICoreWebView2NonClientRegionChangedEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2420.47&preserve-view=true) + * [ICoreWebView2NonClientRegionChangedEventArgs::get_RegionKind](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2420.47&preserve-view=true#get_regionkind) + +* [ICoreWebView2NonClientRegionChangedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventhandler?view=webview2-1.0.2420.47&preserve-view=true) + +* [ICoreWebView2RegionRectCollectionView](/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview?view=webview2-1.0.2420.47&preserve-view=true) + +* [ICoreWebView2Settings9](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2420.47&preserve-view=true) + * [ICoreWebView2Settings9::get_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2420.47&preserve-view=true#get_isnonclientregionsupportenabled) + * [ICoreWebView2Settings9::put_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2420.47&preserve-view=true#put_isnonclientregionsupportenabled) + +* [COREWEBVIEW2_NON_CLIENT_REGION_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2420.47&preserve-view=true#corewebview2_non_client_region_kind) + * `COREWEBVIEW2_NON_CLIENT_REGION_KIND_CAPTION` + * `COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT` + * `COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE` + +--- + + + +* Added the `FailureSourceModulePath` property to the `ProcessFailedEventArgs` type, to specify the full path of the module that caused the crash in cases of Windows code integrity failures - that is, when a process exited with `STATUS_INVALID_IMAGE_HASH`. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2ProcessFailedEventArgs` Class: + * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/dotnet/api/microsoft.web.webview2.core.corewebview2processfailedeventargs.failuresourcemodulepath?view=webview2-dotnet-1.0.2420.47&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2ProcessFailedEventArgs` Class: + * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2processfailedeventargs?view=webview2-winrt-1.0.2420.47&preserve-view=true#failuresourcemodulepath) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2ProcessFailedEventArgs3](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2420.47&preserve-view=true) + * [ICoreWebView2ProcessFailedEventArgs3::get_FailureSourceModulePath](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2420.47&preserve-view=true#get_failuresourcemodulepath) + +--- + + + +#### Bug fixes + + +###### SDK-only + +* The .NET assemblies for WinForms and WPF are now shipped with optimization enabled. ([Issue #4409](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4409)) + + + + + + +## 1.0.2470-prerelease + +Release Date: March 25, 2024 + +[NuGet package for WebView2 SDK 1.0.2470-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2470-prerelease) + +For full API compatibility, this Prerelease version of the WebView2 SDK requires WebView2 Runtime version 124.0.2470.0 or higher. + + + + +#### Experimental APIs + +The following Experimental APIs have been added in this Prerelease SDK. + + + +* Support for the Fluent Style Overlay Scrollbar. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.scrollbarstyle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + +* [CoreWebView2ScrollbarStyle Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2scrollbarstyle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * `Default` + * `FluentOverlay` + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#scrollbarstyle) + +* [CoreWebView2ScrollbarStyle Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2scrollbarstyle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) + * `Default` + * `FluentOverlay` + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2ExperimentalEnvironmentOptions2](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironmentoptions2?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalEnvironmentOptions2::get_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironmentoptions2?view=webview2-1.0.2470-prerelease&preserve-view=true#get_scrollbarstyle) + * [ICoreWebView2ExperimentalEnvironmentOptions2::put_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironmentoptions2?view=webview2-1.0.2470-prerelease&preserve-view=true#put_scrollbarstyle) + +* [COREWEBVIEW2_SCROLLBAR_STYLE enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_scrollbar_style) + * `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` + * `COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY` + +--- + + + +* Updated the WebMessageObjects API to allow injecting DOM objects into WebView2 content that's constructed via the app and via the `CoreWebView2.PostWebMessage` API in the other direction. Added a new web object type to represent a file system handle that can be posted to the web content to provide it with filesystem access. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.PostWebMessageAsJsonWithAdditionalObjects Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.postwebmessageasjsonwithadditionalobjects?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + +* `CoreWebView2Environment` Class: + * [CoreWebView2Environment.CreateWebFileSystemDirectoryHandle Method](/dotnet/api/microsoft.web.webview2.core.corewebview2environment.createwebfilesystemdirectoryhandle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * [CoreWebView2Environment.CreateWebFileSystemFileHandle Method](/dotnet/api/microsoft.web.webview2.core.corewebview2environment.createwebfilesystemfilehandle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + +* `CoreWebView2FileSystemHandle` Class: + * [CoreWebView2FileSystemHandle.Kind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandle.kind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * [CoreWebView2FileSystemHandle.Path Property](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandle.path?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * [CoreWebView2FileSystemHandle.Permission Property](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandle.permission?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + +* [CoreWebView2FileSystemHandleKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandlekind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * `File` + * `Directory` + +* [CoreWebView2FileSystemHandlePermission Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandlepermission?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * `ReadOnly` + * `ReadWrite` + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.PostWebMessageAsJsonWithAdditionalObjects Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#postwebmessageasjsonwithadditionalobjects) + +* `CoreWebView2Environment` Class: + * [CoreWebView2Environment.CreateWebFileSystemDirectoryHandle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#createwebfilesystemdirectoryhandle) + * [CoreWebView2Environment.CreateWebFileSystemFileHandle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#createwebfilesystemfilehandle) + +* `CoreWebView2FileSystemHandle` Class: + * [CoreWebView2FileSystemHandle.Kind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#kind) + * [CoreWebView2FileSystemHandle.Path Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#path) + * [CoreWebView2FileSystemHandle.Permission Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#permission) + +* [CoreWebView2FileSystemHandleKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandlekind?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) + * `File` + * `Directory` + +* [CoreWebView2FileSystemHandlePermission Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandlepermission?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) + * `ReadOnly` + * `ReadWrite` + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2Experimental24](/microsoft-edge/webview2/reference/win32/icorewebview2experimental24?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2Experimental24::PostWebMessageAsJsonWithAdditionalObjects](/microsoft-edge/webview2/reference/win32/icorewebview2experimental24?view=webview2-1.0.2470-prerelease&preserve-view=true#postwebmessageasjsonwithadditionalobjects) + +* [ICoreWebView2ExperimentalEnvironment14](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalEnvironment14::CreateObjectCollection](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true#createobjectcollection) + * [ICoreWebView2ExperimentalEnvironment14::CreateWebFileSystemDirectoryHandle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true#createwebfilesystemdirectoryhandle) + * [ICoreWebView2ExperimentalEnvironment14::CreateWebFileSystemFileHandle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true#createwebfilesystemfilehandle) + +* [ICoreWebView2ExperimentalFileSystemHandle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalFileSystemHandle::get_Kind](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true#get_kind) + * [ICoreWebView2ExperimentalFileSystemHandle::get_Path](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true#get_path) + * [ICoreWebView2ExperimentalFileSystemHandle::get_Permission](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true#get_permission) + +* [ICoreWebView2ExperimentalObjectCollection](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalobjectcollection?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalObjectCollection::InsertValueAtIndex](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalobjectcollection?view=webview2-1.0.2470-prerelease&preserve-view=true#insertvalueatindex) + * [ICoreWebView2ExperimentalObjectCollection::RemoveValueAtIndex](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalobjectcollection?view=webview2-1.0.2470-prerelease&preserve-view=true#removevalueatindex) + +* [COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_file_system_handle_kind) + * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_FILE` + * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_DIRECTORY` + +* [COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_file_system_handle_permission) + * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_ONLY` + * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_WRITE` + +--- + + + +#### Promotions + +The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. + + + +* Added the Runtime selection feature to support more prerelease testing and flighting scenarios. You can specify `ReleaseChannels` to choose which channels are searched for during environment creation, and `ChannelSearchKind` to select a search order. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.channelsearchkind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.releasechannels?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + +* [CoreWebView2ChannelSearchKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2channelsearchkind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * `MostStable` + * `LeastStable` + +* [CoreWebView2ReleaseChannels Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2releasechannels?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + * `None` + * `Stable` + * `Beta` + * `Dev` + * `Canary` + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2EnvironmentOptions` Class: + * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#channelsearchkind) + * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#releasechannels) + +* [CoreWebView2ChannelSearchKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2channelsearchkind?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) + * `MostStable` + * `LeastStable` + +* [CoreWebView2ReleaseChannels Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2releasechannels?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) + * `None` + * `Stable` + * `Beta` + * `Dev` + * `Canary` + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2EnvironmentOptions7](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2EnvironmentOptions7::get_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#get_channelsearchkind) + * [ICoreWebView2EnvironmentOptions7::put_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#put_channelsearchkind) + * [ICoreWebView2EnvironmentOptions7::get_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#get_releasechannels) + * [ICoreWebView2EnvironmentOptions7::put_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#put_releasechannels) + +* [COREWEBVIEW2_CHANNEL_SEARCH_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_channel_search_kind) + * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE` + * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE` + +* [COREWEBVIEW2_RELEASE_CHANNELS enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_release_channels) + * `COREWEBVIEW2_RELEASE_CHANNELS_NONE` + * `COREWEBVIEW2_RELEASE_CHANNELS_STABLE` + * `COREWEBVIEW2_RELEASE_CHANNELS_BETA` + * `COREWEBVIEW2_RELEASE_CHANNELS_DEV` + * `COREWEBVIEW2_RELEASE_CHANNELS_CANARY` + +--- + + + +* Added the `FailureSourceModulePath` property to the `ProcessFailedEventArgs` type, to specify the full path of the module that caused the crash in cases of Windows code integrity failures - that is, when a process exited with `STATUS_INVALID_IMAGE_HASH`. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2ProcessFailedEventArgs` Class: + * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/dotnet/api/microsoft.web.webview2.core.corewebview2processfailedeventargs.failuresourcemodulepath?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2ProcessFailedEventArgs` Class: + * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2processfailedeventargs?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#failuresourcemodulepath) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2ProcessFailedEventArgs3](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2470-prerelease&preserve-view=true) + * [ICoreWebView2ProcessFailedEventArgs3::get_FailureSourceModulePath](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2470-prerelease&preserve-view=true#get_failuresourcemodulepath) + +--- + + + +#### Bug fixes + + + +###### Runtime-only + +* Fixed a reliability regression that could crash the application process when an old version of WebView2 client DLL is unloaded. + +* Ensured that the WebView2 temporary download folder is unique per user data folder, and doesn't interfere with other apps or the browser. + + + + + + +## 1.0.2365.46 + +Release Date: February 26, 2024 + +[NuGet package for WebView2 SDK 1.0.2365.46](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2365.46) + +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 122.0.2365.46 or higher. + + + +#### Promotions + +The following APIs have been promoted to Stable and are now included in this Release SDK. + + + +* Added support for `WebResourceRequested` for workers, which allows setting filters in order to receive `WebResourceRequested` events for service workers, shared workers, and different-origin iframes. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.AddWebResourceRequestedFilter Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.addwebresourcerequestedfilter?view=webview2-dotnet-1.0.2365.46&preserve-view=true) + * [CoreWebView2.RemoveWebResourceRequestedFilter Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.removewebresourcerequestedfilter?view=webview2-dotnet-1.0.2365.46&preserve-view=true) + +* `CoreWebView2WebResourceRequestedEventArgs` Class: + * [CoreWebView2WebResourceRequestedEventArgs.RequestedSourceKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2webresourcerequestedeventargs.requestedsourcekind?view=webview2-dotnet-1.0.2365.46&preserve-view=true) + +* [CoreWebView2WebResourceRequestSourceKinds Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2webresourcerequestsourcekinds?view=webview2-dotnet-1.0.2365.46&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.AddWebResourceRequestedFilter Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2365.46&preserve-view=true#addwebresourcerequestedfilter) + * [CoreWebView2.RemoveWebResourceRequestedFilter Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2365.46&preserve-view=true#removewebresourcerequestedfilter) + +* `CoreWebView2WebResourceRequestedEventArgs` Class: + * [CoreWebView2WebResourceRequestedEventArgs.RequestedSourceKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2webresourcerequestedeventargs?view=webview2-winrt-1.0.2365.46&preserve-view=true#requestedsourcekind) + +* [CoreWebView2WebResourceRequestSourceKinds Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2webresourcerequestsourcekinds?view=webview2-winrt-1.0.2365.46&preserve-view=true) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2_22](/microsoft-edge/webview2/reference/win32/icorewebview2_22?view=webview2-1.0.2365.46&preserve-view=true) + * [ICoreWebView2_22::AddWebResourceRequestedFilterWithRequestSourceKinds](/microsoft-edge/webview2/reference/win32/icorewebview2_22?view=webview2-1.0.2365.46&preserve-view=true#addwebresourcerequestedfilterwithrequestsourcekinds) + * [ICoreWebView2_22::RemoveWebResourceRequestedFilterWithRequestSourceKinds](/microsoft-edge/webview2/reference/win32/icorewebview2_22?view=webview2-1.0.2365.46&preserve-view=true#removewebresourcerequestedfilterwithrequestsourcekinds) + +* [ICoreWebView2WebResourceRequestedEventArgs2](/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs2?view=webview2-1.0.2365.46&preserve-view=true) + * [ICoreWebView2WebResourceRequestedEventArgs2::get_RequestedSourceKind](/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs2?view=webview2-1.0.2365.46&preserve-view=true#get_requestedsourcekind) + +* [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2365.46&preserve-view=true#corewebview2_web_resource_request_source_kinds) + +--- + + + +* To support browser extensions in WebView2, added `GetBrowserExtensions` for WinRT: + +##### [.NET/C#](#tab/dotnetcsharp) + +N/A + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2Profile` Class: + * [CoreWebView2Profile.GetBrowserExtensionsAsync Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2profile?view=webview2-winrt-1.0.2365.46&preserve-view=true#getbrowserextensionsasync) + +##### [Win32/C++](#tab/win32cpp) + +N/A + +--- + + + +#### Bug fixes + + + +###### Runtime-only + +* Fixed a regression that affected handling of the `NewWindowRequested` event when the new window is set to be the source WebView. ([Issue #4250](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4250)) + +* Fixed a bug where closing a WebView that has an embedded PDF viewer could lead to a crash. ([Issue #3832](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3832)) + +* Fixed a regression where mouse-clicks stopped working when the application enabled `SetWindowDisplayAffinity`. ([Issue #4325](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4325)) + + + + + + +## 1.0.2415-prerelease + +Release Date: February 26, 2024 + +[NuGet package for WebView2 SDK 1.0.2415-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2415-prerelease) + +For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 123.0.2415.0 or higher. + + + +#### Breaking changes + + + +* The behavior of the `InitiatingOrigin` property of `CoreWebView2LaunchingExternalUriSchemeEventArgs` has changed. If the `InitiatingOrigin` is an [opaque origin](https://html.spec.whatwg.org/multipage/browsers.html#concept-origin-opaque), the `InitiatingOrigin` that's reported in the event args is its precursor origin. The _precursor origin_ is the origin that created the opaque origin. For example, if a frame that's at `example.com` opens a subframe that has a different opaque origin, the subframe's precursor origin is `example.com`. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2LaunchingExternalUriSchemeEventArgs` Class: + * [CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin Property](/dotnet/api/microsoft.web.webview2.core.corewebview2launchingexternalurischemeeventargs.initiatingorigin?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2LaunchingExternalUriSchemeEventArgs` Class: + * [CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2launchingexternalurischemeeventargs?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#initiatingorigin) + +##### [Win32/C++](#tab/win32cpp) + +* `ICoreWebView2LaunchingExternalUriSchemeEventArgs`: + * [ICoreWebView2LaunchingExternalUriSchemeEventArgs::get_InitiatingOrigin](/microsoft-edge/webview2/reference/win32/icorewebview2launchingexternalurischemeeventargs?view=webview2-1.0.2415-prerelease&preserve-view=true#get_initiatingorigin) + +--- + + + +* The members of the `CoreWebView2TextureStreamErrorKind` enum have been renamed: + +##### [.NET/C#](#tab/dotnetcsharp) + +Old member names: +* [CoreWebView2TextureStreamErrorKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2texturestreamerrorkind?view=webview2-dotnet-1.0.2357-prerelease&preserve-view=true) + * `CoreWebView2TextureStreamErrorNoVideoTrackStarted` + * `CoreWebView2TextureStreamErrorTextureError` + * `CoreWebView2TextureStreamErrorTextureInUse` + +New member names: +* [CoreWebView2TextureStreamErrorKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2texturestreamerrorkind?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + * `NoVideoTrackStarted` + * `TextureError` + * `TextureInUse` + +##### [WinRT/C#](#tab/winrtcsharp) + +Old member names: +* [CoreWebView2TextureStreamErrorKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2texturestreamerrorkind?view=webview2-winrt-1.0.2357-prerelease&preserve-view=true) + * `CoreWebView2TextureStreamErrorNoVideoTrackStarted` + * `CoreWebView2TextureStreamErrorTextureError` + * `CoreWebView2TextureStreamErrorTextureInUse` + +New member names: +* [CoreWebView2TextureStreamErrorKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2texturestreamerrorkind?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true) + * `NoVideoTrackStarted` + * `TextureError` + * `TextureInUse` + +##### [Win32/C++](#tab/win32cpp) + +Old member names: +* [COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2357-prerelease&preserve-view=true#corewebview2_texture_stream_error_kind) + * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_NO_VIDEO_TRACK_STARTED` + * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_TEXTURE_ERROR` + * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_TEXTURE_IN_USE` + +New member names: +* [COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2415-prerelease&preserve-view=true#corewebview2_texture_stream_error_kind) + * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND_NO_VIDEO_TRACK_STARTED` + * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND_TEXTURE_ERROR` + * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND_TEXTURE_IN_USE` + +--- + + + +#### Experimental APIs + +The following Experimental APIs have been added in this Prerelease SDK. + +* The `CoreWebView2ControllerOptions` class now has an `AllowHostInputProcessing` property, which allows user input messages (keyboard, mouse, touch, and pen) to pass through the browser window to be received by an app process window. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2ControllerOptions` Class: + * [CoreWebView2ControllerOptions.AllowHostInputProcessing Property](/dotnet/api/microsoft.web.webview2.core.corewebview2controlleroptions.allowhostinputprocessing?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2ControllerOptions` Class: + * [CoreWebView2ControllerOptions.AllowHostInputProcessing Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2controlleroptions?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#allowhostinputprocessing) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2ExperimentalControllerOptions2](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalcontrolleroptions2?view=webview2-1.0.2415-prerelease&preserve-view=true) + * [ICoreWebView2ExperimentalControllerOptions2::get_AllowHostInputProcessing](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalcontrolleroptions2?view=webview2-1.0.2415-prerelease&preserve-view=true#get_allowhostinputprocessing) + * [ICoreWebView2ExperimentalControllerOptions2::put_AllowHostInputProcessing](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalcontrolleroptions2?view=webview2-1.0.2415-prerelease&preserve-view=true#put_allowhostinputprocessing) + +--- + + + +#### Promotions + +The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. + + + +* Added a new API to provide hit-testing results on the regions that a WebView2 contains. This API is useful for visually hosted applications that want to handle mouse events on the non-client area of the WebView2 window. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2CompositionController` Class: + * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.getnonclientregionatpoint?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + * [CoreWebView2CompositionController.QueryNonClientRegion Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.querynonclientregion?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + * [CoreWebView2CompositionController.NonClientRegionChanged Event](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.nonclientregionchanged?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + +* [CoreWebView2NonClientRegionChangedEventArgs Class](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionchangedeventargs?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionchangedeventargs.regionkind?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + +* [CoreWebView2NonClientRegionKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + +* `CoreWebView2Settings` Class: + * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/dotnet/api/microsoft.web.webview2.core.corewebview2settings.isnonclientregionsupportenabled?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2CompositionController` Class: + * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#getnonclientregionatpoint) + * [CoreWebView2CompositionController.QueryNonClientRegion Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#querynonclientregion) + * [CoreWebView2CompositionController.NonClientRegionChanged Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#nonclientregionchanged) + +* [CoreWebView2NonClientRegionChangedEventArgs Class](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionchangedeventargs?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true) + * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionchangedeventargs?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#regionkind) + +* [CoreWebView2NonClientRegionKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true) + +* `CoreWebView2Settings` Class: + * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2settings?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#isnonclientregionsupportenabled) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2CompositionController4](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true) + * [ICoreWebView2CompositionController4::GetNonClientRegionAtPoint](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#getnonclientregionatpoint) + * [ICoreWebView2CompositionController4::QueryNonClientRegion](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#querynonclientregion) + * [ICoreWebView2CompositionController4::add_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#add_nonclientregionchanged) + * [ICoreWebView2CompositionController4::remove_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#remove_nonclientregionchanged) + +* [ICoreWebView2NonClientRegionChangedEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2415-prerelease&preserve-view=true) + * [ICoreWebView2NonClientRegionChangedEventArgs::get_RegionKind](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2415-prerelease&preserve-view=true#get_regionkind) + +* [ICoreWebView2NonClientRegionChangedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventhandler?view=webview2-1.0.2415-prerelease&preserve-view=true) + +* [ICoreWebView2RegionRectCollectionView](/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview?view=webview2-1.0.2415-prerelease&preserve-view=true) + +* [ICoreWebView2Settings9](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2415-prerelease&preserve-view=true) + * [ICoreWebView2Settings9::get_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2415-prerelease&preserve-view=true#get_isnonclientregionsupportenabled) + * [ICoreWebView2Settings9::put_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2415-prerelease&preserve-view=true#put_isnonclientregionsupportenabled) + +* [COREWEBVIEW2_NON_CLIENT_REGION_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2415-prerelease&preserve-view=true#corewebview2_non_client_region_kind) + +--- + + + +#### Bug fixes + + + +###### Runtime-only + +* Fixed the camera or mic not being able to open in Google Meet or Microsoft Teams meetings when the permission request is set to "not persisted" (that is, `SavesInProfile = false`). ([Issue #3592](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3592)) + +* Fixed appending an empty `--edge-webview-custom-scheme` command-line switch in a WebView2 browser process. + +* Disabled the global `UserDataFolder` registry key, so that this registry key can only be applied per-app. + +* Fixed the `NewWindowRequested` event not being fired when opened by a browser extension. ([Issue #3841](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3841)) + +* Fixed the `NewWindowRequested` event not being fired when opening a view source. ([Issue #4162](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4162)) + +* Fixed an issue to fire `StateChanged` and `BytesReceivedChanged` events when a download involves navigation. + +* Fixed a bug where the `BeforeUnload` dialog caused the WebView2 window to unexpectedly jump position. ([Issue #4350](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4350)) + +* Fixed an issue where `PrintAsync` prints a blank page if it is called too soon, before the PDF is fully loaded. ([Issue #3779](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3779)) + + + + + ## 1.0.2277.86 @@ -102,6 +1034,8 @@ The following APIs have been promoted to Stable and are now included in this Rel #### Bug fixes + + ###### Runtime-only * Ensured that the spellcheck language matches `put_Language` programmatically. The customized context menu is also updated with correct spellchecks. (Runtime-only) @@ -112,6 +1046,7 @@ The following APIs have been promoted to Stable and are now included in this Rel * Fixed a bug that broke loading some social media apps such as Facebook, Twitter, and Linkedin. This change is Runtime-specific. (Runtime-only) ([Issue #4281](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4281)) + @@ -469,6 +1404,8 @@ N/A #### Bug fixes + + ###### Runtime-only * Fixed a bug where closing a WebView control that has an embedded PDF viewer could lead to a crash. (Runtime-only) ([Issue #3832](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3832)) @@ -481,12 +1418,15 @@ N/A * Fixed an issue where `put_AreBrowserAcceleratorKeysEnabled` wasn't able to update settings for WebView2 when no `AcceleratorKeyPressed` event handler is registered. (Runtime-only) ([Issue #4278](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4278)) + + ###### SDK-only * Fixed an issue where the WebView2 control in .NET was failing to find the `WebView2Loader.dll` on UNC paths. (SDK-only) ([Issue #4081](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4081)) * Fixed some issues causing instances of `InvalidOperationException` in .NET controls, that weren't helpful to developers. (SDK-only) ([Issue #4272](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4272)) + @@ -711,6 +1651,7 @@ The following APIs have been promoted to Stable and are now included in this Rel * Disabled automatic HTTPS upgrades for WebView2 API navigations. (Runtime-only) ([Issue #4104](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4104)) + @@ -794,6 +1735,7 @@ The following APIs have been promoted to Stable and are now included in this Rel * Fixed a reliability issue where multiple WebView creations could lead to a crash. (Runtime-only) ([Issue #3793](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3793)) + @@ -860,10 +1802,14 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed an issue where WebView2 would sometimes render blurry content or no content after changing monitor scale or switching between RDP and docking modes. (Runtime-only) + * Fixed an issue in `TextServicesFoundation` causing a crash when a WebView2 instance was destroyed. (Runtime-only) + * Fixes a memory leak in .NET when web messages are sent from WebView2, but aren't read from the application side. (Runtime and SDK) ([Issue #3794](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3794)) + * Fixed an issue causing the `ScaleFactor` setting to not work properly for all WebView2 Print APIs. (Runtime-only) ([Issue #4082](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4082)) + @@ -887,9 +1833,12 @@ No additional APIs have been promoted to Stable and added in this Release SDK. #### Bug fixes * Fixed an issue causing some UWP apps to be unable to input text. (Runtime-only) ([Issue #3805](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3805)) + * Fixed an initialization failure for apps that were using the Windows `PerProcessSystemDPIForceOff` compatibility setting. (Runtime-only) ([Issue #3692](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3692)) + * Fixed a Dialog Position Offset bug in WebView2. (Runtime-only) ([Issue #3763](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3763)) + @@ -934,13 +1883,20 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * Added support for additional page settings (`PageRange` and `PagesPerSheet`) in the PrintToPDF API. (Runtime-only) ([Issue #3719](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3719)) + * Navigation to an Extension Resource file was not handled correctly, and has now been fixed with the correct handling method. (Runtime-only) ([Issue #3728](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3728)) + * Fixed an issue causing some UWP apps to be unable to input text. (Runtime-only) ([Issue #3805](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3805)) + * Fixed an initialization failure for apps that were using the Windows `PerProcessSystemDPIForceOff` compatibility setting. (Runtime-only) ([Issue #3692](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3692)) + * Removed monitors that were collecting data when the system default browser setting changes. (Runtime-only) + * Fixed a Dialog Position Offset bug in WebView2. (Runtime-only) ([Issue #3763](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3763)) + * Fixed a crash in the `NewWindowRequested` event if the `NewWindow` is set to `null`. (Runtime-only) + @@ -964,9 +1920,12 @@ No additional APIs have been promoted to Stable and added in this Release SDK. #### Bug fixes * Disabled the Mouse Gesture feature by default. (Runtime-only) ([Issue #3737](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3737)) + * Fixed a bug where mouse wheel scrolling was intermittently broken for visual hosting. (Runtime-only) + * Fixed a bug where downloading APK files in WebView2 crashes the WebView2 browser process. (Runtime-only) ([Issue #3569](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3569)) + @@ -1112,9 +2071,13 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### Runtime * Updated the Screen Capture UI to remove mention of tabs. (Runtime-only) + * Fixed a bug where `PrintAsync` doesn't print using the default DPI on the printer. (Runtime-only) ([Issue #3709](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3709)) + * Fix a WebView creation failure when app is running as a different admin user. (Runtime-only) ([Issue #3738](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3738)) + * Fixed a bug that prevented setting an automation name for the WebView2 control on WinUI 3. (Runtime-only) + * Enabled the new inter-process communication implementation for apps that are using very old SDKs. (Runtime-only) @@ -1122,7 +2085,9 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### SDK * Fixed a bug where the `CoreWebView2EnvironmentOptions.Language` property doesn't change the `accept-language` HTTP header. (SDK-only) ([Issue #3635](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3635)) + * Added support for longer runtime installation paths. (SDK-only) + * The custom URI scheme registration API now works in WinRT. For API names and links, in the **Promotions** section above, see the "custom scheme registration" entry. (SDK-only) @@ -1131,6 +2096,7 @@ The following APIs have been promoted from Experimental to Stable in this Prerel * Fixed a bug where the Runtime exits unexpectedly when calling `SetPermissionState` with an invalid enum value. (Runtime and SDK) + @@ -1154,10 +2120,14 @@ No additional APIs have been promoted to Stable and added in this Release SDK. #### Bug fixes * Fixed a handle tracking bug where `TextureStream` API usage could fail. (Runtime-only) + * Fixed a bug where a WebView2 created in a background thread doesn't come to the foreground when created. (Runtime-only) ([Issue #3584](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3584)) + * Fixed a bug where the WebView2 content sometimes renders at the incorrect size after changing the display configuration (such as laptop sleeping; remoting; or connecting or disconnecting an external display). (Runtime-only) ([Issue 3429](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3429)) + * Fixed a bug where a bluescreen happens when using WebView2 apps on certain hardware configurations. (Runtime-only) ([Issue #3679](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3679)) + @@ -1202,9 +2172,12 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * Disabled installing CRX in WebView2. (Runtime-only) + * Fixed an initialization failure when the app has a DPI awareness compatibility setting applied. (Runtime-only) ([Issue #3008](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3008)) + * Fixed a bug where visual hosted owned windows couldn't take character input. (Runtime-only) + @@ -1274,6 +2247,7 @@ The following APIs have been promoted to Stable and are now included in this Rel * Fixed a bug where the entire toolbar is blank when hiding the Bookmarks, Search, and PageSelector buttons simultaneously. (Runtime-only) [Issue 2866](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2866) + @@ -1458,20 +2432,34 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * Fixed a `CoreWebView2Frame.ExecuteScriptAsync` hang that occurred when a frame was destroyed during script execution. [Issue 3124](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3124) + * Fixed a `COMException` when reading `WebResourceResponse` content after a redirect. [Issue 3229](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3229) + * Fixed a regression where calling `CoreWebView2.AddHostObjectToScript` twice for the same name hangs. (Runtime-only) [Issue 3539](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3539) + * Fixed an issue where `PrintAsync` fails when `PrinterName` contains Chinese characters. [Issue 3379](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3379) + * Fixed an issue to disable the context menu in print pages when `AreDefaultContextMenusEnabled` is set to `false`. [Issue 3548](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3548) + * Removed visual search from the web capture context menu. (Runtime-only) [Issue 3426](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3426) + * Fixed an issue that caused `PrintAsync` and `PrintToPdfStreamAsync` to fail when print settings are `null`. + * Removed the **Launch game** button from the default **No Internet Connection** error page. (Runtime-only) + * Fixed an issue to ensure that `WebVivew2Loader` can be loaded from a UNC path. [Issue 3465](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3465) + * Fixed invalid `CoreWebView2PdfToolbarItems.FullScreen` and `CoreWebView2PdfToolbarItems.MoreSettings`. + * Added a lock for host object access from multithread. (Runtime-only) + * Fixed configuration options that (`CoreWebView2PdfToolbarItems.MoreSettings`, `CoreWebView2PdfToolbarItems.FullScreen`) are not valid in PDF preview mode. [Issue 3324](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3324) + * Removed the **Hide all annotations** option in PDF **Settings and more**. (Runtime-only) + * Removed the **Show all saved passwords** context menu item. (Runtime-only) + @@ -1583,6 +2571,8 @@ The following APIs have been promoted to Stable and are now included in this Rel --- + + ## 1.0.1905-prerelease @@ -1722,9 +2712,13 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Using `wv2winrt webhosthidden` entered an infinite loop when enumerating some `webhosthidden` types. (SDK-only) + * In code that's generated by the **wv2winrt** tool, when calling an async method, it would crash if it succeeded but returned `null` instead of an `IAsyncAction`. (SDK-only) + + + ## 1.0.1774.30 @@ -1865,8 +2859,11 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Disabled the Chrome Web Store info banner that displays the option to allow extensions installation. ([Issue #3312](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3312)) + * Fixed an issue where a custom menu item wasn't firing. ([Issue #3300](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3300)) + * Fixed a crash during initialization when creating a WebView2 using WPF and SDK version 1.0.1722.32, which is now deprecated. (See [SDK 1.0.1722.32 is deprecated](#sdk-10172232-is-deprecated) below.) ([Issue #3375](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3375)) + * Fixed a bug in `PostSharedBufferToScript` that stops after about 32000x1MB buffers are posted. (Runtime-only) ([Issue #3360](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3360)) ##### [.NET/C#](#tab/dotnetcsharp) @@ -1887,7 +2884,9 @@ The following APIs have been promoted from Experimental to Stable in this Prerel --- * Fixed an issue where navigation will always take place within a `ScriptDialogOpening` event callback. (Runtime-only) ([Issue #3355](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3355)) + * Fixed an issue to support the `BackForwardCache` flag. (Runtime-only) + * Fixed an issue with visual hosted owned windows, where clicking into the Find bar from outside the window didn't activate the Find bar. @@ -2037,11 +3036,17 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed a crash when releasing the WebView from a different thread. (Runtime-only) ([Issue #3062](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3062)) + * Fixed a bug where focus was trapped inside the WebView2 control when wrapped in a `ContainerControl`. ([Issue #2835](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2835)) + * Fixed the issue by disabling the editable `.pdf` temporary cached data recovery function in WebView2. ([Issue #3274](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3274)) + * Disabled the Chrome Web Store info banner that displays the option to allow extensions installation. ([Issue #3312](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3312)) + * Fixed an issue with new download items not getting called out by screen readers. + * Fixed a bug where visual hosted owned windows didn't map mouse pointer input correctly. + * Fixed a bug where `DownloadStarting` was getting raised for a canceled **Save As** dialog. (Runtime-only) @@ -2617,8 +3622,11 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed a bug in `PrintAsync` and `PrintToPdfStreamAsync` that throws an exception when print settings are null. + * Improved handling of apps running elevated. (Runtime-only) + * Added support for window management permission kind. (Runtime and SDK) + * Reliability improvement. (Runtime-only) @@ -2852,14 +3860,23 @@ Previous name in 1619-prerelease: #### Bug fixes * Fixed a bug where WebView2 was not closing properly when a `BeforeUnload` event was received. (Runtime-only) ([Issue #2677](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2677)) + * In the `DownloadStarting` event, the `ResultFilePath` previously wasn't showing the correct download location for UWP applications when the `DownloadStarting` event handler was attached. This has been fixed; the correct `ResultFilePath` is now shown. + * Fixed a bug where `System.ArgumentException` was thrown when a call to the `HostObject` method returns a non-generic task. ([Issue #2787](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2787)) + * Fixed an issue in the `SharedBuffer` API where the stream object didn't work well with `StreamWriter`. (Runtime-only) ([Issue #3108](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3108)) + * DOM speech-synthesis APIs, such as `SpeechSynthesis.getVoices()`, will now work in UWP apps. (Runtime-only) + * Fixed a crash that occurred on frame destruction. (Runtime-only) ([Issue #3062](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3062)) + * Fixed a bug where the app crashes when trying to call `CreateWebResourceResponse` with a `null` `reason` phrase. (Runtime-only) + * The `CoreWebView2.AddHostObjectToScript` option `chrome.webview.hostObjects.options.ignoreMemberNotFoundError` now works in non-English locales. (Runtime-only) + * Fully enabled **Open file** dialog support for elevated apps on Windows 7. + * Fixed a bug where owned windows were not appearing for UWP. @@ -3119,12 +4136,19 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Disabled **Open link as Profile** in the WebView2 context menu. + * Fixed post data missing in form submit with Ctrl-click. ([Issue #2652](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2652)) + * Fixed a bug where the user is not able to get the custom context menu on PDF Viewer. ([Issue #2607](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2607)) + * Fixed a bug where the entire toolbar is blank when simultaneously hiding the **Bookmarks**, **Search**, and **PageSelector** buttons. ([Issue #2866](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2866)) + * Fixed a bug where the app crashes when trying to move focus to WebView2 when it is disabled. + * Fixed drag and drop within the WebView2 for composition-hosted WebViews. + * Removed read-aloud icon in address bar in a WebView2 popup window. + * Fixed unexpected items in the context menu of popup windows in WebView2. @@ -3285,13 +4309,21 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed some nullptr issues where now some public APIs which take nullptr as input parameters do not crash the WebView2. + * Disabled "Open link as Profile" in the WebView2 context menu. + * Fixed bug where the whole tool bar will be blank when hiding Bookmarks, Search, and PageSelector buttons simultaneously. ([Issue #2866](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2866)) + * Fix post data missing in form submit with control click. ([Issue #2652](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2652)) + * Fixed a bug where the user is not able to get the custom context menu on PDF Viewer. ([Issue #2607](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2607)) + * Fix drag/drop within the WebView2 for composition hosted WebViews. + * Fixed a bug where the app crashes when trying to move focus to WebView2 when it is disabled. + * Remove read aloud icon in address bar in a WebView2 popup window. + * Fixed an issue where context menu shows unexpected items in WebView2 popup window. @@ -3415,10 +4447,15 @@ The following Experimental APIs have been added in this Prerelease SDK. * Fixed a bug in which the custom header title in print settings could be wrong. ([Issue #2093](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2093)) + * Display `AllowedCertificateAuthorities` in `add_ClientCertificateRequested` event as a `Base64` string. (Runtime-only) ([Issue #2346](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2346)) + * Fixed a bug in which the default footer URI in print settings is missing. ([Issue #2851](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2851)) + * Fixed a bug that produces a null pointer exception that's related to print settings. (Runtime-only) ([Issue #2858](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2858)) + * Fixed a bug that reports navigation failure when redirecting to a server that has been configured with Client Certificate Authentication and when the `WebResourceRequested` event is subscribed to. (Runtime-only) + * Fixed an `AddHostObjectToScript` bug in which, when JavaScript calls an async method and then a synchronous method, the async method call might fail. @@ -3574,8 +4611,11 @@ The following Experimental APIs have been added in this Prerelease SDK. * Removed three-dot menu with a broken link from the downloads page. (Runtime-only) ([Issue #2753](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2753)) + * Fixed a bug in the WebView2 WinRT JS Projection tool (wv2winrt) where C++20 projects failed to compile. ([Issue #2768](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2768)) + * Fixed a crash which could occur with the WebView2 WinRT API while closing down WebView2 if you subscribed to any events, especially the `CoreWebView2.GetDevToolsEventReceiver` event. (SDK-only) + * Fixed a bug where it wasn't possible to dismiss the download popup after minimizing the window. (Runtime-only) @@ -3640,9 +4680,13 @@ The following APIs have been promoted from Experimental to Stable in this Prerel * Fixed a bug where WPF apps would crash when windows with WebView2 were closed. ([Issue #640](https://github.com/MicrosoftEdge/WebView2Feedback/issues/640)) + * Fixed a bug that produced simultaneous WebView creation failure. (Runtime-only) ([Issue #2703](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2703)) + * Fixed print settings paper size to support dimensions as small as 0.01 inches. (Runtime-only) + * Fixed a bug where the WebView2 print dialog reset the **Scale** setting to **Fit to printable area** every time. ([Issue #2523](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2523)) + * Fixed a bug in the **wv2winrt** tool where a WinMD file wasn't referenced in some projects. @@ -3745,15 +4789,25 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * Added the ability for developers to explicitly specify the path from which to load the WebView2Loader.dll. ([Issue #767](https://github.com/MicrosoftEdge/WebView2Feedback/issues/767)) + * Added useful error messages when using `CallDevToolsProtocolMethod`. ([Issue #1609](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1609)) + * Fixed a bug in finding and loading the `WebView2Loader.dll` in some .NET apps. ([Issue #2372](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2372)) + * Fixed a bug where `DownloadStarting` event was not fired when retrying a download. ([Issue #2489](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2489)) + * Fixed an issue in service worker caching if the path was too long. ([Issue #1900](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1900)) + * Improved performance for **wv2winrt** `IMap` and `IMapView` projections into JavaScript. + * Adding support for HWND_MESSAGE to be used as WebView2 parent window to support headless scenarios. ([Issue #202](https://github.com/MicrosoftEdge/WebView2Feedback/issues/202)) + * Improved handling of running as admin user apps. + * Fixed online/offline status and notifications when using WebView2 in UWP apps. + * GDI scaling can now be enabled for WebView2. WebView2 will respect the GDI scaling setting of the hosting application without additional work needed from the app. ([Issue #1700](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1700)) + * Fixed a bug where focus is not returned to the application after closing the find bar for windowed mode. ([Issue #1225](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1225)) @@ -3880,10 +4934,15 @@ The following APIs have been promoted to Stable and are now included in this Rel #### Bug fixes * Fixed an issue with the on-screen keyboard in which the keyboard doesn't reappear after it's closed by clicking the **X** button. Also fixed an issue in which the keyboard gets dismissed when users switch from one edit control to another within WebView2. ([Issue #460](https://github.com/MicrosoftEdge/WebView2Feedback/issues/460)) + * Fixed an issue when using a proxy from `AddHostObjectToScript` in script. If you call `setHostProperty` and it failed, you could have received an internal error message structure rather than a JavaScript Error object. + * Fixed regression where WebView2 would steal focus from the app when the WebView2 was made visible. ([Issue #862](https://github.com/MicrosoftEdge/WebView2Feedback/issues/862)) + * Fixed a bug that caused increased memory usage with `WebResourceRequested` events using large data. ([Issue #2171](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2171)) + * Fixed `StatusBarTextChanged` regression. The [StatusBarText API](/microsoft-edge/webview2/reference/win32/icorewebview2_12?view=webview2-1.0.1245.22&preserve-view=true) was made compatible with previous versions again. ([Issue #2414](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2414)) + * Better support for apps running as admin. ([Issue #2356](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2356)) @@ -3941,10 +5000,15 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed an unavoidable crash that occurred in the WPF control's `OnWindowPositionChanged` event. ([Issue #1531](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1531)) + * Fixed the issue with `CoreWebView2EnvironmentOptions.ExclusiveUserDataFolderAccess` not working properly in .NET SDK. ([Issue #2363](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2363)) + * Fixed a runtime regression that caused some Office Add-ins which use host objects to crash during operations that previously worked. ([Issue #2337](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2337)) + * Fixed an issue where WebView2 content can become blurry when moving between monitors with different scaling. + * Fixed a regression to make sure that WebView2 creation fails quickly with `HRESULT_FROM_WIN32(ERROR_INVALID_STATE)` instead of time out. + * Fixed a bug where changes from Chromium broke WebView2 background color. @@ -4024,11 +5088,17 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed `ZoomFactor` issue that incorrectly sets `ZoomFactor` value to the maximum value when it is out of bounds. + * Fixed an issue in which WebView2 content can become blurry when moving between monitors with different scaling. + * Fixed a bug where `MouseEvent.movementX` and `MouseEvent.movementY` will always be **0** in visual hosting mode. ([Issue #2220](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2220)) + * Fixed log in issue caused by a password regression in WebView2. ([Issue #2291](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2291)) + * Fixed a failure caused when a user opens a new app window and the web page does not have a navigation entry assigned. + * Made a runtime change to fix a bug in WinUI 2 (UWP) in which owned windows were not showing up. + * Fixed `ICoreWebView2Frame::PostWebMessage` functionality after source update. ([Issue #2267](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2267)) @@ -4087,8 +5157,11 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed a bug where WebView2 app gets stuck occasionally with UWP. + * Fixed a bug where focus is not returned to the application after closing the **Find** bar for windowed mode. + * Fixed bug in which the `DocumentTitleChanged` event was not being raised for backward/forward navigation in single-page apps. + * Fixed bug in which the `HistoryChanged` event was not being raised for Iframe navigation. @@ -4162,8 +5235,11 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed an issue causing erroneous warnings in the Visual Studio Error List window. ([Issue #1722](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1722)) + * Fixed a bug where NewWindowRequested was not getting raised when opening PDF downloads. + * Resolved a bug in WinUI 3 where select dropdowns would not show up. ([Issue #1693](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1693)) + * Added the ability to toggle WebView2 mute state, even when there is no audio playing. @@ -4232,14 +5308,21 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed a bug that prevented `Set-Cookies` header from showing up in the `WebResourceResponseReceived` event. + * Resolved a bug where pop-ups and owned windows would jump to a different position before closing instead of closing along with the app window. This bug was only active for a very short window of time. + * Fixed focus issue after closing file picker dialog. + * Fixed bug where Find on Page UI visibility did not change with WebView2 visibility. + * Fixed bug where `GetAvailableBrowserVersionString()` fails to locate/load `WebView2Loader.dll`. ([Issue #1236](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1236)) + * Fixed size and position of the new window created with `window.open` when `NewWindowRequested` event was not handled. ([Issue #1343](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1343)) + * Fixed bug where mini menu was still displaying on selected text when context menus were disabled. This change is Runtime-specific. ([Issue #1345](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1345)) + * Fixed bug where focus returns to wrong location after switching apps in WinForms. @@ -4283,10 +5366,15 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed a focus issue after closing the file picker dialog. + * Fixed a bug where WebView2 doesn't receive spatial input on initial launch. + * Fixed an issue that prevented single sign-on in WebView2. + * Resolved a bug where the download dialog was not moving with the window on WPF and WinForms. + * Updated compatible command line check to prevent needing a version check for optional switches. + * Fixed an error that was causing "Microsoft Edge" branding to appear in the accessibility tree. @@ -4304,9 +5392,13 @@ For full API compatibility, this Release version of the WebView2 SDK requires We #### Bug fixes * General reliability fixes. + * Turned off the Control-flow Enforcement Technology (CET) Shadow Stack feature for v96 WebView2 Runtime. + * Fixed an issue that was causing slow startup times when launching in a .NET single-file application. ([Issue #1909](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1909)) + * Fixed a crash caused by Microsoft Edge browser policies getting incorrectly applied to WebView2 as well. ([Issue #1860](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1860)) + * Fixed a crash that occurred when a pop-up window with a download dialog was closed. ([Issue #1765](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1765)) & ([Issue #1723](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1723)) @@ -4341,9 +5433,13 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * General reliability improvements. + * The real process exit code is now provided as `ExitCode` in `ICoreWebView2ProcessFailedEventArgs2` for `COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED` process failure. + * The `--js-flags` switch is now honored in the `AdditionalBrowserArguments` that are provided in `CoreWebView2EnvironmentOptions`. + * Fixed access to the `name` property for host objects in JavaScript. ([Issue #641](https://github.com/MicrosoftEdge/WebView2Feedback/issues/641)) + * Fixed an `InvalidCastException` in the WPF control when it's implicitly initialized prior to the event loop starting. ([Issue #1577](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1577)) @@ -4369,6 +5465,7 @@ The following APIs have been promoted to Stable and are now included in this Rel #### Bug fixes * Updated `EnsureCoreWebView2Async` to not throw exceptions when the WPF source property is set. ([Issue #1781](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1781)) + * Fixed a bug where WebView2 crashes after interacting with multiple windows that show a download UI. ([Issue #1723](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1723)) @@ -4423,7 +5520,9 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * Fixed a bug where WebView2 stops rendering when the app is spanning monitors and the monitor scale changes. + * Fixed a bug where closing the download UI crashes WebView2 when multiple download windows are open. ([Issue #1723](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1723)) + * Fixed a build/initialization error when PlatformTarget isn't set in the user's .NET project. ([Issue #730](https://github.com/MicrosoftEdge/WebViewFeedback/issues/730) and [Issue #1548](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1548)) @@ -4485,13 +5584,21 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Improved how host objects exceptions are caught in your JavaScript code. + * Replaced WebView2 icon with a generic icon in DevTools windows. + * Turn on the Tab screen sharing option when `MediaDevices.getDisplayMedia()` is used. ([Issue #1566](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1566)) + * Fixed a bug in the Client Certificate API, when the correct certificate was not selected. This is a Runtime change. ([Issue #1666](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1666)) + * Fixed bug where `window.chrome.webview` was unavailable in new windows in the same parent domain. This change is Runtime-specific. ([Issue #1144](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1144)) + * Fixed a bug where dropdown menus or lists were displayed behind the window that has focus. ([Issue #411](https://github.com/MicrosoftEdge/WebViewFeedback/issues/411)) + * Fixed focus issues when using `put_IsVisible(false)`. ([Issue #238](https://github.com/MicrosoftEdge/WebViewFeedback/issues/238)) + * Fixed a bug to apply `SetVirtualHostNameToFolderMapping` to pop-up windows. + * Fixed bugs where an `IDispatch` objects were returned as `IUnknown`. @@ -4517,10 +5624,15 @@ The following APIs have been promoted to Stable and are now included in this Rel #### Bug fixes * Fixed a bug that caused `ERR_SSL_CLIENT_AUTH_CERT_NEEDED` errors. This is a Runtime change. + * Fixed a bug that special browser keys like **Refresh**, **Home**, **Back**, and so on can't be turned off using `AreBrowserAcceleratorKeysEnabled`. This change is Runtime-specific. + * Fixed a bug where the transparent background color isn't rendered. + * Fixed a bug that caused a white flicker when loading WebView2. + * Fixed a bug in WebView2 .NET controls where WebView2 windows were blank when created in the background. ([Issue #1077](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1077)) + * Fixed a bug where settings were not updated when the user navigated to or a new window displayed `about:blank` pages. This is a Runtime change. @@ -4567,14 +5679,23 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fixed bug that broke the `edge://downloads` and `edge://history` pages. This change is Runtime-specific. + * Fixed bugs to improve reliability in the WebView2Loader.dll. + * Fixed bug in which `NewWindowRequested` event handler launched two windows when handling links that use `target=_blank`. + * Fixed a bug in WebView2 visual hosting that flickered before startup. + * Fixed bug when `add_WebResourceRequested` didn't work on WebView2 controls created using `add_NewWindowRequested`. ([Issue #616](https://github.com/MicrosoftEdge/WebViewFeedback/issues/616)) + * Allow the host app to set foreground on a different application in response to events including `NavigationStarting`, `AddHostObjectToScript` methods, `WebMessageReceived`, and `NewWindowRequested`. ([Issue #1092](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1092)) + * Fix bug to trigger the `PermissionRequested` event for the microphone. This change is Runtime-specific.([Issue #1462](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1462)) + * Fixed bug when `ExecuteScriptAsync` blocked after several successful runs. This change is Runtime-specific. ([Issue #1348](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1348)) + * Fixed bug preventing non-ASCII file names from being used in `ResultFilePath` in `DownloadStartingEventArgs`. ([Issue #1428](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1428)) + * Fixed bug where the title bar on the default pop-up wasn't displayed completely. This change is Runtime-specific. ([Issue #1016](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1016)) @@ -4586,7 +5707,9 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### Bug fixes * Fixed an issue in WebView2 .NET API reference documentation that caused only the first exception to be displayed. + * .NET core libraries are now built in release mode. To debug, ensure you clear the **Just my code** checkbox. + * Fixed a bug that crashed WebView2 on forms with child forms. The child form, with the find in page bar open, caused WebView2 to crash when the child form was closed. ([Issue #1097](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1097)) @@ -4614,10 +5737,15 @@ The following APIs have been promoted to Stable and are now included in this Rel #### Bug fixes + * Fix bug that broke the `IsBuiltInErrorPageEnabled` property, which turned off the error page that's displayed when there's a navigation failure or render process failure. This change is Runtime-specific. ([Issue #634](https://github.com/MicrosoftEdge/WebViewFeedback/issues/634)) + * Fixed an issue where WebView2 controls took focus away from the user's focus. + * Fixed bug when `AddScriptToExecuteOnDocumentCreated` didn't work on child windows. ([Issue #935](https://github.com/MicrosoftEdge/WebViewFeedback/issues/935)) + * Fixed a bug that caused inactive tabs to be automatically discarded. ([Issue #637](https://github.com/MicrosoftEdge/WebViewFeedback/issues/637)) + * Fixed a bug when a navigation event was interrupted by another navigation event resulting in the Navigation ID of `NavigationCompleted` events to be incorrect. ([Issue #1142](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1142)) @@ -4667,17 +5795,29 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Fix a bug where mouse left click doesn't dismiss context menu. This change is Runtime-specific. + * Fixed a bug where WebView2 creation fails when exe files for apps sharing the same user data folder have inconsistent version info. + * Fixed a bug where special browser keys such as `Refresh`, `Home`, and `Back` can't be disabled by `AreBrowserAcceleratorKeysEnabled`. This change is Runtime-specific. + * Fixed a bug in WebView2 .NET controls, where WebView2 windows are blank when created in the background. ([Issue #1077](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1077)) + * Dismissing a file picker dialog by pressing **Enter** or **Esc** no longer crashes WPF applications using WebView2 control. ([Issue #1099](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1099)) + * Fixed a bug that [AllowSingleSignOnUsingOSPrimaryAccount](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions#get_allowsinglesignonusingosprimaryaccount) doesn't work properly with WebView2 when a `WebResourceRequested` event handler is attached. This change is Runtime-specific. ([Issue #1183](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1183)) + * Downloading a file no longer breaks WebView2 `DefaultBackgroundColor` transparency. This change is Runtime-specific. ([Issue #1108](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1108)) + * Removed screen sharing media picker message that contains Microsoft branding. ([Issue #940](https://github.com/MicrosoftEdge/WebViewFeedback/issues/940)) + * Fixed a bug in WebView2 WinForm control where hiding the parent form doesn't hide the WebView2 control. ([Issue #828](https://github.com/MicrosoftEdge/WebViewFeedback/issues/828) and [Issue #1079](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1079)) + * Added static WS_CLIPCHILDREN style to WebView2's WPF windows. ([Issue #1013](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1013)). + * Fixed a bug where right-clicking a link crashes the WebView2 host app. This change is Runtime-specific. + * Fixed a reliability bug that could crash the host app process when moving to a newer Edge WebView2 Runtime version. + * **DEPRECATION**: Officially deprecated the `DefaultBackgroundColor` API for Windows 7. @@ -4689,6 +5829,7 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### Bug fixes * Fixed a bug in WebView2 WinForm control where WebView2 window visibility isn't updated properly after parent window is disposed. ([Issue #1282](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1282) and [Issue #828](https://github.com/MicrosoftEdge/WebViewFeedback/issues/828)) + * Fixed a bug in WebView2 WPF control that Source property binding in WPF OneWay binding mode isn't working properly. ([Issue #619](https://github.com/MicrosoftEdge/WebViewFeedback/issues/619) and [Issue #608](https://github.com/MicrosoftEdge/WebViewFeedback/issues/608)) @@ -4706,9 +5847,13 @@ For full API compatibility, this Release version of the WebView2 SDK requires We #### Bug fixes * Fixed a reliability bug that could crash the host app process when moving to a newer Edge WebView2 Runtime version. + * Fixed a bug that prevented memory purge in some situations. This change is Runtime-specific. + * Fixed error in 818 SDK release package where project couldn't find the `WebView2.h` file. ([Issue #1209](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1209)). + * Fixed a bug which caused WebResourceRequested event to be dropped for some requests with binary bodies. + * Improve `NewWindowRequested` documentation. ([Issue #448](https://github.com/MicrosoftEdge/WebViewFeedback/issues/448)). @@ -4761,10 +5906,15 @@ The following Experimental APIs have been added in this Prerelease SDK. #### Bug fixes * Fixed handler for a `Chromium DevTools Protocol` message with `POST` binary data in WebView2. + * Turned off the `OpenSaveAsAwareness` download UI, because it included links to `edge://settings`. ([Issue #1120](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1120)). + * Removed branding from screen share dialog. ([Issue #940](https://github.com/MicrosoftEdge/WebViewFeedback/issues/940)). + * Fixed bug where the [SetWindowDisplayAffinity](/windows/win32/api/winuser/nf-winuser-setwindowdisplayaffinity) function broke WebView2 when it stopped screen capture in an WebView2 app. ([Issue #841](https://github.com/MicrosoftEdge/WebViewFeedback/issues/841)). + * Fixed bug for composition hosting where mouse input stopped working if any pen input was sent to WebView2. + * Fixed bug that broke mouse input after any pen input. This change is Runtime-specific. @@ -4786,10 +5936,15 @@ The following Experimental APIs for .NET have been added in this Prerelease SDK. ###### Bug fixes * Improved COM Exception descriptions by wrapping each in a more detailed .NET exception. ([Issue #338](https://github.com/MicrosoftEdge/WebViewFeedback/issues/338)). This change is Runtime-specific. + * Fixed bug caused when you select **Tab** to shift focus caused WebView2 control to crash in Microsoft Visual Studio Tools for Office. ([Issue #589](https://github.com/MicrosoftEdge/WebViewFeedback/issues/589) and [Issue #933](https://github.com/MicrosoftEdge/WebViewFeedback/issues/933)). This change is Runtime-specific. + * Improved .NET framework loader down level to be more robust. ([Issue #946](https://github.com/MicrosoftEdge/WebViewFeedback/issues/946)) + * Fixed bug that caused crash when you try to refresh before first navigation completed. ([Issue #1011](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1011)) + * Fixed initialization so navigation occurs during `CoreWebView2InitializationCompleted`. ([Issue #1050](https://github.com/MicrosoftEdge/WebViewFeedback/issues/1050)) + * Improved .NET browser process crash error handling. You can now recreate controls after you handle a `ProcessFailed` event, without a crash. ([Issue #996](https://github.com/MicrosoftEdge/WebViewFeedback/issues/996)) @@ -4848,9 +6003,13 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Expanded supported C++ and .NET project types such as MFC and ATL. ([Issue #506](https://github.com/MicrosoftEdge/WebViewFeedback/issues/506), [Issue #669](https://github.com/MicrosoftEdge/WebViewFeedback/issues/669), and [Issue #851](https://github.com/MicrosoftEdge/WebViewFeedback/issues/851)). + * Fixed a bug that Evergreen WebView2 Runtime leaks Inbound firewall entry. + * Fixed setting Response during `WebResourceRequested` event. ([Issue #568](https://github.com/MicrosoftEdge/WebViewFeedback/issues/568)). + * Fixed a bug that navigating to `edge://` causes browser process to exit. ([Issue #604](https://github.com/MicrosoftEdge/WebViewFeedback/issues/604)). + * Fixed a bug that limited WebView2 bounds to size of screen in Visual Hosting mode. @@ -4933,16 +6092,27 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes * Turned off the Microsoft Edge Shopping feature in WebView2. + * Turned off the context menu in the PDF viewer when `AreDefaultContextMenusEnabled` is `false`. ([Issue #605](https://github.com/MicrosoftEdge/WebViewFeedback/issues/605)). + * Fixed a bug that returned `E_NOINTERFACE` when querying `ICoreWebView2` for `ICoreWebView2Experimental`. ([Issue #691](https://github.com/MicrosoftEdge/WebViewFeedback/issues/691)). + * Fixed a bug that allowed navigation with malformed URIs when `CoreWebView2NavigationStartingEventArgs.Cancel` is set to `false`. ([Issue #400](https://github.com/MicrosoftEdge/WebViewFeedback/issues/400)). + * Fixed a bug that blocked `window.print()` on pop-up windows with event handlers attached to `NewWindowRequested` events. ([Issue #409](https://github.com/MicrosoftEdge/WebViewFeedback/issues/409)). + * Fixed Dynamic DPI issue when moving apps between different monitors. ([Issue #58](https://github.com/MicrosoftEdge/WebViewFeedback/issues/58)) + * Improved the `HRESULT` instances passed by [ICoreWebView2WebResourceResponseViewGetContentCompletedHandler::Invoke](/microsoft-edge/webview2/reference/win32/icorewebview2webresourceresponseviewgetcontentcompletedhandler?view=webview2-1.0.790-prerelease&preserve-view=true#invoke). + * Turned off autofill manage button. ([Issue #585](https://github.com/MicrosoftEdge/WebViewFeedback/issues/585)). + * Fixed Visual Studio crashes while you run `WebView2.Dispose` when hosted in multiple windows. ([Issue #816](https://github.com/MicrosoftEdge/WebViewFeedback/issues/816)) and [Issue #442](https://github.com/MicrosoftEdge/WebViewFeedback/issues/442)). + * Fixed bug to display WebView2 control in Visual Studio Toolbox. ([Issue #210](https://github.com/MicrosoftEdge/WebViewFeedback/issues/210)). + * Reduced high CPU usage issues. ([Issue #878](https://github.com/MicrosoftEdge/WebViewFeedback/issues/878)). + * Fixed issues with deprecated 1.0.781-prerelease package. ([Issue #875](https://github.com/MicrosoftEdge/WebViewFeedback/issues/875) and [Issue #878](https://github.com/MicrosoftEdge/WebViewFeedback/issues/878)). @@ -4954,6 +6124,7 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### Bug fixes * Fixed bug that crashed WebView2 apps that use the WPF SDK. The crash occurred when pressing **F4** to close a window. ([Issue #399](https://github.com/MicrosoftEdge/WebViewFeedback/issues/399)). + * The WebView2 initialization screen is now transparent, instead of gray. ([Issue #196](https://github.com/MicrosoftEdge/WebViewFeedback/issues/196)). @@ -5043,7 +6214,9 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### Bug fixes * Added [AcceleratorKeyPressed](/dotnet/api/microsoft.web.webview2.wpf.webview2.acceleratorkeypressed) event to support `AcceleratorKey` select in WebView2. ([Issue #288](https://github.com/MicrosoftEdge/WebViewFeedback/issues/288)). + * Removed unnecessary files from being output to WebView2 folders. ([Issue #461](https://github.com/MicrosoftEdge/WebViewFeedback/issues/461)). + * Improved host object API. ([Issue #335](https://github.com/MicrosoftEdge/WebViewFeedback/issues/335) and [Issue #525](https://github.com/MicrosoftEdge/WebViewFeedback/issues/525)). diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index 256c382cc0..e3bb5dbdd1 100644 --- a/microsoft-edge/webview2/release-notes/index.md +++ b/microsoft-edge/webview2/release-notes/index.md @@ -6,20 +6,23 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 08/26/2024 +ms.date: 09/26/2024 --- # Release Notes for the WebView2 SDK These Release Notes provide information about new features and bug fixes that are included in the WebView2 Release SDK and the WebView2 Prerelease SDK. @@ -27,7 +30,7 @@ Jan 2024 (& start of Feb) - moved to archive.md template for Release and Prerelease omit the "Experimental APIs" section from actual Release section --> - + + + + + + + +## 1.0.####.## + +Release Date: Monthname nn, 2024 + +[NuGet package for WebView2 SDK 1.0.####.##](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.####.##) + +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version ###.0.####.## or higher. + + + +#### Promotions + +No additional APIs have been promoted to Stable and added in this Release SDK. +The following APIs have been promoted to Stable and are now included in this Release SDK. + + + +###### heading + +description + +##### [.NET/C#](#tab/dotnetcsharp) + +##### [WinRT/C#](#tab/winrtcsharp) + +##### [Win32/C++](#tab/win32cpp) + +--- + + + +#### Bug fixes + + + +###### Runtime and SDK + +* item + +* item + + + +###### Runtime-only + +* item + +* item + + + +###### SDK-only + +* item + +* item + + + + + +## 1.0.####-prerelease + +Release Date: Monthname nn, 2024 + +[NuGet package for WebView2 SDK 1.0.####-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.####-prerelease) + +For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version ###.0.####.0 or higher. + + + +#### Experimental APIs + +No Experimental APIs have been added in this Prerelease SDK. +The following Experimental APIs have been added in this Prerelease SDK. + + + +###### heading + +description + +##### [.NET/C#](#tab/dotnetcsharp) + +##### [WinRT/C#](#tab/winrtcsharp) + +##### [Win32/C++](#tab/win32cpp) + +--- + + + +#### Promotions + +No APIs have been promoted from Experimental to Stable in this Prerelease SDK. +The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. + + + +###### heading + +description + +##### [.NET/C#](#tab/dotnetcsharp) + +##### [WinRT/C#](#tab/winrtcsharp) + +##### [Win32/C++](#tab/win32cpp) + +--- + + + +#### Bug fixes + + + +###### Runtime and SDK + +* item + +* item + + +###### Runtime-only + +* item + +* item + + +###### SDK-only + +* item + +* item + + - @@ -469,14 +660,19 @@ The following APIs have been promoted to Stable and are now included in this Rel #### Bug fixes + + ###### Runtime-only * Fixed a regression where `WebResourceRequested` events crash on certain sites. ([Issue #4602](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4602)) + + ###### SDK-only * Fixed x86 for WinRT C# projection. + @@ -690,18 +886,27 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes + + ###### Runtime-only * Fixed an issue where the app window couldn't be controlled via system commands (such as **Alt+F4** or **Alt+Spacebar**) when the focus was in WebView2 for Visual hosting mode. ([Issue #2961](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2961)) + * Fixed a bug in WebView2 UWP where the Find bar couldn't be clicked into from the host app. + + ###### SDK-only * Adding the missing WinRT `CoreWebView2Notification.VibrationPattern` API. This WinRT API can be combined with the stable notification API promotion release notes; see "Web Notification" and `NotificationReceived` for WinRT, immediately above. + * Fixed an issue where `KeyDown` events from the WinForms WebView2 control didn't include the correct `ModifierKeys` information. ([Issue #1216](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1216)) + * Fixed x86 for WinRT C# projection. + * Made `CreateCoreWebView2Environment` and `GetAvailableCoreWebView2BrowserVersionString` more robust against potential race condition during Runtime update. + @@ -724,14 +929,21 @@ No additional APIs have been promoted to Stable and added in this Release SDK. #### Bug fixes + + ###### Runtime-only * Disabled `BreakoutBoxPreferCaptureTimestampInVideoFrame` for WebView2 `TextureStream`. + * Fixed a regression where the `WindowCloseRequested` event only fires for first `window.close()` call. + * Fixed a regression where typed arrays in WinRT JavaScript projection could not be handled as `IDispatch` in the host. + * Fixed a bug where the autofill popup dismisses immediately and causes a focus change. + * Fixed a bug where WebView2 fails to load because of `AppPolicyGetWindowingModel`. ([Issue #4591](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4591)) + @@ -979,6 +1191,8 @@ The following APIs have been promoted from Experimental to Stable in this Prerel #### Bug fixes + + ###### Runtime-only * Fixed a bug in owned-window activation logic for visual hosting. @@ -1044,7 +1258,9 @@ The following APIs have been promoted to Stable and are now included in this Rel ###### Runtime-only * Fixed a bug where if the `LaunchingExternalURIScheme` event handler is attached, and the **always remember** checkbox is enabled, and the user selects this checkbox, the dialog is incorrectly displayed again. + * Fixed an issue where text edit controls in visual hosting would duplicate IME input when losing and then regaining focus. + * Fixed an issue where full-trust UWP apps couldn't display owned windows. @@ -1053,6 +1269,7 @@ The following APIs have been promoted to Stable and are now included in this Rel * Fixed an issue in the SDK causing erroneous \ values in the .NET project platforms list. ([Issue #1755](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1755)) + @@ -1098,932 +1315,17 @@ No APIs have been promoted from Experimental to Stable in this Prerelease SDK. ###### Runtime-only * Fixed a WebView2 memory leak issue when the window is closed. ([Issue #4286](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4286)) -* Fixed an issue where `ignoreMemberNotFoundError` wasn't working for .NET objects. ([Issue #4497](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4497)) -* Now returns a proper error code when `CreateSharedBuffer` is called with 0 buffer size. ([Issue #4554](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4554)) -* Fixed an activation issue for the caret browsing dialog. -* Fixed an issue where the WebView2 Visual Hosting `CursorChanged` event wasn't firing for custom cursors. - - - - - -## 1.0.2478.35 - -Release Date: April 22, 2024 -[NuGet package for WebView2 SDK 1.0.2478.35](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2478.35) - -For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 124.0.2478.35 or higher. - - - -#### Promotions - -The following APIs have been promoted to Stable and are now included in this Release SDK. - - - -* Added the Runtime selection feature to support more prerelease testing and flighting scenarios. You can specify `ReleaseChannels` to choose which channels are searched for during environment creation, and `ChannelSearchKind` to select a search order. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.channelsearchkind?view=webview2-dotnet-1.0.2478.35&preserve-view=true) - * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.releasechannels?view=webview2-dotnet-1.0.2478.35&preserve-view=true) - -* [CoreWebView2ChannelSearchKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2channelsearchkind?view=webview2-dotnet-1.0.2478.35&preserve-view=true) - * `MostStable` - * `LeastStable` - -* [CoreWebView2ReleaseChannels Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2releasechannels?view=webview2-dotnet-1.0.2478.35&preserve-view=true) - * `None` - * `Stable` - * `Beta` - * `Dev` - * `Canary` - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2478.35&preserve-view=true#channelsearchkind) - * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2478.35&preserve-view=true#releasechannels) - -* [CoreWebView2ChannelSearchKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2channelsearchkind?view=webview2-winrt-1.0.2478.35&preserve-view=true) - * `MostStable` - * `LeastStable` - -* [CoreWebView2ReleaseChannels Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2releasechannels?view=webview2-winrt-1.0.2478.35&preserve-view=true) - * `None` - * `Stable` - * `Beta` - * `Dev` - * `Canary` - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2EnvironmentOptions7](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true) - * [ICoreWebView2EnvironmentOptions7::get_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#get_channelsearchkind) - * [ICoreWebView2EnvironmentOptions7::put_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#put_channelsearchkind) - * [ICoreWebView2EnvironmentOptions7::get_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#get_releasechannels) - * [ICoreWebView2EnvironmentOptions7::put_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2478.35&preserve-view=true#put_releasechannels) - -* [COREWEBVIEW2_CHANNEL_SEARCH_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2478.35&preserve-view=true#corewebview2_channel_search_kind) - * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE` - * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE` - -* [COREWEBVIEW2_RELEASE_CHANNELS enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2478.35&preserve-view=true#corewebview2_release_channels) - * `COREWEBVIEW2_RELEASE_CHANNELS_NONE` - * `COREWEBVIEW2_RELEASE_CHANNELS_STABLE` - * `COREWEBVIEW2_RELEASE_CHANNELS_BETA` - * `COREWEBVIEW2_RELEASE_CHANNELS_DEV` - * `COREWEBVIEW2_RELEASE_CHANNELS_CANARY` - ---- - - - -#### Bug fixes - - - -###### Runtime-only - -* Fixes a potential integer overflow that could lead to a crash when using `AdditionalObjects` in the WebMessage API. - - - - - -## 1.0.2526-prerelease - -Release Date: April 22, 2024 - -[NuGet package for WebView2 SDK 1.0.2526-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2526-prerelease) - -For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 125.0.2526.0 or higher. - - - -#### Breaking changes - -The minimum .NET Framework version requirement for .NET WebView2, including WPF and WinForms controls, has been updated from .NET Framework 4.5 to .NET Framework 4.6.2. - - - -#### Experimental APIs +* Fixed an issue where `ignoreMemberNotFoundError` wasn't working for .NET objects. ([Issue #4497](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4497)) -The following Experimental APIs have been added in this Prerelease SDK. +* Now returns a proper error code when `CreateSharedBuffer` is called with 0 buffer size. ([Issue #4554](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4554)) -* Added `SaveAs` APIs that allow you to programmatically perform the **Save as** operation. You can use these APIs to block the default **Save as** dialog, and then either save silently, or build your own UI for **Save as**. These APIs pertain only to the **Save as** dialog, not the **Download** dialog, which continues to use the existing Download APIs. +* Fixed an activation issue for the caret browsing dialog. -##### [.NET/C#](#tab/dotnetcsharp) +* Fixed an issue where the WebView2 Visual Hosting `CursorChanged` event wasn't firing for custom cursors. -* `CoreWebView2` Class: - * [CoreWebView2.SaveAsUIShowing Event](/dotnet/api/microsoft.web.webview2.core.corewebview2.saveasuishowing?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2.ShowSaveAsUIAsync Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.showsaveasuiasync?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) -* [CoreWebView2SaveAsKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2saveaskind?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * `Complete` - * `Default` - * `HtmlOnly` - * `SingleFile` - -* [CoreWebView2SaveAsUIResult Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuiresult?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * `Cancelled` - * `FileAlreadyExists` - * `InvalidPath` - * `KindNotSupported` - * `Success` - -* `CoreWebView2SaveAsUIShowingEventArgs` Class: - * [CoreWebView2SaveAsUIShowingEventArgs.AllowReplace Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.allowreplace?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2SaveAsUIShowingEventArgs.Cancel Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.cancel?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.contentmimetype?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2SaveAsUIShowingEventArgs.Kind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.kind?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.saveasfilepath?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog Property](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.suppressdefaultdialog?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * [CoreWebView2SaveAsUIShowingEventArgs.GetDeferral Method](/dotnet/api/microsoft.web.webview2.core.corewebview2saveasuishowingeventargs.getdeferral?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.SaveAsUIShowing Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#saveasuishowing) - * [CoreWebView2.ShowSaveAsUIAsync Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#showsaveasuiasync) - -* [CoreWebView2SaveAsKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveaskind?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true) - * `Complete` - * `Default` - * `HtmlOnly` - * `SingleFile` - -* [CoreWebView2SaveAsUIResult Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuiresult?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true) - * `Cancelled` - * `FileAlreadyExists` - * `InvalidPath` - * `KindNotSupported` - * `Success` - -* `CoreWebView2SaveAsUIShowingEventArgs` Class: - * [CoreWebView2SaveAsUIShowingEventArgs.AllowReplace Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#allowreplace) - * [CoreWebView2SaveAsUIShowingEventArgs.Cancel Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#cancel) - * [CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#contentmimetype) - * [CoreWebView2SaveAsUIShowingEventArgs.Kind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#kind) - * [CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#saveasfilepath) - * [CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#suppressdefaultdialog) - * [CoreWebView2SaveAsUIShowingEventArgs.GetDeferral Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2saveasuishowingeventargs?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#getdeferral) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2Experimental25](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true) - * [ICoreWebView2Experimental25::add_SaveAsUIShowing](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true#add_saveasuishowing) - * [ICoreWebView2Experimental25::remove_SaveAsUIShowing](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true#remove_saveasuishowing) - * [ICoreWebView2Experimental25::ShowSaveAsUI](/microsoft-edge/webview2/reference/win32/icorewebview2experimental25?view=webview2-1.0.2526-prerelease&preserve-view=true#showsaveasui) - -* [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_AllowReplace](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_allowreplace) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_cancel) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_ContentMimeType](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_contentmimetype) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_Kind](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_kind) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_SaveAsFilePath](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_saveasfilepath) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::get_SuppressDefaultDialog](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#get_suppressdefaultdialog) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::GetDeferral](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#getdeferral) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_AllowReplace](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_allowreplace) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_cancel) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_Kind](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_kind) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_SaveAsFilePath](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_saveasfilepath) - * [ICoreWebView2ExperimentalSaveAsUIShowingEventArgs::put_SuppressDefaultDialog](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventargs?view=webview2-1.0.2526-prerelease&preserve-view=true#put_suppressdefaultdialog) - -* [ICoreWebView2ExperimentalSaveAsUIShowingEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalsaveasuishowingeventhandler?view=webview2-1.0.2526-prerelease&preserve-view=true) - -* [ICoreWebView2ExperimentalShowSaveAsUICompletedHandler](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalshowsaveasuicompletedhandler?view=webview2-1.0.2526-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalShowSaveAsUICompletedHandler::Invoke](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalshowsaveasuicompletedhandler?view=webview2-1.0.2526-prerelease&preserve-view=true#invoke) - -* [COREWEBVIEW2_SAVE_AS_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2526-prerelease&preserve-view=true#corewebview2_save_as_kind) - * `COREWEBVIEW2_SAVE_AS_KIND_DEFAULT` - * `COREWEBVIEW2_SAVE_AS_KIND_HTML_ONLY` - * `COREWEBVIEW2_SAVE_AS_KIND_SINGLE_FILE` - * `COREWEBVIEW2_SAVE_AS_KIND_COMPLETE` - -* [COREWEBVIEW2_SAVE_AS_UI_RESULT enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2526-prerelease&preserve-view=true#corewebview2_save_as_ui_result) - * `COREWEBVIEW2_SAVE_AS_UI_RESULT_SUCCESS` - * `COREWEBVIEW2_SAVE_AS_UI_RESULT_INVALID_PATH` - * `COREWEBVIEW2_SAVE_AS_UI_RESULT_FILE_ALREADY_EXISTS` - * `COREWEBVIEW2_SAVE_AS_UI_RESULT_KIND_NOT_SUPPORTED` - * `COREWEBVIEW2_SAVE_AS_UI_RESULT_CANCELLED` - ---- - - - -#### Promotions - -The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. - - - -* Support for the Fluent Style Overlay Scrollbar. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.scrollbarstyle?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - -* [CoreWebView2ScrollbarStyle Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2scrollbarstyle?view=webview2-dotnet-1.0.2526-prerelease&preserve-view=true) - * `Default` - * `FluentOverlay` - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true#scrollbarstyle) - -* [CoreWebView2ScrollbarStyle Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2scrollbarstyle?view=webview2-winrt-1.0.2526-prerelease&preserve-view=true) - * `Default` - * `FluentOverlay` - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2EnvironmentOptions8](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions8?view=webview2-1.0.2526-prerelease&preserve-view=true) - * [ICoreWebView2EnvironmentOptions8::get_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions8?view=webview2-1.0.2526-prerelease&preserve-view=true#get_scrollbarstyle) - * [ICoreWebView2EnvironmentOptions8::put_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions8?view=webview2-1.0.2526-prerelease&preserve-view=true#put_scrollbarstyle) - -* [COREWEBVIEW2_SCROLLBAR_STYLE enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2526-prerelease&preserve-view=true#corewebview2_scrollbar_style) - * `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` - * `COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY` - ---- - - - -#### Bug fixes - - - -###### Runtime and SDK - -* Fixed a bug in WinRT JavaScript projection where passing in a typed array resulted in an "Interface Not Supported" error. ([Issue #3486](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3486)) - -* Added support for handling `out` array parameters in WinRT JavaScript projection. - - - -###### Runtime-only - -* Fixed a bug where the Image Auto-captioning feature was enabled by default. - -* Fixed a bug where if the `LaunchingExternalURIScheme` event handler is attached, if the **always remember** checkbox is enabled and the user selects this checkbox, the dialog will incorrectly be shown again. - -* Fixed `GetNonClientRegionAtPoint` incorrectly returning `Nowhere` for some points. - -* Fixed a bug where the Text Services Framework would disconnect upon dropping a file onto a WebView2 region. - -* Fixed a bug where the View Source **Ctrl+U** keyboard shortcut remained enabled when the `AreDevToolsEnabled` setting was `false`. - -* Fixed a bug where a composable IME was duplicated upon regaining focus. ([Issue #1610](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1610)) - -* Ensured that `devicePixelRatio` is synchronized with custom rasterization scales. ([Issue #3060](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3060)) - -* Fixed a race condition when using `CallDevToolsProtocolMethod` events in `NewWindowRequested`. ([Issue #4181](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4181)) - -* Fixed a crash that can occur in WPF `TabIntoCore` when the `Controller` has been destroyed but the user tries to tab into the control (pressing the **Tab** key). ([Issue #4452](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4452)) - -* Ensured that spellcheck takes input language with case-insensitive format. - -* Made the Language API more robust regarding user input. - -* Fixed a bug where the **Save password?** prompt is not displayed. - - - -###### SDK-only - -* Fixed missing `AreBrowserExtensionsEnabled` API in WinRT projection. - - - - - -## 1.0.2420.47 - -Release Date: March 25, 2024 - -[NuGet package for WebView2 SDK 1.0.2420.47](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2420.47) - -For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 123.0.2420.47 or higher. - - - -#### Promotions - -The following APIs have been promoted to Stable and are now included in this Release SDK. - - - -* Added a new API to provide hit-testing results on the regions that a WebView2 contains. This API is useful for visually hosted applications that want to handle mouse events on the non-client area of the WebView2 window. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2CompositionController` Class: - * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.getnonclientregionatpoint?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - * [CoreWebView2CompositionController.NonClientRegionChanged Event](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.nonclientregionchanged?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - * [CoreWebView2CompositionController.QueryNonClientRegion Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.querynonclientregion?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - -* `CoreWebView2NonClientRegionChangedEventArgs` Class: - * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionchangedeventargs.regionkind?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - -* [CoreWebView2NonClientRegionKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - * `Caption` - * `Client` - * `Nowhere` - -* `CoreWebView2Settings` Class: - * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/dotnet/api/microsoft.web.webview2.core.corewebview2settings.isnonclientregionsupportenabled?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2CompositionController` Class: - * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2420.47&preserve-view=true#getnonclientregionatpoint) - * [CoreWebView2CompositionController.NonClientRegionChanged Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2420.47&preserve-view=true#nonclientregionchanged) - * [CoreWebView2CompositionController.QueryNonClientRegion Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2420.47&preserve-view=true#querynonclientregion) - -* `CoreWebView2NonClientRegionChangedEventArgs` Class: - * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionchangedeventargs?view=webview2-winrt-1.0.2420.47&preserve-view=true#regionkind) - -* [CoreWebView2NonClientRegionKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2420.47&preserve-view=true) - * `Caption` - * `Client` - * `Nowhere` - -* `CoreWebView2Settings` Class: - * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2settings?view=webview2-winrt-1.0.2420.47&preserve-view=true#isnonclientregionsupportenabled) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2CompositionController4](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true) - * [ICoreWebView2CompositionController4::add_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#add_nonclientregionchanged) - * [ICoreWebView2CompositionController4::GetNonClientRegionAtPoint](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#getnonclientregionatpoint) - * [ICoreWebView2CompositionController4::QueryNonClientRegion](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#querynonclientregion) - * [ICoreWebView2CompositionController4::remove_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2420.47&preserve-view=true#remove_nonclientregionchanged) - -* [ICoreWebView2NonClientRegionChangedEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2420.47&preserve-view=true) - * [ICoreWebView2NonClientRegionChangedEventArgs::get_RegionKind](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2420.47&preserve-view=true#get_regionkind) - -* [ICoreWebView2NonClientRegionChangedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventhandler?view=webview2-1.0.2420.47&preserve-view=true) - -* [ICoreWebView2RegionRectCollectionView](/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview?view=webview2-1.0.2420.47&preserve-view=true) - -* [ICoreWebView2Settings9](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2420.47&preserve-view=true) - * [ICoreWebView2Settings9::get_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2420.47&preserve-view=true#get_isnonclientregionsupportenabled) - * [ICoreWebView2Settings9::put_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2420.47&preserve-view=true#put_isnonclientregionsupportenabled) - -* [COREWEBVIEW2_NON_CLIENT_REGION_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2420.47&preserve-view=true#corewebview2_non_client_region_kind) - * `COREWEBVIEW2_NON_CLIENT_REGION_KIND_CAPTION` - * `COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT` - * `COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE` - ---- - - - -* Added the `FailureSourceModulePath` property to the `ProcessFailedEventArgs` type, to specify the full path of the module that caused the crash in cases of Windows code integrity failures - that is, when a process exited with `STATUS_INVALID_IMAGE_HASH`. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2ProcessFailedEventArgs` Class: - * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/dotnet/api/microsoft.web.webview2.core.corewebview2processfailedeventargs.failuresourcemodulepath?view=webview2-dotnet-1.0.2420.47&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2ProcessFailedEventArgs` Class: - * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2processfailedeventargs?view=webview2-winrt-1.0.2420.47&preserve-view=true#failuresourcemodulepath) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2ProcessFailedEventArgs3](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2420.47&preserve-view=true) - * [ICoreWebView2ProcessFailedEventArgs3::get_FailureSourceModulePath](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2420.47&preserve-view=true#get_failuresourcemodulepath) - ---- - - - -#### Bug fixes - - -###### SDK-only - -* The .NET assemblies for WinForms and WPF are now shipped with optimization enabled. ([Issue #4409](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4409)) - - - - - -## 1.0.2470-prerelease - -Release Date: March 25, 2024 - -[NuGet package for WebView2 SDK 1.0.2470-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2470-prerelease) - -For full API compatibility, this Prerelease version of the WebView2 SDK requires WebView2 Runtime version 124.0.2470.0 or higher. - - - - -#### Experimental APIs - -The following Experimental APIs have been added in this Prerelease SDK. - - - -* Support for the Fluent Style Overlay Scrollbar. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.scrollbarstyle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - -* [CoreWebView2ScrollbarStyle Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2scrollbarstyle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * `Default` - * `FluentOverlay` - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ScrollBarStyle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#scrollbarstyle) - -* [CoreWebView2ScrollbarStyle Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2scrollbarstyle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) - * `Default` - * `FluentOverlay` - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2ExperimentalEnvironmentOptions2](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironmentoptions2?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalEnvironmentOptions2::get_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironmentoptions2?view=webview2-1.0.2470-prerelease&preserve-view=true#get_scrollbarstyle) - * [ICoreWebView2ExperimentalEnvironmentOptions2::put_ScrollBarStyle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironmentoptions2?view=webview2-1.0.2470-prerelease&preserve-view=true#put_scrollbarstyle) - -* [COREWEBVIEW2_SCROLLBAR_STYLE enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_scrollbar_style) - * `COREWEBVIEW2_SCROLLBAR_STYLE_DEFAULT` - * `COREWEBVIEW2_SCROLLBAR_STYLE_FLUENT_OVERLAY` - ---- - - - -* Updated the WebMessageObjects API to allow injecting DOM objects into WebView2 content that's constructed via the app and via the `CoreWebView2.PostWebMessage` API in the other direction. Added a new web object type to represent a file system handle that can be posted to the web content to provide it with filesystem access. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.PostWebMessageAsJsonWithAdditionalObjects Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.postwebmessageasjsonwithadditionalobjects?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - -* `CoreWebView2Environment` Class: - * [CoreWebView2Environment.CreateWebFileSystemDirectoryHandle Method](/dotnet/api/microsoft.web.webview2.core.corewebview2environment.createwebfilesystemdirectoryhandle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * [CoreWebView2Environment.CreateWebFileSystemFileHandle Method](/dotnet/api/microsoft.web.webview2.core.corewebview2environment.createwebfilesystemfilehandle?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - -* `CoreWebView2FileSystemHandle` Class: - * [CoreWebView2FileSystemHandle.Kind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandle.kind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * [CoreWebView2FileSystemHandle.Path Property](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandle.path?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * [CoreWebView2FileSystemHandle.Permission Property](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandle.permission?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - -* [CoreWebView2FileSystemHandleKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandlekind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * `File` - * `Directory` - -* [CoreWebView2FileSystemHandlePermission Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2filesystemhandlepermission?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * `ReadOnly` - * `ReadWrite` - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.PostWebMessageAsJsonWithAdditionalObjects Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#postwebmessageasjsonwithadditionalobjects) - -* `CoreWebView2Environment` Class: - * [CoreWebView2Environment.CreateWebFileSystemDirectoryHandle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#createwebfilesystemdirectoryhandle) - * [CoreWebView2Environment.CreateWebFileSystemFileHandle Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#createwebfilesystemfilehandle) - -* `CoreWebView2FileSystemHandle` Class: - * [CoreWebView2FileSystemHandle.Kind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#kind) - * [CoreWebView2FileSystemHandle.Path Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#path) - * [CoreWebView2FileSystemHandle.Permission Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandle?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#permission) - -* [CoreWebView2FileSystemHandleKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandlekind?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) - * `File` - * `Directory` - -* [CoreWebView2FileSystemHandlePermission Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2filesystemhandlepermission?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) - * `ReadOnly` - * `ReadWrite` - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2Experimental24](/microsoft-edge/webview2/reference/win32/icorewebview2experimental24?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2Experimental24::PostWebMessageAsJsonWithAdditionalObjects](/microsoft-edge/webview2/reference/win32/icorewebview2experimental24?view=webview2-1.0.2470-prerelease&preserve-view=true#postwebmessageasjsonwithadditionalobjects) - -* [ICoreWebView2ExperimentalEnvironment14](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalEnvironment14::CreateObjectCollection](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true#createobjectcollection) - * [ICoreWebView2ExperimentalEnvironment14::CreateWebFileSystemDirectoryHandle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true#createwebfilesystemdirectoryhandle) - * [ICoreWebView2ExperimentalEnvironment14::CreateWebFileSystemFileHandle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalenvironment14?view=webview2-1.0.2470-prerelease&preserve-view=true#createwebfilesystemfilehandle) - -* [ICoreWebView2ExperimentalFileSystemHandle](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalFileSystemHandle::get_Kind](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true#get_kind) - * [ICoreWebView2ExperimentalFileSystemHandle::get_Path](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true#get_path) - * [ICoreWebView2ExperimentalFileSystemHandle::get_Permission](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalfilesystemhandle?view=webview2-1.0.2470-prerelease&preserve-view=true#get_permission) - -* [ICoreWebView2ExperimentalObjectCollection](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalobjectcollection?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalObjectCollection::InsertValueAtIndex](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalobjectcollection?view=webview2-1.0.2470-prerelease&preserve-view=true#insertvalueatindex) - * [ICoreWebView2ExperimentalObjectCollection::RemoveValueAtIndex](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalobjectcollection?view=webview2-1.0.2470-prerelease&preserve-view=true#removevalueatindex) - -* [COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_file_system_handle_kind) - * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_FILE` - * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_KIND_DIRECTORY` - -* [COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_file_system_handle_permission) - * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_ONLY` - * `COREWEBVIEW2_FILE_SYSTEM_HANDLE_PERMISSION_READ_WRITE` - ---- - - - -#### Promotions - -The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. - - - -* Added the Runtime selection feature to support more prerelease testing and flighting scenarios. You can specify `ReleaseChannels` to choose which channels are searched for during environment creation, and `ChannelSearchKind` to select a search order. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.channelsearchkind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/dotnet/api/microsoft.web.webview2.core.corewebview2environmentoptions.releasechannels?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - -* [CoreWebView2ChannelSearchKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2channelsearchkind?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * `MostStable` - * `LeastStable` - -* [CoreWebView2ReleaseChannels Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2releasechannels?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - * `None` - * `Stable` - * `Beta` - * `Dev` - * `Canary` - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2EnvironmentOptions` Class: - * [CoreWebView2EnvironmentOptions.ChannelSearchKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#channelsearchkind) - * [CoreWebView2EnvironmentOptions.ReleaseChannels Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environmentoptions?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#releasechannels) - -* [CoreWebView2ChannelSearchKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2channelsearchkind?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) - * `MostStable` - * `LeastStable` - -* [CoreWebView2ReleaseChannels Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2releasechannels?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true) - * `None` - * `Stable` - * `Beta` - * `Dev` - * `Canary` - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2EnvironmentOptions7](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2EnvironmentOptions7::get_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#get_channelsearchkind) - * [ICoreWebView2EnvironmentOptions7::put_ChannelSearchKind](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#put_channelsearchkind) - * [ICoreWebView2EnvironmentOptions7::get_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#get_releasechannels) - * [ICoreWebView2EnvironmentOptions7::put_ReleaseChannels](/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions7?view=webview2-1.0.2470-prerelease&preserve-view=true#put_releasechannels) - -* [COREWEBVIEW2_CHANNEL_SEARCH_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_channel_search_kind) - * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE` - * `COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE` - -* [COREWEBVIEW2_RELEASE_CHANNELS enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2470-prerelease&preserve-view=true#corewebview2_release_channels) - * `COREWEBVIEW2_RELEASE_CHANNELS_NONE` - * `COREWEBVIEW2_RELEASE_CHANNELS_STABLE` - * `COREWEBVIEW2_RELEASE_CHANNELS_BETA` - * `COREWEBVIEW2_RELEASE_CHANNELS_DEV` - * `COREWEBVIEW2_RELEASE_CHANNELS_CANARY` - ---- - - - -* Added the `FailureSourceModulePath` property to the `ProcessFailedEventArgs` type, to specify the full path of the module that caused the crash in cases of Windows code integrity failures - that is, when a process exited with `STATUS_INVALID_IMAGE_HASH`. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2ProcessFailedEventArgs` Class: - * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/dotnet/api/microsoft.web.webview2.core.corewebview2processfailedeventargs.failuresourcemodulepath?view=webview2-dotnet-1.0.2470-prerelease&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2ProcessFailedEventArgs` Class: - * [CoreWebView2ProcessFailedEventArgs.FailureSourceModulePath Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2processfailedeventargs?view=webview2-winrt-1.0.2470-prerelease&preserve-view=true#failuresourcemodulepath) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2ProcessFailedEventArgs3](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2470-prerelease&preserve-view=true) - * [ICoreWebView2ProcessFailedEventArgs3::get_FailureSourceModulePath](/microsoft-edge/webview2/reference/win32/icorewebview2processfailedeventargs3?view=webview2-1.0.2470-prerelease&preserve-view=true#get_failuresourcemodulepath) - ---- - - - -#### Bug fixes - - -###### Runtime-only - -* Fixed a reliability regression that could crash the application process when an old version of WebView2 client DLL is unloaded. -* Ensured that the WebView2 temporary download folder is unique per user data folder, and doesn't interfere with other apps or the browser. - - - - - -## 1.0.2365.46 - -Release Date: February 26, 2024 - -[NuGet package for WebView2 SDK 1.0.2365.46](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2365.46) - -For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 122.0.2365.46 or higher. - - - -#### Promotions - -The following APIs have been promoted to Stable and are now included in this Release SDK. - - - -* Added support for `WebResourceRequested` for workers, which allows setting filters in order to receive `WebResourceRequested` events for service workers, shared workers, and different-origin iframes. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.AddWebResourceRequestedFilter Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.addwebresourcerequestedfilter?view=webview2-dotnet-1.0.2365.46&preserve-view=true) - * [CoreWebView2.RemoveWebResourceRequestedFilter Method](/dotnet/api/microsoft.web.webview2.core.corewebview2.removewebresourcerequestedfilter?view=webview2-dotnet-1.0.2365.46&preserve-view=true) - -* `CoreWebView2WebResourceRequestedEventArgs` Class: - * [CoreWebView2WebResourceRequestedEventArgs.RequestedSourceKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2webresourcerequestedeventargs.requestedsourcekind?view=webview2-dotnet-1.0.2365.46&preserve-view=true) - -* [CoreWebView2WebResourceRequestSourceKinds Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2webresourcerequestsourcekinds?view=webview2-dotnet-1.0.2365.46&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.AddWebResourceRequestedFilter Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2365.46&preserve-view=true#addwebresourcerequestedfilter) - * [CoreWebView2.RemoveWebResourceRequestedFilter Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2365.46&preserve-view=true#removewebresourcerequestedfilter) - -* `CoreWebView2WebResourceRequestedEventArgs` Class: - * [CoreWebView2WebResourceRequestedEventArgs.RequestedSourceKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2webresourcerequestedeventargs?view=webview2-winrt-1.0.2365.46&preserve-view=true#requestedsourcekind) - -* [CoreWebView2WebResourceRequestSourceKinds Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2webresourcerequestsourcekinds?view=webview2-winrt-1.0.2365.46&preserve-view=true) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2_22](/microsoft-edge/webview2/reference/win32/icorewebview2_22?view=webview2-1.0.2365.46&preserve-view=true) - * [ICoreWebView2_22::AddWebResourceRequestedFilterWithRequestSourceKinds](/microsoft-edge/webview2/reference/win32/icorewebview2_22?view=webview2-1.0.2365.46&preserve-view=true#addwebresourcerequestedfilterwithrequestsourcekinds) - * [ICoreWebView2_22::RemoveWebResourceRequestedFilterWithRequestSourceKinds](/microsoft-edge/webview2/reference/win32/icorewebview2_22?view=webview2-1.0.2365.46&preserve-view=true#removewebresourcerequestedfilterwithrequestsourcekinds) - -* [ICoreWebView2WebResourceRequestedEventArgs2](/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs2?view=webview2-1.0.2365.46&preserve-view=true) - * [ICoreWebView2WebResourceRequestedEventArgs2::get_RequestedSourceKind](/microsoft-edge/webview2/reference/win32/icorewebview2webresourcerequestedeventargs2?view=webview2-1.0.2365.46&preserve-view=true#get_requestedsourcekind) - -* [COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2365.46&preserve-view=true#corewebview2_web_resource_request_source_kinds) - ---- - - - -* To support browser extensions in WebView2, added `GetBrowserExtensions` for WinRT: - -##### [.NET/C#](#tab/dotnetcsharp) - -N/A - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2Profile` Class: - * [CoreWebView2Profile.GetBrowserExtensionsAsync Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2profile?view=webview2-winrt-1.0.2365.46&preserve-view=true#getbrowserextensionsasync) - -##### [Win32/C++](#tab/win32cpp) - -N/A - ---- - - - -#### Bug fixes - -###### Runtime-only - -* Fixed a regression that affected handling of the `NewWindowRequested` event when the new window is set to be the source WebView. ([Issue #4250](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4250)) - -* Fixed a bug where closing a WebView that has an embedded PDF viewer could lead to a crash. ([Issue #3832](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3832)) - -* Fixed a regression where mouse-clicks stopped working when the application enabled `SetWindowDisplayAffinity`. ([Issue #4325](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4325)) - - - - - -## 1.0.2415-prerelease - -Release Date: February 26, 2024 - -[NuGet package for WebView2 SDK 1.0.2415-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2415-prerelease) - -For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 123.0.2415.0 or higher. - - - -#### Breaking changes - - - -* The behavior of the `InitiatingOrigin` property of `CoreWebView2LaunchingExternalUriSchemeEventArgs` has changed. If the `InitiatingOrigin` is an [opaque origin](https://html.spec.whatwg.org/multipage/browsers.html#concept-origin-opaque), the `InitiatingOrigin` that's reported in the event args is its precursor origin. The _precursor origin_ is the origin that created the opaque origin. For example, if a frame that's at `example.com` opens a subframe that has a different opaque origin, the subframe's precursor origin is `example.com`. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2LaunchingExternalUriSchemeEventArgs` Class: - * [CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin Property](/dotnet/api/microsoft.web.webview2.core.corewebview2launchingexternalurischemeeventargs.initiatingorigin?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2LaunchingExternalUriSchemeEventArgs` Class: - * [CoreWebView2LaunchingExternalUriSchemeEventArgs.InitiatingOrigin Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2launchingexternalurischemeeventargs?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#initiatingorigin) - -##### [Win32/C++](#tab/win32cpp) - -* `ICoreWebView2LaunchingExternalUriSchemeEventArgs`: - * [ICoreWebView2LaunchingExternalUriSchemeEventArgs::get_InitiatingOrigin](/microsoft-edge/webview2/reference/win32/icorewebview2launchingexternalurischemeeventargs?view=webview2-1.0.2415-prerelease&preserve-view=true#get_initiatingorigin) - ---- - - - -* The members of the `CoreWebView2TextureStreamErrorKind` enum have been renamed: - -##### [.NET/C#](#tab/dotnetcsharp) - -Old member names: -* [CoreWebView2TextureStreamErrorKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2texturestreamerrorkind?view=webview2-dotnet-1.0.2357-prerelease&preserve-view=true) - * `CoreWebView2TextureStreamErrorNoVideoTrackStarted` - * `CoreWebView2TextureStreamErrorTextureError` - * `CoreWebView2TextureStreamErrorTextureInUse` - -New member names: -* [CoreWebView2TextureStreamErrorKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2texturestreamerrorkind?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - * `NoVideoTrackStarted` - * `TextureError` - * `TextureInUse` - -##### [WinRT/C#](#tab/winrtcsharp) - -Old member names: -* [CoreWebView2TextureStreamErrorKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2texturestreamerrorkind?view=webview2-winrt-1.0.2357-prerelease&preserve-view=true) - * `CoreWebView2TextureStreamErrorNoVideoTrackStarted` - * `CoreWebView2TextureStreamErrorTextureError` - * `CoreWebView2TextureStreamErrorTextureInUse` - -New member names: -* [CoreWebView2TextureStreamErrorKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2texturestreamerrorkind?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true) - * `NoVideoTrackStarted` - * `TextureError` - * `TextureInUse` - -##### [Win32/C++](#tab/win32cpp) - -Old member names: -* [COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2357-prerelease&preserve-view=true#corewebview2_texture_stream_error_kind) - * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_NO_VIDEO_TRACK_STARTED` - * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_TEXTURE_ERROR` - * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_TEXTURE_IN_USE` - -New member names: -* [COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND enum](/microsoft-edge/webview2/reference/win32/webview2experimental-idl?view=webview2-1.0.2415-prerelease&preserve-view=true#corewebview2_texture_stream_error_kind) - * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND_NO_VIDEO_TRACK_STARTED` - * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND_TEXTURE_ERROR` - * `COREWEBVIEW2_TEXTURE_STREAM_ERROR_KIND_TEXTURE_IN_USE` - ---- - - - -#### Experimental APIs - -The following Experimental APIs have been added in this Prerelease SDK. - -* The `CoreWebView2ControllerOptions` class now has an `AllowHostInputProcessing` property, which allows user input messages (keyboard, mouse, touch, and pen) to pass through the browser window to be received by an app process window. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2ControllerOptions` Class: - * [CoreWebView2ControllerOptions.AllowHostInputProcessing Property](/dotnet/api/microsoft.web.webview2.core.corewebview2controlleroptions.allowhostinputprocessing?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2ControllerOptions` Class: - * [CoreWebView2ControllerOptions.AllowHostInputProcessing Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2controlleroptions?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#allowhostinputprocessing) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2ExperimentalControllerOptions2](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalcontrolleroptions2?view=webview2-1.0.2415-prerelease&preserve-view=true) - * [ICoreWebView2ExperimentalControllerOptions2::get_AllowHostInputProcessing](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalcontrolleroptions2?view=webview2-1.0.2415-prerelease&preserve-view=true#get_allowhostinputprocessing) - * [ICoreWebView2ExperimentalControllerOptions2::put_AllowHostInputProcessing](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalcontrolleroptions2?view=webview2-1.0.2415-prerelease&preserve-view=true#put_allowhostinputprocessing) - ---- - - - -#### Promotions - -The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. - - - -* Added a new API to provide hit-testing results on the regions that a WebView2 contains. This API is useful for visually hosted applications that want to handle mouse events on the non-client area of the WebView2 window. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2CompositionController` Class: - * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.getnonclientregionatpoint?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - * [CoreWebView2CompositionController.QueryNonClientRegion Method](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.querynonclientregion?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - * [CoreWebView2CompositionController.NonClientRegionChanged Event](/dotnet/api/microsoft.web.webview2.core.corewebview2compositioncontroller.nonclientregionchanged?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - -* [CoreWebView2NonClientRegionChangedEventArgs Class](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionchangedeventargs?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionchangedeventargs.regionkind?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - -* [CoreWebView2NonClientRegionKind Enum](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - -* `CoreWebView2Settings` Class: - * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/dotnet/api/microsoft.web.webview2.core.corewebview2settings.isnonclientregionsupportenabled?view=webview2-dotnet-1.0.2415-prerelease&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2CompositionController` Class: - * [CoreWebView2CompositionController.GetNonClientRegionAtPoint Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#getnonclientregionatpoint) - * [CoreWebView2CompositionController.QueryNonClientRegion Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#querynonclientregion) - * [CoreWebView2CompositionController.NonClientRegionChanged Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2compositioncontroller?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#nonclientregionchanged) - -* [CoreWebView2NonClientRegionChangedEventArgs Class](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionchangedeventargs?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true) - * [CoreWebView2NonClientRegionChangedEventArgs.RegionKind Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionchangedeventargs?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#regionkind) - -* [CoreWebView2NonClientRegionKind Enum](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true) - -* `CoreWebView2Settings` Class: - * [CoreWebView2Settings.IsNonClientRegionSupportEnabled Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2settings?view=webview2-winrt-1.0.2415-prerelease&preserve-view=true#isnonclientregionsupportenabled) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2CompositionController4](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true) - * [ICoreWebView2CompositionController4::GetNonClientRegionAtPoint](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#getnonclientregionatpoint) - * [ICoreWebView2CompositionController4::QueryNonClientRegion](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#querynonclientregion) - * [ICoreWebView2CompositionController4::add_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#add_nonclientregionchanged) - * [ICoreWebView2CompositionController4::remove_NonClientRegionChanged](/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller4?view=webview2-1.0.2415-prerelease&preserve-view=true#remove_nonclientregionchanged) - -* [ICoreWebView2NonClientRegionChangedEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2415-prerelease&preserve-view=true) - * [ICoreWebView2NonClientRegionChangedEventArgs::get_RegionKind](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventargs?view=webview2-1.0.2415-prerelease&preserve-view=true#get_regionkind) - -* [ICoreWebView2NonClientRegionChangedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2nonclientregionchangedeventhandler?view=webview2-1.0.2415-prerelease&preserve-view=true) - -* [ICoreWebView2RegionRectCollectionView](/microsoft-edge/webview2/reference/win32/icorewebview2regionrectcollectionview?view=webview2-1.0.2415-prerelease&preserve-view=true) - -* [ICoreWebView2Settings9](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2415-prerelease&preserve-view=true) - * [ICoreWebView2Settings9::get_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2415-prerelease&preserve-view=true#get_isnonclientregionsupportenabled) - * [ICoreWebView2Settings9::put_IsNonClientRegionSupportEnabled](/microsoft-edge/webview2/reference/win32/icorewebview2settings9?view=webview2-1.0.2415-prerelease&preserve-view=true#put_isnonclientregionsupportenabled) - -* [COREWEBVIEW2_NON_CLIENT_REGION_KIND enum](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2415-prerelease&preserve-view=true#corewebview2_non_client_region_kind) - ---- - - - -#### Bug fixes - -###### Runtime-only - -* Fixed the camera or mic not being able to open in Google Meet or Microsoft Teams meetings when the permission request is set to "not persisted" (that is, `SavesInProfile = false`). ([Issue #3592](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3592)) - -* Fixed appending an empty `--edge-webview-custom-scheme` command-line switch in a WebView2 browser process. - -* Disabled the global `UserDataFolder` registry key, so that this registry key can only be applied per-app. - -* Fixed the `NewWindowRequested` event not being fired when opened by a browser extension. ([Issue #3841](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3841)) - -* Fixed the `NewWindowRequested` event not being fired when opening a view source. ([Issue #4162](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4162)) - -* Fixed an issue to fire `StateChanged` and `BytesReceivedChanged` events when a download involves navigation. - -* Fixed a bug where the `BeforeUnload` dialog caused the WebView2 window to unexpectedly jump position. ([Issue #4350](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4350)) - -* Fixed an issue where `PrintAsync` prints a blank page if it is called too soon, before the PDF is fully loaded. ([Issue #3779](https://github.com/MicrosoftEdge/WebView2Feedback/issues/3779)) - - + From 35356906f9c25d133538a04a9fed9cc63f6a9ef1 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Fri, 6 Sep 2024 08:48:43 -0700 Subject: [PATCH 2/6] space bugfixes Aug Prerel --- microsoft-edge/webview2/release-notes/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index e3bb5dbdd1..d134d45722 100644 --- a/microsoft-edge/webview2/release-notes/index.md +++ b/microsoft-edge/webview2/release-notes/index.md @@ -546,10 +546,15 @@ No APIs have been promoted from Experimental to Stable in this Prerelease SDK. ###### Runtime-only * Enabled the interactive dragging feature by default. See `edge-webview-interactive-dragging` in [WebView2 browser flags](../concepts/webview-features-flags.md). + * Disabled `IsolateSandboxedIframes` for WebView2. + * Fixed an issue where WebView creation fails when multiple instances are launched at the same time. ([Issue #4731](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4731)) + * Fixed a bug in WinRT JavaScript projection where caching existing properties in objects whose name contains `Proxy` or `Function` caused an error due to name collision. + * Fixed a bug where the WebView2 control became the wrong size after disconnecting and reconnecting a monitor. + * Fixed an issue where "mailto:" links leave an untitled popup window open, instead of automatically closing the popup window. From 96e4ab465b976afa1c66fb29f514b0a84b01eb4d Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Fri, 6 Sep 2024 09:23:04 -0700 Subject: [PATCH 3/6] sdk-only spacing --- microsoft-edge/webview2/release-notes/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index d134d45722..8c4896c897 100644 --- a/microsoft-edge/webview2/release-notes/index.md +++ b/microsoft-edge/webview2/release-notes/index.md @@ -245,6 +245,7 @@ description * item + ###### Runtime-only @@ -252,6 +253,7 @@ description * item + ###### SDK-only @@ -562,6 +564,7 @@ No APIs have been promoted from Experimental to Stable in this Prerelease SDK. ###### SDK-only * C# WinRT projection now works on UWP. + * Fixed an issue to ensure that `GeneratedFilesDir` no longer appears in Visual Studio for C# WinRT projection. From abe1872283cc6057efb55bc4ae15e07d41bbb2ea Mon Sep 17 00:00:00 2001 From: Victor Huang Date: Wed, 18 Sep 2024 13:42:58 -0700 Subject: [PATCH 4/6] commit for sept release notes --- .../webview2/release-notes/index.md | 109 +++--------------- 1 file changed, 18 insertions(+), 91 deletions(-) diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index 8c4896c897..e6c7cb24e8 100644 --- a/microsoft-edge/webview2/release-notes/index.md +++ b/microsoft-edge/webview2/release-notes/index.md @@ -121,146 +121,73 @@ description -## 1.0.####.## +## 1.0.2792.45 -Release Date: Monthname nn, 2024 +Release Date: September 16, 2024 -[NuGet package for WebView2 SDK 1.0.####.##](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.####.##) +[NuGet package for WebView2 SDK 1.0.2792.45](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2792.45) -For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version ###.0.####.## or higher. +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 129.0.2792.45 or higher. #### Promotions No additional APIs have been promoted to Stable and added in this Release SDK. -The following APIs have been promoted to Stable and are now included in this Release SDK. - - - -###### heading - -description - -##### [.NET/C#](#tab/dotnetcsharp) - -##### [WinRT/C#](#tab/winrtcsharp) - -##### [Win32/C++](#tab/win32cpp) - ---- #### Bug fixes - - -###### Runtime and SDK - -* item - -* item - - - -###### Runtime-only - -* item - -* item - - ###### SDK-only -* item - -* item +* (SDK) Fix SDK dependency for .NET projects https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) -## 1.0.####-prerelease +## 1.0.2839-prerelease -Release Date: Monthname nn, 2024 +Release Date: September 16, 2024 -[NuGet package for WebView2 SDK 1.0.####-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.####-prerelease) +[NuGet package for WebView2 SDK 1.0.2839-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2839-prerelease) -For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version ###.0.####.0 or higher. +For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 130.0.2839.0 or higher. #### Experimental APIs No Experimental APIs have been added in this Prerelease SDK. -The following Experimental APIs have been added in this Prerelease SDK. - - - -###### heading - -description - -##### [.NET/C#](#tab/dotnetcsharp) - -##### [WinRT/C#](#tab/winrtcsharp) - -##### [Win32/C++](#tab/win32cpp) - ---- - #### Promotions No APIs have been promoted from Experimental to Stable in this Prerelease SDK. -The following APIs have been promoted from Experimental to Stable in this Prerelease SDK. - - - -###### heading - -description - -##### [.NET/C#](#tab/dotnetcsharp) - -##### [WinRT/C#](#tab/winrtcsharp) - -##### [Win32/C++](#tab/win32cpp) - ---- - #### Bug fixes - - -###### Runtime and SDK - -* item - -* item - - ###### Runtime-only -* item - -* item +* Fix an issue where focusing on WebView2 control in WinAppSDK with Windows "Scroll inactive windows" setting disabled caused scrolling to fail. +* Block edge://wallet in WebView2, GitHub #4710. ([Issue #4710](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4710)) +* Clear environment variable for default background color in dotnet webview controls after controller has finished creation. +* Enable accessibility support for Webview2 in visual hosting mode +* Fixed bug with removing web resource requested filter for multiple sources when one of them is Document. +* Fixes a regression where DataList would was not visible in WinUI and other visually hosted WebView2s. ###### SDK-only -* item - -* item - +* Fix SDK dependency for .NET projects https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) +* Fixes a compatibility issue when calling GetAvailableBrowserVersionString() with older WebView2Loader.dll.([Issue #4395](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4395)) +* Fix issues when compiling wv2winrt generated code with cpp20 and /permissive-. From ca0fb1b2ea3a6910b81e23377d06e798021109ce Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 18 Sep 2024 17:13:34 -0700 Subject: [PATCH 5/6] Writer/Editor pass --- .../webview2/release-notes/index.md | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index e6c7cb24e8..10f63f5f98 100644 --- a/microsoft-edge/webview2/release-notes/index.md +++ b/microsoft-edge/webview2/release-notes/index.md @@ -6,7 +6,7 @@ ms.author: msedgedevrel ms.topic: conceptual ms.service: microsoft-edge ms.subservice: webview -ms.date: 09/26/2024 +ms.date: 09/23/2024 --- # Release Notes for the WebView2 SDK @@ -123,7 +123,7 @@ description ## 1.0.2792.45 -Release Date: September 16, 2024 +Release Date: September 23, 2024 [NuGet package for WebView2 SDK 1.0.2792.45](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2792.45) @@ -139,10 +139,11 @@ No additional APIs have been promoted to Stable and added in this Release SDK. #### Bug fixes + ###### SDK-only -* (SDK) Fix SDK dependency for .NET projects https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) +* Fixed an SDK dependency for .NET projects. ([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) @@ -151,7 +152,7 @@ No additional APIs have been promoted to Stable and added in this Release SDK. ## 1.0.2839-prerelease -Release Date: September 16, 2024 +Release Date: September 23, 2024 [NuGet package for WebView2 SDK 1.0.2839-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2839-prerelease) @@ -163,31 +164,35 @@ For full API compatibility, this Prerelease version of the WebView2 SDK requires No Experimental APIs have been added in this Prerelease SDK. + #### Promotions No APIs have been promoted from Experimental to Stable in this Prerelease SDK. + #### Bug fixes + ###### Runtime-only -* Fix an issue where focusing on WebView2 control in WinAppSDK with Windows "Scroll inactive windows" setting disabled caused scrolling to fail. -* Block edge://wallet in WebView2, GitHub #4710. ([Issue #4710](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4710)) -* Clear environment variable for default background color in dotnet webview controls after controller has finished creation. -* Enable accessibility support for Webview2 in visual hosting mode -* Fixed bug with removing web resource requested filter for multiple sources when one of them is Document. -* Fixes a regression where DataList would was not visible in WinUI and other visually hosted WebView2s. +* Fixed an issue where focusing on a WebView2 control in WinAppSDK with the Windows "Scroll inactive windows" setting disabled caused scrolling to fail. +* Blocked `edge://wallet` in WebView2. ([Issue #4710](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4710)) +* Cleared the environment variable for default background color in .NET WebView2 controls after the controller has finished creation. +* Enabled accessibility support for Webview2 in visual hosting mode. +* Fixed a bug with removing a "web resource requested" filter for multiple sources when one of them is Document. +* Fixes a regression where `DataList` was not visible in WinUI or in other visually hosted WebView2 instances. ###### SDK-only -* Fix SDK dependency for .NET projects https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) -* Fixes a compatibility issue when calling GetAvailableBrowserVersionString() with older WebView2Loader.dll.([Issue #4395](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4395)) -* Fix issues when compiling wv2winrt generated code with cpp20 and /permissive-. +* Fix SDK dependency for .NET projects. ([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) +* Fixes a compatibility issue when calling `GetAvailableBrowserVersionString()` with an older `WebView2Loader.dll`. ([Issue #4395](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4395)) +* Fixed issues when compiling wv2winrt-generated code with the `cpp20` and `/permissive-` options. + From 8ba1b0c951fe5dec1c4c68d8e2c1166e988e6011 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Wed, 18 Sep 2024 17:18:20 -0700 Subject: [PATCH 6/6] fixes > fixed --- microsoft-edge/webview2/release-notes/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index 10f63f5f98..d38056260f 100644 --- a/microsoft-edge/webview2/release-notes/index.md +++ b/microsoft-edge/webview2/release-notes/index.md @@ -183,14 +183,14 @@ No APIs have been promoted from Experimental to Stable in this Prerelease SDK. * Cleared the environment variable for default background color in .NET WebView2 controls after the controller has finished creation. * Enabled accessibility support for Webview2 in visual hosting mode. * Fixed a bug with removing a "web resource requested" filter for multiple sources when one of them is Document. -* Fixes a regression where `DataList` was not visible in WinUI or in other visually hosted WebView2 instances. +* Fixed a regression where `DataList` was not visible in WinUI or in other visually hosted WebView2 instances. ###### SDK-only -* Fix SDK dependency for .NET projects. ([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) -* Fixes a compatibility issue when calling `GetAvailableBrowserVersionString()` with an older `WebView2Loader.dll`. ([Issue #4395](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4395)) +* Fixed an SDK dependency for .NET projects. ([Issue #4743](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4743)) +* Fixed a compatibility issue when calling `GetAvailableBrowserVersionString()` with an older `WebView2Loader.dll`. ([Issue #4395](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4395)) * Fixed issues when compiling wv2winrt-generated code with the `cpp20` and `/permissive-` options.