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

Re-compile your app after updating the NuGet package.

1.0.707-prerelease

Release Date: November 23, 2020

NuGet package | minimum Microsoft Edge version 86.0.616.0.

Important

This package has been deprecated due to known errors.

1.0.664.37

Release Date: November 20, 2020

NuGet package | minimum WebView2 Runtime version 86.0.616.0.

General

Important

Announcement: .NET WPF/WinForms WebView2 is 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 has 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 | minimum WebView2 Runtime version 86.0.616.0.

General

.NET

1.0.622.22

Release Date: October 19, 2020

NuGet package | minimum WebView2 Runtime version 86.0.616.0.

General

Important

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

0.9.628-prerelease

Release Date: September 10, 2020

NuGet package | minimum Microsoft Edge version 86.0.616.0.

Important

Announcement: This prerelease continues to release based upon the Microsoft Edge 87 Branch. In the future, the prerelease SDK release matches the Microsoft Edge Canary build and the normal release is synchronized with Microsoft Edge Stable.

General

  • Important

    Announcement: Visual Hosting APIs are now under preview. WebView2 uses Visual Hosting to run alongside WinComp/DComp visuals as opposed to HWNDs. The interfaces are in Experimental. For more information, navigate to ICoreWebView2ExperimentalEnvironment.

.NET

0.9.622.11

Release Date: September 10, 2020

NuGet package | minimum WebView2 Runtime version 86.0.616.0.

General

0.9.579

Release Date: July 20, 2020

NuGet package | minimum 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][Webview2ConceptsDistributionUnderstandRuntimeInstallerPreview].

  • 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).

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

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

  • Blocked edge:// URI scheme in WebView.

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

  • Added experimental WebResourceResponseReceived event that fires after the WebView has received and processed the response for 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 | minimum 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 | minimum 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 applications, navigate to the WPF Getting Started Guide and the WebView2 WPF Reference for WPF-specific APIs.
  • For more information about building Windows Forms applications, 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 | minimum Microsoft Edge version 84.0.488.0.

0.9.430

NuGet package | minimum 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 we approach general availability, several major breaking changes will be 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 fired. When the history state is changed the HistoryChanged event is fired. The ContentLoading event is fired 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, which allows for the status bar to follow the window in windowed mode. Also, implement this change in windowless mode in order for accessibility features to work.
  • Added AreRemoteObjectsAllowed setting to globally control whether a page may be accessed by any remote objects. By default, AreRemoteObjectsAllowed is enabled, meaning remote objects added by AddRemoteObject are accessible from the page. When AreRemoteObjectsAllowed is disabled, the objects aren't accessible from the page. 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 disabled.
  • Changed ZoomFactor to only apply to the current WebView. Zoom changes to the current WebView don't impact other WebViews that you've navigated to 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 | minimum Microsoft Edge version 80.0.355.0.

  • Released WebView2API Sample, a comprehensive guide of the WebView2 SDK. For more information, navigate to APISample.
  • 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 within 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 | minimum 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, which allows the script running within WebView2 to access an IDispatch object from the Win32 component of the application 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).

  • Disabled 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 application.

    Note

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

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

0.8.270

NuGet package | minimum 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 directory to the new directory.

0.8.230

NuGet package | minimum 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 | minimum 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.
  • Enabled requesting window.open() in script.

0.8.149

NuGet package | minimum Microsoft Edge version 76.0.149.0.

Initial developer preview release.