WebView2 SDK 发行说明

这些发行说明提供有关 WebView2 发布 SDK 和 WebView2 预发布 SDK 中包含的新功能和 bug 修复的信息。

1.0.2478.35

发布日期:2024 年 4 月 22 日

WebView2 SDK 1.0.2478.35 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 124.0.2478.35 或更高版本。

促销

以下 API 已提升为稳定版,现已包含在此发布 SDK 中。

  • 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 可以指定 ReleaseChannels 以选择在创建环境期间搜索的通道,以及 ChannelSearchKind 选择搜索顺序。

Bug 修复

仅限运行时
  • 修复了在 WebMessage API 中使用 AdditionalObjects 时可能导致崩溃的潜在整数溢出。

1.0.2526-prerelease

发布日期:2024 年 4 月 22 日

用于 WebView2 SDK 1.0.2526-prerelease 的 NuGet 包

为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 125.0.2526.0 或更高版本随附的 WebView2 运行时。

中断性变更

.NET WebView2(包括 WPF 和 WinForms 控件)的最低.NET Framework版本要求已从 .NET Framework 4.5 更新到 .NET Framework 4.6.2。

实验性 API

此预发布 SDK 中添加了以下实验性 API。

  • 添加了 SaveAs 允许以编程方式执行 “另存为” 操作的 API。 可以使用这些 API 来阻止默认的“ 另存为 ”对话框,然后以无提示方式保存,或生成自己的 UI 以用于 “另存为”。 这些 API 仅适用于 “另存为 ”对话框,而不适用于“ 下载 ”对话框,后者继续使用现有下载 API。

促销

在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。

  • 支持 Fluent 样式覆盖滚动条。

Bug 修复

