Understand WebView2 SDK versions
New versions of the WebView2 SDK are shipped at the same general cadence as the Microsoft Edge (Chromium) browser, which is approximately every six weeks.
Release and prerelease package
The WebView2 NuGet package contains both a release and pre-release package.
The release package is forward compatible and contains the following components.
APIs in the SDK are fully supported.
The prerelease package is a superset of the release package with Experimental APIs.
The release package contains all of the stable, supported Win32 C/C++ and .NET APIs. The prerelease package contains experimental APIs that are subject to change based on your feedback.
The WebView team is seeking feedback on experimental APIs that may be included in future releases. The experimental APIs are marked as
experimental in the SDK. To help you evaluate the Experimental APIs and share your feedback, navigate to the WebView feedback repo.
Experimental APIs may be introduced, modified, and removed from SDK to SDK. Avoid using the experimental APIs in production apps.
Experimental APIs may not be available in your installed version of the WebView2 Runtime.
Matching WebView2 Runtime versions
WebView2 apps require users to install a WebView2 Runtime. The WebView2 Runtime automatically updates to the latest version available. In some scenarios, users may want to stop automatic WebView2 Runtime updates, which may cause app compatibility issues.
If WebView2 Runtime updates are stopped, ensure you understand the minimum version of the WebView2 Runtime required by your app. Consider the following two items:
- The minimum required version of the SDK, in found in the WebView2 Release Notes under minimum WebView2 Runtime version. For example, for SDK version 1.0.622.22, you must install either the WebView2 Runtime or a non-stable Microsoft Edge channel with a build number of
86.0.616.0or later. The minimum version required by the SDK only changes when a breaking change occurs in the web platform.
- The minimum required version of the NuGet package required to support the interfaces and APIs that you use in your app. New interfaces and APIs are added periodically to WebView2. APIs and interfaces bundled in an SDK require different versions of the WebView2 Runtime, because APIs and interface are added to the SDK at different times. The required WebView2 Runtime version matches the build number, the third number, of the SDK version the API was first introduced in. For example, a new API or interface added in SDK version 1.0.622.22 requires the WebView2 Runtime version:
86.0.622.0An API or interface added in a later SDK release requires the WebView2 Runtime that has the same version number as the SDK. To help you determine if the WebView2 Runtime version supports an interface or API, navigate to Determine WebView2 Runtime requirement.
When developing Evergreen WebView2 apps, regularly test your app against the latest versions of the WebView2 Runtime and non-stable Microsoft Edge browsers. Because the web platform is constantly evolving, regular testing is the best way to ensure your app performs as intended.
Determine WebView2 Runtime requirement
Depending on which SDK you use, consider the following items:
- Win32 C/C++. When using
QueryInterfaceto obtain a new interface, verify a return value of
E_NOINTERFACE. The value may indicate that the WebView2 Runtime is a previous version, and doesn't support that interface. For an example of how it works, navigate to Line 622 - AppWindow.cpp.
- .NET and WinUI. Check for a
No such interface supportedexception when using methods, properties, and events that were added to more recent SDKs. The exception may occur when the WebView2 Runtime is a previous version, and does not support the APIs.
If an API is unavailable, consider removing the associated feature, or inform your users that an update to the WebView2 Runtime is required.