WebView2 SDK 发行说明

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

1.0.2849.39

发布日期:2024 年 10 月 21 日

用于 WebView2 SDK 1.0.2849.39 的 NuGet 包

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

促销

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

在保存文件 (SaveFileSecurityCheckStarting 事件) 时配置安全警告

添加了一个新 SaveFileSecurityCheckStarting 事件。 应用可以在此事件上注册处理程序,以获取文件路径、文件扩展名和文档源 URI 信息。 然后,可以应用自己的规则来执行如下操作:

  • 允许保存文件,而不显示有关文件类型策略的默认安全警告 UI。
  • 取消保存。
  • 创建自己的 UI 来管理运行时文件类型策略。

Bug 修复

仅限运行时
  • 修复了按 TabShift+Tab 切换到 Webview2 控件时的下载对话框焦点问题。
仅 SDK
  • CoreWebView2.AddWebResourceRequestedFilter现在已弃用不使用CoreWebView2WebResourceRequestSourceKinds参数。 请参阅 .NET CoreWebView2.AddWebResourceRequestedFilter 方法
  • 添加了用于 C# WinRT 的 .NET 8 TargetFramework ,启用了 AOT (提前) 兼容性,并禁用了运行时封送。

1.0.2895-prerelease

发布日期:2024 年 10 月 21 日

用于 WebView2 SDK 1.0.2895-prerelease 的 NuGet 包

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

实验性 API

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

RestartRequested 当 WebView2 需要重启时的事件

添加了一个新 RestartRequested 事件。 RestartRequested每当 WebView2 需要重启以应用更新或配置更改时,将引发该事件。 可以使用此 API 来检测 WebView2 何时需要重启,并采取适当的操作。 Priority事件参数的 RestartRequested 属性指示重启请求的优先级:

  • High 指示应用应提示用户尽快重启。
  • Normal 指示应用应提醒用户尽最大努力重启。

促销

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

控制是否 (事件) ScreenCaptureStarting 显示屏幕捕获 UI

添加了一个新 ScreenCaptureStarting 事件。 每当与 (或其任何后代 iframe 相对应的 CoreWebView2Frame WebView2 和/或 iframe) 请求在显示 UI 之前使用屏幕捕获 API 的权限时,都会引发此事件。 然后,应用可以阻止显示 UI,或允许显示 UI。

在保存文件 (SaveFileSecurityCheckStarting 事件) 时配置安全警告

添加了一个新 SaveFileSecurityCheckStarting 事件。 应用可以在此事件上注册处理程序,以获取文件路径、文件扩展名和文档源 URI 信息。 然后,可以应用自己的规则来执行如下操作:

  • 允许保存文件,而不显示有关文件类型策略的默认安全警告 UI。
  • 取消保存。
  • 创建自己的 UI 来管理运行时文件类型策略。

Bug 修复

仅 SDK
  • 修复了 Arm64 与 WindowsAppSDK 1.6 不兼容的问题。
  • 在 WinAppSDK 案例中删除了额外的 WebView2Loader.dll 内容。
  • CoreWebView2.AddWebResourceRequestedFilter现在已弃用不使用CoreWebView2WebResourceRequestSourceKinds参数。 请参阅 .NET CoreWebView2.AddWebResourceRequestedFilter 方法

1.0.2792.45

发布日期:2024 年 9 月 23 日

用于 WebView2 SDK 1.0.2792.45 的 NuGet 包

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

促销

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

Bug 修复

仅 SDK

1.0.2839-prerelease

发布日期:2024 年 9 月 23 日

用于 WebView2 SDK 1.0.2839-prerelease 的 NuGet 包

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

实验性 API

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

促销

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

Bug 修复

仅限运行时
  • 修复了以下问题:在禁用 Windows“滚动非活动窗口”设置的情况下,将焦点集中在 WinAppSDK 中的 WebView2 控件上导致滚动失败。
  • 在 WebView2 中阻止 edge://wallet 。 (问题 #4710)
  • 在控制器完成创建后,清除 .NET WebView2 控件中默认背景色的环境变量。
  • 在可视托管模式下启用了对 Webview2 的辅助功能支持。
  • 修复了一个 bug,其中一个源为 Document 时删除多个源的“请求的 Web 资源”筛选器。
  • 修复了在 WinUI 或其他可视托管的 WebView2 实例中不可见的回归 DataList
