Firefox 61 for developers - Mozilla

Firefox 61 for developers
=========================

Firefox 61 は、米国時間 2018 年 6 月 26 日 にリリースされました。このページでは、開発者に影響する Firefox 61 の変更点をまとめています。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

* アクセシビリティインスペクター を実装しました。
* ブラウザーコンソール と ブラウザーツールボックス で、新しい意匠のコンソール UI をデフォルトで有効化しました (Firefox バグ 1362023/Firefox バグ 1347127)。古い UI は削除しました。
* ネットワークモニター で `POST` 要求のコンテキストメニューの [*新しいタブで開く*] をクリックすると、想定どおりの `POST` パラメーターを付加した要求を正しく再送信するようになりました (Firefox バグ 1407515)。
* それぞれの変数にどの色の値が保存されているかを明確にするため、色見本をつけて CSS 変数のオートコンプリート を行うようになりました (Firefox バグ 1451211)。
    + さらに、CSS 変数名にマウスポインターを載せると、変数に保存されている色の値をツールチップで表示します (Firefox バグ 1431949)。
* ツールボックスのメインツールバーを再設計しました。主要な変更点は、新しいオーバーフロードロップダウンメニューによりビューポートの広さにかかわらず応答性が向上、ミートボールメニューをクリーンアップ、もっとも使用するパネルを前方に移動できるタブの並べ替え機能です (Firefox バグ 1226272)。
* ネットワークモニター のツールバーに、'HAR 形式ですべてコピー'、'HAR 形式ですべて保存'、'Import...' コマンドへ簡単にアクセスできるドロップダウンメニューを追加しました (Firefox バグ 1403530)。
* ネットワークモニターの詳細ペインに Cache タブ を追加しました。以前キャッシュしたリソースに関する詳細情報を表示します (Firefox バグ 859051)。
* ネットワークモニターのメインツールバーを、小さなビューポートでも使いやすく、またコンソールのツールバーに合うように再設計しました。
* ネットワークモニターのメインツールバーに、以前は レスポンシブデザインモード のみで使用可能であった Throttling ドロップダウンメニューを追加しました。さまざまなネットワーク速度の状況をエミュレーションするために、ネットワーク速度を制限できます (Firefox バグ 1349559)。
* パフォーマンス上の理由で、ブラウザーコンソールはデフォルトで CSS エラーを非表示にしました (Firefox バグ 1452143)。
* ブラウザーコンソールに、ブラウザーを再起動するコマンドが含まれています。
 `Ctrl`
 +
 `Alt`
 +
 `R`
 (Windows、Linux) または
 `Cmd`
 +
 `Alt`
 +
 `R`
 (Mac) を押下するとブラウザーを再起動して、再起動前と同じタブを開きます。
* 開発ツールの web extension API である `devtools.network.onRequestFinished` (Firefox バグ 1311171) および `devtools.network.getHAR` (Firefox バグ 1311177) を実装しました (har-export-trigger のような拡張機能を実現できます)
* Firebug のユーザーが開発ツールへの移行を完了しましたので、Firebug テーマを削除しました (Firefox バグ 1378108)。
### HTML

*変更なし。*

### CSS

* CSS のパース処理を並列化しました (Firefox バグ 1346988)。
* `font-variation-settings` および `font-optical-sizing` のサポートを、デフォルトで有効にしました (Firefox バグ 1447163)。
* `grid-gap`、`grid-row-gap`、`grid-column-gap` プロパティを `gap`、`row-gap`、`column-gap` に改名しました。これらはグリッド固有のプロパティではなくなりました (Firefox バグ 1398482)。詳しくは Box alignment; Gaps between boxes をご覧ください。ウェブ互換性のために、古い名称を別名として維持しています。
* `flex-basis` の値 `content` をサポートしました (Firefox バグ 1105111)。
* `column-gap` のパーセンテージ値を、CSS 段組みレイアウト でサポートしました (Firefox バグ 1398537)。
* CSS の `:host` 疑似クラスをサポートしました。これは、shadow DOM 内のカスタム要素を選択します (Firefox バグ 992245)。
* `overflow` が 2 値構文を受け入れるようになりました (Firefox バグ 1453148)。
* 内容物によってサイズが決まる Flex アイテムは、`fit-content` ではなく `max-content` を使用してサイズが決まるようになりました (Firefox バグ 1282821)。これらの値について、詳しくは `width` の値の定義 をご覧ください。
* `font-weight`、`font-stretch`、`font-style` で、CSS Fonts level 4 で定義された追加の値をサポートしました (Firefox バグ 1436048):
    + `font-weight` は、1 から 1000 の間 (両端の値を含む) の浮動小数点数を受け入れます。
    + `font-stretch` は、パーセンテージ値を受け入れます。
    + `font-style` は、`oblique` キーワードの後の角度の値を受け入れます。
* 前の項目で言及した 3 つのプロパティに対応する、`@font-face` の記述子でも前出の新しい構文をサポートしました。また、font-face がサポートする記述子の値の範囲を指定する 2 値構文もサポートしました (Firefox バグ 1436061、Firefox バグ 1436048)。
### SVG

* HTML の `<a>` 要素に一致させるため、SVG の `<a>` 要素 (`SVGAElement` (en-US)) 要素に `ping`、`rel`、`referrerPolicy`、`relList`、`hreflang`、`type`、`text` プロパティを追加しました (Firefox バグ 1451823)。
* `<textPath>` (en-US) 要素 (`SVGTextPathElement` (en-US)) で SVG2 の `path` および `side` 属性をサポートしました (Firefox バグ 1446617 および Firefox バグ 1446650)。
* `SVGGeometryElement` (en-US) インターフェイスで、`<path>` 要素だけでなく、より多くの要素をサポートしました (Firefox バグ 1325320)。
### JavaScript

* `String.prototype.trimStart()` および `String.prototype.trimEnd()` メソッドを実装しました (Firefox バグ 1434007)。`trimLeft` および `trimRight` は、ウェブ互換性のために別名として残しています。
### API

#### 新規 API

* `PerformanceServerTiming` (en-US) API を実装しました。これは `Server-Timing` ヘッダーによって送信する、サーバーサイドのメトリックを明らかにします (Firefox バグ 1423495)。

#### DOM

* `anchors`、`applets`、`embeds`、`forms`、`head`、`images`、`links`, `plugins`、`scripts` プロパティを、`HTMLDocument` インターフェイスから `Document` インターフェイスに移しました (Firefox バグ 1415588)。
* `DOMTokenList.replace()` の戻り値が void から、置換が成功したかを示すブーリアン値に変わりました (Firefox バグ 1444909)。
* Fetch API の `Request.credentials` プロパティの既定値が、最新版の仕様書に応じて `"same-origin"` になりました (Firefox バグ 1394399)。
* `Request.destination` プロパティを実装しました (Firefox バグ 1402892)。
* `MutationObserver` のオプションディクショナリーである `MutationObserverInit` (en-US) で、すべての Boolean 型プロパティが既定値として `false` を持たなくなりました。`childList` および `subtree` だけが既定値 (依然として `false`) を持ちます。ほかのプロパティは既定値がありません (Firefox バグ 973638)。
* Payment Request API の `PaymentRequest.show()` メソッドで、クライアントサイドのコードが支払いインターフェイスを活性化する前に更新された支払いの詳細情報を提供できるようにするため、`Promise` の使用をサポートしました (Firefox バグ 1441709)。

#### DOM イベント

*変更なし。*

#### Service workers

* Firefox のカスタマイズで追加できる "忘れる" ボタンで、service workers とそのキャッシュを消去するようになりました (Firefox バグ 1252998)。

#### Web Audio、メディアと WebRTC

* `AudioContext()` コンストラクターが、`AudioContextOptions` (en-US) 型の引数 `options` (省略可能) を受け入れるようになりました。これは、新しいコンテキストで望ましいレイテンシーやサンプルレートを設定できます。
* `AudioBuffer` のインスタンス化が失敗したときに、正しい例外が発生するようになりました。

#### WebVR

* macOS で、WebVR API がデフォルトで有効になりました (Firefox バグ 1244242)。

#### Canvas と WebGL

*変更なし。*

### CSSOM

* `CSSStyleRule.selectorText` プロパティを完全に実装して、読み取り専用ではなくなりました (Firefox バグ 37468)。
* `MediaList` インターフェイスの実装を、仕様書に若干近づけました。まだ完全ではありません。例えば、stringifier 属性は未実装です (Firefox バグ 1455807)。
### HTTP

* Cookie の **`SameSite`** ディレクティブを実装しました。Set-Cookie および HTTP cookies をご覧ください (Firefox バグ 795346)。
### ネットワーク

* Firefox 61 以降では、HTML コンテンツからサブリソースを読み込む際に FTP プロトコル (すなわち、`"ftp://"` スキームの URL) の使用をサポートしません。URL バーに直接入力したトップレベル URL や、単独のドキュメントとして読み込む際の FTP は引き続きサポートします (Firefox バグ 1404744)。
### セキュリティ

*変更なし。*

### プラグイン

*変更なし。*

### その他

*変更なし。*

ウェブプラットフォームから廃止
---------------

### Developer tools

`Cmd`/`Ctrl` + `Shift` + `O` で開発ツールのオプションを開く/閉じることができなくなりました。代わりに `F1` を使用します (Firefox バグ 1409456)。

### HTML

*変更なし。*

### CSS

* `@-moz-document` を、content ページで無効化しました (Firefox バグ 1422245)。
### API

* `File` インターフェイスの `lastModifiedDate` プロパティを削除しました (Firefox バグ 1458883)。
* `Node.getUserData()` および `Node.setUserData()` メソッドを、プラットフォームから完全に削除しました (Firefox バグ 749981)。
* `Element.createShadowRoot()` メソッドを削除しました。代わりに `Element.attachShadow()` を使用してください (Firefox バグ 1453789)。
* `URL.createObjectURL()` メソッドの `MediaStream` オーバーロードを削除しました (Firefox バグ 1454889)。
### SVG

* 非推奨の (そして適切に実装されたことがない) `SVGViewElement` (en-US)`.viewTarget` プロパティを削除しました (Firefox バグ 1455763)。
* 以下の非推奨プロパティを `SVGSVGElement` (en-US) から削除しました (Firefox バグ 1133172):
    + `pixelUnitToMillimeterX`
    + `pixelUnitToMillimeterY`
    + `screenPixelToMillimeterX`
    + `screenPixelToMillimeterY`
* 非標準の `SVGNumber()` コンストラクターを削除しました (Firefox バグ 1455940)。
### その他

*変更なし。*

アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### WebExtensions

* オートコンプリートのポップアップで、テーマが適用可能になりました (Firefox バグ 1417883)。
* `tabs.onUpdated` (en-US) がフィルターのテンプレートを持つようになりました (Firefox バグ 1329507)。
* `browserSettings.overrideDocumentColors` (en-US) を使用して、既定のドキュメントの色をオーバーライドできるようになりました (Firefox バグ 1417810)。
* tabs.query が、いくつかの有用な検索/フィルターのオプション引数によって最適化されました (Firefox バグ 1445316)。
* `about:addons` 設定ページから `permissions.request` (en-US) を使用可能になりました (Firefox バグ 1382953)。
* `browserSettings.useDocumentFonts` (en-US) プロパティを使用して、ウェブページで指定されたフォントではなくシステムフォントを強制的に使用させることが可能になりました (Firefox バグ 1400805)。
* `browserSettings.openUrlbarResultsInNewTabs` (en-US) プロパティを使用して、ブラウザーの検索オートコンプリートで、現在のタブではなく新しいタブを自動的に開くことが可能になりました (Firefox バグ 1432645)。
* マニフェストの theme (en-US) のプロパティである `toolbar`、`toolbar_text`、`toolbar_field`、`toolbar_field_text`、`toolbar_field_border` が、検索バーにも適用されるようになりました (Firefox バグ 1418605)。
* `sidebarAction.getPanel()` (en-US)、`sidebarAction.getTitle()` (en-US)、`sidebarAction.setPanel()` (en-US)、`sidebarAction.setTitle()` (en-US)、`sidebarAction.setIcon()` (en-US) で、機能を特定のウィンドウに限り設定および取得できるようにするための `windowId` が指定可能になりました (Firefox バグ 1390464)。
* `tabs.hide()` (en-US) および `tabs.show()` (en-US) をデフォルトで有効化しました (Firefox バグ 1455040)。
    + 拡張機能が最初にタブを隠すときに、ブラウザーはタブが隠されたこと、隠されたタブにアクセスする方法、および拡張機能を無効化する設定をユーザーに対して表示します (Firefox バグ 1438363)。
関連情報
----

* Firefox — Notes (61.0)
過去のバージョン
--------

* Firefox 60 for developers
* Firefox 59 for developers
* Firefox 58 for developers
* Firefox 57 for developers
* Firefox 56 for developers
* Firefox 55 for developers
* Firefox 54 for developers
* Firefox 53 for developers
* Firefox 52 for developers
* Firefox 51 for developers
* Firefox 50 for developers
* Firefox 49 for developers
* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers
* Firefox 43 for developers
* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers
* Firefox 39 for developers
* Firefox 38 for developers
* Firefox 37 for developers
* Firefox 36 for developers
* Firefox 35 for developers
* Firefox 34 for developers
* Firefox 33 for developers
* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers


Firefox 36 for developers - Mozilla

Firefox 36 for developers
=========================

Firefox 36 は、米国時間 2015 年 2 月 24 日にリリースされました。このページでは、開発者に影響する Firefox 36 の変更点をまとめています。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

ハイライト:

* eval で評価されるソースをデバッガーで表示
* Android 版 Firefox への接続手順を簡素化
* リモートでボックスモデルのハイライト表示が動作
* プロファイラの "呼び出しツリーを反転" オプション
* コンソールで DOM Promise を調査
* インスペクタで "貼り付け" 方法を追加

Firefox 35 から Firefox 36 の間に解決した開発ツール関連のバグ一覧

### CSS

* `will-change` プロパティをデフォルトで有効にしました (Firefox バグ 961871)。
* `white-space` プロパティが `<textarea>` HTML 要素で動作するようになりました (Firefox バグ 82711)。
* `@font-face` で `unicode-range` ディスクリプターをサポートしました (Firefox バグ 475891)。ただし、デフォルトで無効です。
* `text-decoration-color`、`text-decoration-line`、`text-decoration-style` の各プロパティの接頭辞を削除しました (Firefox バグ 825004)。接頭辞つきのプロパティも、移行をスムーズにするためしばらく使用可能です (Firefox バグ 1097922)。
* `text-decoration` プロパティを、短縮プロパティに変更しました (Firefox バグ 1039488)。
* `object-fit` プロパティおよび `object-position` プロパティをサポートしました (Firefox バグ 624647)。
* `display` プロパティの値 `contents` を実験的に実装しました。デフォルトで無効に設定しています (Firefox バグ 907396)。
* Quirks モードで、`:active` および `:hover` の Quirk の適用対象を削減しました。リンクにのみ、および要素内に擬似要素や他の擬似クラスがない場合や擬似クラスの要素の一部ではない場合に限り適用されます (Firefox バグ 783213)。
* `isolation` プロパティを実装しました (Firefox バグ 1077872)。
* CSS の `<gradient>` が乗算済み色に適用されるようになり、仕様書や他ブラウザと合致しました。また、途中に予期しない灰色が現れないようになりました (Firefox バグ 591600)。
* `<gradient>` に、補間法のヒントを与える構文を追加しました (Firefox バグ 1074056)。
* `scroll-behavior` プロパティを実装しました (Firefox バグ 1010538)。
### HTML

* `<meta name="referrer">` をサポートしました (Firefox バグ 704320)。
* Firefox では `<input>` 要素の `accept` 属性で指定したフィルタが未知の値、すなわち未知の MIME タイプや不正な形式の値でない限り、常にデフォルトで選択されるようになりました。以前は `image/*`、`video/*`、`audio/*` が指定された場合に限り、デフォルトで選択されていました (Firefox バグ 826185)。
### JavaScript

* ECMAScript 6 の Symbol データ型をデフォルトで有効にしました (Firefox 33 より、Nightly チャンネルでは使用できていました) (Firefox バグ 1066322):
    + `Symbol`
    + `Symbol.for()`
    + `Symbol.keyFor()`
    + `Object.getOwnPropertySymbols()`
* イテレート可能 (en-US)なインターフェイスのプロパティキーのための、旧来のプレースホルダ文字列である `"@@iterator"` を、ES6 で周知のシンボルである `Symbol.iterator` に置き換えました (Firefox バグ 918828)。
* 仕様内部の抽象的な演算である `ToNumber(string)` で 2 進 (`0b`) および 8 進 (`0o`) リテラルをサポートしました。これは潜在的に、ES5 からの破壊的な変更になります (Firefox バグ 1079120)。
    + `Number("0b11")` は、`NaN` ではなく `3` を返します。
    + `"0o11" == 9` は、`false` ではなく `true` を返します。
* `const` 宣言はブロックスコープが設定されるようになりました。また、初期化子が必要になりました (Firefox バグ 611388)。さらに、再宣言が不可になりました (Firefox バグ 1095439)。
    + `{const a=1}; a;` は `1` が返らずに `ReferenceError` が発生します。これはブロックスコープがあるためです。
    + `const a;` は `SyntaxError` ("missing = in const declaration") が発生します。初期化子が必要です。
    + `const a = 1; a = 2;` は `SyntaxError` ("invalid assignment to const a") が発生します。
* ES7 の `Array.prototype.includes` メソッドを実装しました。ただし、現在は Nightly ビルドのみで有効です (Firefox バグ 1069063)。
* `let` および `const` とともに `delete` 演算子を使用すると、「一時的なデッドゾーン」が発生するようになりました (Firefox バグ 1074571)。
* 非標準の `let` ブロックおよび `let` 式は非推奨になり、コンソールに警告が表示されます。将来削除する予定であるため、今後は使用しないようにしてください。
* WeakMap コンストラクタで、省略可能な引数 iterable を扱うようになりました (Firefox バグ 1092537)。
### インターフェイス/API/DOM

