WebView2 SDK 发行说明

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

1.0.2592.51

发布日期:2024 年 6 月 19 日

用于 WebView2 SDK 1.0.2592.51 的 NuGet 包

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

促销

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

Bug 修复

仅限运行时
  • BreakoutBoxPreferCaptureTimestampInVideoFrame为 WebView2 TextureStream禁用。
  • 修复了仅针对第一次window.close()调用触发事件的回归WindowCloseRequested
  • 修复了以下回归:WinRT JavaScript 投影中的类型化数组无法像主机一样 IDispatch 进行处理。
  • 修复了自动填充弹出窗口立即消除并导致焦点更改的 bug。
  • 修复了由于 导致 WebView2 加载失败的 AppPolicyGetWindowingModelbug。 (问题 #4591)

1.0.2646-prerelease

发布日期:2024 年 6 月 19 日

用于 WebView2 SDK 1.0.2646-prerelease 的 NuGet 包

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

常规功能

  • 添加了对 C#/WinRT .NET 6+ 的支持。

实验功能

  • 引入了功能标志 msWebView2EnableDownloadContentInWebResourceResponseReceived,这是一个实验性功能, (而不是稳定功能) 。 启用此标志后,这允许在 中 WebResourceResponseReceived提供成为下载的导航的响应。

实验性 API

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

  • 添加了一个新 SaveFileSecurityCheckStarting 事件。 开发人员可以在此事件上注册处理程序,以获取文件路径、文件扩展名和文档源 URI 信息。 然后,可以应用自己的规则来执行如下操作:
    • 允许保存文件,而不显示有关文件类型策略的默认安全警告 UI。
    • 取消保存。
    • 创建自己的 UI 来管理运行时文件类型策略。
  • 添加了一个新 ScreenCaptureStarting 事件。 每当与 (或其任何后代 iframe 相对应的 CoreWebView2Frame WebView2 和/或 iframe) 请求在显示 UI 之前使用屏幕捕获 API 的权限时,都会引发此事件。 作为开发人员,你可以选择阻止显示 UI,或允许显示 UI。
  • 向 .NET 类添加了一个新 GetComICoreWebView2 方法 CoreWebView2 ,可用于在 .NET 和 COM 之间转换 CoreWebView2 。 添加了一个新的 WinRT 接口,可用于在 WinRT 和 COM 之间转换 CoreWebView2 。 这样,就可以在以不同语言编写的库之间进行互操作。

促销

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

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

Bug 修复

仅限运行时
  • 修复了视觉对象托管的自有窗口激活逻辑中的 bug。

1.0.2535.41

发布日期:2024 年 5 月 28 日

用于 WebView2 SDK 1.0.2535.41 的 NuGet 包

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

促销

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

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

Bug 修复

仅限运行时
  • 修复了以下 bug:如果 LaunchingExternalURIScheme 附加了事件处理程序,并且启用了“ 始终记住 ”复选框,并且用户选中此复选框,则再次错误地显示对话框。
  • 修复了以下问题:视觉对象托管中的文本编辑控件在丢失并重新获得焦点时会复制 IME 输入。
  • 修复了完全信任的 UWP 应用无法显示拥有的窗口的问题。
仅 SDK
  • 修复了 SDK 中导致 .NET 项目平台列表中出现错误的 <平台> 值的问题。 (问题 #1755)

1.0.2584-prerelease

发布日期:2024 年 5 月 28 日

用于 WebView2 SDK 1.0.2584-prerelease 的 NuGet 包

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

实验功能

  • 引入了取消 WebView2 中初始导航的选项,以提高启动性能。 此更改默认处于禁用状态,并且可以使用功能标志启用 msWebView2CancelInitialNavigation

实验性 API

此预发布 SDK 中未添加任何实验性 API。

促销

在此预发行版 SDK 中,尚未将任何 API 从实验版提升为稳定版。

Bug 修复

运行时和 SDK
  • 修复了 .NET 主机对象异步方法返回 null 结果时的崩溃。 (问题 #4509)
仅限运行时
  • 修复了关闭窗口时 WebView2 内存泄漏问题。 (问题 #4286)
  • 修复了对 .NET 对象不起作用的问题 ignoreMemberNotFoundError 。 (问题 #4497)
  • 现在,当调用 缓冲区大小为 0 的 时 CreateSharedBuffer ,将返回正确的错误代码。 (问题 #4554)
  • 修复了插入点浏览对话框的激活问题。
  • 修复了 WebView2 Visual Hosting CursorChanged 事件未触发自定义游标的问题。

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)

另请参阅