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
为 WebView2TextureStream
禁用。 - 修复了仅针对第一次
window.close()
调用触发事件的回归WindowCloseRequested
。 - 修复了以下回归:WinRT JavaScript 投影中的类型化数组无法像主机一样
IDispatch
进行处理。 - 修复了自动填充弹出窗口立即消除并导致焦点更改的 bug。
- 修复了由于 导致 WebView2 加载失败的
AppPolicyGetWindowingModel
bug。 (问题 #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 来管理运行时文件类型策略。
CoreWebView2
类:CoreWebView2SaveFileSecurityCheckStartingEventArgs 类
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral 方法
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy 属性
- 添加了一个新
ScreenCaptureStarting
事件。 每当与 (或其任何后代 iframe 相对应的CoreWebView2Frame
WebView2 和/或 iframe) 请求在显示 UI 之前使用屏幕捕获 API 的权限时,都会引发此事件。 作为开发人员,你可以选择阻止显示 UI,或允许显示 UI。
CoreWebView2
类:CoreWebView2Frame
类:CoreWebView2ScreenCaptureStartingEventArgs
类:
- 向 .NET 类添加了一个新
GetComICoreWebView2
方法CoreWebView2
,可用于在 .NET 和 COM 之间转换CoreWebView2
。 添加了一个新的 WinRT 接口,可用于在 WinRT 和 COM 之间转换CoreWebView2
。 这样,就可以在以不同语言编写的库之间进行互操作。
-
CoreWebView2
类:
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 更新了 WebMessageObjects API,允许将 DOM 对象注入到通过应用构造的 WebView2 内容中,并通过
CoreWebView2.PostWebMessage
API 在其他方向上构造。 添加了一个新的 Web 对象类型来表示文件系统句柄,该句柄可以发布到 Web 内容,以便为其提供文件系统访问权限。
CoreWebView2
类:CoreWebView2Environment
类:CoreWebView2FileSystemHandle
类:CoreWebView2FileSystemHandleKind 枚举
File
Directory
CoreWebView2FileSystemHandlePermission 枚举
ReadOnly
ReadWrite
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 样式覆盖滚动条。
CoreWebView2EnvironmentOptions
类:-
Default
FluentOverlay
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
选择搜索顺序。
CoreWebView2EnvironmentOptions
类:CoreWebView2ChannelSearchKind Enum
MostStable
LeastStable
CoreWebView2ReleaseChannels 枚举
None
Stable
Beta
Dev
Canary
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。
CoreWebView2
类:-
Complete
Default
HtmlOnly
SingleFile
-
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
CoreWebView2SaveAsUIShowingEventArgs
类:- CoreWebView2SaveAsUIShowingEventArgs.AllowReplace 属性
- CoreWebView2SaveAsUIShowingEventArgs.Cancel 属性
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType 属性
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral 方法
- CoreWebView2SaveAsUIShowingEventArgs.Kind 属性
- CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath 属性
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog 属性
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 支持 Fluent 样式覆盖滚动条。
CoreWebView2EnvironmentOptions
类:-
Default
FluentOverlay
Bug 修复
运行时和 SDK
修复了 WinRT JavaScript 投影中的 bug,其中传入类型化数组会导致“接口不支持”错误。 (问题 #3486)
添加了对在 WinRT JavaScript 投影中处理
out
数组参数的支持。
仅限运行时
修复了默认启用图像自动字幕功能的 bug。
修复了以下 bug:如果
LaunchingExternalURIScheme
附加了事件处理程序,如果启用了“ 始终记住 ”复选框,并且用户选中此复选框,对话框将再次错误地显示。修复了
GetNonClientRegionAtPoint
某些点返回Nowhere
错误的问题。修复了文本服务框架在将文件拖放到 WebView2 区域时断开连接的 bug。
修复了当设置为
false
时AreDevToolsEnabled
,视图源 Ctrl+U 键盘快捷方式保持启用状态的 bug。修复了在重新获得焦点时复制可组合输入法的 bug。 (问题 #1610)
确保
devicePixelRatio
与自定义光栅化比例同步。 (问题 #3060)修复了在 中使用
CallDevToolsProtocolMethod
NewWindowRequested
事件时的争用条件。 (问题 #4181)修复了在已销毁但
Controller
用户尝试按 Tab 键进入控件时 WPFTabIntoCore
中可能发生的崩溃 () 。 (问题 #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 非常有用。
CoreWebView2CompositionController
类:CoreWebView2NonClientRegionChangedEventArgs
类:CoreWebView2NonClientRegionKind 枚举
Caption
Client
Nowhere
CoreWebView2Settings
类:
-
FailureSourceModulePath
向ProcessFailedEventArgs
类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH
-
CoreWebView2ProcessFailedEventArgs
类:
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 样式覆盖滚动条。
CoreWebView2EnvironmentOptions
类:-
Default
FluentOverlay
- 更新了 WebMessageObjects API,允许将 DOM 对象注入到通过应用和
CoreWebView2.PostWebMessage
API 向其他方向构造的 WebView2 内容中。 添加了一个新的 Web 对象类型来表示文件系统句柄,该句柄可以发布到 Web 内容,以便为其提供文件系统访问权限。
CoreWebView2
类:CoreWebView2Environment
类:CoreWebView2FileSystemHandle
类:CoreWebView2FileSystemHandleKind 枚举
File
Directory
CoreWebView2FileSystemHandlePermission 枚举
ReadOnly
ReadWrite
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 可以指定
ReleaseChannels
以选择在创建环境期间搜索的通道,以及ChannelSearchKind
选择搜索顺序。
CoreWebView2EnvironmentOptions
类:CoreWebView2ChannelSearchKind Enum
MostStable
LeastStable
CoreWebView2ReleaseChannels 枚举
None
Stable
Beta
Dev
Canary
-
FailureSourceModulePath
向ProcessFailedEventArgs
类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH
-
CoreWebView2ProcessFailedEventArgs
类:
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 的事件。
CoreWebView2
类:CoreWebView2WebResourceRequestedEventArgs
类:
- 若要支持 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
。
-
CoreWebView2LaunchingExternalUriSchemeEventArgs
类:
- 枚举的成员
CoreWebView2TextureStreamErrorKind
已重命名:
旧成员名称:
-
CoreWebView2TextureStreamErrorKind 枚举
CoreWebView2TextureStreamErrorNoVideoTrackStarted
CoreWebView2TextureStreamErrorTextureError
CoreWebView2TextureStreamErrorTextureInUse
新成员名称:
-
CoreWebView2TextureStreamErrorKind 枚举
NoVideoTrackStarted
TextureError
TextureInUse
实验性 API
此预发布 SDK 中添加了以下实验性 API。
- 类
CoreWebView2ControllerOptions
现在具有一个AllowHostInputProcessing
属性,它允许用户输入消息 (键盘、鼠标、触摸和笔) 通过浏览器窗口,由应用进程窗口接收。
-
CoreWebView2ControllerOptions
类:
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。
CoreWebView2CompositionController
类:CoreWebView2Settings
类:
Bug 修复
仅限运行时
修复了当权限请求设置为“未持久
SavesInProfile = false
化” (即) 时,相机或麦克风无法在 Google Meet 或Microsoft Teams 会议中打开。 (问题 #3592)修复了在 WebView2 浏览器进程中追加空
--edge-webview-custom-scheme
命令行开关的修复。禁用了全局
UserDataFolder
注册表项,因此只能按应用应用应用此注册表项。修复了
NewWindowRequested
浏览器扩展打开时未触发的事件。 (问题 #3841)修复了
NewWindowRequested
打开视图源时未触发的事件。 (问题 #4162)修复了下载涉及导航时触发
StateChanged
和BytesReceivedChanged
事件的问题。修复了对话框导致 WebView2 窗口意外跳转位置的 bug
BeforeUnload
。 (问题 #4350)修复了在 PDF 完全加载之前,如果调用太早,则打印空白页的问题
PrintAsync
。 (问题 #3779)
另请参阅
- 关于 WebView2 SDK 的发行说明
- WebView2 SDK 的存档发行说明
- WebView2 功能和 API 概述 - 按功能区域概述了发布 SDK 包中的许多 API。
- 联系 Microsoft Edge WebView2 团队
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