* Canvas API の `CanvasRenderingContext2D.resetTransform()` (en-US) メソッドを実装しました (Firefox バグ 1099148)。
* Web Crypto API で ECDSA をサポートしました (Firefox バグ 1034854)。
* WebGL 2.0 の実験的な実装を進めています!
    + `WebGLQuery` (en-US) インターフェイスが利用可能になりました (Firefox バグ 1048719)。
    + `WebGL2RenderingContext.invalidateFrameBuffer()` (en-US) メソッドを実装しました (Firefox バグ 1076456)。
* `Promise` ベースの `getUserMedia()` を持つ、`MediaDevices` インターフェイスを追加しました。`Navigator.mediaDevices` を通して使用できます (Firefox バグ 1033885)。
* EME 関連の `Navigator.requestMediaKeySystemAccess()` (en-US) メソッドおよび `MediaKeySystemAccess` (en-US) をサポートしました (Firefox バグ 1095257)。
* セッション中で EME 関連の CDM が鍵情報を変更したときに、`keyschange` (en-US) イベントが発生するようになりました (Firefox バグ 1081755)。
* バーチャルリアリティデバイスを、設定項目 `dom.vr.enabled` の元で実験的にサポートしました。既定では無効です (Firefox バグ 1036604)。
* 仕様書に基づき `RTCPeerConnection.onsignalingstatechange` (en-US) に関連づけられた関数は、イベントをパラメータとして受け取るようになりました (Firefox バグ 1075133)。
* Web Animations の実験的な実装を続けています。メソッド `AnimationPlayer.play()`、`AnimationPlayer.pause()` (Firefox バグ 1070745) および `AnimationPlayer.playState` (en-US) (Firefox バグ 1037321) をサポートしました。
* 非標準の `DOMRequest` インターフェイスが `DOMRequest.then()` メソッドを持つようになりました (Firefox バグ 839838)。
* CSSOM View のスクロール動作を制御するメソッドである `Element.scroll()`、`Element.scrollTo()`、`Element.scrollBy()`、`Element.scrollIntoView()` を実装または拡張しました (Firefox バグ 1045754 および Firefox バグ 1087559)。
* `SVGElement` に `Element.innerHTML` を割り当ていると、SVG ネームスペース内に要素を作成するようになりました (Firefox バグ 886390)。
* `nsIWebBrowserPersist.saveURI()` メソッドは、以前のリリースとは互換性のない順序で 8 個の引数が必要になりました。
* Media Source Extensions (MSE) を、non-build 版 (Nightly および Developer Edition ) ではデフォルトで有効にしました (Firefox バグ 1000686)。Beta および Release では、引き続き無効です。
### MathML

*変更なし。*

### SVG

*変更なし。*

### Audio/Video

*変更なし。*

ネットワーク
------

* SPDY/3 のサポートを廃止しました。SPDY/3.1 は引き続き使用可能です (Firefox バグ 1097944)。
セキュリティ
------

* RC4 は安全でないとみなすようになり、すべての UI インジケータがそのように対応します。また SSLv3 は Firefox 34 からデフォルトで無効になっていますが、何が起きているかをユーザが理解しやすくなるように UI を変更しました (Firefox バグ 1093595)。
* TLS の初期ハンドシェイクで RC4 を提示しないようになりました (Firefox バグ 1088915)。
* CSP 1.1 の `form-action` ディレクティブをサポートしました (Firefox バグ 529697)。
* Firefox のオプションで、Do not track (en-US) の設定ウィジェットを有効/無効の切り替えに戻しました (Firefox バグ 1071747)。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### Add-on SDK

#### ハイライト

* `sdk/test/httpd` モジュールを Firefox 36 で削除しました。代わりに addon-httpd npm モジュールを使用してください。
* `sdk/ui` ボタンにバッジを付加できます (Firefox バグ 994280)。
* どこででも sdk モジュールにアクセスできるグローバル関数 `require` を実装しました (Firefox バグ 1070927)。使用方法は以下のとおりです。

```js
var { require } = Cu.import(
  "resource://gre/modules/commonjs/toolkit/require.js",
  {},
);
```

#### 詳細

Firefox 35 から Firefox 36 の間に行われた GitHub コミット。

### JavaScript コードモジュール

* `PromiseUtils.resolveOrTimeout` を実装しました (Firefox バグ 1080466)。
* `PromiseUtils.defer` (`Promise.defer()` を置き換えるもの) を実装しました (Firefox バグ 1093021)。
### インターフェイス

#### nsIContentPolicy

新しい定数が `nsIContentPolicy` に追加され、Gecko 内部とアドオンコードが異なる型のリクエストをより良く区別することができるようになりました。これらは次の通りです。

`TYPE_FETCH`

`fetch()` メソッドによって開始された、コンテンツの読み込みリクエストを示す。

`TYPE_IMAGESET`

