From f241806563fa7dd18b03ebcea03957f88148cf01 Mon Sep 17 00:00:00 2001 From: Michael Hoffman Date: Mon, 5 May 2025 02:58:43 -0700 Subject: [PATCH] WebView2 Release Notes for May 2025 Release SDK (#3427) * templates * link to Edge schedule * Draft v1 May relnotes * writer pass * openajax --------- Co-authored-by: sivMSFT --- microsoft-edge/accessibility/build/index.md | 2 +- .../concepts/deployment-distribution.md | 7 + .../webview2/concepts/developer-guide.md | 8 + .../webview2/concepts/distribution.md | 7 + .../webview2/concepts/end-user-faq.md | 2 +- .../webview2/concepts/enterprise.md | 5 +- .../webview2/concepts/versioning.md | 7 + .../webview2/how-to/prerelease-testing.md | 5 +- .../webview2/how-to/self-hosting.md | 5 +- .../webview2/how-to/set-preview-channel.md | 17 ++ microsoft-edge/webview2/index.md | 3 + .../webview2/release-notes/about.md | 4 + .../webview2/release-notes/archive.md | 153 +++++++++++ .../webview2/release-notes/index.md | 240 ++++++------------ .../samples/wv2deploymentvsinstallersample.md | 2 +- 15 files changed, 295 insertions(+), 172 deletions(-) diff --git a/microsoft-edge/accessibility/build/index.md b/microsoft-edge/accessibility/build/index.md index d557bb503e..c9efe8dbe5 100644 --- a/microsoft-edge/accessibility/build/index.md +++ b/microsoft-edge/accessibility/build/index.md @@ -171,7 +171,7 @@ JavaScript library to help modern web applications with accessibility concerns b #### OpenAjax examples -The [OpenAjax Alliance website](http://oaa-accessibility.org) is an excellent resource for verifying the rules for WAI-ARIA and provides a number of examples of WAI-ARIA implementations. +[OpenAjax Alliance](http://www.openajax.org) is an excellent resource for verifying the rules for WAI-ARIA and provides a number of examples of WAI-ARIA implementations. diff --git a/microsoft-edge/webview2/concepts/deployment-distribution.md b/microsoft-edge/webview2/concepts/deployment-distribution.md index fca64f03e8..c9cd54a5ce 100644 --- a/microsoft-edge/webview2/concepts/deployment-distribution.md +++ b/microsoft-edge/webview2/concepts/deployment-distribution.md @@ -17,3 +17,10 @@ Articles in this section: * [Enterprise management of WebView2 Runtimes](enterprise.md). * [Distribute an app as a single executable file](../how-to/static.md) - How to statically link the WebView2 loader library, to create a single-file app. * [Publish a UWP WebView2 app to the Microsoft Store](../how-to/publish-uwp-app-store.md) + + + +## See also + + +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) diff --git a/microsoft-edge/webview2/concepts/developer-guide.md b/microsoft-edge/webview2/concepts/developer-guide.md index d1172b6cc0..744b80f9fd 100644 --- a/microsoft-edge/webview2/concepts/developer-guide.md +++ b/microsoft-edge/webview2/concepts/developer-guide.md @@ -111,3 +111,11 @@ WebView2 enables you to host web content in your native applications, providing However, hosting web content can also introduce vulnerabilities. To avoid vulnerabilities that can arise from hosting web content within a native application, make sure to design your WebView2 application to closely monitor interactions between the web content and the host application. Follow the guidance in [Develop secure WebView2 apps](../concepts/security.md). + + + +## See also + + + +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) diff --git a/microsoft-edge/webview2/concepts/distribution.md b/microsoft-edge/webview2/concepts/distribution.md index d8b32d7232..b8baf89a01 100644 --- a/microsoft-edge/webview2/concepts/distribution.md +++ b/microsoft-edge/webview2/concepts/distribution.md @@ -418,3 +418,10 @@ Example managed app folder structure: \win-x64\native\WebView2Loader.dll (x64) \win-x86\native\WebView2Loader.dll (x86) ``` + + + +## See also + + +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) diff --git a/microsoft-edge/webview2/concepts/end-user-faq.md b/microsoft-edge/webview2/concepts/end-user-faq.md index 31e56640a1..2e4de19407 100644 --- a/microsoft-edge/webview2/concepts/end-user-faq.md +++ b/microsoft-edge/webview2/concepts/end-user-faq.md @@ -39,7 +39,7 @@ There are normally a few processes: * Utility processes, such as network or audio, depending on the content. * Renderer processes. -Your machine will have one set of processes for each app that uses WebView2, and typically one renderer process for each WebView2 control that's in the app, similar to how you have one renderer process per tab in a browser. For details, see [Process model for WebView2 apps](/microsoft-edge/webview2/concepts/process-model). +Your machine will have one set of processes for each app that uses WebView2, and typically one renderer process for each WebView2 control that's in the app, similar to how you have one renderer process per tab in a browser. For details, see [Process model for WebView2 apps](./process-model.md). diff --git a/microsoft-edge/webview2/concepts/enterprise.md b/microsoft-edge/webview2/concepts/enterprise.md index fd06d204a3..1f6e9af822 100644 --- a/microsoft-edge/webview2/concepts/enterprise.md +++ b/microsoft-edge/webview2/concepts/enterprise.md @@ -63,4 +63,7 @@ WebView2 options in Configuration Manager exist under the Microsoft Edge Managem ## See also -* [Distribute your app and the WebView2 Runtime](distribution.md) - About the Evergreen, self-updating WebView2 Runtime. +* [Distribute your app and the WebView2 Runtime](./distribution.md) - About the Evergreen, self-updating WebView2 Runtime. + + +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) diff --git a/microsoft-edge/webview2/concepts/versioning.md b/microsoft-edge/webview2/concepts/versioning.md index e2f35089c5..2e6950618c 100644 --- a/microsoft-edge/webview2/concepts/versioning.md +++ b/microsoft-edge/webview2/concepts/versioning.md @@ -185,3 +185,10 @@ When you develop a WebView2 app using a recent version of the WebView2 SDK, if y * **.NET and WinUI**. Use `try/catch` and check for a `No such interface supported` exception when using methods, properties, and events that were added to more recent versions of the WebView2 SDK. This exception likely indicates that the client's WebView2 Runtime is an older version that doesn't support that API. If your code determines that an API is unavailable in the client's installed WebView2 Runtime, you should provide graceful fallback for the associated feature, or inform the user that they must update the WebView2 Runtime to use the feature. + + + +## See also + + +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) diff --git a/microsoft-edge/webview2/how-to/prerelease-testing.md b/microsoft-edge/webview2/how-to/prerelease-testing.md index 5fe1df222a..b107ae070d 100644 --- a/microsoft-edge/webview2/how-to/prerelease-testing.md +++ b/microsoft-edge/webview2/how-to/prerelease-testing.md @@ -61,8 +61,9 @@ Upon finding issues, you can report them via the [Microsoft Edge / WebView2Feedb * [Self-host by deploying preview channels](./self-hosting.md) * [Test upcoming APIs and features](./set-preview-channel.md) -* [Automate and test WebView2 apps with Microsoft Edge WebDriver](/microsoft-edge/webdriver) +* [Automate and test WebView2 apps with Microsoft Edge WebDriver](./webdriver.md) +* [Site compatibility-impacting changes coming to Microsoft Edge](../../web-platform/site-impacting-changes.md) * [WebView2 feedback repo](https://github.com/MicrosoftEdge/WebView2Feedback) -* [Site compatibility-impacting changes coming to Microsoft Edge](/microsoft-edge/web-platform/site-impacting-changes) +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) * [Overview of the Microsoft Edge channels](/deployedge/microsoft-edge-channels) * [Become a Microsoft Edge Insider](https://www.microsoft.com/edge/download/insider) - download a preview channel of Microsoft Edge (Beta, Dev, or Canary). diff --git a/microsoft-edge/webview2/how-to/self-hosting.md b/microsoft-edge/webview2/how-to/self-hosting.md index 110d606588..5ea778e8f9 100644 --- a/microsoft-edge/webview2/how-to/self-hosting.md +++ b/microsoft-edge/webview2/how-to/self-hosting.md @@ -85,6 +85,9 @@ If you are using the API, then we recommend building UI in your app that allows * [Test upcoming APIs and features](./set-preview-channel.md) * [Prerelease testing using preview channels](./prerelease-testing.md) -* [WebView2 feedback repo](https://github.com/MicrosoftEdge/WebView2Feedback) * [Site compatibility-impacting changes coming to Microsoft Edge](../../web-platform/site-impacting-changes.md) + +External: +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) +* [WebView2 feedback repo](https://github.com/MicrosoftEdge/WebView2Feedback) * [Become a Microsoft Edge Insider](https://www.microsoft.com/edge/download/insider) - download the Canary, Dev, or Beta channel of Microsoft Edge. diff --git a/microsoft-edge/webview2/how-to/set-preview-channel.md b/microsoft-edge/webview2/how-to/set-preview-channel.md index 07f1b41126..2173a085bc 100644 --- a/microsoft-edge/webview2/how-to/set-preview-channel.md +++ b/microsoft-edge/webview2/how-to/set-preview-channel.md @@ -426,5 +426,22 @@ In your app's code, write your own custom logic to deploy the latest version of ## See also + +* [Prerelease testing using preview channels](./prerelease-testing.md) +* [Self-host by deploying preview channels](./self-hosting.md) * [Phases of introducing APIs](../concepts/versioning.md#phases-of-introducing-apis) in _Prerelease and Release SDKs for WebView2_. +* [Distribute your app and the WebView2 Runtime](../concepts/distribution.md) +* [Prerelease and Release SDKs for WebView2](../concepts/versioning.md) + +Enterprise docs: +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) +* [Configure Microsoft Edge policy settings on Windows devices](/deployedge/configure-microsoft-edge) + +Microsoft Intune: +* [Configure Microsoft Edge policy settings in Microsoft Intune](/mem/intune/configuration/administrative-templates-configure-edge) +* [Configure Microsoft Edge policy settings with Microsoft Intune](/deployedge/configure-edge-with-intune) + +Versions and preview channels of Microsoft Edge: +* [Become a Microsoft Edge Insider](https://www.microsoft.com/edge/download/insider) +* [Download and configure Microsoft Edge for Business](https://www.microsoft.com/edge/business/download) diff --git a/microsoft-edge/webview2/index.md b/microsoft-edge/webview2/index.md index 9d417784f8..939471bd23 100644 --- a/microsoft-edge/webview2/index.md +++ b/microsoft-edge/webview2/index.md @@ -128,6 +128,9 @@ After your environment is set up and the samples build and run on your machine, * [Overview of WebView2 APIs](concepts/overview-features-apis.md) * [Distribute your app and the WebView2 Runtime](concepts/distribution.md) +Edge Enterprise docs: +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) + developer.microsoft.com: * [Microsoft Edge WebView2](https://developer.microsoft.com/microsoft-edge/webview2) - initial introduction to WebView2 features at developer.microsoft.com. diff --git a/microsoft-edge/webview2/release-notes/about.md b/microsoft-edge/webview2/release-notes/about.md index 56bd50a884..ac1fe7908e 100644 --- a/microsoft-edge/webview2/release-notes/about.md +++ b/microsoft-edge/webview2/release-notes/about.md @@ -18,6 +18,9 @@ Generally, release notes apply across the supported platforms, which are listed Release Notes entries correspond to historical releases of WebView2, and are not updated over time. References to "new features" and "experimental APIs" might become outdated as new versions of WebView2 are released. +See also: +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) + ## Phases of adding APIs @@ -101,3 +104,4 @@ Async methods: * [Overview of WebView2 APIs](../concepts/overview-features-apis.md) * [Contacting the Microsoft Edge WebView2 team](../contact.md) * [Release notes for Microsoft Edge web platform](../../web-platform/release-notes/index.md) +* [Microsoft Edge release schedule](/deployedge/microsoft-edge-release-schedule) diff --git a/microsoft-edge/webview2/release-notes/archive.md b/microsoft-edge/webview2/release-notes/archive.md index 12ad5a4b84..54c65a9b49 100644 --- a/microsoft-edge/webview2/release-notes/archive.md +++ b/microsoft-edge/webview2/release-notes/archive.md @@ -13,6 +13,159 @@ ms.date: 03/10/2025 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.2903.40 + +Release Date: November 18, 2024 + +[NuGet package for WebView2 SDK 1.0.2903.40](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2903.40) + +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 131.0.2903.40 or higher. + + + +#### Promotions + +The following APIs have been promoted to Stable and are now included in this Release SDK. + + + +###### Control whether the screen capture UI is shown (ScreenCaptureStarting event) + +Added a new `ScreenCaptureStarting` event. This event is raised whenever the WebView2 and/or iframe that corresponds to the `CoreWebView2Frame` (or to any of its descendant iframes) requests permission to use the Screen Capture API before the UI is shown. The app can then block the UI from being displayed, or allow the UI to be displayed. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.ScreenCaptureStarting Event](/dotnet/api/microsoft.web.webview2.core.corewebview2.screencapturestarting?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + +* `CoreWebView2Frame` Class: + * [CoreWebView2Frame.ScreenCaptureStarting Event](/dotnet/api/microsoft.web.webview2.core.corewebview2frame.screencapturestarting?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + +* `CoreWebView2NonClientRegionKind` Enum: + * [CoreWebView2NonClientRegionKind.Minimize](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + * [CoreWebView2NonClientRegionKind.Maximize](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + * [CoreWebView2NonClientRegionKind.Close](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + +* [CoreWebView2ScreenCaptureStartingEventArgs Class](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.Cancel Property](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.cancel?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.Handled Property](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.handled?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.OriginalSourceFrameInfo Property](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.originalsourceframeinfo?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.GetDeferral Method](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.getdeferral?view=webview2-dotnet-1.0.2903.40&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2` Class: + * [CoreWebView2.ScreenCaptureStarting Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2903.40&preserve-view=true#screencapturestarting) + +* `CoreWebView2Frame` Class: + * [CoreWebView2Frame.ScreenCaptureStarting Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2frame?view=webview2-winrt-1.0.2903.40&preserve-view=true#screencapturestarting) + +* `CoreWebView2NonClientRegionKind` Enum: + * [CoreWebView2NonClientRegionKind.Minimize](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2903.40&preserve-view=true) + * [CoreWebView2NonClientRegionKind.Maximize](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2903.40&preserve-view=true) + * [CoreWebView2NonClientRegionKind.Close](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2903.40&preserve-view=true) + +* [CoreWebView2ScreenCaptureStartingEventArgs Class](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.Cancel Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.Handled Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.OriginalSourceFrameInfo Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) + * [CoreWebView2ScreenCaptureStartingEventArgs.GetDeferral Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2_27](/microsoft-edge/webview2/reference/win32/icorewebview2_27?view=webview2-1.0.2903.40&preserve-view=true) + * [ICoreWebView2_27::add_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2_27?view=webview2-1.0.2903.40&preserve-view=true#add_screencapturestarting) + * [ICoreWebView2_27::remove_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2_27?view=webview2-1.0.2903.40&preserve-view=true#remove_screencapturestarting) + +* [ICoreWebView2Frame6](/microsoft-edge/webview2/reference/win32/icorewebview2frame6?view=webview2-1.0.2903.40&preserve-view=true) + * [ICoreWebView2Frame6::add_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2frame6?view=webview2-1.0.2903.40&preserve-view=true#add_screencapturestarting) + * [ICoreWebView2Frame6::remove_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2frame6?view=webview2-1.0.2903.40&preserve-view=true#remove_screencapturestarting) + +* [ICoreWebView2FrameScreenCaptureStartingEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2framescreencapturestartingeventhandler?view=webview2-1.0.2903.40&preserve-view=true) + +* [ICoreWebView2ScreenCaptureStartingEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true) + * [ICoreWebView2ScreenCaptureStartingEventArgs::get_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#get_cancel) + * [ICoreWebView2ScreenCaptureStartingEventArgs::get_Handled](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#get_handled) + * [ICoreWebView2ScreenCaptureStartingEventArgs::get_OriginalSourceFrameInfo](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#get_originalsourceframeinfo) + * [ICoreWebView2ScreenCaptureStartingEventArgs::GetDeferral](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#getdeferral) + * [ICoreWebView2ScreenCaptureStartingEventArgs::put_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#put_cancel) + * [ICoreWebView2ScreenCaptureStartingEventArgs::put_Handled](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#put_handled) + +* [ICoreWebView2ScreenCaptureStartingEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventhandler?view=webview2-1.0.2903.40&preserve-view=true) + +* `COREWEBVIEW2_NON_CLIENT_REGION_KIND` enum: + * [COREWEBVIEW2_NON_CLIENT_REGION_KIND_MINIMIZE](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2903.40&preserve-view=true#corewebview2_non_client_region_kind) + * [COREWEBVIEW2_NON_CLIENT_REGION_KIND_MAXIMIZE](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2903.40&preserve-view=true#corewebview2_non_client_region_kind) + * [COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLOSE](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2903.40&preserve-view=true#corewebview2_non_client_region_kind) + +--- + + + +#### Bug fixes + + + +###### Runtime-only + +* Allowed the **Download** dialog to receive initial focus on launch. + + + +#### General changes + +* The Microsoft Edge WebView2 Runtime is no longer listed in Windows **Settings** > **Apps** > **Installed apps**, because it is a persistent system component. + + + + + + +## 1.0.2950-prerelease + +Release Date: November 18, 2024 + +[NuGet package for WebView2 SDK 1.0.2950-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2950-prerelease) + +For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 132.0.2950.0 or higher. + + + +#### Experimental APIs + +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 + +* Allowed the **Download** dialog to receive initial focus on launch. +* Fixed a crash while cancelling navigation to certain sites in `FrameNavigationStarting`. ([Issue #4843](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4843)) +* Postponed customizing the context menu when the touch selection menu is being displayed. ([Issue #4737](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4737)) + + + +###### SDK-only + +* Added Arm64ec support. +* Fixed an issue where WebView2 running in "Window to Visual" mode couldn't receive accelerator input. + + + + + ## 1.0.2849.39 diff --git a/microsoft-edge/webview2/release-notes/index.md b/microsoft-edge/webview2/release-notes/index.md index e2a2e83978..e24f0af853 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: 04/07/2025 +ms.date: 05/05/2025 --- # Release Notes for the WebView2 SDK @@ -16,18 +16,80 @@ These Release Notes provide information about new features and bug fixes that ar the template to copy for incoming sections is at end of this file this webpage covers the most recent ~5 months; periodically move oldest h2 sections from bottom of present file to archive.md. eg covers: +May 2025 Apr 2025 Mar 2025 Feb 2025 Jan 2025 [Dec 2024] -Nov 2024 moved to archive: -Oct 2024 +Nov 2024 --> + + +## 1.0.3240.44 + +Release Date: May 05, 2025 + +[NuGet package for WebView2 SDK 1.0.3240.44](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.3240.44) + +For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 136.0.3240.44 or higher. + + + +#### Promotions + +The following APIs have been promoted to Stable and are now included in this Release SDK. + + + +###### Track navigation history for nested iframes (FrameCreatedEvent API) + +The FrameCreatedEvent API supports nested iframes, such as recording the navigation history for a second-level iframe. Without this API, WebView2 only tracks first-level iframes, which are the direct child iframes of the main frame. Using this API, your app can subscribe to the nested iframe creation event, giving the app access to all properties, methods, and events of `CoreWebView2Frame` for the nested iframe. + +Use this API to manage iframe tracking on a page that contains multiple levels of iframes. You can choose to track any of the following: + +* Only the main page and first-level iframes (the default behavior). +* A partial WebView2 frames tree with specific iframes of interest. +* The full WebView2 frames tree. + +##### [.NET/C#](#tab/dotnetcsharp) + +* `CoreWebView2Frame` Class: + * [CoreWebView2Frame.FrameCreated Event](/dotnet/api/microsoft.web.webview2.core.corewebview2frame.framecreated?view=webview2-dotnet-1.0.3240.44&preserve-view=true) + +##### [WinRT/C#](#tab/winrtcsharp) + +* `CoreWebView2Frame` Class: + * [CoreWebView2Frame.FrameCreated Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2frame?view=webview2-winrt-1.0.3240.44&preserve-view=true#framecreated) + +##### [Win32/C++](#tab/win32cpp) + +* [ICoreWebView2Frame7](/microsoft-edge/webview2/reference/win32/icorewebview2frame7?view=webview2-1.0.3240.44&preserve-view=true) + * [ICoreWebView2Frame7::add_FrameCreated](/microsoft-edge/webview2/reference/win32/icorewebview2frame7?view=webview2-1.0.3240.44&preserve-view=true#add_framecreated) + * [ICoreWebView2Frame7::remove_FrameCreated](/microsoft-edge/webview2/reference/win32/icorewebview2frame7?view=webview2-1.0.3240.44&preserve-view=true#remove_framecreated) + +* [ICoreWebView2FrameChildFrameCreatedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2framechildframecreatedeventhandler?view=webview2-1.0.3240.44&preserve-view=true) + +--- + + + +#### Bug fixes + + + +###### Runtime-only + +* Fixed an issue where downloads from within the default browser frame didn't complete. ([Issue #5196](https://github.com/MicrosoftEdge/WebView2Feedback/issues/5196)) +* Fixed an issue where the pipe name was incorrectly returned, leading to a crash in some UWP apps. + + + + ## 1.0.3179.45 @@ -86,9 +148,9 @@ The following APIs have been promoted from Experimental to Stable in this Prerel ###### Track navigation history for nested iframes (FrameCreatedEvent API) -The FrameCreatedEvent API supports nested iframes, such as recording the navigation history for a second-level iframe. Without this API, WebView2 only tracks first-level iframes, which are the direct child iframes of the main frame. Using this API, your app can subscribe to the nested iframe creation event, giving the app access to all properties, methods, and events of CoreWebView2Frame for the nested iframe. +The FrameCreatedEvent API supports nested iframes, such as recording the navigation history for a second-level iframe. Without this API, WebView2 only tracks first-level iframes, which are the direct child iframes of the main frame. Using this API, your app can subscribe to the nested iframe creation event, giving the app access to all properties, methods, and events of `CoreWebView2Frame` for the nested iframe. -Use this API to manage iframe tracking on a page that contains multiple levels of iframes. You can choose to track any of the following: +Use this API to manage iframe tracking on a page that contains multiple levels of iframes. You can choose to track any of the following: * Only the main page and first-level iframes (the default behavior). * A partial WebView2 frames tree with specific iframes of interest. @@ -306,10 +368,10 @@ No APIs have been promoted from Experimental to Stable in this Prerelease SDK. --- - + ## 1.0.2957.106 @@ -371,10 +433,10 @@ n/a * Fixed an issue in the WPF `WebView2CompositionControl` where it's not displayed if it's initialized with size (0,0), such as when it's initialized in a `TabItem` of a `TabControl`. ([Issue #4941](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4941)) - + ## 1.0.3079-prerelease @@ -537,6 +599,7 @@ n/a The FrameCreatedEvent API supports nested iframes, such as recording the navigation history for a second-level iframe. Without this API, WebView2 only tracks first-level iframes, which are the direct child iframes of the main frame. Using this API, your app can subscribe to the nested iframe creation event, giving the app access to all properties, methods, and events of `CoreWebView2Frame` for the nested iframe. Use this API to manage iframe tracking on a page that contains multiple levels of iframes. You can choose to track any of the following: + * Only the main page and first-level iframes (the default behavior). * A partial WebView2 frames tree with specific iframes of interest. * The full WebView2 frames tree. @@ -557,7 +620,7 @@ Use this API to manage iframe tracking on a page that contains multiple levels o * [ICoreWebView2ExperimentalFrame8::add_FrameCreated](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalframe8?view=webview2-1.0.3079-prerelease&preserve-view=true#add_framecreated) * [ICoreWebView2ExperimentalFrame8::remove_FrameCreated](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalframe8?view=webview2-1.0.3079-prerelease&preserve-view=true#remove_framecreated) -* [ICoreWebView2ExperimentalFrameChildFrameCreatedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalframechildframecreatedeventhandler?view=webview2-1.0.3079-prerelease&preserve-view=true) +* [ICoreWebView2ExperimentalFrameChildFrameCreatedEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2experimentalframechildframecreatedeventhandler?view=webview2-1.0.3079-prerelease&preserve-view=true) --- @@ -642,162 +705,9 @@ n/a * Fixed an issue in the WPF `WebView2CompositionControl` where it's not displayed if it's initialized with size (0,0), such as when it's initialized in a `TabItem` of a `TabControl`. ([Issue #4941](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4941)) - - - -## 1.0.2903.40 - -Release Date: November 18, 2024 - -[NuGet package for WebView2 SDK 1.0.2903.40](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2903.40) - -For full API compatibility, this Release version of the WebView2 SDK requires WebView2 Runtime version 131.0.2903.40 or higher. - - - -#### Promotions - -The following APIs have been promoted to Stable and are now included in this Release SDK. - - - -###### Control whether the screen capture UI is shown (ScreenCaptureStarting event) - -Added a new `ScreenCaptureStarting` event. This event is raised whenever the WebView2 and/or iframe that corresponds to the `CoreWebView2Frame` (or to any of its descendant iframes) requests permission to use the Screen Capture API before the UI is shown. The app can then block the UI from being displayed, or allow the UI to be displayed. - -##### [.NET/C#](#tab/dotnetcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.ScreenCaptureStarting Event](/dotnet/api/microsoft.web.webview2.core.corewebview2.screencapturestarting?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - -* `CoreWebView2Frame` Class: - * [CoreWebView2Frame.ScreenCaptureStarting Event](/dotnet/api/microsoft.web.webview2.core.corewebview2frame.screencapturestarting?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - -* `CoreWebView2NonClientRegionKind` Enum: - * [CoreWebView2NonClientRegionKind.Minimize](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - * [CoreWebView2NonClientRegionKind.Maximize](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - * [CoreWebView2NonClientRegionKind.Close](/dotnet/api/microsoft.web.webview2.core.corewebview2nonclientregionkind?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - -* [CoreWebView2ScreenCaptureStartingEventArgs Class](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.Cancel Property](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.cancel?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.Handled Property](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.handled?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.OriginalSourceFrameInfo Property](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.originalsourceframeinfo?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.GetDeferral Method](/dotnet/api/microsoft.web.webview2.core.corewebview2screencapturestartingeventargs.getdeferral?view=webview2-dotnet-1.0.2903.40&preserve-view=true) - -##### [WinRT/C#](#tab/winrtcsharp) - -* `CoreWebView2` Class: - * [CoreWebView2.ScreenCaptureStarting Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2?view=webview2-winrt-1.0.2903.40&preserve-view=true#screencapturestarting) - -* `CoreWebView2Frame` Class: - * [CoreWebView2Frame.ScreenCaptureStarting Event](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2frame?view=webview2-winrt-1.0.2903.40&preserve-view=true#screencapturestarting) - -* `CoreWebView2NonClientRegionKind` Enum: - * [CoreWebView2NonClientRegionKind.Minimize](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2903.40&preserve-view=true) - * [CoreWebView2NonClientRegionKind.Maximize](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2903.40&preserve-view=true) - * [CoreWebView2NonClientRegionKind.Close](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2nonclientregionkind?view=webview2-winrt-1.0.2903.40&preserve-view=true) - -* [CoreWebView2ScreenCaptureStartingEventArgs Class](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.Cancel Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.Handled Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.OriginalSourceFrameInfo Property](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) - * [CoreWebView2ScreenCaptureStartingEventArgs.GetDeferral Method](/microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2screencapturestartingeventargs?view=webview2-winrt-1.0.2903.40&preserve-view=true) - -##### [Win32/C++](#tab/win32cpp) - -* [ICoreWebView2_27](/microsoft-edge/webview2/reference/win32/icorewebview2_27?view=webview2-1.0.2903.40&preserve-view=true) - * [ICoreWebView2_27::add_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2_27?view=webview2-1.0.2903.40&preserve-view=true#add_screencapturestarting) - * [ICoreWebView2_27::remove_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2_27?view=webview2-1.0.2903.40&preserve-view=true#remove_screencapturestarting) - -* [ICoreWebView2Frame6](/microsoft-edge/webview2/reference/win32/icorewebview2frame6?view=webview2-1.0.2903.40&preserve-view=true) - * [ICoreWebView2Frame6::add_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2frame6?view=webview2-1.0.2903.40&preserve-view=true#add_screencapturestarting) - * [ICoreWebView2Frame6::remove_ScreenCaptureStarting](/microsoft-edge/webview2/reference/win32/icorewebview2frame6?view=webview2-1.0.2903.40&preserve-view=true#remove_screencapturestarting) - -* [ICoreWebView2FrameScreenCaptureStartingEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2framescreencapturestartingeventhandler?view=webview2-1.0.2903.40&preserve-view=true) - -* [ICoreWebView2ScreenCaptureStartingEventArgs](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true) - * [ICoreWebView2ScreenCaptureStartingEventArgs::get_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#get_cancel) - * [ICoreWebView2ScreenCaptureStartingEventArgs::get_Handled](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#get_handled) - * [ICoreWebView2ScreenCaptureStartingEventArgs::get_OriginalSourceFrameInfo](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#get_originalsourceframeinfo) - * [ICoreWebView2ScreenCaptureStartingEventArgs::GetDeferral](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#getdeferral) - * [ICoreWebView2ScreenCaptureStartingEventArgs::put_Cancel](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#put_cancel) - * [ICoreWebView2ScreenCaptureStartingEventArgs::put_Handled](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventargs?view=webview2-1.0.2903.40&preserve-view=true#put_handled) - -* [ICoreWebView2ScreenCaptureStartingEventHandler](/microsoft-edge/webview2/reference/win32/icorewebview2screencapturestartingeventhandler?view=webview2-1.0.2903.40&preserve-view=true) - -* `COREWEBVIEW2_NON_CLIENT_REGION_KIND` enum: - * [COREWEBVIEW2_NON_CLIENT_REGION_KIND_MINIMIZE](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2903.40&preserve-view=true#corewebview2_non_client_region_kind) - * [COREWEBVIEW2_NON_CLIENT_REGION_KIND_MAXIMIZE](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2903.40&preserve-view=true#corewebview2_non_client_region_kind) - * [COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLOSE](/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.2903.40&preserve-view=true#corewebview2_non_client_region_kind) - ---- - - - -#### Bug fixes - - - -###### Runtime-only - -* Allowed the **Download** dialog to receive initial focus on launch. - - - -#### General changes - -* The Microsoft Edge WebView2 Runtime is no longer listed in Windows **Settings** > **Apps** > **Installed apps**, because it is a persistent system component. - - - - - - -## 1.0.2950-prerelease - -Release Date: November 18, 2024 - -[NuGet package for WebView2 SDK 1.0.2950-prerelease](https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.2950-prerelease) - -For full API compatibility, this Prerelease version of the WebView2 SDK requires the WebView2 Runtime that ships with Microsoft Edge version 132.0.2950.0 or higher. - - - -#### Experimental APIs - -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 - -* Allowed the **Download** dialog to receive initial focus on launch. -* Fixed a crash while cancelling navigation to certain sites in `FrameNavigationStarting`. ([Issue #4843](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4843)) -* Postponed customizing the context menu when the touch selection menu is being displayed. ([Issue #4737](https://github.com/MicrosoftEdge/WebView2Feedback/issues/4737)) - - - -###### SDK-only - -* Added Arm64ec support. -* Fixed an issue where WebView2 running in "Window to Visual" mode couldn't receive accelerator input. - - - - ## See also @@ -812,8 +722,8 @@ No APIs have been promoted from Experimental to Stable in this Prerelease SDK. template for Release and Prerelease omit the "Experimental APIs" section from actual Release section --> - - - + + diff --git a/microsoft-edge/webview2/samples/wv2deploymentvsinstallersample.md b/microsoft-edge/webview2/samples/wv2deploymentvsinstallersample.md index 0e4fa1bff0..78156b6674 100644 --- a/microsoft-edge/webview2/samples/wv2deploymentvsinstallersample.md +++ b/microsoft-edge/webview2/samples/wv2deploymentvsinstallersample.md @@ -29,7 +29,7 @@ This sample demonstrates several different deployment approaches: * Packaging the Evergreen WebView2 Runtime Bootstrapper with your app. * Packaging the Evergreen WebView2 Runtime Standalone Installer with your app. -For information about these different approaches, see [Deploying the Evergreen WebView2 Runtime](/microsoft-edge/webview2/concepts/distribution#deploying-the-evergreen-webview2-runtime) in _Distribute your app and the WebView2 Runtime_. +For information about these different approaches, see [Deploying the Evergreen WebView2 Runtime](../concepts/distribution.md#deploying-the-evergreen-webview2-runtime) in _Distribute your app and the WebView2 Runtime_.