Firefox 78 的开发者说明
=================

本文提供了有关 Firefox 78 中影响开发者的变更信息。Firefox 78 于 2020 年 6 月 30 日发布。

参见 Mozilla hacks 上的 Firefox 78 中的新增功能：DevTools 的改进，新的正则表达式引擎以及大量的 Web 平台更新。

为 Web 开发者带来的变化
--------------

### 开发者工具

#### 调试器

* 现在，你可以从 about:debugging 面板更改远程设备访问的 URL。（Firefox bug 1617237）
* 现在，调试器中的 **禁用 JavaScript** 菜单项仅影响当前标签页，并且在关闭“开发者工具”后会重置。（Firefox bug 1640318）
* 如果在作用域面板中启用**映射**，日志点可以将源代码映射代码中的变量名映射回其原始名称。（Firefox bug 1536857）

#### 网络监视器

* 在网络监视器中，现在可以通过拖动表格中任意位置的列边框来调整请求列表的列宽。（Firefox bug 1618409）
* 对网络监控器中的请求详情面板的用户体验进行了一些改进。（Firefox bug 1631302、Firefox bug 1631295）
* 如果请求被阻止，请求列表 现在会显示原因，如附加组件、CSP、CORS 或增强型跟踪保护。（Firefox bug 1555057、Firefox bug 1445637、Firefox bug 1556451）

#### 其他工具

* 无障碍环境检查器已发布测试版。你可以用它来检查网站上的各种辅助功能问题。（Firefox bug 1602075）
* 未捕获的 Promise 错误现在会在控制台中提供所有详细信息，包括名称和堆栈。（Firefox bug 1636590）
### CSS

* 现在，`:is()` 和 `:where()` 伪类已默认启用（Firefox bug 1632646）。
* 现支持不带前缀的 `:read-only` 和 `:read-write` 伪类（Firefox bug 312971）。
    + 此外，`:read-write` 样式不再应用于禁用的 `<input>` 和 `<textarea>` 元素，之前的行为违反了 HTML 规范（Firefox bug 888884）。
### JavaScript

* 现支持 `Intl.ListFormat` API（Firefox bug 1589095）。
* 扩展了 `Intl.NumberFormat()` (en-US) 构造函数，以支持 Intl.NumberFormat Unified API 提案中指定的新选项（Firefox bug 1633836）。其中包括：
    + 科学计数法支持 (en-US)
    + 单位 (en-US)、货币 (en-US)和符号显示 (en-US)格式化
* `RegExp` 引擎已更新，现在支持 ECMAScript 2018 中引入的所有新特性：
    + 后行断言（Firefox bug 1225665）
    + `RegExp.prototype.dotAll`（Firefox bug 1361856）
    + Unicode 属性转义（Firefox bug 1361876）
    + 具名捕获组（Firefox bug 1362154）
* 由于 2020 年中期的 WebIDL 规范变更，我们为所有 DOM 原型对象添加了 `Symbol.toStringTag` 属性（Firefox bug 1277799）。
* 改进了 `WeakMap` 对象的垃圾回收。`WeakMap` 现在会以增量方式进行标记（Firefox bug 1167452）。
### API

#### DOM

* 已实现 `Element.replaceChildren` 方法（Firefox bug 1626015）。

#### Service worker

* 延长支持版（ESR）：Firefox 78 是首个支持 Service worker（以及 Push API）的 ESR 版本。早期的 ESR 版本不提供支持（Firefox bug 1547023）。
### WebAssembly

* 现支持 Wasm Multi-value，这意味着 WebAssembly 函数现在可以返回多个值，指令序列可以消耗和产生多个堆栈值（Firefox bug 1628321）。
* WebAssembly 现在支持从 JavaScript 使用 `BigInt` 导入和导出 64 位整数函数参数（i64）（Firefox bug 1608770）。
### TLS 1.0 和 1.1 已被移除

* 所有浏览器都不再支持传输层安全（TLS）协议的 1.0 和 1.1 版本。阅读 TLS 1.0 和 1.1 删除更新以获取先前的公告，以及如果受到影响应采取的措施（Firefox bug 1643229）。
为附加组件开发者带来的变化
-------------

* `browsingData.removeCache` (en-US) 和 `browsingData.removePluginData` (en-US) 现支持按主机名删除。（Firefox bug 1636784）
* 使用 `proxy.onRequest` (en-US) 时，现在可以正确应用基于选项卡 ID 或窗口 ID 限制的过滤器。这对于希望仅在一个窗口中提供代理功能的加载项很有用。
* 现在，从“所有选项卡”下拉菜单中单击上下文菜单 (en-US)即可传递适当的选项卡对象。过去，活动选项卡被错误地传递了。
* 当使用带有另存为选项的 `downloads.download` 时，可以记住最近使用的目录。尽管此信息对开发人员用处不大，但对用户而言却非常方便。
更早期的版本
------

* Firefox 77 for developers (en-US)
* Firefox 76 for developers (en-US)
* Firefox 75 for developers (en-US)
* Firefox 74 for developers (en-US)
* Firefox 73 for developers (en-US)
* Firefox 72 for developers (en-US)
* Firefox 71 for developers (en-US)
* Firefox 70 for developers (en-US)
* Firefox 69 for developers (en-US)
* Firefox 68 for developers (en-US)
* Firefox 67 for developers (en-US)
* Firefox 66 for developers (en-US)
* Firefox 65 for developers
* Firefox 64 for developers (en-US)
* Firefox 63 for developers (en-US)
* Firefox 62 for developers (en-US)
* Firefox 61 for developers (en-US)
* Firefox 60 for developers (en-US)
* Firefox 59 for developers
* Firefox 58 for developers (en-US)
* Firefox 57 for developers (en-US)
* Firefox 56 for developers (en-US)
* Firefox 55 for developers (en-US)
* Firefox 54 for developers (en-US)
* Firefox 53 for developers (en-US)
* Firefox 52 for developers (en-US)
* Firefox 51 for developers (en-US)
* Firefox 50 for developers (en-US)
* Firefox 49 for developers (en-US)
* Firefox 48 for developers (en-US)
* Firefox 47 for developers (en-US)