运行时和 SDK
  • 修复了 WinRT JavaScript 投影中的 bug,其中传入类型化数组会导致“接口不支持”错误。 (问题 #3486)

  • 添加了对在 WinRT JavaScript 投影中处理 out 数组参数的支持。

仅限运行时
  • 修复了默认启用图像自动字幕功能的 bug。

  • 修复了以下 bug:如果 LaunchingExternalURIScheme 附加了事件处理程序,如果启用了“ 始终记住 ”复选框,并且用户选中此复选框,对话框将再次错误地显示。

  • 修复了 GetNonClientRegionAtPoint 某些点返回 Nowhere 错误的问题。

  • 修复了文本服务框架在将文件拖放到 WebView2 区域时断开连接的 bug。

  • 修复了当设置为 falseAreDevToolsEnabled,视图源 Ctrl+U 键盘快捷方式保持启用状态的 bug。

  • 修复了在重新获得焦点时复制可组合输入法的 bug。 (问题 #1610)

  • 确保 devicePixelRatio 与自定义光栅化比例同步。 (问题 #3060)

  • 修复了在 中使用CallDevToolsProtocolMethodNewWindowRequested事件时的争用条件。 (问题 #4181)

  • 修复了在已销毁但Controller用户尝试按 Tab 键进入控件时 WPF TabIntoCore 中可能发生的崩溃 () 。 (问题 #4452)

  • 确保拼写检查采用不区分大小写格式的输入语言。

  • 使语言 API 在用户输入方面更加可靠。

  • 修复了不显示 “保存密码?” 提示的 bug。

仅 SDK
  • 修复了 WinRT 投影中缺少 AreBrowserExtensionsEnabled 的 API。

1.0.2420.47

发布日期:2024 年 3 月 25 日

用于 WebView2 SDK 1.0.2420.47 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 123.0.2420.47 或更高版本。

促销

以下 API 已提升为稳定版,现已包含在此发布 SDK 中。

  • 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。
  • FailureSourceModulePathProcessFailedEventArgs 类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH

Bug 修复

仅 SDK
  • WinForms 和 WPF 的 .NET 程序集现在随附并启用了优化。 (问题 #4409)

1.0.2470-prerelease

发布日期:2024 年 3 月 25 日

用于 WebView2 SDK 1.0.2470-prerelease 的 NuGet 包

为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 WebView2 运行时版本 124.0.2470.0 或更高版本。

实验性 API

此预发布 SDK 中添加了以下实验性 API。

  • 支持 Fluent 样式覆盖滚动条。
  • 更新了 WebMessageObjects API,允许将 DOM 对象注入到通过应用和 CoreWebView2.PostWebMessage API 向其他方向构造的 WebView2 内容中。 添加了一个新的 Web 对象类型来表示文件系统句柄,该句柄可以发布到 Web 内容,以便为其提供文件系统访问权限。

促销

在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。

  • 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 可以指定 ReleaseChannels 以选择在创建环境期间搜索的通道,以及 ChannelSearchKind 选择搜索顺序。
  • FailureSourceModulePathProcessFailedEventArgs 类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH

Bug 修复

仅限运行时
  • 修复了在卸载旧版 WebView2 客户端 DLL 时可能导致应用程序进程崩溃的可靠性回归。
  • 确保 WebView2 临时下载文件夹对于每个用户数据文件夹是唯一的,并且不会干扰其他应用或浏览器。

1.0.2365.46

发布日期:2024 年 2 月 26 日

用于 WebView2 SDK 1.0.2365.46 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 122.0.2365.46 或更高版本。

促销

以下 API 已提升为稳定版,现已包含在此发布 SDK 中。

  • 添加了对 WebResourceRequested 辅助角色的支持,允许设置筛选器,以便接收 WebResourceRequested 服务辅助角色、共享辅助角色和不同源 iframe 的事件。
  • 若要支持 WebView2 中的浏览器扩展,请为 WinRT 添加 GetBrowserExtensions

不适用

Bug 修复

仅限运行时
  • 修复了当新窗口设置为源 WebView 时影响事件处理的 NewWindowRequested 回归。 (问题 #4250)

  • 修复了关闭具有嵌入 PDF 查看器的 WebView 可能导致崩溃的 bug。 (问题 #3832)

  • 修复了在应用程序启用 SetWindowDisplayAffinity时鼠标单击停止工作的回归。 (问题 #4325)

1.0.2415-prerelease

发布日期:2024 年 2 月 26 日

用于 WebView2 SDK 1.0.2415-prerelease 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 的预发行版需要 Microsoft Edge 版本 123.0.2415.0 或更高版本随附的 WebView2 运行时。

中断性变更

  • 的 属性CoreWebView2LaunchingExternalUriSchemeEventArgs的行为InitiatingOrigin已更改。 InitiatingOrigin如果 是不透明的原点,则InitiatingOrigin事件 args 中报告的 是其前身原点。 前导原点是创建不透明原点的原点。 例如,如果位于 example.com 的帧打开具有不同不透明原点的子帧,则子帧的前身原点为 example.com
  • 枚举的成员 CoreWebView2TextureStreamErrorKind 已重命名:

旧成员名称:

新成员名称:

实验性 API

此预发布 SDK 中添加了以下实验性 API。

  • CoreWebView2ControllerOptions 现在具有一个 AllowHostInputProcessing 属性,它允许用户输入消息 (键盘、鼠标、触摸和笔) 通过浏览器窗口,由应用进程窗口接收。

促销

在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。

  • 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。

Bug 修复

仅限运行时
  • 修复了当权限请求设置为“未保留” (即) SavesInProfile = false 时,相机或麦克风无法在 Google Meet 或 Microsoft Teams 会议中打开。 (问题 #3592)

  • 修复了在 WebView2 浏览器进程中追加空 --edge-webview-custom-scheme 命令行开关的修复。

  • 禁用了全局 UserDataFolder 注册表项,因此只能按应用应用应用此注册表项。

  • 修复了 NewWindowRequested 浏览器扩展打开时未触发的事件。 (问题 #3841)

  • 修复了 NewWindowRequested 打开视图源时未触发的事件。 (问题 #4162)

  • 修复了下载涉及导航时触发 StateChangedBytesReceivedChanged 事件的问题。

  • 修复了对话框导致 WebView2 窗口意外跳转位置的 bug BeforeUnload 。 (问题 #4350)

  • 修复了在 PDF 完全加载之前,如果调用太早,则打印空白页的问题 PrintAsync 。 (问题 #3779)

1.0.2277.86

发布日期:2024 年 2 月 5 日

用于 WebView2 SDK 1.0.2277.86 的 NuGet 包

为了完全实现 API 兼容性,此发布版本的 WebView2 SDK 需要 WebView2 运行时版本 121.0.2277.86 或更高版本。

中断性变更

重要提示

中断性变更:到 的 about:blank 导航现在可通过 NavigationStarting 事件取消。 若要还原旧行为,请msWebView2CancellableAboutNavigations禁用功能标志。

促销

以下 API 已提升为稳定版,现已包含在此发布 SDK 中。

  • ExecuteScriptWithResult 如果脚本失败,则提供异常信息。 TryGetResultAsString 将脚本执行结果作为字符串而不是 JSON 获取,以便更方便地与字符串结果交互:

Bug 修复

仅限运行时
  • 确保拼写检查语言以编程方式匹配 put_Language 。 自定义上下文菜单也会使用正确的拼写检查进行更新。 仅 (运行时)

  • 修复了一个 bug,该 bug 停止为加载 AV1 编码视频的某些网站引发 NavigationCompleted 事件。 (仅限运行时) (问题 #3801)

  • 修复了在 WebView 拆解过程中会释放主机进程 COM 资源的问题。 (仅限运行时) (问题 #4226)

  • 修复了加载某些社交媒体应用(如Facebook、Twitter 和LinkedIn)的 bug。 此更改特定于运行时。 (仅限运行时) (问题 #4281)

1.0.2357-prerelease

发布日期:2024 年 1 月 30 日

用于 WebView2 SDK 1.0.2357-prerelease 的 NuGet 包

为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 122.0.2357.0 或更高版本随附的 WebView2 运行时。

实验性 API

此预发布 SDK 中添加了以下实验性 API。

  • 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 开发人员可以指定 ReleaseChannels 以选择在创建环境期间搜索的通道,以及 ChannelSearchKind 选择搜索顺序。
  • 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。

促销

在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。

  • CoreWebView2AcceleratorKeyPressedEventArgs 具有一个新 IsBrowserAcceleratorKeyEnabled 属性,用于控制浏览器是否处理快捷键 (快捷键) ,例如 Ctrl+PF3
  • 帧进程信息 API(包括 GetProcessExtendedInfos)提供在关联呈现器进程中主动运行的所有帧的快照集合。 此 API 使主机应用程序能够检测 WebView2 的哪个部分消耗了内存或 CPU 使用率等资源:
  • ExecuteScriptWithResult 如果脚本失败,则提供异常信息。 TryGetResultAsString 将脚本执行结果作为字符串而不是 JSON 获取,以便更方便地与字符串结果交互:
  • CreateFromComICoreWebView2 将现有 ICoreWebView2 对象包装在实例中 CoreWebView2 ,以允许 .NET 开发人员与使用 C++ 创建的控件进行交互。
  • 若要支持 WebView2 中的浏览器扩展,请为 WinRT 添加 GetBrowserExtensions

不适用

  • 添加了对 WebResourceRequested 辅助角色的支持,允许设置筛选器,以便接收 WebResourceRequested 服务辅助角色、共享辅助角色和不同源 iframe 的事件。

Bug 修复

仅限运行时
  • 修复了关闭具有嵌入 PDF 查看器的 WebView 控件可能导致崩溃的 bug。 (仅限运行时) (问题 #3832)

  • 修复了子进程任务栏图标的堆叠问题。 (仅限运行时) (问题 #3245)

  • 修复了为 Edge Cloud Config Service 发送不必要的网络请求的 bug。 (仅限运行时) (问题 #4180)

  • 更新了 CSS 属性的行为 app-region ,以便更改其值会触发页面重新布局。 仅 (运行时)

  • 修复了未注册事件处理程序AcceleratorKeyPressed时无法更新 WebView2 设置的问题put_AreBrowserAcceleratorKeysEnabled。 (仅限运行时) (问题 #4278)

仅 SDK
  • 修复了 .NET 中的 WebView2 控件在 UNC 路径上找不到 WebView2Loader.dll 的问题。 ) 仅 (SDK) (问题 #4081

  • 修复了在 .NET 控件中导致 实例 InvalidOperationException 的一些问题,这些问题对开发人员没有帮助。 (仅限 SDK) (问题 #4272)

1.0.2210.55

发布日期:2023 年 12 月 11 日

用于 WebView2 SDK 1.0.2210.55 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 120.0.2210.55 或更高版本。

中断性变更

重要提示

中断性变更:如果要使用固定版本运行时 v120 或更高版本开发未打包的 Win32 应用,并且面向Windows 10设备,则需要 () 运行几个 ACL shell 命令icacls,以避免由于 WebView2 中实现的新安全功能而崩溃。 请参阅 [中断性变更] 在 Win10 上使用固定版本 v120+ 解压缩的 Win32 应用需要 ACL。 修补程序位于文章分发应用和 WebView2 运行时有关固定版本运行时分发模式的详细信息部分,步骤“在Windows 10设备上,从固定版本 120 开始,使用固定版本的未打包 Win32 应用程序的开发人员必须运行以下命令。

促销

以下 API 已提升为稳定版,现已包含在此发布 SDK 中。

  • 支持 WebView2 中的浏览器扩展:
  • 帧进程信息 API(包括 GetProcessExtendedInfos)提供在关联呈现器进程中主动运行的所有帧的快照集合。 此 API 使主机应用程序能够检测 WebView2 的哪个部分消耗了内存或 CPU 使用率等资源:
  • ICoreWebView2AcceleratorKeyPressedEventArgs 具有一个新 IsBrowserAcceleratorKeyEnabled 属性,允许开发人员控制浏览器是否处理快捷键 (快捷键) ,例如 Ctrl+PF3
  • 添加了对管理配置文件删除的支持:

Bug 修复

  • 在 WinRT JS 投影中添加了对主机对象的异步方法的承诺取消的支持。 有关 的信息 AddHostObjectToScript,请参阅 从 Web 端代码调用本机 WinRT 代码。 (运行时和 SDK)

  • 为 WebView2 API 导航禁用了自动 HTTPS 升级。 (仅限运行时) (问题 #4104)

1.0.2151.40

发布日期:2023 年 11 月 6 日

用于 WebView2 SDK 1.0.2151.40 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 119.0.2151.40 或更高版本。

正式发布

重要提示

公告:Xbox WebView2 SDK 现已正式发布 (GA) ,并在 Xbox 2310 年 10 月版本 (231018-2200) 提供。 有关更多详细信息,请参阅 适用于 Xbox 的 WebView2 公告

促销

以下 API 已提升为稳定版,现已包含在此发布 SDK 中。

  • 向事件参数添加了源帧信息 NewWindowRequested ,以标识请求的源:
  • 对于 WinRT,已添加选项以在创建 CoreWebView2Environment时管理自定义方案注册:

Bug 修复

  • 修复了创建多个 WebView 可能导致崩溃的可靠性问题。 (仅限运行时) (问题 #3793)

1.0.2194-prerelease

发布日期:2023 年 11 月 6 日

用于 WebView2 SDK 1.0.2194-prerelease 的 NuGet 包

为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 120.0.2194.0 或更高版本随附的 WebView2 运行时。

促销

在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。

  • 支持 WebView2 中的浏览器扩展:

Bug 修复

  • 修复了以下问题:在更改监视器规模或在 RDP 和停靠模式之间切换后,WebView2 有时会呈现模糊内容或没有内容。 仅 (运行时)
  • 修复了销毁 WebView2 实例时导致崩溃的问题 TextServicesFoundation 。 仅 (运行时)
  • 修复了从 WebView2 发送但未从应用程序端读取的 Web 消息时 .NET 中的内存泄漏问题。 (运行时和 SDK) (问题 #3794)
  • 修复了导致 ScaleFactor 设置无法对所有 WebView2 打印 API 正常工作的问题。 (仅限运行时) (问题 #4082)

1.0.2088.41

发布日期:2023 年 10 月 16 日

用于 WebView2 SDK 1.0.2088.41 的 NuGet 包

为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 118.0.2088.41 或更高版本。

促销

此发布 SDK 中没有其他 API 已提升到稳定版并已添加。

Bug 修复

  • 修复了导致某些 UWP 应用无法输入文本的问题。 (仅限运行时) (问题 #3805)
  • 修复了使用 Windows PerProcessSystemDPIForceOff 兼容性设置的应用的初始化失败。 (仅限运行时) (问题 #3692)
  • 修复了 WebView2 中的对话框位置偏移 bug。 (仅限运行时) (问题 #3763)

1.0.2164-prerelease

发布日期:2023 年 10 月 18 日

用于 WebView2 SDK 1.0.2164-prerelease 的 NuGet 包

为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 120.0.2164.0 或更高版本随附的 WebView2 运行时。

实验性 API

此预发布 SDK 中添加了以下实验性 API。

  • FailureSourceModulePathProcessFailedEventArgs 类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH

Bug 修复

  • 在 PrintToPDF API 中添加了对其他页面设置的支持 (PageRangePagesPerSheet) 。 (仅限运行时) (问题 #3719)
  • 未正确处理到扩展资源文件的导航,现在已使用正确的处理方法进行了修复。 (仅限运行时) (问题 #3728)
  • 修复了导致某些 UWP 应用无法输入文本的问题。 (仅限运行时) (问题 #3805)
  • 修复了使用 Windows PerProcessSystemDPIForceOff 兼容性设置的应用的初始化失败。 (仅限运行时) (问题 #3692)
  • 删除了在系统默认浏览器设置更改时收集数据的监视器。 仅 (运行时)
  • 修复了 WebView2 中的对话框位置偏移 bug。 (仅限运行时) (问题 #3763)
  • 修复了 如果 设置为 null,则事件NewWindow中的NewWindowRequested崩溃。 仅 (运行时)

另请参阅