仅 SDK
  • 修复了 .NET 项目的 SDK 依赖项。 (问题 #4743)
  • 修复了使用较旧的 WebView2Loader.dll调用GetAvailableBrowserVersionString()时的兼容性问题。 (问题 #4395)
  • 修复了使用 cpp20/permissive- 选项编译 wv2winrt 生成的代码时出现的问题。
  • 添加了用于 C# WinRT 的 .NET 8 TargetFramework ,启用了 AOT (提前) 兼容性,并禁用了运行时封送。

1.0.2739.15

发布日期:2024 年 8 月 26 日

用于 WebView2 SDK 1.0.2739.15 的 NuGet 包

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

促销

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

Web 通知处理

添加了对非持久性通知的 Web 通知的支持。 用于NotificationReceivedCoreWebView2控制 Web 通知处理的事件,允许主机应用进行自定义或抑制。 未处理的通知默认为 WebView2 的 UI。

“另存为”

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

Bug 修复

此发布 SDK 中没有 bug 修复。

1.0.2783-prerelease

发布日期:2024 年 8 月 26 日

用于 WebView2 SDK 1.0.2783-prerelease 的 NuGet 包

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

实验性 API

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

促销

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

Bug 修复

运行时和 SDK
  • 重新启用 的默认行为 SetUserAgent: 默认情况下, SetUserAgent 对跨源 iframe 有效。
仅限运行时
  • 默认启用交互式拖动功能。 请参阅 edge-webview-interactive-draggingWebView2 浏览器标志

  • IsolateSandboxedIframes为 WebView2 禁用。

  • 修复了同时启动多个实例时 WebView 创建失败的问题。 (问题 #4731)

  • 修复了 WinRT JavaScript 投影中的 bug,其中缓存其名称包含 ProxyFunction 由于名称冲突导致错误的对象中的现有属性。

  • 修复了以下 bug:WebView2 控件在断开连接并重新连接监视器后大小不正确。

  • 修复了“mailto:”链接使无标题弹出窗口保持打开状态,而不是自动关闭弹出窗口的问题。

仅 SDK
  • C# WinRT 投影现在适用于 UWP。

  • 修复了确保 GeneratedFilesDir 不再出现在 Visual Studio for C# WinRT 投影中的问题。

1.0.2651.64

发布日期:2024 年 8 月 13 日

用于 WebView2 SDK 1.0.2651.64 的 NuGet 包

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

促销

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

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

Bug 修复

仅限运行时
  • 修复了某些站点上事件崩溃的 WebResourceRequested 回归。 (问题 #4602)
仅 SDK
  • 修复了 WinRT C# 投影的 x86。

1.0.2730-prerelease

发布日期:2024 年 8 月 7 日

用于 WebView2 SDK 1.0.2730-prerelease 的 NuGet 包

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

实验性 API

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

  • 添加了新的限制控制 API,允许通过限制 JavaScript 计时器来实现高效资源管理。 如果 WebView2 控件需要保持可见,但需要消耗更少的资源 ((例如用户未与内容) 交互),这非常有用。 这些限制控制 API 允许你:
    • 使用密集限制) 自定义 setTimeoutsetInterval 不同页面状态 (和) 限制的脚本计时器, (前台、后台和后台。
    • 限制选定托管 iframe 中的脚本计时器。

促销

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

  • 添加了 SaveAs 允许以编程方式执行 “另存为” 操作的 API。 可以使用这些 API 来阻止默认的“ 另存为 ”对话框,然后以无提示方式保存,或生成自己的 UI 以用于 “另存为”。 这些 API 仅适用于 “另存为 ”对话框,而不适用于“ 下载 ”对话框,后者继续使用现有下载 API。
  • 添加了对非持久性通知的 Web 通知的支持。 用于NotificationReceivedCoreWebView2控制 Web 通知处理的事件,允许主机应用进行自定义或抑制。 未处理的通知默认为 WebView2 的 UI。

Bug 修复

仅限运行时
  • 修复了以下问题:当焦点处于 Visual 托管模式 (的 WebView2 中时,无法通过系统命令(如 Alt+F4Alt+空格键 )) 控制应用窗口。 (问题 #2961)

  • 修复了 WebView2 UWP 中无法从主机应用单击“查找”栏的 bug。

仅 SDK
  • 添加缺少的 WinRT CoreWebView2Notification.VibrationPattern API。 此 WinRT API 可以与稳定通知 API 促销发行说明结合使用;请参阅“Web 通知”和 NotificationReceived WinRT,紧随其上。

  • 修复了 WinForms WebView2 控件中的事件不包含正确ModifierKeys信息的问题KeyDown。 (问题 #1216)

  • 修复了 WinRT C# 投影的 x86。

  • GetAvailableCoreWebView2BrowserVersionStringCreateCoreWebView2Environment运行时更新期间,针对潜在的争用情况变得更加强大。

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 事件未触发自定义游标的问题。

另请参阅