发布日期
DotNetBrowser 4.1.1
UrlRequestJob API 改进
为拦截请求新增了异步且支持流式写入的响应写入能力。
在本次发布中,我们为 UrlRequestJob 扩展了异步写入方法,
并新增了流扩展方法,以简化大体积响应的处理。
新增 API:
UrlRequestJob.WriteAsync(byte[] data)UrlRequestJob.WriteAsync(byte[] data, int offset, int count)UrlRequestJobExtensions.Write(UrlRequestJob job, Stream stream, int bufferSize = 81920)UrlRequestJobExtensions.WriteAsync(UrlRequestJob job, Stream stream, CancellationToken cancellationToken = default, int bufferSize = 81920)
这些 API 提供了异步拦截流程中的非阻塞响应写入、
无需将全部负载加载到内存即可从 Stream 便捷流式写入,
以及支持可配置缓冲区大小的分块写入。
写完所有分块后,请调用 Complete() 结束响应。
如果无法完成写入,请调用 Fail()。
触控选择手柄
DotNetBrowser 现支持在触控环境中禁用 Chromium 的触控文本选择手柄。 当应用程序需要自行管理文本选择 UI,且不希望显示 Chromium 内置触控手柄时, 此功能非常有用。
该功能由 Chromium 命令行开关 --disable-touch-selection-handles 控制。
有关如何配置命令行开关,请参阅Chromium 开关章节。
密码存储 API 变更
在本次发布中,我们更新了密码存储 API,使记录删除语义更明确, 并提升了基于 URL 的密码匹配一致性。
IPasswordStore:新增 Remove(PasswordRecord)
IPasswordStore 新增 Remove(PasswordRecord record) 方法。
该方法按值精确删除一条记录,并替代 RemoveByUrl 成为主要删除 API。
PasswordRecord record = profile.PasswordStore.AllSaved
.First(r => r.Url.StartsWith("https://example.com"));
profile.PasswordStore.Remove(record);
破坏性变更:RemoveByUrl 已移动到扩展方法
IPasswordStore.RemoveByUrl(string url) 已从接口中移除,
并迁移到 PasswordStoreExtensions。调用语法保持不变,
因此现有调用 store.RemoveByUrl(url) 的代码在导入
DotNetBrowser.Passwords 命名空间后仍可编译。
破坏性变更:已保存记录的 PasswordRecord.Url
已保存(普通)记录中的 PasswordRecord.Url 值已发生变化。
它现在包含完整表单 URL(例如 https://example.com/login),
而不再仅包含源 URL。
对于已加入黑名单(NeverSave)的记录,该值保持不变,
仍然为源 URL。
按精确源 URL 比较或筛选已保存记录的代码可能不再按预期匹配。 请将此类判断更新为使用完整 URL 或基于前缀匹配。
// 之前:如果存储的是完整表单 URL,可能遗漏已保存记录
var records = store.All.Where(r => r.Url == "https://example.com/");
// 之后:基于源的匹配,同时适用于已保存和黑名单记录
var records = store.All.Where(r => r.Url.StartsWith("https://example.com/"));
Chromium 149.0.7827.103
我们将 Chromium 升级到了较新的版本,该版本引入了 74 项安全修复, 其中包括:
- CVE-2026-11628: Ozone 中的释放后使用
- CVE-2026-11629: Ozone 中的释放后使用
- CVE-2026-11630: File Input 中的释放后使用
- CVE-2026-11631: Aura 中的释放后使用
- CVE-2026-11645: V8 中的越界内存访问
Google 已确认 CVE-2026-11645 已存在在野利用。
更多详情请参阅 Chromium 的发布公告。
质量改进
- 修复了在 Avalonia 应用程序中,硬件加速渲染模式下 macOS 上颜色选择器显示位置错误的问题。
SBOM
本节提供 DotNetBrowser 4.1.1 的软件物料清单 (SBOM),采用 CycloneDX 格式。该文件列出了以下软件组件:
- DotNetBrowser 使用的第三方库,
- DotNetBrowser 使用的 Chromium 构建版本,
- DotNetBrowser 从 Chromium 继承的第三方组件。
下载 DotNetBrowser 4.1.1
请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。