Chrome 95 发布

谷歌公布了 Chrome 95 网络浏览器的发布。同时,作为 Chrome 基础的免费 Chromium 项目的稳定版本已经可用。 Chrome 浏览器的特点是使用 Google 徽标、在发生崩溃时发送通知的系统、播放受保护视频内容 (DRM) 的模块、自动更新系统以及搜索 RLZ 参数时的传输。 按照新的 4 周开发周期,Chrome 96 的下一个版本定于 16 月 8 日发布。 对于那些需要更多时间更新的人,维护了一个单独的 Extended Stable 分支,随后 94 周,它为 Chrome XNUMX 的最后一个版本生成了更新。

Chrome 95 的主要变化:

  • 对于 Linux、Windows、macOS 和 ChromeOS 用户,提供了一个新的边栏,显示在内容的右侧,并通过单击地址栏中的特殊图标激活。 该面板显示带有书签的摘要和阅读列表。 此更改并未对所有用户启用,您可以使用“chrome://flags/#side-panel”设置来激活它。
    Chrome 95 发布
  • 实现了明确请求权限的输出,以保存在 Web 表单中输入的地址,以便随后在表单自动填充系统中使用。 在确定表单中是否存在地址时,现在会向用户显示一个对话框,允许您保存地址、编辑、更新以前保存的地址或拒绝保存。
  • 删除了支持 FTP 协议的代码。 在 Chrome 88 中,默认情况下禁用了 FTP 支持,但留下了一个标志来启用它。
  • 不再支持主机名以与 IPv4 地址不匹配的数字结尾的 URL。 例如,URL“http://127.1/”、“http://foo.127.1/”和“http://127.0.0.0.1”现在将被视为无效。
  • 对于WebAssembly,实现了创建异常处理程序的能力,它可以在执行某些代码时发生异常时捕获执行。 它既支持捕获 WebAssembly 模块已知的异常,也支持捕获调用导入函数过程中的异常。 要捕获异常,WebAssembly 模块必须由异常感知编译器(如 Emscripten)构建。

    值得注意的是,与 JavaScript 的异常处理相比,WebAssembly 级别的异常处理可以显着减少生成代码的大小。 例如,通过 JavaScript 构建带有异常处理的 Binaryen 优化器导致代码增加 43%,使用 WebAssembly 增加 9%。 此外,当使用“-O3”优化模式时,使用 WebAssembly 进行异常处理的代码与没有使用异常处理程序的代码在性能上几乎没有区别,而使用 JavaScript 进行异常处理会导致执行速度降低 30%。

  • 处理一个站点时,禁止在不同域(跨域)之间共享 WebAssembly 模块。
  • 几个新的 API 已添加到 Origin Trials 模式(需要单独激活的实验性功能)。 Origin 试用意味着能够使用从本地主机或 127.0.0.1 下载的应用程序中的指定 API,或者在注册并接收对特定站点在有限时间内有效的特殊令牌之后。
    • 在 User-Agent HTTP 标头和 JavaScript 参数 navigator.userAgent、navigator.appVersion 和 navigator.platform 中启用信息修剪。 标头仅包含有关浏览器名称、浏览器主要版本、平台和设备类型(手机、PC、平板电脑)的信息。 对于其他数据,例如确切版本和扩展平台数据,您必须使用用户代理客户端提示 API。 消费级系统的用户代理削减计划在 Chrome 102 发布时开始,该版本将在半年后发布。
    • 提出了为文件系统访问 API 创建访问句柄(Access Handles)的可能性,它允许 Web 应用程序直接对用户设备上的文件和目录读取和写入数据。 为了减少 Web 应用程序访问文件系统的方式,谷歌计划合并文件系统访问 API 和存储基础 API。 作为这种合并的准备阶段,提出了对访问描述符的支持,这对基于文件描述符的工作方法进行了补充,具有高级功能,例如由其他进程设置写锁并为写入和读取创建单独的流,包括支持用于在同步模式下从 worker 读取和写入。
  • Secure Payment Confirmation API 已经稳定并默认提议实施新的“支付”扩展,该扩展提供对正在进行的支付操作的额外确认。 诸如银行之类的依赖方能够生成 PublicKeyCredential,商户可以使用“安全支付确认”支付方法通过支付请求 API 请求该公钥凭证进行额外的安全支付确认。
  • 通过 PerformanceObserver 构造函数设置的回调现在传递了 droppedEntriesCount 属性,这使您可以了解有多少网站性能指标因不适合提供的缓冲区而被丢弃。
  • 添加了 EyeDropper API,它允许您调用浏览器提供的接口来确定屏幕上任意像素的颜色,例如,可以在作为 Web 应用程序实现的图形编辑器中使用。 const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // 结果 = {sRGBHex: '#160731'}
  • 添加了 self.reportError() 函数以允许脚本将错误打印到控制台,模拟未捕获异常的发生。
  • 添加了 URLPattern API 以检查 URL 是否与特定模式匹配,例如,可用于解析链接并将请求重定向到服务工作者中的处理程序。 const p = new URLPattern({ 协议: 'https', 主机名: 'example.com', 路径名: '/:folder/*/:fileName.jpg', });
  • 扩展了 Intl.DisplayNames API,您可以通过它获取语言、国家、货币、日期元素等的本地化名称。 新版本新增名称“calendar”和“dateTimeField”类型,通过它们可以查询到日历和日期时间字段的本地化名称(如月份名称)。 添加了对“语言”类型使用语言方言的支持。
  • 在 Intl.DateTimeFormat API 中添加了对 timeZoneName 参数新值的支持:“shortGeneric”显示短时区标识符(例如,“PT”、“ET”)、“longGeneric” - 长时区标识符(“太平洋时间”、“山地时间”)、“shortOffset” - 相对于 GMT 的短偏移量(“GMT+5”)和“longOffset” 相对于 GMT 的长偏移量(“GMT+0500”)。
  • 弃用了 U2F (Cryptotoken) API,它应该被 Web Authentication API 取代。 U2F API 将在 Chrome 98 版本中默认禁用,并在 Chrome 104 中完全删除。
  • 已对 Web 开发人员的工具进行了改进。 样式面板可以更轻松地调整与大小相关的 CSS 属性(高度、填充等)。 “问题”选项卡提供隐藏单个问题的功能。 改进了 Web 控制台、源和属性面板中属性的显示(自定义属性现在以粗体显示并显示在列表顶部)。
    Chrome 95 发布

除了创新和漏洞修复外,新版本还修复了19个漏洞。 许多漏洞被识别为自动化测试工具 AddressSanitizer、MemorySanitizer、Control Flow Integrity、LibFuzzer 和 AFL 的结果。 没有发现允许绕过所有浏览器保护级别并在沙盒环境之外的系统中执行代码的关键问题。 作为当前版本的漏洞赏金计划的一部分,谷歌已经支付了 16 个价值 74 美元的奖励(一个 20000 美元奖励,两个 10000 美元奖励,一个 7500 美元奖励,一个 6000 美元奖励,三个 5000 美元奖励,一个 3000 美元奖励),2000 美元和1000 美元)。 5奖励的数额尚未确定。

来源: opennet.ru

添加评论