Firefox 120 for developers
==========================

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

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

### HTML

* `<source>` 要素の `media` 属性のサポートを再導入して、`<audio>` および `<video>` 要素を含むように拡張しました。この属性は Firefox 15 で最初に追加しましたが、用途が `<picture>` の内部の`<source>` 要素に限定されたため Firefox 53 で削除しました。このリリースでは `media` 属性が `<audio>`、`<video>`、`<picture>` の内部の `<source>` 要素で使用可能になります (Firefox bug 1836128)。
### CSS

* `light-dark()` CSS カラー関数をサポートしました。これは、`prefers-color-scheme` メディア特性を必要とせずにライトおよびダークの色を設定できます (Firefox bug 1856999)。
* 行の高さの単位 `lh` および `rlh` をサポートしました。これらは、たとえば複数行のテキストと背景の装飾を正確に揃えるなど、要素の行の高さに対して相対的にプロパティを設定できます (Firefox bug 1310170)。

#### 廃止

* 背景画像を切り抜くための非標準 CSS 関数である `-moz-image-rect()` を削除しました。この関数は最初に Firefox 4 で導入してから標準化されず、またほかのブラウザーは実装していません (Firefox bug 1856999)。
### JavaScript

* `Date.parse()` が追加の日付形式をいくつか受け入れるようになりました。
    + 正式な ISO 標準に合致しない、ハイフン区切りの数値による日付を受け入れるようになりました (Firefox bug 1557650)。たとえば以下のような形式です:
        - `"01-12-1999"` (初めに月)
        - `"1999-1-5"` (月や日が 1 桁)
        - `"10000-01-12"` (年が 9999 より大きい)
        - `"99-01-05"` または `"01-05-99"` (年が 2 桁、初めに年を置く場合は 31 より大きくなければならない)
        - `"1999-01-05 10:00:00"` (日付と時刻の間に空白がある)これらの日付はローカルタイムゾーンや日付のロールオーバー (4 月 31 日は存在しないため 5 月 1 日にロールオーバーする) など、ほかの ISO 形式でない日付に対して典型的な動作によって解析されます。
    + 数字の直後に置く文字の要件を、新たな形式を受け入れるために緩和しました (Firefox bug 449921)。たとえば以下のような形式です:
        - `"DDMonYYYY"`
        - `"Mon.DD.YYYY"`
        - `"DD.Mon.YYYY"`
        - `"YYYY.MM.DD"`
        - `"Mon DD YYYY hh:mmXm"` (`am`/`pm` を時刻の直後に置く)
    + ISO 形式でない日時でタイムゾーン `'Z'` を受け入れるようになりました (例: `Jan 1 1970 10:00Z`) (Firefox bug 1852422)
### SVG

変更なし。

### HTTP

* `103 Early Hints` HTTP 情報レスポンス ステータスコードが、(ページでリソースを読み込むことが必要と思われる) 特定のオリジンへの 事前接続 に対して有効になりました。
 詳しくは Firefox bug 1858712 をご覧ください。
* Firefox で Global Privacy Control の `Sec-GPC` (en-US) リクエストヘッダーをサポートしました。これは、ウェブサイトやサービスが個人情報をサードパーティに販売あるいは共有することに同意しないことを示すために送信できます。
 ユーザーは (`about:config` で) 設定項目 `privacy.globalprivacycontrol.enabled` を `true` に設定することで、このヘッダーを通常のブラウジングとプライベートブラウジングの両方で有効化できます。
 `Navigator.globalPrivacyControl` および `WorkerNavigator.globalPrivacyControl` プロパティで、ユーザーが設定を許可しているかを JavaScript で確認できます (Firefox bug 1856029)。
### セキュリティ

変更なし。

### API

* `PublicKeyCredential` インターフェイスの `authenticatorAttachment` (en-US) プロパティをサポートしました。
 これはウェブアプリケーションのクライアントやサーバーのコードが、認証システムがウェブ認証を実行しているデバイスの一部であるか、デバイス間に渡ることができるかに応じて応じて自身を構成することを可能にします (Firefox bug 1810851)。
* Web Authentication API の Minimum PIN Length Extension (`minPinLength`) (en-US) をサポートしました。これは Relying Party のサーバーが認証システムに対して、PIN を作成または登録するときに最短の長さを要求できるようにします (Firefox bug 1844450)。
* `Navigator.userActivation` プロパティおよび `UserActivation` インターフェイスをサポートしました。
 これらはユーザーがページと対話しているか、あるいはページが読み込まれてから対話したかを確認するために使用できます (Firefox bug 1791079)。
### WebDriver conformance (WebDriver BiDi, Marionette)

#### WebDriver BiDi

* `Proxy` および `Generator` オブジェクトのシリアライズをサポートしました (Firefox bug 1841786)。
* `responseStarted` および `responseCompleted` イベントに、`authChallenges` プロパティ (ヘッダーに存在している認証チャレンジのリスト) を追加しました。これは、後に続く `network.authRequired` イベントを処理するの役立つでしょう (Firefox bug 1855149)。
アドオン開発者向けの変更点一覧
---------------

変更なし。

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

* Firefox 119 for developers
* 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