Release notes for WebView2 SDK

The WebView2 team updates the WebView2 SDK on a six-week cadence. Review the following content for up-to-date information on product announcements, additions, modifications, and breaking changes to the APIs.

Note

Ensure you re-compile your app after updating the NuGet package. The team recommends using the Canary channel when developing using the prerelease packages, and the evergreen runtime when using released packages. For more information, navigate to Versioning.

1.0.790-prerelease

Release Date: February 10, 2021

NuGet package | Microsoft Edge version 86.0.616.0 or newer

General

Important

Breaking Change: WebView2 pre-release package 1.0.781 is deprecated. Discontinue development with package 1.0.781.

Important

WebView2 pre-release package 0.9.430 is deprecated, and is being removed from the upcoming release. If your WebView app uses the package, we recommend updating to a newer package.

Features
Bug fixes
  • Turned off the Microsoft Edge Shopping feature in WebView2.
  • Turned off the context menu in the PDF viewer when AreDefaultContextMenusEnabled is false. (#605).
  • Fixed a bug that returned E_NOINTERFACE when querying ICoreWebView2 for ICoreWebView2Experimental. (#691).
  • Fixed a bug that allowed navigation with malformed URIs when CoreWebView2NavigationStartingEventArgs.Cancel is set to false. (#400).
  • Fixed a bug that blocked window.print() on pop-up windows with event handlers attached to NewWindowRequested events. (#409).
  • Fixed Dynamic DPI issue when moving apps between different monitors. (#58)
  • Improved the HRESULT instances passed by ICoreWebView2WebResourceResponseViewGetContentCompletedHandler::Invoke.
  • Turned off autofill manage button. (#585).
  • Fixed Visual Studio crashes while running WebView2.Dispose when hosted in multiple windows. (#816\ and #442).
  • Fixed bug to display WebView2 control in Visual Studio Toolbox. (#210).
  • Reduced high CPU usage issues. (#878).
  • Fixed issues with deprecated 1.0.781-prerelease package. #875 and #878).
Promotions

.NET

Bug fixes
  • Fixed bug that crashed WebView apps that use the WPF SDK. The crash occurred when windows were closed using the F4 key. (#399).
  • The WebView2 initialization screen is now transparent, instead of gray. (#196).

1.0.705.50

Release Date: January 25, 2021

NuGet package | WebView2 Runtime version 86.0.616.0 or newer

Promotions

1.0.721-prerelease

Release Date: December 8, 2020

NuGet package | Microsoft Edge version 86.0.616.0 or newer

General

Important

Breaking Change: WebView2 pre-release package 1.0.707 and package 0.9.628 are deprecated. Discontinue development with package 1.0.707 and package0.9.628.

Features

.NET

Features
Bug fixes
  • Added AcceleratorKeyPressed event to support AcceleratorKey press in WebView2. (#288).
  • Removed unnecessary files from being output to WebView2 folders. (#461).
  • Improved host object API. (#335 and #525).

1.0.664.37

Release Date: November 20, 2020

NuGet package | WebView2 Runtime version 86.0.616.0 or newer.

General

Important

Announcement: .NET WPF/WinForms WebView2 SDKs are now Generally Available (GA). Starting with this release, Release SDKs are forward-compatible. For more details, navigate to GA announcement blog post.

Features
  • .NET WPF/WinForms WebView2 is now Generally Available (GA).
  • Fixed Distribution (Bring-your-own) mode reached GA.

.NET

Bug fixes
  • CoreWebView2NewWindowRequestedEventArgs.Handled prevents new window from being opened. (#549 and #560).

1.0.674-prerelease

Release Date: October 19, 2020

NuGet package | WebView2 Runtime version 86.0.616.0 or newer.

General

.NET

1.0.622.22

Release Date: October 19, 2020

NuGet package | WebView2 Runtime version 86.0.616.0 or newer.

General

Important

Announcement: Win32 C/C++ WebView2 is now Generally Available (GA). Starting this release, Release SDKs are forward-compatible. For more information, navigate to GA announcement blog post.

0.9.622.11

Release Date: September 10, 2020

NuGet package | WebView2 Runtime version 86.0.616.0 or newer.

General

0.9.579

Release Date: July 20, 2020

NuGet package | Microsoft Edge version 86.0.579.0.

General

  • Important

    Announcement: Evergreen WebView2 Runtime and installer is released for preview. For more information, navigate to Distribution of WebView2.

  • Important

    Announcement: The following WebView2 SDK Versions are no longer supported after the next SDK release.

    The WebView2 SDK Versions are also marked deprecated on nuget.org. WebView2 recommends staying up to date with the latest version of WebView2.

  • Added WebView worker thread improvements. (#318).

  • Turned off the popup blocker in WebView. For more information, navigate to the IsUserInitiated property in the NewWindowRequested event.

  • Ensured WebView navigation starting event is run for about:blank. Now, NavigationStarting events are run for all navigation, but cancellations for about:blank or iframe srcdoc aren't supported and ignored.

  • Blocked some edge:// URI schemes in WebView.

  • Added experimental IsSingleSignOnUsingOSPrimaryAccountEnabled property on WebView2 environment options to turn on conditional access for WebView.

  • Added experimental WebResourceResponseReceived event that runs after the WebView receives and processes the response from a WebResource request. Authentication headers, if any, are included in the response object.

.NET

  • Improved WPF focus handling. (#185).
  • Added ZoomFactor property on WPF Webview2 Controller.

0.9.538

NuGet package | Microsoft Edge version 85.0.538.0.

General

  • Dropping support for WebView2 SDK Version 0.8.149. WebView2 recommends staying up to date with the latest version of WebView2.
  • Updated group policy to account for when the profile path of the Microsoft Edge browser is modified (#179).

Win32 C/C++

.NET (0.9.538 pre-release)

0.9.515-prerelease

NuGet package | Microsoft Edge version 84.0.515.0.

  • Important

    Announcement: WebView2 now supports Windows Forms and WPF on .NET Framework 4.6.2 or later and .NET Core 3.0 or later in the pre-release package.

  • For more information about building WPF apps, navigate to the WPF Getting Started Guide and the WebView2 WPF Reference for WPF-specific APIs.

  • For more information about building Windows Forms apps, navigate to the Windows Forms Getting Started Guide and the WebView2 Windows Forms Reference for Windows Forms specific APIs.

  • For more information about the CoreWebView2 APIs, navigate to .NET Reference.

  • Caution

    Known Issues: The WebView team is aware of some issues in the pre-release that are being resolved in future releases.

    • DPI Awareness: WebView2 for WPF is currently not DPI aware. When initializing WebView2 on high DPI monitors, there is a known issue where the WebView at first initializes as a fraction of the window until the window is resized.
    • WPF Designer: The WPF designer is not currently supported. Add the WebView2 control in your app by directly modifying the appropriate XAML in a text editor.

0.9.488

NuGet package | Microsoft Edge version 84.0.488.0.

0.9.430

NuGet package | Microsoft Edge version 82.0.430.0.

The WebView2 SDK is the official Win32 C++ Beta version, which incorporates several feature requests from feedback. The WebView team tries to limit the number of releases with breaking changes. As general availability approaches, several major breaking changes are incorporated in the Beta release.

  • Important

    Breaking Change: As the final release approaches the WebView team renamed the prefix IWebView2WebView to ICoreWebView2 in order to make sure the WebView2 API aligns with the Windows API naming convention. Additionally, in order to leverage the WebView2 SDK from UI frameworks, the WebView team separated ICoreWebView2 into ICoreWebView2 and ICoreWebView2Host. ICoreWebView2Host supports resizing, showing-and-hiding, focusing, and other functionality related to windowing and composition. ICoreWebView2 supports all other WebView2 functionality. To learn more about incorporating the changes, navigate to the WebView2 pull request in the WebView2 APISample project.

  • Important

    Breaking Change: Split DocumentStateChanged into three components: SourceChanged, ContentLoading, and HistoryChanged. Now, when the source URL changes the SourceChanged event is run. When the history state is changed the HistoryChanged event is run. The ContentLoading event is run before the initial script when a new document is being loaded.

  • Added support for ARM64 architecture.

  • Added Soft Input Panel (SIP) support for touch screen devices.

  • Added support for Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows Server 2016.

  • Added NotifyParentWindowPositionChanged for the status bar to follow the window in windowed mode. Also, implement the change in windowless mode in order for accessibility features to work.

  • Added AreRemoteObjectsAllowed setting to globally control whether a webpage may be accessed by any remote objects. By default, AreRemoteObjectsAllowed is turned on, so remote objects added by AddRemoteObject are accessible from the webpage. When AreRemoteObjectsAllowed is turned off, the objects aren't accessible from the webpage. Changes are applied on the next navigation event.

  • Added IsZoomControlEnabled setting to prevent users from impacting the zoom of the WebView using ctrl++ and ctrl+- (or ctrl+ mouse wheel). Zoom may still be set using put_ZoomFactor when the setting is turned off.

  • Changed ZoomFactor to only apply to the current WebView. Zoom changes to the current WebView don't affect other WebViews that you navigated to using the same site of origin. For more information, navigate to get_ZoomFactor.

  • Hid ZoomView UI for WebView (#95).

  • Added SetBoundsAndZoomFactor. Now, you may set the zoom factor and bounds of a WebView at the same time.

  • Added WindowCloseRequested event. For more information, navigate to add_WindowCloseRequested (#119).

  • Added support for the beforeunload dialog type for JavaScript dialog events and added CORE_WEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD enum entry.

  • Added GetHeaders to HttpRequestHeaders, GetHeader to HttpResponseHeaders, and get_HasCurrentHeader property to HttpHeadersCollectionIterator.

  • Important

    Breaking Change: Modified DevToolsProtocolEventReceived behavior. Now, you may create a DevToolsProtocolEventReceiver for a particular DevTools Protocol event and subscribe/unsubscribe to such event using add_DevToolsProtocolEventReceived/remove_DevToolsProtocolEventReceived.

  • Important

    Breaking Change: Changed WebMessageReceivedEventArgs get_WebMessageAsString property to a TryGetWebMessageAsString method.

  • Important

    Breaking Change: Changed AcceleratorKeyPressedEventArgs Handle method to a get_Handled property.

0.8.355

NuGet package | Microsoft Edge version 80.0.355.0.

  • Released WebView2API Sample, a comprehensive guide of the WebView2 SDK. For more information, navigate to API Sample.
  • Added IME support for all languages besides English (#30).
  • Updated the API surface of the WebResourceRequested event in response to bug reports. Simultaneously specifying a filter and an event on creation is now deprecated. To create a web resource requested event, use add_WebResourceRequested to add the event and AddWebResourceRequestedFilter to add a filter. RemoveWebResourceRequestedFilter removes the filter (#36) (#74).
  • Important

    Breaking Change: Modified fullscreen behavior. Deprecated IsFullScreenAllowed. Now, by default, if an element in a WebView (such as a video) is set to full screen, it fills the bounds of the WebView. Use the ContainsFullScreenElementChanged event and get_ContainsFullScreenElement to specify how the app should resize the WebView if an element wants to enter fullscreen mode.

0.8.314

NuGet package | Microsoft Edge version 80.0.314.0.

  • Added support for Windows 7, Windows 8, and Windows 8.1.

  • Added Visual Studio and Visual Studio Code debug support for WebView2. Now, debug your script in the WebView2 right from your IDE. For more information, navigate to How to debug when developing with WebView2 controls.

  • Added Native Object Injection for the running script in WebView2 to access an IDispatch object from the Win32 component of the app and access the properties of the IDispatch object. For more information, navigate to AddRemoteObject (#17).

  • Added AcceleratorKeyPressed event. For more information, navigate to add_AcceleratorKeyPressed (#57).

  • Turned off the Context Menus. For more information, navigate to put_AreDefaultContextMenusEnabled (#57).

  • Updated DPI Awareness. Now, the DPI awareness of WebView is the same as the DPI awareness of the host app.

    Note

    If another hybrid app is launched with a different DPI Awareness than the original WebView, the new WebView is not launched if the user data folder is the same (#1).

  • Updated Notification Change Behavior so WebView2 automatically rejects notification permission requests prompted by web content hosted in the WebView.

0.8.270

NuGet package | Microsoft Edge version 78.0.270.0.

  • Added DocumentTitleChanged event to indicate document title change (#27).
  • Added GetWebView2BrowserVersionInfo API (#18).
  • Added NewWindowRequested event.
  • Updated CreateWebView2EnvironmentWithDetails function to remove releaseChannelPreference. For more information about the CreateWebView2EnvironmentWithDetails function, navigate to CreateWebView2EnvironmentWithDetails. The registry and environment variable override is still supported. The default channel preference is used unless overridden.
    During the channel search, the WebView team skips any previous channel version that isn't compatible with the WebView2 SDK.
    The WebView team selects the more stable channel to ensure the most consistent behaviors for the end user. When you test with latest Canary builds, you should create a script to set the WEBVIEW2_RELEASE_CHANNEL_PREFERENCE environment variable to 1 before launching the app.
  • Updated the CreateWebView2EnvironmentWithDetails function with logic for selecting userDataFolder when not specified. For more information about the CreateWebView2EnvironmentWithDetails function, navigate to CreateWebView2EnvironmentWithDetails. If you previously used the default userDataFolder location, when you switch to the new SDK the default userDataFolder is reset (set to a new location in the host code directory) and your state is also reset. If the host process doesn't have permission to write to the specified directory, the CreateWebView2EnvironmentWithDetails function may fail. You may copy the data from the old user data folder to the new directory.

0.8.230

NuGet package | Microsoft Edge version 77.0.230.0.

  • Added Stop API to stop all navigation and pending resource fetches (#28).
  • Added .tlb file to the NuGet package (#22).
  • Added .NET projects to the installer list in the NuGet package (#32).

0.8.190

NuGet package | Microsoft Edge version 77.0.190.0.

  • Added get_AreDevToolsEnabled/put_AreDevToolsEnabled to control if users can open DevTools (#16).
  • Added get_IsStatusBarEnabled/put_IsStatusBarEnabled to control if the status bar is displayed (#19).
  • Added get_CanGoBack/GoBack/get_CanGoForward/GoForward for going back and forward through navigation history.
  • Added HTTP header types (IWebView2HttpHeadersCollectionIterator/IWebView2HttpRequestHeaders/IWebView2HttpRequestHeaders) for viewing and modifying HTTP headers in WebView.
  • Added 32-bit WebView support on 64-bit machines (#13).
  • Added WebView IDL to the SDK (#14).
  • Added lib to support IID\_\* interface ID objects (#12).
  • Added include path, linking, and autocopying of DLL files to NuGet TARGET file in SDK.
  • Turned on requesting window.open() in script.

0.8.149

NuGet package | Microsoft Edge version 76.0.149.0.

Initial developer preview release.