`<img>` (`srcset` 属性または `<picture>` 要素を読み込むリクエストを示す。

### XUL

*変更なし。*

### その他

* Firefox の `-remote` コマンドラインオプション (en-US)を廃止しました (Firefox バグ 1080319)。
過去のバージョン
--------

* Firefox 35 for developers
* Firefox 34 for developers
* Firefox 33 for developers
* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers
* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers
* Firefox 17 for developers
* Firefox 16 for developers
* Firefox 15 for developers
* Firefox 14 for developers
* Firefox 13 for developers
* Firefox 12 for developers
* Firefox 11 for developers
* Firefox 10 for developers
* Firefox 9 for developers
* Firefox 8 for developers
* Firefox 7 for developers
* Firefox 6 for developers
* Firefox 5 for developers


Firefox 94 for developers - Mozilla

Firefox 94 for developers
=========================

このページでは、開発者に影響する Firefox 94 の変更点をまとめています。Firefox 94 は、2021 年 11 月 2 日にリリースされました。

ウェブ開発者向けの変更点一覧
--------------

### HTML

重要な変更なし。

### CSS

重要な変更なし。

### JavaScript

重要な変更なし。

### API

* 複雑な JavaScript オブジェクトをコピーするための、`structuredClone()` グローバル関数をサポートしました (Firefox バグ 1722576)。

#### DOM

* 開発者が `HTMLElement.enterkeyhint` または `enterkeyhint` グローバル属性を使用して、仮想キーボードで使用する Enter キーのラベルやアイコンのヒントを与えられるようになりました (Firefox バグ 1648332)。
* `HTMLScriptElement.supports()` 静的メソッドをサポートしました。JavaScript モジュールやクラシックスクリプトのような、特定の種類のスクリプトをブラウザーがサポートしているかを確認するための、シンプルかつ統一された手段を提供をします (Firefox バグ 1729239)。
* `ShadowRoot.delegatesFocus` プロパティをサポートしました。shadow DOM を追加したとき に `delegatesFocus` プロパティが設定されていたかをコードで確認できます (Firefox バグ 1413836)。
### WebDriver conformance (Marionette)

* chrome スコープが有効であるときに、`WebDriver:GetWindowHandle` および `WebDriver:GetWindowHandles` がタブの代わりにブラウザーウィンドウのハンドラーを返すようになりました (Firefox バグ 1729291)。
### HTTP

* `Clear-Site-Data` レスポンスヘッダーの `cache` ディレクティブは既定では無効になっています。
 これは環境設定 `privacy.clearsitedata.cache.enabled` (Firefox bug 1729291) を使って有効にできます。
アドオン開発者向けの変更点一覧
---------------

* Cookie がトップレベルサイトで分割された記憶領域にあるときに、Cookie のファーストパーティ URL を表す `partitionKey` を `cookies.get` (en-US)、`cookies.getAll` (en-US)、`cookies.set` (en-US)、`cookies.remove` (en-US)、`cookies.cookie` でサポートしました (Firefox バグ 1669716)。
* コンテキストメニューを表示したときに、`menus.OnClickData.srcUrl` (en-US) が現在の URL (リダイレクト後) の代わりに、クリックした要素の `src` 属性の値を返すようになりました (Firefox バグ 1659155)。
過去のバージョン
--------

* Firefox 93 for developers
* Firefox 92 for developers
* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers
* Firefox 69 for developers
* Firefox 68 for developers
* Firefox 67 for developers
* Firefox 66 for developers
* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers


Firefox 65 for developers - Mozilla

Firefox 65 for developers
=========================

この記事では、開発者に影響を与える Firefox 65 の変更点について説明します。Firefox 65 は 2019 年 1 月 29 日に出荷されました。

ウェブ開発者のための変更
------------

### 開発者ツール

* Flexbox インスペクター をデフォルトで有効にしました。
* JavaScript デバッガー で、XHR のブレークポイントをサポートしました (Firefox バグ 821610)。
* アクセシビリティツリーでアイテムを右クリックすると、JSON ビューアに移動して ツリーを JSON として表示 できます。
* アクセシビリティピッカーの 色のコントラスト 表示機能を、文字列の背景が複雑 (例えばグラデーションや複雑な画像) である場合はコントラスト値の範囲を表示するように改良しました。
* ネットワークモニター のヘッダータブに、選択した要求のリファラーポリシーを表示するようになりました (Firefox バグ 1496742)。
* スタックトレースを表示するとき (例えばコンソールのログや JavaScript デバッガー)、自身のコードに集中できるようにするため、フレームワークのメソッドの呼び出しを認識してデフォルトで折りたたむようにしました。
* ネイティブの端末と同じように、JavaScript コンソールの履歴を見つけるための逆検索が可能になりました (Windows/Linux では `F9`、macOS では `Ctrl` + `R` を押下して検索文字列を入力します。さらに `Ctrl` + `R`/`Ctrl` + `S` で結果を切り替えます)。
* JavaScript コンソールの `$0` ショートカット (ページで現在調査している要素を参照します) で自動補完が可能になりました。例えば `$0.textContent` のようなプロパティの自動補完候補を得るために `$0.te` と入力できます。
* インスペクターのルールビューで編集した箇所が、変更点パネルに表示されるようになりました (Firefox バグ 1503920)。
### HTML

* イベントが無効な HTML 要素に配信されるようになりました。例えば、 `<button>`、`<fieldset>`、`<input>`、`<select>`、`<textarea>` 要素に `disabled` 属性が設定されていた場合です (Firefox バグ 329509)。
* Chrome や Safari に合わせて、`<iframe>` 要素で `src` 属性を削除すると `about:blank` を読み込むようにしました (Firefox バグ 1507842)。以前は、`src` を削除しても `iframe` の内容に影響はありませんでした。
* `<script>` 要素で `referrerpolicy` 属性をサポートしました (Firefox バグ 1460920)。
### CSS

* `image-rendering` プロパティの値 `crisp-edges` の接頭辞を削除しました (Firefox バグ 1496617)。
* 値が `auto` である `scrollbar-color` が、2 つの色ではなく `auto` として解釈するようになりました (Firefox バグ 1501418)。
* `break-*` プロパティを実装して、古い `page-break-*` プロパティをそれらの別名にしました (Firefox バグ 775618):
    + `page-break-before` は `break-before` の別名になりました。
    + `page-break-after` は `break-after` の別名になりました。
    + `page-break-inside` は `break-inside` の別名になりました。
* `overflow-wrap` プロパティの値 `anywhere` を実装しました (Firefox バグ 1505786)。
* 新しいステップ位置のキーワードである `jump-start`、`jump-end`、`jump-none`、`jump-both` (`steps()` タイミング関数 内で使用可能) を実装しました (Firefox バグ 1496619)。これは `frames()` タイミング関数の削除と同時に行いました。この関数は過去に同様の機能を実装していたものであり、非推奨になりました。
* ほかのブラウザーとの互換性のために、`-webkit-appearance` で新しい値をいくつか追加しました。特に、以下の値です。
    + `meter`。これはユーザーエージェントのスタイルシートで、`<meter>` 要素のデフォルトの値として使用されます。既存の値 `meterbar` は、`meter` の別名になりました (Firefox バグ 1501483)。
    + `progress-bar`。これはユーザーエージェントのスタイルシートで、`<progress>` 要素のデフォルトの値として使用されます。既存の値 `progressbar` は、`progress-bar` の別名になりました (Firefox バグ 1501506)。
    + `textarea`。これはユーザーエージェントのスタイルシートで、`<textarea>` 要素のデフォルトの値として使用されます。既存の値 `textfield-multiline` は、`textarea` の別名になりました (Firefox バグ 1507905)。
* ほかのブラウザーの動作に合わせるため、`user-select` の動作を変更しました (Firefox バグ 1506547)。具体的には以下のとおりです:
    + 要素で `user-select: all` を設定したとき、子孫要素で設定した `user-select` のほかの値を上書きしないようになりました。例えば、以下のコードをご覧ください:
     html
    ```html
    <div style="-webkit-user-select: all">
      All
      <div style="-webkit-user-select: none">None</div>
    </div>

    ```
    `none` を設定した `<div>` は、選択不可になります。以前はこの値が、親要素の値 `all` で上書きされました。
    + `contenteditable` である要素の内部にある `contenteditable` ではない要素が、選択可能になりました。
    + `user-select` の動作が、shadow DOM の内部・外部ともに同じになりました。
    + 独自仕様である値 `-moz-text` を削除しました。
* CSS 環境変数 (`env()` 関数) を実装しました (Firefox バグ 1462233)。

#### 廃止

* 設定項目 `layout.css.shape-outside.enabled` を削除しました。`about:config` で `shape-outside`、`shape-margin`、`shape-image-threshold` を無効化できなくなりました (Firefox バグ 1504387)。
* `user-select` プロパティの、Firefox 限定の値である `-moz-all`、`-moz-text`、`tri-state`、`element`、`elements`、`toggle` を削除しました。Firefox バグ 1492958 および Firefox バグ 1506547 をご覧ください。
* 前述のとおり、`frames()` タイミング関数を削除しました (Firefox バグ 1496619)。
### SVG

*変更なし。*

### JavaScript

* `Intl.RelativeTimeFormat` (en-US) をサポートしました (Firefox バグ 1504334)。
* 文字列の length の最大値を `2**28 - 1` (~256MB) から `2**30 - 2` (~1GB) に変更しました (Firefox バグ 1509542)。
* 常にトップレベルのグローバルオブジェクトを参照する `globalThis` プロパティを実装しました (Firefox バグ 1317422)。
### API

#### 新しい API

* Readable Streams をデフォルトで有効にしました (Firefox バグ 1505122)。
* Storage Access API をデフォルトで有効にしました (Firefox バグ 1513021)。

#### DOM

* `Performance.toJSON()` を Web Workers に公開しました (Firefox バグ 1504958)。
* `XMLHttpRequest` 要求で、要求した content type が `Blob` かつ要求メソッドが `GET` ではない場合に、`NetworkError` が発生するようになりました (Firefox バグ 1502599)。
* Fullscreen API で、`-moz-` 接頭辞がつく多くの機能が非推奨になりました。また、これらを発見すると JavaScript コンソールで非推奨の警告を表示するようになりました (Firefox バグ 1504946)。
* `createImageBitmap()` で、SVG 画像 (`SVGImageElement` (en-US)) を画像のソースとしてサポートしました。

#### DOM イベント

* 今後、`Window.open()` はイベントごとに 1 回だけ呼び出し可能になります (Firefox バグ 675574)。
* CJKT ユーザーに対してブラウザー間の互換性を高めるため、IME で変換している間に `keyup` および `keydown` イベントが発生するようになりました (Firefox バグ 354358)。

#### ウェブワーカー

* `SharedWorkerGlobalScope.onconnect` (en-US) のイベントオブジェクトが `MessageEvent` のインスタンスになりました。また、`data` プロパティが `null` からから文字列に変わりました (Firefox バグ 1508824)。

#### フェッチとサービスワーカー

* `Response.redirect()` メソッドが、最初の引数で有効な URL が指定されていない場合に、正しく `TypeError` を発生させるようになりました (Firefox バグ 1503276)。
* `ServiceWorkerContainer.register()` および `WorkerGlobalScope.importScripts()` (Service worker で使用している場合) メソッドが、有効な JavaScript MIME type のファイルを受け入れるようになりました (Firefox バグ 1354577)。
* `FetchEvent.replacesClientId` および `FetchEvent.resultingClientId` プロパティをサポートしました (Firefox バグ 1264177)。
* `ServiceWorkerGlobalScope.onmessageerror` および `ServiceWorkerContainer.onmessageerror` ハンドラープロパティを実装しました (Firefox バグ 1399446)。
* `HEAD` または `GET` メソッドの Fetch リクエストで、`Origin` ヘッダーを設定しないようにしました (Firefox バグ 1508661)。

#### メディア、ウェブオーディオ、WebRTC

* WebRTC の `RTCIceCandidateStats` (en-US) ディクショナリーを、最新の仕様に合わせて更新しました (Firefox バグ 1324788、Firefox バグ 1489040)。
* `MediaRecorder` の `pause` および `resume` イベント (また、対応するイベントハンドラープロパティ) は、ブラウザーの互換性では実装済みとしていましたが、以前は実装されていませんでした。これらを実装しました (Firefox バグ 1458538, Firefox バグ 1514016)。

#### Canvas と WebGL

* WebGL の `EXT_texture_compression_bptc` (en-US) および `EXT_texture_compression_rgtc` (en-US) テクスチャー圧縮拡張を、WebGL1 および WebGL2 のコンテキストに公開しました (Firefox バグ 1507263)。

#### 廃止

* Mutation events を、シャドウツリーで無効化しました (Firefox バグ 1489858)。
* `MediaStream` の非標準プロパティである `currentTime` を削除しました (Firefox バグ 1502927)。
* 設定項目 `dom.webcomponents.shadowdom.enabled` および `dom.webcomponents.customelements.enabled` を削除しました。Shadow DOM および Custom Elements は `about:config` で無効化できません (Firefox バグ 1503019)。
* 非標準の DOM `text` イベント (ブラウザーのエディター UI に、IME のコンポジション文字列や選択範囲を伝えるために発生します) を削除しました (Firefox バグ 1288640)。
* `keypress` イベントが非表示キー では 発生しなくなりました (Firefox バグ 968056)。ただし `Enter` キーと、 `Shift` + `Enter` および `Ctrl` + `Enter` の組み合わせは除きます (これらはブラウザー間の互換性のために維持します)。
### セキュリティ

* CORS の制限が要求ヘッダーに強制されるようになりました (Firefox バグ 1483815。詳しくは whatwg fetch issue 382: CORS-safelisted request headers should be restricted according to RFC 7231 をご覧ください)。
### ネットワーク

*変更なし。*

### プラグイン

*変更なし。*

### WebDriver conformance (Marionette)

#### API の変更点

* `WebDriver:ElementSendKeys` が対話性の確認で `<input type=file>` をより緩やかに扱うようになり、`not interactable` エラーメッセージを発生させずに要素を非表示にできるようになりました。厳密な対話性の確認を行いたい場合は `strictFileInteractability` を使用できます (Firefox バグ 1502864)。

#### バグ修正

* ウィンドウ操作コマンドの `WebDriver:FullscreenWindow`、`WebDriver:MinimizeWindow`、`WebDriver:MaximizeWindow`、`WebDriver:SetWindowRect` が、より安定的になりました (Firefox バグ 1492499)。特殊な状況で無限ハングアップが発生しなくなりましたが、ウィンドウが 5 秒以内に要求した状態に達しなければタイムアウトします (Firefox バグ 1521527)。
* `WebDriver:ElementClick` が、クリックする要素の中心点を正しく計算するようになりました。寸法が 1 ピクセル四方でも対話できます (Firefox バグ 1499360)。

#### その他

* `unexpected alert open` エラーで、より有益なメッセージを提供するようになりました (Firefox バグ 1502268)。
### その他

* WebP 画像をサポートしました (Firefox バグ 1294490)。
    + また、特定の状況でブラウザ間の互換性を向上するために、WebP の MIMEType (`image/webp`) を HTML ファイルの `Accept` 標準 HTTP 要求ヘッダーに追加しました (Firefox バグ 1507691)。
* Windows で、AV1 コーデックをデフォルトでサポートしました (Firefox バグ 1452146)。
アドオン開発者向けの変更
------------

### API の変更

#### タブ

* tabs API を、タブサクセサーをサポートするように強化しました。タブがサクセサーを持つことができ、サクセサーはタブが閉じられたときにアクティブになるタブの ID です (Firefox バグ 1500479。詳しくは this blog post をご覧ください)。特に、以下の値です:
    + `tabs.Tab` 型が `successorId` プロパティを持つようになりました。これは、タブのサクセサーの ID を登録および取得するために使用できます。
    + `tabs.onActivated` (en-US) イベントリスナーのコールバックで、新しい引数 `previousTabId` を使用できます。これは、以前アクティブであったタブがまだ開かれていれば、その ID が入ります。
    + `tabs.update()` (en-US) 関数の `updateProperties` オブジェクトに、新しい省略可能のプロパティ`successorTabId` を追加しました。ID を更新するために使用できます。
    + `successorTabId` は、`tabs.get()` や `tabs.query()` といった関数でも返ります。
    + 新たに `tabs.moveInSuccession()` で、タブサクセサーをまとめて操作できます。
### Manifest の変更

*変更なし。*

### その他

* Webextension themes (en-US) の `headerURL`/`theme_frame` プロパティを、Android 版 Firefox でサポートしました (Firefox バグ 1429488)。
関連情報
----

* Hacks の関連記事: Firefox 65: WebP support, Flexbox Inspector, new tooling & platform updates
旧バージョン
------

* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers
* Firefox 62 for developers
* Firefox 61 for developers
* Firefox 60 for developers
* Firefox 59 for developers
* Firefox 58 for developers
* Firefox 57 for developers
* Firefox 56 for developers
* Firefox 55 for developers
* Firefox 54 for developers
* Firefox 53 for developers
* Firefox 52 for developers
* Firefox 51 for developers
* Firefox 50 for developers
* Firefox 49 for developers
* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers
* Firefox 43 for developers
* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers
* Firefox 39 for developers
* Firefox 38 for developers
* Firefox 37 for developers
* Firefox 36 for developers
* Firefox 35 for developers


Firefox 7 for developers - Mozilla

Firefox 7 for developers
========================

Firefox 7 は 2011 年 9 月 27 日にリリースされました。このページは Firefox 7 のリリースにあたり、開発者に関係する変更についてまとめたものです。

Web 開発者向けの変更点一覧
---------------

### HTML

* `HTMLHeadElement` の `profile` プロパティが削除されました。このプロパティは Gecko 2.0 から非推奨となっていました。
* `HTMLImageElement` の `x` プロパティと `y` プロパティが削除されました。
* `HTMLSelectElement` の `add()` メソッドの `before` 引数が optional となりました。
* `<body>` の `background` 属性が URI として解決されなくなりました。この変更は HTML 仕様への準拠によるものです。
* `<option>` の `label` 属性が指定されていない場合、要素の内容テキストを反映するようになりました。

#### Canvas

* `setTransform()`, `bezierCurveTo()`, `arcTo()` に不正な値を与え呼び出したとき、例外が投げられなくなりました。これらは無視されます。
* `isPointInPath()` (en-US) メソッドに与えられた点と現在のパスを比較するにあたり、変換マトリクスを適切に考慮するようになりました。
* `strokeRect()` メソッドが幅 0 高さ 0 で呼び出された場合、何もしなくなりました。
* `drawImage()` (en-US) メソッドが幅 0 もしくは高さ 0 で呼び出された場合、`<canvas>` は `INVALID_STATE_ERR` を投げるようになりました。
* `drawImage()` (en-US) メソッドが非定形の座標で呼び出された場合に、例外が投げられなくなりました。
* `toDataURL()` が JPEG の品質を制御する引数を受け付けるようになりました。
* `globalCompositeOperation` の値から、非標準だった `clear` と `over` が削除されました。
* 影 が `source-over` 合成処理の場合にのみ描画されるようになりました。
* Canvas の塗りつぶし方を設定する `mozFillRule` (en-US) アトリビュートが追加されました。
### CSS

* `text-overflow` がサポートされました。
* `-moz-orient` (en-US) が修正され、縦配置の `<progress>` でも進行方向が適切なものになりました。
### MathML

* XLink href が復活し、また MathML3 の `href` 属性もサポートされました。リンクには後者の属性を使うことが望まれます。
* `<mpadded> (en-US)` 要素に `voffset` 属性のサポートが追加されました。また `lspace` 属性の挙動も修正されました。
* トップレベル要素である `<math>` 要素が `<mstyle> (en-US)` 要素のもつ属性すべてを受け入れるようになりました。
* Asana Math フォントのサポートが追加されました。
* `<mfrac>` 要素によって表される分数の線の太さ `medium` が修正され、規定の太さになりました。
* 負のスペースを表すキーワード (en-US) がサポートされました。
### DOM

* `File` インターフェースの非標準なメソッド `getAsBinary()`, `getAsDataURL()`, `getAsText()` が削除されました。あわせて、非標準なプロパティ `fileName` と `fileSize`も削除されました。
* `Blob` によってデータが指定され、また `Content-Disposition` HTTP ヘッダが送信されたとき、`FormData` (en-US) インターフェースはファイル名を空文字列として報告しないようになりました。これによって幾つかのサーバに起こっていたエラーが解消されます。
* `element.dir` 属性が結果を常に小文字で返すようになりました。これは HTML 仕様の要件によるものです。
* `FileReader` の `readAsArrayBuffer()` メソッドが実装されました。
* `document.createEntityReference` が削除されました。このメソッドは適切に実装されておらず、他のブラウザのほとんどで実装されていませんでした。
* `document.normalizeDocument` が削除されました。今後は `Node.normalize` を利用してください。
* `index` が範囲外の場合、`DOMTokenList.item` が `undefined` を返すようになりました。これまでは `null` を返していました。
* `Node.getFeature` が削除されました。
* `HTMLInsElement` インターフェースと `HTMLDelElement` インターフェースが削除されました。これは `<ins>` と `<del>` 要素が実際には `HTMLModElement` を使用していたためです。
* 新しい DOM4 仕様にある `Attr` が `Node` を継承しない (DOM Core 1, 2, 3 まではしていた) という定義に準拠するため、`Attr` インターフェース上の `Node` プロパティやメソッドについて、将来的にこれらを削除するといった意味の 警告を出す (en-US) ようになりました。
* `Window` オブジェクトに `window.ondeviceorientation` (en-US) プロパティと `window.ondevicemotion` プロパティのサポートを追加しました。
* `window.resizeTo`、`window.resizeBy`、`window.moveTo`、`window.moveBy` はメインウィンドウに適用されなくなりました。
### JavaScript

* `Function.arity` プロパティが削除されました。今後は `Function.length` を利用してください。
### WebSocket

* 設定項目に `network.websocket.max-connections` が導入されました。これは WebSocket の同時最大接続数を決定するために使用されます。既定値は 200 です。
* WebSocket プロトコルで使用するプロトコルバージョンが、IETF draft 10 で指定されているバージョン 8 になりました。Firefox 6 ではバージョン 7 が使われていました。
* WebSocket API が Firefox Mobile でも利用可能になりました。
### Console API

* web console が開かれる前に `console.log` によって記録されたメッセージもあらかじめ記録され、web console が開かれた時に表示されるようになりました。
### Web Timing

* Navigation Timing 仕様の初期実装が完了しました。
### XML

* XSLT スタイルシートはこれまでサポートされていた `text/xsl` に加えて、正式な `MIME` 型 `application/xslt+xml` も利用可能になりました。(スタイルシート処理命令もしくは HTTP Link ヘッダで利用できます。)
Mozilla 開発者とアドオン開発者向けの変更点
-------------------------

これらの変更は、アドオン開発者と、Mozilla 本体のコードに関わっている開発者の双方に影響するものです。アドオン開発者は アドオンの Firefox 7 対応 に書かれている追加情報も参照してください。

**メモ:** Firefox 7 では、従来のメジャーリリースと同様に、バイナリコンポーネントをコンパイルし直す必要があります。詳しくは バイナリインタフェース をご覧ください。

### JavaScript コードモジュール

#### FileUtils.jsm

* 書き込みのための、安全でない状態のファイル出力ストリームを開ける `openFileOutputStream()` メソッドが追加されました。

#### AddonManager.jsm

* アプリケーション起動中に変更が行われたアドオンの一覧を管理できるメソッドがアドオンマネージャに追加されました。`addStartupChange()`、`removeStartupChange()`、`getStartupChanges()` の 3 つです。
### XUL

* `tree` 要素で、`datasources` 属性によって参照されたノードがすべて `id` 属性で指定された固有 ID を持っていた場合、3 種類の公開状態を記憶できるようになりました。
* `panel` 要素で、新しい `backdrag` 属性を使って、ユーザがバックグラウンドの任意の場所をクリックして、その要素をドラッグできるように 設定することが可能となりました。
### XPCOM

* `Components.utils.schedulePreciseGC()` メソッドが追加されました。これは、以後どこかの時点で JavaScript コードが何も実行されていないときに、完全なガベージコレクション処理を行う予定を入れられるものです。
* `Components.utils.unload()` メソッドが追加されました。これは、`Components.utils.load()` で読み込まれた JavaScript コードモジュールを破棄できるようにするものです。
### ユーザ体験の変更

* 拡張機能のオプションが、再起動不要型と従来型のいずれでも アドオンマネージャ内に表示 されるようになりました。
* ダウンロードされたファイルの保存先がサイトごとに記憶されるようになりました。このデータは DownloadLastDir.jsm を使ってアクセスできます。
### ビルドシステムの変更

* ActiveX 組み込み API はビルドされなくなり、ビルドシステムでのサポートも削除されました。関連インタフェースも削除されました。下記 削除されたインタフェース を参照してください。
* Windows でのビルド時に `-Zc:wchar_t-` を指定できなくなりました。詳しくは、更新された ビルド手順 をご覧ください。
### インタフェースの変更

* `nsISocketTransport` に新しい接続フラグ `DISABLE_IPV6` が追加されました。これは、利用可能な IPv6 アドレスがあってもそれを無視して、IPv4 アドレスのみに接続するようソケットを設定するものです。また、`nsIDNSService` に新しい解決フラグ `RESOLVE_DISABLE_IPV6` が追加されました。これは、利用可能な IPv6 アドレスがあってもそれを無視して、IPv4 ホストのみを考慮してドメイン名解決を行うものです。これらの変更は、IPv4 と IPv6 の両方に対応している (その中でも特に IPv6 接続がうまくいかない) ホストへ接続する際の応答時間を短縮する 「幸せな目玉」戦略 を実装するために使われます。
* `inIDOMUtils` に 2 つのメソッドが追加されました。あるノードの子ノード一覧を返す `getChildrenForNode()` と、選択範囲内で使用されているフォントフェイス一覧を返す `getUsedFontFaces()` です。
* `nsIMarkupDocumentViewer_MOZILLA_2_0_BRANCH` インタフェースは `nsIMarkupDocumentViewer` インタフェースへ統合されました。
* `nsIDOMWindow2` インタフェースは `nsIDOMWindow` インタフェースへ統合されました。
* `nsIDOMWindow_2_0_BRANCH` インタフェースは `nsIDOMWindowInternal` インタフェースへ統合されました。
* URI 引数付きで `nsINavHistoryObserver` メソッドを使う場合、GUID も必要となります。
* `nsISHistory_2_0_BRANCH` インタフェースは `nsISHistory` インタフェースへ統合されました。
* `nsITelemetry` に、ID からヒストグラムを返す `getHistogramById()` メソッドと、`false` 設定時に 使用統計情報 (Telemetry) の記録を無効化できる `canRecord` 属性が追加されました。使用統計情報はプライベートブラウジングモードでは記録されなくなりました。(Firefox バグ 661574、Firefox バグ 661573)
 `newHistogram()` で定義された使用統計ヒストグラムは、Mozilla への定期報告に含まれません。
* `nsIMemoryReporter` インタフェースに大幅な変更が行われました。使用する場合はコードに変更を加える必要があるでしょう。
* `nsIXMLHttpRequest.setRequestHeader()` によって設定されたヘッダが、リダイレクトを辿る際にもリクエストに含まれて送信されるようになりました。これまでこの方法で設定されたヘッダは送信されていませんでした。
* `nsIDocShell` に `allowWindowControl` 属性が追加されました。`true` を設定すると、docshell のコンテンツがウィンドウをコントロールできるようになります (ウィンドウの移動やサイズ変更など)。
* `nsIThreadInternal2` インタフェースは `nsIThreadInternal` インタフェースへ統合されました。

#### 新しいインタフェース

`nsIDOMFontFace`

ひとつのフォントフェイスを表します。

`nsIDOMFontFaceList`

`nsIDOMFontFace` で表されたフォントフェイスの一覧を表します。

#### 削除されたインタフェース

以下のインタフェースは、不要となり削除された実装です。

* `nsIDOM3Attr`
* `nsIDOM3Node`
* `nsIDOM3TypeInfo`
* `nsIDOM3Text`
* `nsIDOMDocumentStyle`
* `nsIDOMNSDocument`
* `nsIDOMNSFeatureFactory`
* `nsIDOMNSHTMLDocument`
* `nsIDOMNSHTMLFormElement`
* `nsIDOMNSHTMLHRElement`
* `nsIDOMNSHTMLTextAreaElement`

以下のインタフェースは、ActiveX 組み込み API 廃止の一環として削除されました。

* `DITestScriptHelper`
* `DWebBrowserEvents`
* `DWebBrowserEvents2`
* `IDispatch`
* `IMozControlBridge`
* `IMozPluginHostCtrl`
* `IWebBrowser`
* `IWebBrowser2`
* `IWebBrowserApp`
* `IXMLDocument`
* `IXMLElement`
* `IXMLElementCollection`
* `IXMLError`
* `nsIActiveXSecurityPolicy`
* `nsIDispatchSupport`
* `nsIMozAxPlugin`
* `nsIScriptEventHandler`
* `nsIScriptEventManager`
参考
--

* 高速リリースサイクルに関するよくある質問

* Firefox 6 for developers
* Firefox 5 for developers
* Firefox 4 for developers
* Firefox 3.6 for developers
* Firefox 3.5 for developers
* Firefox 3 for developers
* Firefox 2 for developers
* Firefox 1.5 for developers


Firefox 54 for developers - Mozilla

Firefox 54 for developers
=========================

Firefox 54 は、米国時間 2017 年 6 月 13 日にリリースされました。このページでは、開発者に影響する Firefox 54 の変更点をまとめています。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

* ネットワーク要求の要約で、パフォーマンス解析ビューと同様に、実際に転送されたデータの量 ("転送量") を表示するようになりました (Firefox バグ 1168376)。
* ネットワーク要求のヘッダービューで、MDN の関連ドキュメントへのリンクを追加しました (Firefox バグ 1320233)。
### CSS

* `clip-path` で 基本シェイプ をサポートしました (Firefox バグ 1247229)。
* Firefox の CSS Flexbox と CSS alignment の実装で、`align-items` と `align-self`、`justify-items` と `justify-self` の相互作用について更新された仕様を実装しました (Firefox バグ 1340309)。
* type が `checkbox` および `radio` である `<input>` で `-moz-appearance``: none;` を設定した場合に、他のブラウザーとの互換性のため非置換要素にするようになりました (Firefox バグ 605985)。
* 以前は、`display:block` を指定した `HTMLInputElement` 型の子要素を持つ、`display``: inline-block` を指定した要素のベースラインが誤っていました (Firefox バグ 1330962)。この問題を修正しました。
* Mozilla がコンテンツ専用のスレッドを (Electrolysis または e10s プロジェクトで) Firefox に導入したとき、`<option>` 要素へのスタイル設定機能のを一時的に削除しました。Firefox 54 より `color` および `background-color` プロパティを使用して、`<option>` 要素に再び前景色や背景色を設定できるようになりました。詳しくは Firefox バグ 910022 をご覧ください。Linux では、コントラストが不足するためまだ無効化していますので注意してください (進捗状況は Firefox バグ 1338283 で確認してください)。
* CSS Animations でアニメーションが早期に終了したとき、想定どおりに `animationcancel` イベントが発生するようになりました (Firefox バグ 1302648)。
* 透過色 (すなわち、アルファチャンネルが 0 である色) が、特定の状況 で `transparent` 色キーワード にシリアライズされていました。これを、仕様書や他のブラウザーの実装に従うよう修正しました。詳しくは Firefox バグ 1339394 をご覧ください。
* 独自仕様である `:-moz-table-border-nonzero` 疑似クラスが、ウェブコンテンツで使用できなくなりました。Firefox 内部の UA スタイルシートのみに制限されています (Firefox バグ 1341925)。
* [css-grid] overflow:auto を指定したコンテンツがグリッド内で重なり合う問題を修正しました (Firefox バグ 1348857)。
* [css-grid] 固有の比率を持つ、サイズをパーセンテージで指定したグリッドアイテムに対する、Transferred min-size の寄与に関する問題を修正しました (Firefox バグ 1349320)。
### JavaScript

* `"u"` (Unicode) フラグと `"i"` (大文字・小文字を無視) フラグを設定した `RegExp` で `\b` および `\B` は、U+017F (LATIN SMALL LETTER LONG S) および U+212A (KELVIN SIGN) を単語に使用される文字として扱うようになりました (Firefox バグ 1338373)。
* `DataView` コンストラクターで、`byteOffset` パラメーターが `Number.MAX_SAFE_INTEGER` (>= 2 \*\* 53) の範囲外であるときに `RangeError` が発生するようになりました (Firefox バグ 1317382)。
* `Date.UTC()` メソッドで引数が 2 個未満である場合の動作を、ECMAScript 2017 に準拠するように更新しました (Firefox バグ 1050755)。
* `Function.prototype.toString()` メソッドを、最新の 仕様案 に準拠するよう更新しました (Firefox バグ 1317400)。
### DOM & HTML DOM

* `URL.toJSON()` メソッドを実装しました (Firefox バグ 1337702)。
* `URLSearchParams()` コンストラクターが、init オブジェクトとして文字列を含むレコードを受け入れるようになりました (Firefox バグ 1331580)。
* macOS で、control キーと印刷可能なキーを組み合わせた場合に `KeyboardEvent.key` が返す値を修正しました (command キーの押下中を除く) (Firefox バグ 1342865)。
* 主に、worker で `let` を使用したときに発生する問題 (Firefox バグ 855665 のため。これは修正済み) を回避するために実装した設定項目 `dom.workers.latestJSVersion` を削除しました (Firefox バグ 1219523)。
* `event.timeStamp` プロパティが、エポック時刻 (`DOMTimeStamp`)に代わり高精度モノトニック時刻 (`DOMHighResTimeStamp`) を返すようになりました。
### Web Workers および Service Workers

* `WorkerGlobalScope.close` (en-US) が、`DedicatedWorkerGlobalScope` および `SharedWorkerGlobalScope` で利用可能になりました。この変更は、service workers で使用してはならない `close()` を使用できないようにして、呼び出された場合は常に例外が発生します (Firefox バグ 1336043)。
* `origin` プロパティを実装しました (Firefox バグ 1306170)。
* `Client.type` プロパティを実装しました (Firefox バグ 1339844)。
* `Clients.matchAll()` が `Client` オブジェクトを、直近に注視した順序で返すようになりました (Firefox バグ 1266747)。
* 新しいインスタンスを生成するために `Request()` へ既存の `Request` オブジェクトが渡されたときに見られる動作を、若干変更しました。以下の新たな動作は例外を発生しにくくするとともに、セキュリティを維持するように設計しました:
    + コンストラクターを呼び出すオリジンとは別のオリジンにこのオブジェクトが存在する場合は、`Request.referrer` を削除します。
    + このオブジェクトの `Request.mode` が `navigate` である場合は、`mode` の値を `same-origin` に変換します。
### Audio/Video

#### 全般

* Windows、macOS、Linux で、5.1ch サラウンド音声の再生をデフォルトで有効化しました (Firefox バグ 1334508、Firefox バグ 1321502、Firefox バグ 1323659)。

#### Media Capture and Streams API

* `URL.createObjectURL()` の入力引数として `MediaStream` オブジェクトを使用することが非推奨になりました。コンソールに警告を表示します (Firefox バグ 1334564)。代わりに `HTMLMediaElement.srcObject` を使用することを推奨します。

#### Web Audio API

* `AnalyserNode.getFloatFrequencyData()` メソッドが値 `-Infinity` で返すバッファーで、正しく無音のサンプルを表すようになりました (Firefox バグ 1336098)。
* `AudioParam.setValueCurveAtTime()` で、指定された値のいずれかが有限値ではない場合に `TypeError` 例外が発生するようになりました (Firefox バグ 1308437)。

#### Encrypted MediaExtensions API

* `MediaKeySession.keySystem` 文字列が仕様書から削除されたため、Firefox 54 で廃止しました (Firefox バグ 1335555)。
* Clear Key および Widevine を使用する暗号化ストリームで、VP9 コーデックをサポートしました (Firefox バグ 1338064)。
* 以前は MSE で、システムが "十分に高速である" と思われる場合に限り WebM/VP8 動画の使用を許可していましたが、システムのパフォーマンスにかかわらず VP8 でエンコードした `webm/video` メディアの再生をサポートするようになりました。

#### WebRTC

* Firefox 41 で追加した TCP ICE candidate のサポートを、デフォルトで有効にしました。これにより、転送に好ましい UDP ではなく TCP を使用することを ICE レイヤーが候補として検討することを可能にします。これは、UDP がブロックされている環境で役に立つでしょう (Firefox バグ 1176382)。こちらのブログ投稿 で、この機能を詳しく説明しています。
ウェブプラットフォームから廃止
---------------

### CSS

* `unicode-bidi` プロパティの値 `isolate`、`isolate-override`、`plaintext` について、`-moz` 接頭辞がついている値を削除しました (Firefox バグ 1333675)。
### HTTP

* Firefox 54 で、HTTP/1 のパイプラインのサポートを廃止しました。ネットワークのパフォーマンス向上が標準化された HTTP/2 や他の価値ある技術が充実した段階へ移行するにつれて、パイプラインは互換性やパフォーマンスの問題によりメンテナンスする価値がなくなります。設定項目 `network.http.pipelining` (および "network.http.pipelining" で始まる他の項目) は無視します。詳しくは Firefox バグ 1340655 をご覧ください。
過去のバージョン
--------

* Firefox 53 for developers
* Firefox 52 for developers
* Firefox 51 for developers
* Firefox 50 for developers
* Firefox 49 for developers
* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers
* Firefox 43 for developers
* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers
* Firefox 39 for developers
* Firefox 38 for developers
* Firefox 37 for developers
* Firefox 36 for developers
* Firefox 35 for developers
* Firefox 34 for developers
* Firefox 33 for developers
* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers
* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers


Firefox 104 for developers - Mozilla

Firefox 104 for developers
==========================

このページでは、開発者に影響する Firefox 104 の変更点をまとめています。Firefox 104 は、2022 年 8 月 23 日にリリースされました。

ウェブ開発者向けの変更点一覧
--------------

### HTML

変更なし。

### CSS

### JavaScript

* `Array.prototype.findLast()`、`Array.prototype.findLastIndex()`、`TypedArray.prototype.findLast()`、`TypedArray.prototype.findLastIndex()` メソッドをサポートしました。
 これらはそれぞれ、`Array` または `TypedArray` で、与えたテスト関数にマッチする最後の要素の値または添字を発見するために使用します。
 (詳しくは Firefox バグ 1775026 をご覧ください)
* `window.postMessage()` および `structuredClone()` で ネイティブなエラーの型 を使用したとき、シリアライズした結果に (`stack` を持つエラーの型で) `stack` プロパティも含まれるようになりました。
 `Worker.postMessage()` など、ほかの API を使用してエラーを送信する場合は、まだ `stack` をシリアライズしません
 (詳しくは Firefox バグ 1774866 をご覧ください)。
### HTTP

変更なし。

### セキュリティ

変更なし。

### API

#### DOM

* `HTMLElement.focus()` で引数 `option.focusVisible` をサポートしました。これは要素にフォーカスした後に、視覚的な表示をブラウザーに強制するために使用できます。
 ブラウザーの実装でアクセシビリティが向上すると判断した場合に、フォーカスした要素へ自動的に視覚的な表示を行う可能性があることに注意してください。
 (詳しくは Firefox バグ 1765083 をご覧ください)

#### Canvas

* `fontKerning` プロパティを `CanvasRenderingContext2D` (en-US) および `OffscreenCanvasRenderingContext2D` (en-US) でサポートしました。canvas やオフスクリーン canvas で、文字を描画するときにカーニングをどのように使用するかを開発者が指定できます (Firefox バグ 1778908)。

#### Media、WebRTC、Web Audio

#### SVG

* SVG の style 要素を有効・無効にしたり、要素の無効状態を確認したりするために使用する、`SVGStyleElement.disabled` (en-US) プロパティが使用可能になりました。
 これは `HTMLStyleElement.disabled` の動作を反映したものです。
 (詳しくは Firefox バグ 1712623 をご覧ください)

#### 廃止

* `IDBFactory.open()` メソッドの引数 `options` を削除しました。
 これは非標準のオプションであり、Firefox だけでデータベースが永続的であることを示す方法でした。
 このオプションは以前から非推奨であり、すでにユーザーはこの機能を `StorageManager.persist()` に移行することが必要でした。
 (詳しくは Firefox バグ 1354500 をご覧ください)
### WebAssembly

#### 廃止

### WebDriver conformance (WebDriver BiDi, Marionette)

#### WebDriver BiDi

* `log.entryAdded` イベントで `source` をサポートしました (Firefox バグ 1770792)。
* 新たに開いたブラウジングコンテキストについて、`browsingContext.contextCreated` イベントに送信する `url` を `about:blank` に更新しました (Firefox バグ 1775141)。

#### Marionette

* Linux でウィンドウを最小化するときや元のサイズに戻すときの、安定性やパフォーマンスが向上しました (Firefox バグ 1780212)。
* `touch` アクションをサポートしました (Firefox バグ 1543337)。
アドオン開発者向けの変更点一覧
---------------

### 廃止

### その他

過去のバージョン
--------

* Firefox 103 for developers
* Firefox 102 for developers
* Firefox 101 for developers
* Firefox 100 for developers
* Firefox 99 for developers
* Firefox 98 for developers
* Firefox 97 for developers
* Firefox 96 for developers
* Firefox 95 for developers
* Firefox 94 for developers
* Firefox 93 for developers
* Firefox 92 for developers
* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers


Firefox 119 for developers - Mozilla

Firefox 119 for developers
==========================

このページでは、開発者に影響する Firefox 119 の変更点をまとめています。Firefox 119 は、2023 年 10 月 24 日にリリースされました。

ウェブ開発者向けの変更点一覧
--------------

### HTML

#### 廃止

* `<input>` 要素で、非標準の `mozactionhint` 属性のサポートを廃止しました。代わりに `enterkeyhint` を使用してください (詳しくは Firefox bug 1735980 をご覧ください)。
### CSS

* `attr()` CSS 関数の代替値をサポートしました。これは グローバル属性 が見つからない場合に、代替値の設定を使用することができます (Firefox bug 1448248)。
### JavaScript

* 反復可能な要素をグループ化するための `Object.groupBy()` および `Map.groupBy()` 静的メソッドをサポートしました (詳しくは Firefox bug 1792650 をご覧ください)。
* 文字列が適格な Unicode 文字を含んでいる (すなわち、孤立サロゲート がない) ことを確認できる `String.prototype.isWellFormed()` メソッドと、不適格な文字列を適格な Unicode 文字に修正できる `String.prototype.toWellFormed()` メソッドをサポートしました (詳しくは Firefox bug 1850755 をご覧ください)。
### SVG

* すべての SVG 要素で、`<length>` の値を受け入れる SVG 属性 が level 3 length CSS データ型 をサポートしました。これはフォントサイズ (`cap`、`rem` など) やビューポート (`vh`、`vw`、`vmin` など) に基づくサイズや、絶対的な長さ (`px`、`cm` など) で SVG 要素のサイズを決めることを可能にします。例: `<line x1="10vw" y1="10vh" x2="50vw" y2="50vh"/>` (詳しくは Firefox bug 1287054 をご覧ください)
### HTTP

* `Cross-Origin-Embedder-Policy` HTTP レスポンスヘッダーの `credentialless` をデスクトッププラットフォーム (および Android を除くモバイルプラットフォーム) でサポートしました。Cookie やほかの資格情報がない場合でも、明示的に許可していない外部オリジンのサーバーへリソースの `no-cors` 要求を行えます (Firefox bug 1851467)。
### API

* `WebTransport.createBidirectionalStream()` (en-US) および `WebTransport.createUnidirectionalStream()` (en-US) に渡す options 引数に `sendOrder` プロパティを含めることで、送信ストリームの相対的な優先度を指定できるようになりました (Firefox bug 1816925)。
* `AuthenticatorAttestationResponse` インターフェイスの `getAuthenticatorData()` (en-US)、`getPublicKeyAlgorithm()` (en-US)、`getPublicKey()` (en-US) メソッドをサポートしました (Firefox bug 1816519、Firefox bug 1816520)。
* Web Authentication API の Credential Properties Extension (`credProps`) (en-US) をサポートしました。資格情報を生成または登録した後に検出可能かを、ユーザーが確認できます (Firefox bug 1844437)。
* `SubtleCrypto.deriveKey()` メソッドで、引数 `derivedKeyAlgorithm` のオプションとして HKDF アルゴリズムをサポートしました (Firefox bug 1851928)。
* `PublicKeyCredential` インターフェイスの `parseCreationOptionsFromJSON()` (en-US)、`parseRequestOptionsFromJSON()` (en-US)、`toJSON()` (en-US) メソッドをサポートしました。
 これらは資格情報の生成や共有に使用するオブジェクトを、シリアライズやデシリアライズやサーバーとの共有に使用できる JSON 表現に変換するのに便利なメソッドです (Firefox bug 1823782)。

#### DOM

* ほかの要素を参照しない属性に対して、ARIA reflection をデフォルトでサポートしました。IDREF 型でない属性だけが反映されます。`setAttribute` や `getAttribute` を使用せずに、JavaScript API を通して DOM 要素の ARIA 属性を直接設定および取得できるようになりました。たとえば、`buttonElement.setAttribute("aria-pressed", "true");` に加えて `buttonElement.ariaPressed = "true";` もサポートしました (Firefox bug 1785412)。
### WebDriver conformance (WebDriver BiDi, Marionette)

#### 一般

* 中央または右のマウスボタンを押して `pointerDown` アクションを実行するとき、関連する HTML 要素から発生する `mousedown` イベントの `buttons` プロパティの値が入れ替わっていた不具合を修正しました (Firefox bug 1850086)。
* `pointer` を基準に設定して入力タイプが `wheel` の `scroll` アクションを実行すると、不適切な `invalid argument` エラーが発生していた不具合を修正しました。現在の WebDriver 仕様ではこの組み合わせがサポートされていません (Firefox bug 1850166)。

#### WebDriver BiDi

* 指定したブラウジングコンテキストで現在表示されているページまたはフレームを再読み込みできるコマンド `browsingContext.reload` を追加しました (Firefox bug 1830859)。
* `alert`、`confirm`、`prompt` 型のユーザープロンプトが閉じられたときに発生するイベント `browsingContext.userPromptClosed` を追加しました (Firefox bug 1824221)。
* Firefox によって新しいナビゲーションが開始されたときに発生するイベント `browsingContext.navigationStarted` を追加しました (Firefox bug 1756595)。
* 指定したブラウジングコンテキストで JavaScript Realm のライフタイムを監視できるイベント `script.realmCreated` および `script.realmDestroyed` を追加しました。Realm は基本的に、独自のグローバルオブジェクト (window) を持つ分離された実行環境 (`sandbox`) です (Firefox bug 1788657、Firefox bug 1788659)。
* HTTP 認証のダイアログボックスが表示されたときに、`browsingContext.userPromptOpened` イベントが誤って発生していた不具合を修正しました (Firefox bug 1853302)。
* `context` フィールドが `null` に設定された不必要なイベントが発生しないようになりました。基礎となるブラウジングコンテキストが閉じられたため、このようなイベントは有効ではありません (Firefox bug 1847563)。

#### Marionette

* `Addon:Install` コマンドを使用して WebExtension のインスストールを試みたときに発生する可能性があるエラーコードのリストを、最新の Firefox のエラーコードに合うように更新しました (Firefox bug 1852537)。
過去のバージョン
--------

* Firefox 118 for developers
* Firefox 117 for developers
* Firefox 116 for developers
* Firefox 115 for developers
* Firefox 114 for developers
* Firefox 113 for developers
* Firefox 112 for developers
* Firefox 111 for developers
* Firefox 110 for developers
* Firefox 109 for developers
* Firefox 108 for developers
* Firefox 107 for developers
* Firefox 106 for developers
* Firefox 105 for developers
* Firefox 104 for developers
* Firefox 103 for developers
* Firefox 102 for developers
* Firefox 101 for developers
* Firefox 100 for developers
* Firefox 99 for developers
* Firefox 98 for developers
* Firefox 97 for developers
* Firefox 96 for developers
* Firefox 95 for developers
* Firefox 94 for developers
* Firefox 93 for developers
* Firefox 92 for developers
* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers


Firefox 49 for developers - Mozilla

Firefox 49 for developers
=========================

Firefox の最新の開発者向け機能を試すには、 Firefox Developer Edition をインストールしてください。 Firefox 49 は、米国時間 2016 年 9 月 20 日にリリースされました。このページでは、開発者に影響する Firefox 49 の変更点をまとめています。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

* コンソールに記録された JavaScript のエラーで、デバッグのためのヒントを [Learn more] リンクで提供します (Firefox バグ 1179876)。
* CSS オートコンプリート: オートコンプリートのポップアップで、より多くの候補を表示します (Firefox バグ 1260419)。
* アニメーションインスペクターで、アニメーションのパフォーマンス情報を提供する ようになりました (Firefox バグ 1254408)。
* インスペクターのコンテキストメニュー を、よりきれいで使いやすくなるように再編しました (Firefox バグ 1211613)。
* インスペクターで、`#RRGGBBAA` および `#RGBA` 構文の色の値をサポートしました (Firefox バグ 1271191)。
* HTML のページにおける開発ツールで、自己完結タグ (`<br>` や `<img>` など) が終了タグを持つかのように表示しないようになりました。XHTML ページではこの動作を変更していません (Firefox バグ 820926)。
* アクセシビリティが向上しました。
    + ツールボックスで、キーボードフォーカスが見やすくなるように対処しました (Firefox バグ 1242851)。
    + アクセシビリティのラベルがついていないコントロールに、ラベルを追加しました (Firefox バグ 1242715)。
    + インスペクターのマークアップビューに、適切なツリービューの意味とキーボードナビゲーションを追加しました (Firefox バグ 1242694)。
* ネットワークモニター に Cause 列を追加しました。個々のネットワークリクエストを発生させたのは何かを示します (Firefox バグ 1134073)。
* *about:debugging* のアドオンページで、再読み込みボタンは一時的なアドオンに限り使用できるようになりました。他のアドオンでは無効になります (Firefox バグ 1273184)。
* *about:debugging* の Workers ページで、現在のブラウザーの設定に対して 互換性がない service worker について、警告メッセージを Service Workers セクションに表示するようになりました (Firefox バグ 1266415)。
* *about:debugging* で、新たに Tabs ページ が使用可能になりました。現在の Firefox のインスタンスで開いている、デバッグ可能なタブを一覧表示します (Firefox バグ 1266128)。
* ツールボックスの詳細設定 の [*キャッシュを無効化*] を、[HTTP キャッシュを無効化] に改名しました。HTTP キャッシュに影響があり、Service Workers や Cache API には影響がないことを明確にするためです (bug(1253018))。
* ストレージインスペクターのコンテキストメニューで IndexedDB データベースを削除できるようになりました (Firefox バグ 1205123)。また、何らかの理由で IndexedDB が削除できない (例えばアクティブな接続が存在する) 場合に警告メッセージを表示します (Firefox バグ 1268460)。
### HTML

* `<details>` 要素および `<summary>` 要素をサポートしました (Firefox バグ 1226455)。
* `<input>` 要素の `pattern` 属性は、背後の JavaScript `RegExp` で `'u'` 引数ーを使用するようになりました (Firefox バグ 1227906)。
* 仕様書の変更に合わせて、`<track>` 要素の `kind` 属性で無効な値は、`'subtitles'` ではなく `'metadata'` と同様に扱うようになりました (Firefox バグ 1269712)。
* `<iframe>` 要素の `sandbox` 属性で値 `'allow-popups-to-escape-sandbox'` および `'allow-modals'` をサポートしました (Firefox バグ 1190641)。
* microdata 属性および Microdata API のサポートを廃止しました (Firefox バグ 909633)。
* `<a>` 要素の `referrerpolicy` 属性で値 `'no-referrer-when-downgrade`' および `'origin-when-cross-origin'` をサポートしました (Firefox バグ 1178337)。
* `<label>` 要素の `form` コンテンツ属性を削除しました。`HTMLLabelElement.form` はまだ存在していますが、コントロールが存在する (およびそのコントロールがフォームに関連付けられている) 場合に、ラベルのコントロールが関連付けられているフォームを返すようになりました (Firefox バグ 1268852)。
### CSS

* 背景画像を描画する位置のオフセットを水平方向および垂直方向に分けて指定できる、`background-position-x` プロパティおよび `background-position-y` プロパティをサポートしました。これらは `background-position` を構成します (Firefox バグ 550426)。
* `background-repeat` で、キーワード `round` および `space` をサポートしました (Firefox バグ 548372)。
* `background-clip` で、キーワード `text` をデフォルトで有効化しました (Firefox バグ 1264905)。
* 4 桁および 8 桁の 16 進数による CSS 色 の値 (#RRGGBBAA や #RGBA) による、アルファチャンネルを含む色の指定をサポートしました (Firefox バグ 567283)。
* `:dir()` (en-US) 疑似クラスの接頭辞を外しました (Firefox バグ 859301)。
* `clip-path` の実験的な実装 (デフォルトで有効化していません) で、複数の `<basic-shape>` 値の間で補間処理が可能になりました (Firefox バグ 1110460)。
* 長さの単位 `q` をサポートしました (Firefox バグ 1274526)。
* `text-align-last` プロパティの接頭辞を削除しました (Firefox バグ 1039541)。
* `overflow-wrap` をサポートしました。 `word-wrap` を置き換えるものですが、こちらも別名としてサポートを続けます (Firefox バグ 955857)。
* CSS グリッド の実験的な実装が進展しました。
    + `<percentage>` を `grid-gap`、`grid-row-gap`、`grid-column-gap` プロパティで対応しました (Firefox バグ 1266268)。
    + `align`、`justify-self``:baseline`、`last-baseline` ("baseline self-alignment" として知られる) でグリッドレイアウトをサポートしました (Firefox バグ 1221525)。
    + グリッドアイテムの Baseline Content Alignment を実装しました (Firefox バグ 1256429)。
* CSS マスク の実験的な実装が進展しました。
    + `mask-origin` プロパティの初期値を、仕様書に合わせて `padding-box` から `border-box` に変更しました (Firefox バグ 1258286)。
    + `mask-repeat` プロパティで値 `space` および `round` をサポートしました (Firefox バグ 1258626)。
    + `mask-position` 属性でアニメーションを行えない問題を修正しました (Firefox バグ 1273804)。
* `text-emphasis` を制御する設定項目を削除しました。このプロパティを無効化することはできません (Firefox バグ 1229609)。
### JavaScript

* ES2015 の `Proxy` のトラップである `getPrototypeOf()` および `setPrototypeOf()` を実装しました (Firefox バグ 888969)。
* ES2015 の `RegExp.prototype[@@match]()`、`RegExp.prototype[@@replace]()`、`RegExp.prototype[@@search]()`、`RegExp.prototype[@@split]()` メソッドおよび `RegExp[@@species]` getter を実装しました (Firefox バグ 887016)。
* 非推奨かつ非標準である、`String.prototype.``match`/`search`/`replace` の `flags` 引数を廃止しました (Firefox バグ 1108382)。
* Google Chrome ブラウザーとの相互運用性を高めるため `Date.parse()` で、2 桁で表す年の処理を変更しました (Firefox バグ 1265136)。
### インターフェイス/API/DOM

#### DOM & HTML DOM

* `DOMTokenList.supports()` メソッドを追加しました (Firefox バグ 1257849)。
* `DOMTokenList.replace()` メソッドを追加しました (Firefox バグ 1224186)。
* `URLSearchParams()` コンストラクターの引数で、先頭の `'?'` 文字は無視するようになりました (Firefox バグ 1268361)。
* `URL.origin`、`HTMLAnchorElement.origin`、`HTMLAreaElement.origin` で `blob:` スキームの URL を使用した場合の返値が、誤った値である `null` ではなく、先頭の `blob:` を除いた URL のオリジンになりました (Firefox バグ 1270451)。
* プリレンダリングモードで、`Document.visibilityState` プロパティが `'prerender'` を返すようになりました (Firefox バグ 1069772)。
* `isSecureContext` プロパティを実装しました (Firefox バグ 1162772)。
* DOM4 の `ChildNode.before()` (en-US)、`ChildNode.after()` (en-US)、`ChildNode.replaceWith()` (en-US)、`ParentNode.append` (en-US)、`ParentNode.prepend` (en-US) メソッドを実装しました (Firefox バグ 911477)。
* `TouchList.identifiedTouch()` メソッドを削除しました (Firefox バグ 1188539)。
* `Window.open()` を呼び出した際に、`Window` の `scrollbars` 特性をデフォルトで有効にしました。従来から、これは有効化することが強く推奨されていましたが、デフォルトでは有効化していませんでした (Firefox バグ 1257887)。
* 動画コンテンツの frame-by-frame シークを可能にする、*実験的*かつ*非標準*の `HTMLMediaElement.seekToNextFrame()` メソッドを追加しました (Firefox バグ 1235301。これがどれだけ役に立つかを私たちが理解するのを助けるために試用することをお勧めしますが、*製品版のコードでは使用しないでください!*
* `HTMLLabelElement.form` プロパティが、コントロールが存在する (およびそのコントロールがフォームに関連付けられている) 場合に、ラベルのコントロールが関連付けられているフォームを返すようになりました。以前は、このプロパティを使用して label を直接フォームに関連付けていました (Firefox バグ 1268852)。
* `EventTarget.addEventListener()` の第 3 引数でサポートする値に、`Boolean` および `EventListenerOptions` を追加しました (Firefox バグ 1266164 および Firefox バグ 1266066)。
* `KeyboardEvent.key` で、音量に関する値を改名しました。`"VolumeDown"` は `"AudioVolumeDown"` に、`"VolumeUp"` は `"AudioVolumeUp"` に、`"VolumeMute"` は `"AudioVolumeMute"` に変わりました。この変更により、Firefox が UI Events 仕様の最新ドラフトに準拠しました (Firefox バグ 1272578)。使用可能なすべてのキーコードについては、Code values for keyboard events をご覧ください。
* 以前は `"MozHomeScreen"`、`"MozCameraFocusAdjust"`、`"MozPhoneCall"` として参照されていたキーに、UI Events 仕様で公式な名称がつきました。`"GoHome"`、`"CameraFocus"`、`"Call"` になります。Firefox 49 で、新しい名称を使用するように更新しました (Firefox バグ 1272599)。使用可能なすべてのキーコードについては、Code values for keyboard events をご覧ください。
* キーの値 `"Separator"` および `"MediaSkip"` は、非推奨になったうえに使用されていませんので、削除しました (Firefox バグ 1232919)。
* キーの値 `"Hyper"` および `"Super"` とそれらに対応するキーコードを、過去のモディファイアキーを表すように追加しました (Firefox バグ 1232919)。
* マルチメディア数値キーパッド用に、2 つのキーの値を追加しました: `"Key11"`、`"Key12"` (Firefox バグ 1232919)。
* オーディオコントロールキー用に、以下の新たなキーの値を追加しました: `"AudioBassBoostToggle"`、`"AudioTrebleDown"`、`"AudioTrebleUp"` (Firefox バグ 123919)。
* マイクコントロールキー用に、以下のキーの値を追加しました: `MicrophoneToggle`、`MicrophoneVolumeDown`、`MicrophoneVolumeUp`、`MicrophoneVolumeMute` (Firefox バグ 123919)。
* 音声認識デバイス用に、以下の新たなキーの値を追加しました: "`SpeechCorrectionList"`、`SpeechInputToggle` (Firefox バグ 1232919)。
* 電話機の特殊キーをサポートするため、以下のキーの値を追加しました: `AppSwitch`、`Call`、`CameraFocus`、`EndCall`、`GoBack`、`GoHome`、`HeadsetHook`、`LastNumberRedial`、`Notification`、`MannerMode`、`VoiceDial` (Firefox バグ 1232919)。
* アプリケーションキー用に、以下のキーの値を追加しました: `LaunchContacts`、`LaunchPhone` (Firefox バグ 1232919)。
* テレビデバイス用に、以下の新たなキーの値を追加しました: `TV3DMode`、`TVAntennaCable`、`TVAudioDescription`、`TVAudioDescriptionMixDown`、`TVAudioDescriptionMixUp`、`TVContentsMenu`、`TVDataService`、`TVInput`、`TVInputComponent1`、`TVInputComponent2`、`TVInputComposite1`、`TVInputComposite2`、`TVInputHDMI1`、`TVInputHDMI2`、`TVInputHDMI3`、`TVInputHDMI4`、`TVInputVGA1`、`TVMediaContext`、`TVNetwork`、`TVNumberEntry`、`TVRadioService`、`TVSatellite`、`TVSatelliteBS`、`TVSatelliteCS`、`TVSatelliteToggle`、`TVTerrestrialAnalog`、`TVTerrestrialDigital`、`TVTimer`、`DVR` (Firefox バグ 1232919)。
* キーの値 `MediaSelect` を、標準のキーの値である `LaunchMediaPlayer` に置き換えました (Firefox バグ 1272592)。
* メディアプレイヤーの付加機能キーの値を追加しました。`MediaAudioTrack`、`MediaSkipBackward`、`MediaSkipForward`、`MediaStepBackward`、`MediaStepForward`、`MediaTopMenu`、`NavigateIn`、`NavigateNext`、`NavigateOut`、`NavigatePrevious` です (Firefox バグ 1232919)。

#### Canvas

* Canvas にフィルターを追加する機能を提供する `CanvasRenderingContext2D.filter` (en-US) プロパティがデフォルトで有効になり、設定の切り替えが不要になりました (Firefox バグ 1173545)。

#### WebGL

* WebGL 2 (en-US) の `EXT_color_buffer_float` (en-US) 拡張を実装しました (Firefox バグ 1129332)。
* WebGL コンテキストの作成が失敗したときに発生する、`webglcontextcreationerror` イベントを実装しました (Firefox バグ 1271478)。デバッグや製品版のエラー制御において、何が誤っているかの理解を助けるために使用してください。

#### IndexedDB

* IndexedDB のインデックスがリネーム可能になりました。`IDBIndex.name` プロパティが読み書き可能になっています (Firefox バグ 1118028)。
* `IDBObjectStore` もリネーム可能になりました。`IDBObjectStore.name` プロパティが読み書き可能になっています (Firefox バグ 1118028)。

#### サービスワーカー関連

* フェッチ API の `Response` オブジェクトに、リダイレクトされたリクエストのレスポンスであるかを示す `redirected` プロパティを実装しました。このプロパティを使用する前に、ドキュメントでセキュリティ関連の注意事項を確認してください (Firefox バグ 1243792)。
* Permissions API で、Firefox は `PermissionDescriptor` 辞書型 (仕様書では `PushPermissionDescriptor` として言及されています) の 'push' のサポートを廃止しました。Firefox は `userVisibleOnly` ステータスの制御で代わりにクォータシステムに依存しており、`PushPermissionDescriptor` インスタンスに出くわしたときにエラーが発生していたためです (Firefox バグ 1266821)。この辞書の削除により、Firefox は単に無視するようになりました。

#### メディアストリーム

* 以前はユーザーが 2 種類のハードウェアのうち一方しか使用できない状況で、音声および映像を要求する `MediaDevices.getUserMedia()` の呼び出しが成功していました。この問題を修正しました (Firefox バグ 802326)。
* 以前のバージョンの Firefox では、合致するデバイスのうち (両方ではなく) 一方のアクセスが拒否されたにもかかわらず、音声および映像を要求する `MediaDevices.getUserMedia()` の呼び出しが成功していました。この問題を修正しました (Firefox バグ 802326)。これはユーザーインターフェイスを若干変更させており、ユーザーが許可を求められる際の選択肢で "No audio" や "No video" を削除しました。
* `MediaStream.getTrackById()` メソッドを実装しました (Firefox バグ 1208390)。

#### WebRTC

* 指定したストリームを構成していないトラックをコネクションへ追加できるように、`RTCPeerConnection.addTrack()` (en-US) メソッドを更新しました。代わりに、コネクションの受信側でトラックをまとめるためにストリームが使用されます (Firefox バグ 1271669)。

#### 新規 API

* `PerformanceObserver` API を、Nightly でデフォルトで有効にしました (Firefox バグ 1271487)。他のバージョンの Firefox 49 では、デフォルトで無効化しています (Firefox バグ 1271487)。

#### その他

* `XMLHttpRequest.getResponseHeader()` および `XMLHttpRequest.getAllResponseHeaders()` で、設定項目 `network.http.keep_empty_response_headers_as_empty_string` が `true` に設定されている場合は、空のヘッダーを返すようになりました (Firefox バグ 669259)。
* Firefox OS 限定の Data Store API を削除しました (Firefox バグ 1261009)。
* Fullscreen API の `Document.onfullscreenchange`、`Document.onfullscreenerror` イベントハンドラーを、 `Element` から削除しました。そこでは発生していなかったためです。ただし、接頭辞付きのイベントハンドラーは互換性のために維持しています (Firefox バグ 1270386)。これは設定項目 `full-screen-api.unprefix.enabled` で制御されており、デフォルトで有効化していないことに注意してください (Firefox バグ 1268749)。
* 廃止済みの `Document.mozFullScreen` プロパティの接頭辞を削除して、`Document.fullscreen` としました (Firefox バグ 1269157}。これは設定項目 `full-screen-api.unprefix.enabled` で制御されており、デフォルトで有効化していないことに注意してください (Firefox バグ 1268749)。
* 読み取り専用の `Document.fullscreenElement` および `Document.fullscreenEnabled` プロパティで、値を変更しようとしても例外が発生しないようになりました。代わりに新しい値は暗黙的に無視され、setter 関数は何も行いません (Firefox バグ 1269798)。
* `DataTransfer.getData()` で、どのような種類のデータでもクリップボードから取り出せるようになりました。以前は、特定の MIME タイプのデータのみ取り出し可能でした (Firefox バグ 860857)。
* Frame Timing API の実装を削除しました。これは、 `PerformanceCompositeTiming` および `PerformanceRenderTiming` の 2 つのインターフェイスで構成されていましたが、仕様書が全面的に書き直されたためです (Firefox バグ 1271846)。
* 仕様書に合わせて、`VTTCue.positionAlign` プロパティが `Align` 列挙型ではなく `PositionAlign` 列挙型を返すようになりました (Firefox バグ 1276129)。
* ウェブ音声 API の、音声合成の部分をサポートしました (Firefox バグ 1268633)。
* Performance Timeline API を、Nightly でデフォルトで有効化しました (Aurora、Beta、Release では無効です)。
* `install` イベントおよび `Window.oninstall` イベントハンドラーをウェブマニフェスト向けにサポートしました (Firefox バグ 1265279)。
* ウェブオーディオ API の `AudioContext.createPeriodicWave()` メソッドを使用するとき、結果の周期的な波形をノーマライズすべきかを、第 3 引数にディクショナリーオブジェクトを含めることで指定可能になりました。このオブジェクトにはひとつの引数を含めて `{disableNormalization: true}` のようにします (Firefox バグ 1265405)。
* WebVTT API で `VTTCue.positionAlign` が、仕様書どおりに正しく `PositionAlignSetting` 列挙型を返すようになりました。以前は `AlignSetting` 列挙型を返していました (Firefox バグ 1276129)。
* ウェブ音声 API の音声合成の部分を、すべてのデスクトップブラウザーでデフォルトで有効にしました (Firefox バグ 1268633)。
* ウェブアニメーション API の `Animation()` コンストラクターが、null タイムラインを受け入れるようになりました (Firefox バグ 1096776)。
* `KeyframeEffect` (en-US) の `target` (en-US) プロパティが Firefox で対応されました。ウェブアニメーションを有効にした場合です。 (Firefox バグ 1067769).
### MathML

*変更なし。*

### SVG

* 非推奨の `<altGlyph>`、`<altGlyphDef>`、`<altGlyphItem>` 要素のサポートを廃止しました (Firefox バグ 1260032)。
### Audio/Video

*変更なし。*

### プラグインと Flash

Firefox 49 より、サイトが正しく機能するために必要ではない特定の種類の Flash コンテンツをデフォルトでブロックするようになりました。この動作は設定項目 `browser.safebrowsing.blockedURIs.enabled` で制御しており、サイトのユーザービリティに大きな影響を与えることなく、一般的にはサイトや Firefox のパフォーマンスを向上する助けになります。また、クラッシュの主要な原因を取り除くことにより、ブラウジング体験の安定性を向上する助けにもなります。ブロックされる Flash モジュールにはフィンガープリンティングのためだけに使用されるものやいくつかの "スーパー Cookie" モジュールが含まれまており、将来はより多くの種類のモジュールをブロックするように拡張するでしょう。詳しくは Firefox バグ 1275591 をご覧ください。

これはプラグインがない未来への行程の、次のステップになります。機能を果たすためにプラグインを必要としない段階に、HTML はとても近づいています。

HTTP
----

* `Cache-Control: immutable` ディレクティブを実装しました (Firefox バグ 1267474)。詳しくは ブログ記事 もご覧ください。
* `Content-Security-Policy` の `require-sri-for` を実装しました (Firefox バグ 1265318)。
ネットワーク
------

* Proxy Auto-Configuration (PAC) の実装を更新しました。`weekdayRange`、`dateRange`、`timeRange` で "リバースレンジ" をサポートしました。例えば `weekdayRange("SAT", "MON")` は、当日が土曜日、日曜日、月曜日である場合に `true` になります (Firefox バグ 1251332)。
セキュリティ
------

* `isSecureContext` プロパティを実装し、これが安全なコンテキストを必要とする機能を使用できるコンテキストであるかを示ようになりました (Firefox バグ 1162772)。
互換性
---

既存のコンテンツとの互換性を高めるために、一部の webkit 接頭辞つきプロパティおよび属性を Firefox で受け入れるようになりました。

* 以下のプロパティは、`-webkit` 接頭辞がついていても動作します。
    + `-webkit-align-items`
    + `-webkit-align-content`
    + `-webkit-align-self`
    + `-webkit-animation`
    + `-webkit-animation-delay`
    + `-webkit-animation-direction`
    + `-webkit-animation-duration`
    + `-webkit-animation-fill-mode`
    + `-webkit-animation-iteration-count`
    + `-webkit-animation-name`
    + `-webkit-animation-play-state`
    + `-webkit-animation-timing-function`
    + `-webkit-backface-visibility`
    + `-webkit-background-clip`
    + `-webkit-background-origin`
    + `-webkit-background-size`
    + `-webkit-border-bottom-left-radius`
    + `-webkit-border-bottom-right-radius`
    + `-webkit-border-image`
    + `-webkit-border-top-left-radius`
    + `-webkit-border-top-right-radius`
    + `-webkit-border-radius`
    + `-webkit-box-shadow`
    + `-webkit-filter`
    + `-webkit-flex`
    + `-webkit-flex-basis`
    + `-webkit-flex-direction`
    + `-webkit-flex-flow`
    + `-webkit-flex-grow`
    + `-webkit-flex-shrink`
    + `-webkit-flex-wrap`
    + `-webkit-justify-content`
    + `-webkit-order`
    + `-webkit-perspective`
    + `-webkit-perspective-origin`
    + `-webkit-text-size-adjust`
    + `-webkit-transform`
    + `-webkit-transform-origin`
    + `-webkit-transform-style`
    + `-webkit-transition`
    + `-webkit-transition-delay`
    + `-webkit-transition-duration`
    + `-webkit-transition-property`
    + `-webkit-transition-timing-function`
    + `-webkit-user-select`
* 以下のプロパティは、同等の接頭辞つきプロパティに紐づけています:
    + `-webkit-box-flex`
    + `-webkit-box-ordinal-group`
    + `-webkit-box-orient`
    + `-webkit-box-align`
    + `-webkit-box-pack`
* `<image>` の値について:
    + `-webkit-linear-gradient()`、`-webkit-radial-gradient()`、`-webkit-repeating-linear-gradient()`、`-webkit-repeating-radial-gradient()` 関数は、接頭辞なしの同等物に紐づけています。
    + 旧式の `-webkit-gradient` をサポートします (また、正規のグラデーションに変換します)。
* 以下の `display` の値を変換します:
    + `-webkit-box` を `-moz-box` に変換
    + `-webkit-flex` を `flex` に変換
    + `-webkit-inline-box` を `inline-flex` に変換
    + `-webkit-inline-flex` を `-moz-inline-flex` に変換
* 以下のプロパティをサポートします (接頭辞なしの同等物に紐づけません)。
    + `-webkit-text-fill-color`
    + `-webkit-text-stroke-color`
    + `-webkit-text-stroke-width`
    + `-webkit-text-stroke`
* `WebKitCSSMatrix` インターフェイスを `DOMMatrix` の別名にしました。
* 以下のメディアクエリー特性を実装しました:
    + `-webkit-min-device-pixel-ratio` を `min-resolution` の別名として、同じ値 (`dppx`) で実装しました。ただし、この機能は デフォルトで無効 です (about:config の設定 `layout.css.prefixes.device-pixel-ratio-webkit` で制御)。
    + `-webkit-max-device-pixel-ratio` を `max-resolution` の別名として、同じ値 (`dppx`) で実装しました。この機能も about:config の同じ設定で、デフォルトで無効にしています。
    + `-webkit-transform-3d` がマッチするようになりました。3D Transform をサポートすることを示します。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### WebExtensions

* `history` をサポートしました。この機能でブラウザーの履歴にアクセスでき、履歴の検索、以前アクセスしたページの情報を取得、履歴項目の追加や削除を可能にするメソッドがあります。
* tabs API に `tabs.removeCSS()` (en-US) メソッドを追加しました。このメソッドで、以前に `tabs.insertCSS()` (en-US) を呼び出して挿入した CSS を削除できます。
### インターフェイス

* `EventTarget.addEventListener()` で、XBL または Firefox の chrome で実行するコードに限り有効化されている値 `mozSystemGroup` をサポートしました。これは、リスナーがシステムグループに追加されるかを示す `Boolean` です (Firefox バグ 1274520)。
### その他

*変更なし。*

過去のバージョン
--------

* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers
* Firefox 43 for developers
* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers
* Firefox 39 for developers
* Firefox 38 for developers
* Firefox 37 for developers
* Firefox 36 for developers
* Firefox 35 for developers
* Firefox 34 for developers
* Firefox 33 for developers
* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers
* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers


Firefox 78 for developers - Mozilla

Firefox 78 for developers
=========================

このページでは、開発者に影響する Firefox 78 の変更点をまとめています。Firefox 78 は、 2020 年 6 月 30 日にリリースされました。

Mozilla hacks の記事「New in Firefox 78: DevTools improvements, new regex engine, and abundant web platform updates」もご覧ください。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

#### デバッガー

* about:debugging パネルで、リモート端末がアクセスする URL を変更できるようになりました (Firefox バグ 1617237)。
* デバッガー のメニュー項目 "**JavaScript を無効化**" が現在のタブにのみ作用するようになりました。また、開発ツールを閉じるとリセットされるようになりました (Firefox バグ 1640318)。
* スコープペイン で **マッピング** を有効にすると、[https://firefox-source-docs.mozilla.org/devtools-user/debugger/set\_a\_logpoint/index.html) でソースマップを適用したコードの変数名と元の変数名をマッピングできます (Firefox バグ 1536857)。

#### ネットワークモニター

* ネットワークモニター で、要求リストの表の列の境界をどこでもドラッグして、リサイズできるようになりました (Firefox バグ 1618409)。
* ネットワークモニターの 要求の詳細パネル の UX を改良しました (Firefox バグ 1631302, Firefox バグ 1631295)。
* リクエストがブロックされたとき、リクエストリスト でアドオン、CSP、CORS、強化型トラッキング防止などの理由を表示するようになりました (Firefox バグ 1555057, Firefox バグ 1445637, Firefox バグ 1556451)。

#### その他のツール

* アクセシビリティ インスペクターがベータ版から脱しました。このツールを使用して、サイトのさまざまなアクセシビリティの問題を確認できます (Firefox バグ 1602075)。
* キャッチされていない promise エラーについて、名前やスタックを含む詳細情報をコンソールに表示するようになりました (Firefox バグ 1636590)。
### CSS

* `:is()` および `:where()` 疑似クラスをデフォルトで有効にしました (Firefox バグ 1632646)。
* `:read-only` および `:read-write` 疑似クラスを、接頭辞なしでサポートしました (Firefox バグ 312971)。
    + また `:read-write` のスタイルが、無効化した `<input>` および `<textarea>` 要素に適用されないようになりました。これは HTML 仕様書 に違反していました (Firefox バグ 888884)。
### JavaScript

* `Intl.ListFormat` API をサポートしました (Firefox バグ 1589095)。
* `Intl.NumberFormat()` コンストラクターを、Intl.NumberFormat Unified API Proposal で定義された新しいオプションをサポートするように拡張しました (Firefox バグ 1633836)。特に、以下のようなものがあります:
    + 指数表記のサポート
    + 単位、通貨、符号表示 の整形
* `RegExp` エンジンを 更新 して、ECMAScript 2018 で導入したすべての新機能をサポートしました:
    + 後読み言明 (Firefox バグ 1225665)
    + `RegExp.prototype.dotAll` (Firefox バグ 1361856)
    + Unicode プロパティエスケープ (Firefox バグ 1361876)
    + 名前付きキャプチャグループ (Firefox バグ 1362154)
* 2020 年中頃の WebIDL 仕様書の変更 により、`Symbol.toStringTag` プロパティをすべての DOM プロトタイプオブジェクトに追加しました (Firefox バグ 1277799)。
* `WeakMap` オブジェクトのガベージコレクションを改良しました。`WeakMaps` を徐々にマークするようになりました (Firefox バグ 1167452)。
### API

#### DOM

* `Element.replaceChildren` メソッドを実装しました (Firefox バグ 1626015)。

#### サービスワーカー

* Extended Support Releases (ESR): Firefox 78 は Service workers (および プッシュ API) をサポートする最初の ESR リリースです。過去の ESR リリースはサポートしていませんでした (Firefox バグ 1547023)。
### WebAssembly

* Wasm Multi-value をサポートしました。WebAssembly の関数が複数の値を返したり、命令シーケンスが複数のスタックの値を使用および生成したりすることが可能になりました (Firefox バグ 1628321)。
* WebAssembly で、`BigInt` を使用して JavaScript から 64-bit 整数の関数パラメーター (i64) をインポートおよびエクスポートできるようになりました (Firefox バグ 1608770)。
### TLS 1.0 および 1.1 の廃止

* Transport Layer Security (TLS) プロトコルのバージョン 1.0 および 1.1 のサポートを、すべてのブラウザーで廃止しました。以前の告知と、影響を受ける場合の対処について、TLS 1.0 and 1.1 Removal Update をご覧ください (Firefox バグ 1643229)。
アドオン開発者向けの変更点
-------------

* `browsingData.removeCache` および `browsingData.removePluginData` (en-US) が、ホスト名による削除をサポートしました (Firefox バグ 1636784)。
* `proxy.onRequest` (en-US) を使用するとき、タブやウィンドウの ID に基づいて制限するフィルターが正しく適用されるようになりました。これは、プロキシの機能をひとつのウィンドウだけに提供したいアドオンで役に立つでしょう。
* "すべてのタブ" ドロップダウンから コンテキストメニューでクリックするとき、適切なタブオブジェクトが渡されるようになりました。以前は、誤ってアクティブなタブが渡されていました。
* `downloads.download` に saveAs オプションをつけて使用したとき、最近使用したディレクトリーを記憶するようになりました。この情報は開発者が使用できませんでしたが、ユーザーにはとても便利でした。
過去のバージョン
--------

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


Firefox 33 for developers - Mozilla

Firefox 33 for developers
=========================

Gecko 33 を搭載した Firefox 33 は、米国時間 2014 年 10 月 14 日にリリースされました。このページでは、開発者に影響する Firefox 33 の変更点をまとめています。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

ハイライト

* イベントリスナのポップアップ
* @media サイドバー
* 新たな CSS 規則の追加
* keyframes の編集
* 3 次ベジェ曲線エディタ
* Transform のハイライト表示
* 持続的にキャッシュを無効化
* 新たなコマンド
* エディタの設定
* WebIDE

詳しくは hacks ブログの記事をご覧ください。このリリースで機能追加や修正を行った 33 名の貢献者に感謝します。

### CSS

* `@counter-style` 規則を実装しました (Firefox バグ 966166)。
* `list-style-type` の `ethiopic-numeric`, `persian`, `arabic-indic`, `devanagari`, `bengali`, `gurmukhi`, `gujarati`, `oriya`, `tamil`, `telugu`, `kannada`, `malayalam`, `thai`, `lao`, `myanmar`, `khmer`, `cjk-heavenly-stem`, `cjk-earthly-branch` から接頭辞を削除しました (Firefox バグ 985825 および Firefox バグ 1063856)。
* `list-style-type` のカウンタースタイルで `mongolian`、`disclosure-open` および `disclosure-closed` をサポートしました (Firefox バグ 982355)。
* 内容がないキーフレーム規則を持つ CSS アニメーションでイベントが発生するように修正しました (Firefox バグ 1004377)。
* CSS Colors level 4 で新たに定義された `<color>` である `rebeccapurple` をサポートしました (Firefox バグ 1024642)。
* CSS Fonts Level 3 の実験的な実装を進めています。これらを有効にするかは設定項目 `layout.css.font-features.enabled` で制御されており、Nightly ではデフォルトで有効です。以下の機能を新たに実装しました:
    + `font-variant-caps` のフォールバックアルゴリズム。不足しているグリフを代替するものを生成します (Firefox バグ 961558)。
    + `font-synthesis` CSS プロパティを実装しました (Firefox バグ 871453)。
### HTML

* `<picture>` 要素を実験的にサポートしました (Firefox バグ 870022)。設定項目 `dom.image.picture.enabled` で制御されます (デフォルトは無効)。
* `<label>` 要素、特に `for` 属性を持たない label 要素が `<input type=hidden>` フィールドに適用されないようになりました (Firefox バグ 597650)。以前は仕様に準拠していない動作でした。
* `<a>` 要素で、リンクの注釈 `noreferrer` を実装しました。`<a rel="noreferrer">` で、リンクをたどる際の HTTP リクエストにリファラの URL が含まれないようになります (Firefox バグ 530396)。これはページ内でのリンクでのみ動作するものであり、コンテキストメニューによるリンクなど UI を通してクリックされたリンクでは動作しません。
* Android において、`<meta>` の `name` 属性で新たに 2 つの値をサポートしました。 `msapplication-TileImage` と `msapplication-TileColor` です (Firefox バグ 1014712)。 例:

```html
<meta name="msapplication-TileImage" content="images/benthepcguy-144.png" />
<meta name="msapplication-TileColor" content="#d83434" />
```

### JavaScript

* 非標準の `Number.toInteger()` メソッドを削除しました (Firefox バグ 1022396)。
* `Map.prototype.set()`、`WeakMap.prototype.set()`、`Set.prototype.add()` の各メソッドがチェイン可能になり、`undefined` ではなく同等のオブジェクトを返すようになりました (Firefox バグ 1031632)。
* デフォルト引数は関数のボディにある関数宣言より先に評価されますので、これらの関数はデフォルトパラメータから参照できなくなりました (Firefox バグ 1022962)。
* オブジェクトリテラルで短縮プロパティを許容するようになりました。明示的に定義されていない場合は、プロパティのキーは同名の変数で初期化されます。例: `function f(x, y) { return {x, y}; }` は `function f(x, y) { return {x: x, y: y}; }` と等価です (Firefox バグ 875002)。
* `yield` および `yield*` の構文解析を、最新の ES6 仕様に準拠するよう更新しました (Firefox バグ 981599)。
* 非標準の `hasOwn` トラップを削除しました (Firefox バグ 980565)。
### インターフェイス/API/DOM

* `RadioNodeList` API が実装され、`RadioNodeList.value` で選択しているラジオボタンにアクセスできます (Firefox バグ 779723)。
* `DOMMatrix` を追加しました (Firefox バグ 1018497)。
* 非標準の (ただし他のブラウザで実装されている) `DOMException.stack` プロパティを追加しました。これはスタックを可読性の高い書式 (既存の非標準プロパティ `Error.stack` と同じ書式) で表した文字列を返します (Firefox バグ 857648)。
* `<canvas>` 向けに、一次 Transform を `SVGMatrix` 表記によりパターンを変更することが可能な `CanvasPattern.setTransform()` メソッドを追加しました (Firefox バグ 1019257)。
* 設定項目 `media.mediasource.enabled` で制御しており Nightly および Aurora のみで有効化している Media Source Extensions の実験的な実装で、MP4 をサポートしました (Firefox バグ 1000686)。
* `HTMLMediaElement.audioTracks` プロパティおよび `HTMLMediaElement.videoTracks` プロパティを実験的に実装しました。これらは設定項目 `media.track.enabled` で制御されており、デフォルトは無効です (Firefox バグ 744896)。
* 非標準の `XMLHttpRequest.mozBackgroundRequest()` は Web サイトからアクセス不可になりました。Firefox 内部のコード (Chrome コード) のみ使用できます (Firefox バグ 1035242)。
* 仕様から削除された `touchenter` イベントおよび `touchleave` イベントを削除しました (Firefox バグ 1036444)。
* `HTMLTrackElement` が発生させる、以前は `loaded` と呼ばれていたイベントを仕様に合致するよう `load` にリネームしました (Firefox バグ 1035505)。
* IndexedDB の `FileHandle` インターフェイスを `IDBMutableFile` (en-US) にリネームしました (Firefox バグ 1006485)。
* IndexedDB の `LockedFile` インターフェイスを `IDBFileHandle` (en-US) にリネームしました (Firefox バグ 1006485)。
* ServiceWorker インターフェイスを実装しました。設定項目 `dom.serviceWorkers.enabled` で制御されます (Firefox バグ 903441 で総括しています)。
* `NetworkInformation.type` が `"unknown"` の値に対応するようになりました (Firefox バグ 1023029)。
### MathML

* `<mtable>` 要素で `columnspacing`、`framespacing`、`rowspacing` の各属性をサポートしました (Firefox バグ 330964)。
* fraction、stack、radical、script 用の Open Type MATH constant を使用するようになりました (Firefox バグ 961365)。
### SVG

*変更なし。*

### Audio/Video

*変更なし。*

### WebGL

* `EXT_blend_minmax` (en-US) を公開しました。これはブレンド元の色とブレンド先の最小および最大の色成分を生成する新たなブレンド方程式を 2 つ追加することで、ブレンド機能を拡張します (Firefox バグ 973815)。
セキュリティ
------

*変更なし。*

アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

* 新たな Debugger API が好ましいため、JavaScript Debugger Service (JSD) を削除しました (Firefox バグ 800200)。
* nsIX509CertDB2 インターフェイスを削除しました。また、このインターフェイス由来のメソッドを nsIX509CertDB インターフェイスに移しました。
### Add-on SDK

#### ハイライト

* `Panel` コンストラクターの新たなオプションにより、パネルのコンテキストメニューをサポートしました。
* `tab.readyState` をサポートしました。
* `BrowserWindow` 引数を `sidebar.show()` および `sidebar.hide()` に追加しました。サイドバーを表示または非表示にするウィンドウを制御するためのパラメータです。

#### 詳細

Firefox 32 から Firefox 33 の間に行われた GitHub コミット。この一覧は Aurora 移行後に上流で行われた内容が含まれていないでしょう。

Firefox 32 から Firefox 33 の間に解決したバグ。この一覧は Aurora 移行後に上流で行われた内容が含まれていないでしょう。

### 過去のバージョン

* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers
* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers
* Firefox 17 for developers
* Firefox 16 for developers
* Firefox 15 for developers
* Firefox 14 for developers
* Firefox 13 for developers
* Firefox 12 for developers
* Firefox 11 for developers
* Firefox 10 for developers
* Firefox 9 for developers
* Firefox 8 for developers
* Firefox 7 for developers
* Firefox 6 for developers
* Firefox 5 for developers
* Firefox 4 for developers
* Firefox 3.6 for developers
* Firefox 3.5 for developers
* Firefox 3 for developers
* Firefox 2 for developers
* Firefox 1.5 for developers


Firefox 91 for developers - Mozilla

Firefox 91 for developers
=========================

このページでは、開発者に影響する Firefox 91 の変更点をまとめています。Firefox 91 は 2021 年 8 月 10 日にリリースされました。

**メモ:** Mozilla Hacks の Hopping on Firefox 91 もご覧ください。

ウェブ開発者向けの変更点一覧
--------------

### HTML

変更なし。

### CSS

* `@counter-style/pad` ディスクリプターが負符号を扱う方法を修正しました (Firefox バグ 1714445)。
* `-moz-tab-size` プロパティの接頭辞を削除して、標準化された `tab-size` にしました。また、接頭辞つきのプロパティを別名として維持します (Firefox バグ 737785)。

#### 廃止

* 非標準の `-moz-outline-radius` プロパティを削除しました (Firefox バグ 1715984)。このプロパティは Firefox 88 からウェブ開発者が使用できず、このバージョンで完全に廃止しました。
### JavaScript

* `Intl.DateTimeFormat.prototype.formatRange()` および `Intl.DateTimeFormat.prototype.formatRangeToParts()` を、Release ビルドでサポートしました。`formatRange()` メソッドは、2 つの `Date` オブジェクトの間の期間をローカライズおよび整形した文字列で返します (例: "21/01/05 – 21/01/10")。`formatRangeToParts()` メソッドは、整形された期間のロケール固有の*部品*を持つ配列を返します (Firefox バグ 1653024)。
* `Intl.DateTimeFormat() コンストラクター` が、タイムゾーンの表示方法を整形するための `timeZoneName` オプションを新たに 4 種類受け入れるようになりました。これにはローカライズされた GMT 形式の `shortOffset` および `longOffset` と、一般的な非ロケーション形式の `shortGeneric` および `longGeneric` が含まれます (Firefox バグ 1653024)。
* `Error() コンストラクター` が、`option` 引数の値として `cause` をとれるようになりました。これはコードがエラーをキャッチして、元のエラーやスタックトレースを持つ新たなバージョン、または変更したバージョンのエラーを発生させることができます (Firefox バグ 1679653)。
### HTTP

* Gamepad API が 安全なコンテキスト を要求するようになりました (Firefox バグ 1704005)。
### API

#### DOM

* Visual Viewport API (en-US) がデスクトップ版 Firefox でデフォルトで有効になりました (Android 版 Firefox はバージョン 68 で有効にしていました)。この API はドキュメントに対する 視覚的ビューポート の位置を表す情報へ、ウィンドウのコンテンツエリアと同様にアクセスする手段を提供します。また、ビューポートの変更を監視できるイベントも提供します (Firefox バグ 1551302)。
* Gamepad API が `Feature-Policy: gamepad` (en-US) で保護されるようになりました。機能ポリシー で拒否された場合は、`Navigator.getGamepads()` を呼び出すと `SecurityError` `DOMException` が発生して、`gamepadconnected` および `gamepaddisconnected` イベントは発生しません。既定の `allowlist` は `*` です。この既定値は、仕様書に合わせるため将来のリリースで `self` に更新する予定です (Firefox バグ 1704005)。
* 最近の仕様書の更新に準拠するため、および他の主要なブラウザーとの互換性を向上させるために、`Window.clientInformation` を `Window.navigator` の別名として追加しました (Firefox バグ 1717072)。
### WebDriver conformance (Marionette)

* ポップアップウィンドウで開いたユーザープロンプトで、`WebDriver:AcceptAlert` および `WebDriver:DismissAlert` コマンドがハングアップを起こす不具合を修正しました (Firefox バグ 1721982)。
* `webSocketUrl` 特性の不適切な取り扱いを修正しました。`webSocketUrl` が未サポートでしたが `true` を返していました (Firefox バグ 1713775)。
過去のバージョン
--------

* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers
* Firefox 69 for developers
* Firefox 68 for developers
* Firefox 67 for developers
* Firefox 66 for developers
* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers
* Firefox 62 for developers
* Firefox 61 for developers
* Firefox 60 for developers


Firefox 51 for developers - Mozilla

Firefox 51 for developers
=========================

Firefox の最新の開発者向け機能を試すには、Firefox Developer Edition をインストールしてください。Firefox 51 は、米国時間 2017 年 1 月 24 日にリリースされました。このページでは、開発者に影響する Firefox 51 の変更点をまとめています。

ウェブ開発者向けの変更点一覧
--------------

### HTML

* `<menu>` 要素内でセパレーターとして `<hr>` が使用可能になりました (Firefox バグ 870388)。
* `<input>` および `<textarea>` 要素の `selectionStart` および `selectionEnd` 属性が、テキストが選択されていない場合に 0 ではなく、現在のテキスト入力カーソルの位置を正しく返すようになりました (Firefox バグ 1287655)。
### CSS

* <input type="radio"> 向けに `:indeterminate` を実装しました(Firefox バグ 885359)。
* `<input type="text">` 向けに `:placeholder-shown` を実装しました (Firefox バグ 1069015)。
* `::placeholder` 擬似要素の接頭辞を削除しました (Firefox バグ 1069012)。
* `:valid` CSS 擬似クラスが有効な `<form>` 要素に一致しない問題を修正しました (Firefox バグ 1285425)。
* `unicode-bidi` の値 `plaintext` が、縦書きモードでも動作するようになりました (Firefox バグ 1302734)。
* `clip-path` の値 `fill-box` および `stroke-box` を正式にサポートしました。以前は `border-box` の別名でした (Firefox バグ 1289011)。
* max-height が指定された、単一行で高さが自動のフレックスコンテナー内で、フレックス行の高さを抑える (引き延ばされたフレックスアイテムを抑える) ようになりました (仕様変更) (Firefox バグ 1000957)。
### JavaScript

* ES2015 の `Symbol.toStringTag` プロパティを実装しました (Firefox バグ 1114580)。
* ES2015 の `TypedArray.prototype.toString()` および `TypedArray.prototype.toLocaleString()` メソッドを実装しました (Firefox バグ 1121938)。
* `DateTimeFormat.prototype.formatToParts()` メソッドが使用可能になりました (Firefox バグ 1289340)。
* `const` および `let` が ES2015 に完全準拠しました (Firefox バグ 950547)。
* `for...of` ループ内で `const` を使用すると `SyntaxError` が発生せず、イテレーションのたびに新たなバインディングを行うようになりました (Firefox バグ 1101653)。
* 非推奨の for each...in ループは、コンソールで警告が発生する ようになりました (Firefox バグ 1293205)。標準化された `for...of` ループを使用するように、コードを移行してください。
* ジェネレーター関数 は label を持つことができなくなりました。また、ラベル名として "`let`" が許可されなくなりました (Firefox バグ 1288459)。
* 非推奨の 古いジェネレーター関数 (en-US) を メソッド定義 内で使用すると、エラーが発生するようになりました (Firefox バグ 1199296)。
* イテレータープロトコル の `next()` メソッドは、返値がオブジェクトではない場合に `TypeError` が発生するようになりました (Firefox バグ 1016936)。
### 開発者ツール

* ネットワークモニターで、ネットワーク要求の "ブロック" 状態を表示するようになりました。
* Firefox 50 から Firefox 51 の間に解決した開発ツール関連のバグ一覧
### WebGL

* WebGL 2 をデフォルトで有効化しました。webglsamples.org/WebGL2Samples でいくつかのデモをご覧ください。
    + WebGL 2 は、`<canvas>` 要素に OpenGL ES 3.0 をもたらす `WebGL2RenderingContext` (en-US) インターフェイスを提供します。
    + 新機能:
        - 3D テクスチャ (en-US)、
        - Sampler object (en-US)、
        - Uniform Buffer object (en-US)、
        - Sync object (en-US)、
        - Query object (en-US)、
        - Tranform Feedback object (en-US)、
        - WebGL 2 のコア機能に昇格した拡張: Vertex Array object (en-US)、instancing (en-US)、Multiple Render Targets (en-US)、fragment depth (en-US)。
* `WEBGL_compressed_texture_es3` 拡張 (Firefox 46 で実装) を `WEBGL_compressed_texture_etc` (en-US) に改名して (Firefox バグ 1316778)、WebGL 2 コンテキストにデフォルトで含まれないようになりました (Firefox バグ 1306174)。
* `EXT_disjoint_timer_query` (en-US) 拡張を、`WebGLTimerQuery` オブジェクトではなく `WebGLQuery` (en-US) オブジェクトを使用するように更新しました (Firefox バグ 1308057)。
* `OES_vertex_array_object` (en-US) 拡張が、独自の `WebGLVertexArrayObjectOES` オブジェクトではなく WebGL 2 の `WebGLVertexArrayObject` (en-US) オブジェクトを使用するようになりました (Firefox バグ 1318523)。
* `WebGLRenderingContext.texImage2D()` (en-US)、`WebGLRenderingContext.texSubImage2D()` (en-US)、`WebGL2RenderingContext.texImage3D()` (en-US)、`WebGL2RenderingContext.texSubImage3D()` (en-US) といったメソッドで、テクスチャ画像のソースとして `ImageBitmap` が使用可能になりました (Firefox バグ 1324924)。
### IndexedDB v2

* IndexedDB バージョン 2 の実装が完了しました:
    + `IDBObjectStore.getKey()` メソッドをサポートしました (Firefox バグ 1271506)。
    + `IDBCursor.continuePrimaryKey()` メソッドをサポートしました (Firefox バグ 1271505)。
    + バイナリーキーをサポートしました (Firefox バグ 1271500)。
    + "What's new in IndexedDB 2.0?" – Mozilla hacks もご覧ください。
### Canvas

* 非標準の `CanvasRenderingContext2D.mozFillRule`() メソッドを削除しました。塗りつぶし規則は、標準の `CanvasRenderingContext2D.fill()` (en-US) メソッドの引数で定義できます (Firefox バグ 826619)。
* `CanvasRenderingContext2D.imageSmoothingEnabled` の接頭辞を削除しました (Firefox バグ 768072)。
### SVG

* `tabindex (en-US)` 属性を追加しました (Firefox バグ 778654)。
* `xlink:href (en-US)` を不要にさせる、`href (en-US)` 属性を追加しました (Firefox バグ 1245751)。
* `SVGElement.dataset` プロパティと `data-\* (en-US)` SVG 属性一式を使用して、SVG 要素でカスタムデータ属性を使用できるようになりました (Firefox バグ 921834)。
* `<img>` 要素内の SVG で使用する CSS アニメーションが、再び動作するようになりました。これは、過去のリグレッションでした (Firefox バグ 1190881)。
### Web Workers

* 非標準かつ廃止扱いの `WorkerGlobalScope.onclose` (en-US) イベントハンドラーと、`close` イベントを `Worker` で使用する機能を Firefox から削除しました。
### ネットワーク

* MIME タイプ `image/*`、`video/*`、`audio/*`、`text/csv` で提供されるスクリプトをブロックして、読み込みおよび実行しないようになりました。`<script>` 要素を使用して宣言したとき、あるいは `Worker.importScripts()`、`Worker()`、`SharedWorker()` を使用して読み込んだときに発生します (Firefox バグ 1229267 and Firefox バグ 1288361)。
* 公式に信頼された認証局から、SHA-1 証明書のサポートを削除しました (Firefox バグ 1302140)。詳しくは、Phasing Out SHA-1 on the Public Web もご覧ください。
* WoSign および StartCom の新たな証明書は、今後受け入れません (Firefox バグ 1309707)。詳しくは Distrusting New WoSign and StartCom Certificates をご覧ください。
* 情報漏えいを避けるために PAC の `FindProxyForURL(url, host)` 関数は、https:// URL からパスおよびクエリーを取り除くようになりました (Firefox バグ 1255474、Sniffing HTTPS URLS with malicious PAC files、`CVE-2017-5384` をご覧ください)。
### XHR

* `XMLHttpRequest.responseXML` プロパティは、受信したデータを解析する際にパースエラーが発生した場合に、先頭に <parsererror> ノードを置いた部分的な `Document` を返さないようになりました。代わりに、正しく `null` を返します (Firefox バグ 289714)。
* 最新の仕様書に合わせて、`setRequestHeader()` で `Accept` ヘッダーを設定していない `XMLHttpRequest` は、値として `*/*` を設定した Accept ヘッダーを送信するようになりました (Firefox バグ 918752)。
* `XMLHttpRequest.open()` で、パラメーター `username` および `password` を省略した場合の既定値を、仕様書に従って `null` にするよう修正しました (Firefox バグ 933759)。
### WebRTC

* `RTCPeerConnection.removeStream()` (en-US) メソッドを削除しました。これは Firefox 22 から非推奨であり、長い間 `NotSupportedError` が発生していました。代わりに、ストリームの各トラックで `RTCPeerConnection.removeTrack()` (en-US) を使用しなければなりません。
* WebRTC で、デフォルトで VP9 コーデックをサポートします。Firefox 46 で VP9 を追加したときはデフォルトで無効化していましたが、有効化すれば優先的に選択するコーデックになりました。ただし、CPU 使用率のために第 2 の選択肢 (VP8 より後) になることがありました。
* `HTMLMediaElement.captureStream()` メソッドは、指定した `<video>` または `<audio>` のコンテンツを含む `MediaStream` を返します。このメソッドはまだ `mozCaptureStream()` として接頭辞がついており、仕様書に完全には準拠していないことに注意が必要です。
### Audio/video

* FLAC コンテナーおよび Ogg コンテナーの FLAC (FLAC コーデック) をサポートしました (Firefox バグ 1195723)。サポートする FLAC の MIME タイプは、`audio/flac` および `audio/x-flac` です。Ogg コンテナーの FLAC でサポートする MIME タイプは、`audio/ogg; codecs=flac` および `video/ogg; codecs=flac` です。
* MP4 で FLAC をサポートしました (MSE の有無にかかわらず) (Firefox バグ 1303888)。
* Firefox 50 で、`setInterval()` および `setTimeout()` で作成したタイマーをバッググラウンドのタブで抑制する機能は、ウェブオーディオ API の `AudioContext` がアクティブで音声を再生しているときに実施しないようになりました。しかし、これはタイミングに敏感な音声再生 (タイマーを使用して個々の音を生成する音楽プレイヤーなど) が正しく動作しない問題を、すべての状況では解決できませんでした。このため、Firefox 51 では音声を再生していない場合でも `AudioContext` が存在するバックグラウンドタブで抑制しないようになりました。
### DOM

* `DOMImplementation.hasFeature()` は、どのような場合でも `true` を返すようになりました (Firefox バグ 984778)。
* `HTMLInputElement` および `HTMLTextAreaElement` の `selectionStart` および `selectionEnd` プロパティが、テキストが選択されていない場合に 0 ではなく、現在のテキスト入力カーソルの位置を正しく返すようになりました (Firefox バグ 1287655)。
* `HTMLImageElement` インターフェイスと対応する `<img>` 要素で `onerror` イベントハンドラーをサポートしました。 `error` イベントを、画像の読み込みや解釈を行おうとしてエラーが発生したときに、要素に送信します。
* `effect` プロパティに値を設定して、ウェブアニメーション (`Animation`) のエフェクトを変更できるようになりました。以前は、このプロパティが読み取り専用でした (Firefox バグ 1049975)。
* Permissions API の `Permissions.revoke()` メソッドを追加しました。設定項目 (`dom.permissions.revoke.enable`) で制御しており、設計や存在自体について Web Application Security Working Group で議論されているため、デフォルトで無効化しています。
* ストレージ API の `navigator.storage` (en-US) プロパティおよび `StorageManager.estimate()` メソッドを、必要なサポートコードと共に実装しました。ストレージユニットの永続化機能は未実装です。Firefox バグ 1267941 をご覧ください。
* セキュリティ上の理由で、`BatteryManager.chargingTime` (en-US) および `BatteryManager.dischargingTime` (en-US) は返値をもっとも近い 15 分単位の値に丸めるようになりました (Firefox バグ 1292655)。
### イベント

* Firefox で `onanimationstart`、`onanimationiteration`、`onanimationstart` イベントハンドラーと、`addEventListener()` でそれらに対応するイベントをサポートしました (Firefox バグ 911987)。
* Firefox で `ontransitionend` イベントハンドラーをサポートしました (Firefox バグ 911987)。
### セキュリティ

* ログインページ (すなわち `<input type="password">` フィールドを含むページ) でログイン情報が安全でない方法で送信されると思われる場合に、Firefox はユーザーに警告するため、アドレスバーに打ち消し線付きの錠前のアイコンを表示します (Firefox バグ 1319119)。詳しくは 安全でないパスワード をご覧ください。
### 廃止

* 非標準の Simple Push API を、Gecko から完全に削除しました。これは主に Firefox OS 用の API であり、W3C Push API に置き換えられました (Firefox バグ 1296579)。
* 非標準の Alarms API を Gecko から完全に削除しました。これは主に Firefox OS 用の API でした (Firefox バグ 1300884)。
* Page Visibility API で、接頭辞のサポートを廃止しました (Firefox バグ 812701)。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

### WebExtensions

* 新規 API:
    + `idle.queryState()` (en-US) (Firefox バグ 1299846)
    + `idle.onStateChanged` (en-US) (Firefox バグ 1299775)
    + `management.getSelf()` (en-US) (Firefox バグ 1283116)
    + `management.uninstallSelf()` (en-US) (Firefox バグ 1220136)
    + `runtime.getBrowserInfo()` (en-US) (Firefox バグ 1268399)
    + `runtime.reload()` (en-US) および `runtime.onUpdateAvailable()` (en-US) (Firefox バグ 1279012)
* レガシーアドオンに WebExtension を埋め込む ことが可能になりました (Firefox バグ 1252215)。
* クリップボードへのアクセス をサポートしました (Firefox バグ 1197451)。
* `tabs.executeScript()` のコールバックに渡す引数を修正しました (Firefox バグ 1290157)。
* WebExtension をアンインストールするとき、localStorage (en-US) を消去するようになりました (Firefox バグ 1213990)。
* Web Extensions で変更された `Content-Type` ヘッダーを考慮するようになりました (Firefox バグ 1304331)。
### その他

* アドオンがインストールされるときに Firefox でマルチプロセスの有効化を避けるために、`install.rdf` の `multiprocessCompatible` プロパティで明示的に `false` を設定することが必要になりました。
* Mozilla 特有の Social API を、以下のとおり大きく変更しました (主に、もはや使用されていない API を削除しました):
    + `MozSocial` インターフェイスと、これをサポートする `navigator.mozSocial` プロパティを削除しました。
    + Social Bookmarks API を削除しました。
    + ソーシャルチャット機能を削除しました。
    + Social Status API を削除しました。
    + Share panel を除く、すべての ソーシャルウィジェット を削除しました。social sidebar や flyover panel などが含まれます。
    + 削除した API のためにサポートしていたユーザインターフェイスや機能も、同様に削除しました。
    + 削除した機能をサポートする、Social service provider manifest のプロパティを廃止しました。
* ファイル拡張子と MIME タイプの関連付けを与えるために `mimeTypes.rdf` をアドオンが使用する場合に、`"ext-to-type-mapping"` カテゴリーで項目を登録することが必要になりました (Firefox バグ 306471)。
* Browser API が、`mozbrowserlocationchange` イベントのイベントオブジェクトで `detail` オブジェクトを含むようになりました。`canGoForward`/`canGoBack` プロパティを持っており、mozBrowser の戻る/進む の状態を同期的に取得できます (Firefox バグ 1279635)。
過去のバージョン
--------

* Firefox 50 for developers
* Firefox 49 for developers
* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers
* Firefox 43 for developers
* Firefox 42 for developers
* Firefox 41 for developers
* Firefox 40 for developers
* Firefox 39 for developers
* Firefox 38 for developers
* Firefox 37 for developers
* Firefox 36 for developers
* Firefox 35 for developers
* Firefox 34 for developers
* Firefox 33 for developers
* Firefox 32 for developers
* Firefox 31 for developers
* Firefox 30 for developers
* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers


Firefox 101 for developers - Mozilla

Firefox 101 for developers
==========================

このページでは、開発者に影響する Firefox 101 の変更点をまとめています。Firefox 101 は、米国時間 2022 年 5 月 31 日にリリースされました。

ウェブ開発者向けの変更点一覧
--------------

### HTML

変更なし。

### CSS

* ウェブコンテンツに高いコントラスト (`more`) または低いコントラスト(`less`) の設定をユーザーが指定しているかを検知するために使用できる、`prefers-contrast` メディア特性をデフォルトで有効にしました。また、この特性の新しい値 `custom` で、コントラストのために使用する色のセットをユーザーが指定できます (Firefox バグ 1656363)。
* 3 種類の新たなビューポートの寸法である小 (`s`)、大 (`l`)、動的 (`d`) を導入しました。これらの新しい寸法で、既存の単位である `vh`、`vw`、`vmax`、`vmin` に加えて新しい ビューポートのパーセント値による寸法 が追加されました。新しいビューポートのパーセント値による寸法の単位は `svh`、`lvh`、`dvh`、`svw`、`lvw`、`dvw`、`svmax`、`lvmax`、`dvmax`、`svmin`、`lvmin`、`dvmin` です (Firefox バグ 1610815)。また、単位 `vb` および `vi` をデフォルトで有効にしました (Firefox バグ 1610815)。
### JavaScript

変更なし。

### API

#### DOM

* `moz` 接頭辞がない `HTMLMediaElement.preservesPitch` をサポートしました。
 `mozPreservesPitch` は `preservesPitch` の別名になりましたが非推奨であり、将来のリリースで削除する予定です (Firefox バグ 1652950)。
* `HTMLInputElement.showPicker()` をサポートしました。button など他の要素のユーザーインターフェイスで、input 要素向けのピッカーを表示できます (Firefox バグ 1745005)。
* `DOMException` が シリアライズ可能なオブジェクト になりました。`structuredClone()` でクローンを作ることや、`postMessage()` を使用して workers との間でコピーすることができます (Firefox バグ 1561357)。
* `RTCRtpEncodingParameters.maxFramerate` (en-US) で、(`RTCPeerConnection.addTransceiver()` (en-US) および `RTCRtpSender.setParameters()` (en-US) で送信時のエンコードで使用する最大フレームレートを設定できるようになりました。
 0 は有効なフレームレートの値ですが、Firefox は "フレームレート制限なし" と解釈しますので注意してください。
 詳しくは Firefox バグ 1611957 をご覧ください。
* *Constructable stylesheets* をサポートしました。Shadow DOM とともに使用する、再使用可能なスタイルシートをとても簡単に作成できます。
 この更新には新しいスタイルシートを作成する `CSSStyleSheet()` コンストラクター や、スタイルシートに CSS 規則を追加するために使用できる `CSSStyleSheet.replace()` および `CSSStyleSheet.replaceSync()` メソッドが含まれます。
 詳しくは Firefox バグ 1520690 をご覧ください。

#### Media、WebRTC、Web Audio

* AV1 コーデックのパラメーター (en-US) が、メディアサポートクエリーで適切に解析されるようになりました。
 これは `MediaCapabilities.decodingInfo()` (en-US)、`HTMLMediaElement.canPlayType()`、`MediaSource.isTypeSupported()` が、与えられたコーデックパラメーターに基づいた AV1 ソースの再生を正確に報告することを意味します。
 `MediaCapabilities.decodingInfo()` (en-US) も、AV1 動画の "効率的なデコード" を正確に報告するためにこの情報を使用します。
 詳しくは Firefox バグ 1757861 をご覧ください。
### WebDriver conformance (WebDriver BiDi, Marionette)

このリリースの Firefox から、WebDriver BiDi プロトコルがデフォルトで有効になりました。WebDriver BiDi セッションは WebDriver クラシック (geckodriver、Marionette) を使用して、新しい WebDriver セッションを生成するときに `webSocketURL` capability (en-US) を `true` に設定することで要求できます。同じ機能に、BiDi クライアントが接続するための WebSocket エンドポイントも含まれています。

以下のコマンドやイベントを使用できます:

* イベントをグローバルにサブスクライブするコマンド (`session.subscribe`) およびサブスクライブを解除するコマンド (`session.unsubscribe`) の部分的な実装と、WebDriver クラシックを使用しないときに WebDriver BiDi セッションを直接作成する機能 (`session.new`) を含む、`session` モジュール を追加しました。
* 新しいタブやウィンドウを開くコマンド (`browsingContext.create`) や閉じるコマンド (`browsingContext.close`)、開いているブラウジングコンテキストを取得するコマンド (`browsingContext.getTree`)、ブラウジングコンテキスト内でナビゲーションするコマンド (`browsingContext.navigate`) を含む `browsingContext` モジュール を追加しました。これらは、ブラウジングコンテキストが作成されたときのイベント (`browsingContext.contextCreated`) もサポートします。
* ログのイベント (`log.entryAdded`) をサポートする `log` モジュール を追加しました。

詳しくは、すべてのバグの一覧 をご覧ください。

アドオン開発者向けの変更点一覧
---------------

* `scripting` (en-US) API を追加しました。スクリプトの実行、CSS の挿入と削除、コンテンツスクリプトの登録管理の機能を提供します (Firefox バグ 1687764)。この API は Manifest V3 拡張機能で使用可能であり、スクリプトの実行や CSS の挿入・削除の機能を `tabs` API から引き継いでいます。
* `action` (en-US) API を追加しました。Manifest V3 拡張機能で `browserAction` API の機能を引き継いでいます。`"action"` (en-US) マニフェストキーの追加も対応しています。`browserAction` API および `"action"` マニフェストキーは Manifest V2 拡張機能だけで使用可能であることに注意してください。
* `"background"` マニフェストキーの `"persistent"` を、設定項目による制御で `false` に設定できます。Manifest V2 の設定項目は `extensions.eventPages.enabled`、Manifest V3 の設定項目は `extensions.manifestV3.enabled` です。
* `"host_permissions"` (en-US) マニフェストキーを追加しました。これは Manifest V3 拡張機能で使用できます。
* Manifest V3 拡張機能向けのコンテンツスクリプト実行環境を変更しました:
    + コンテンツスクリプトのオリジン間リクエストが、ホストの許可に依存できなくなりました。コンテンツスクリプトのオリジン間リクエストは、CORS で実行可能です。
    + `content` オブジェクト (`content.fetch`、`content.XMLHttpRequest`、`content.WebSocket` で提供される) が、コンテンツスクリプトの実行環境から削除されました。
過去のバージョン
--------

* Firefox 100 for developers
* Firefox 99 for developers
* Firefox 98 for developers
* Firefox 97 for developers
* Firefox 96 for developers
* Firefox 95 for developers
* Firefox 94 for developers
* Firefox 93 for developers
* Firefox 92 for developers
* Firefox 91 for developers
* Firefox 90 for developers
* Firefox 89 for developers
* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers


Firefox 89 for developers - Mozilla

Firefox 89 for developers
=========================

このページでは、開発者に影響する Firefox 89 の変更点をまとめています。Firefox 89 は、米国時間 2021 年 6 月 1 日にリリースされました。

**メモ:** Mozilla Hacks の Looking fine with Firefox 89 もご覧ください。

ウェブ開発者向けの変更点一覧
--------------

### 開発者ツール

*変更なし。*

### HTML

*変更なし。*

### CSS

* `forced-colors` メディア特性を実装しました (Firefox バグ 1659511)。
* `@font-face` の `ascent-override`、`descent-override`、`line-gap-override` ディスクリプターを実装しました (Firefox バグ 1681691 および Firefox バグ 1704494)。
* `image-set()` の `type()` 関数を実装しました (Firefox バグ 1695404)。
### JavaScript

* トップレベルの `await` をデフォルトで有効にしました (Firefox バグ 1681046)。
* 64 ビットシステムで、長さが 2GB-1 より大きい (最大 8GB) ArrayBuffer を作成できるようになりました (Firefox バグ 1703505)。
### HTTP

*変更なし。*

### API

#### DOM

* `PerformanceEventTiming` (en-US) をデフォルトで有効にしました (Firefox バグ 1701029)。
* `<input>` および `<textarea>` 要素の内容物を、デフォルトで `Document.execCommand()` コマンドを使用して操作できるようになりました。`contentEditable` などの冗長な回避策なしに、編集履歴の維持やほかのブラウザーとの同等性を提供します (Firefox バグ 1220696)。

#### 廃止

* 以下のセンサーイベントおよび関連するハンドラーを削除しました (主にほかの主要なブラウザーエンジンとの互換性を向上するため、またプライバシー侵害の懸念に対処するため):
    + `DeviceProximityEvent` および `window.ondeviceproximity` イベントハンドラー (Firefox バグ 1699707)。
    + `UserProximityEvent` および `window.onuserproximity`) イベントハンドラー (Firefox バグ 1699707)。
    + `DeviceLightEvent` および `window.ondevicelight` イベントハンドラー (Firefox バグ 1701824)。
### WebDriver conformance (Marionette)

#### 廃止

* WebDriver 仕様書に含まれていない `rotatable` 能力を使用できなくなりました (Firefox バグ 1697630)。
アドオン開発者向けの変更点
-------------

* 動的な JS モジュールの読み込み が、WebExtension のコンテンツスクリプトで動作するようになりました (Firefox バグ 1536094)。
* web\_accessible\_resources に記載した拡張機能のリソースが、要求の CORS モードにかかわらず読み込まれるようになりました (Firefox バグ 1694679)。
* Firefox の UI を再設計したため、`theme` API の使用に影響があります。`tab_background_separator` および `toolbar_field_separator` プロパティをサポートしなくなりました。`tab_line` および `toolbar_vertical_separator` の動作が変わりました。詳しくは Changes to themeable areas of Firefox in version 89 をご覧ください。
* `pageAction` (en-US) ボタンをアドレスバーにピン止めおよびピン止め解除することができなくなりました。デフォルトで三点リーダーアイコンのメニューが表示されないためです (Firefox バグ 1691454)。この結果、`page_action` マニフェストキーの `pinned` プロパティは効果がなくなりました (Firefox バグ 1703537)。
* `pageAction` (en-US) ボタンから、コンテキストメニューの "アドレスバーから削除" 項目を削除しました (Firefox バグ 1704474)。この機能の代替手段について Firefox バグ 1712556 をご覧ください。
過去のバージョン
--------

* Firefox 88 for developers
* Firefox 87 for developers
* Firefox 86 for developers
* Firefox 85 for developers
* Firefox 84 for developers
* Firefox 83 for developers
* Firefox 82 for developers
* Firefox 81 for developers
* Firefox 80 for developers
* Firefox 79 for developers
* Firefox 78 for developers
* Firefox 77 for developers
* Firefox 76 for developers
* Firefox 75 for developers
* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers
* Firefox 69 for developers
* Firefox 68 for developers
* Firefox 67 for developers
* Firefox 66 for developers
* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers
* Firefox 62 for developers
* Firefox 61 for developers
* Firefox 60 for developers
* Firefox 59 for developers
* Firefox 58 for developers