Firefox 156 release notes for developers (Stable)
このページでは、開発者に影響する Firefox 156 の変更点をまとめています。 Firefox 156 は、米国時間 2026 年 9 月 15 日 にリリースされました。
ウェブ開発者向けの変更点一覧
>開発者ツール
- インスペクターのハイライト表示でのビューポートのサイズ読み取りで、幅や高さの値を丸めないようになりました。以前は倍率が小数のズームや高画素密度ディスプレイにおいて、誤解を招くサイズを報告していました (Firefox bug 2055445)。
- 開発ツールがクライアントより 3 つまで古いバージョンのデバッガーサーバーに接続できるように、以前の制限から引き上げました。これは、古い Firefox や GeckoView ビルドのリモートデバッグを行う場合に関係があります (Firefox bug 2064221)。
HTML
変更なし。
SVG
MouseEvent.offsetXおよびMouseEvent.offsetYが、<tspan>を対象とするイベントにおいてもっとも外側の<svg>要素の原点から計測するようになりました。以前は誤った原点を使用していました (Firefox bug 2066045)。- 仕様書での要求に従って、
SVGSVGElement.currentScaleセッターが入れ子になった<svg>要素で何も行わないようになりました。もっとも外側の<svg>要素では引き続き動作します (Firefox bug 2063188)。
CSS
- 非標準の
::-webkit-scrollbar擬似要素が、すべてのサイトにおいて@supports条件で未サポートと報告されるようになりました。よって@supports selector(::-webkit-scrollbar)にはfalse、@supports not (selector(::-webkit-scrollbar))にはtrueを返します。これは Firefox 155 で導入した設定項目layout.css.fake-webkit-scrollbar.enabled-domainsに記載されたサイトも含みます。Firefox はこれらのサイトで引き続き::-webkit-scrollbar規則を実行しますが、擬似要素をサポートしていると報告しなくなります。サイトはこの確認を::-webkit-scrollbar-*ファミリー全体をサポートしている指標として使用しますが、Firefox はこのファミリーのほかの擬似要素をサポートしていません。@supports not (selector(::-webkit-scrollbar))によって標準のスクロールバーのスタイルを保護しているサイトは、Firefox でもそれらのスタイルが適用されるようになりました (Firefox bug 2062782)。 text-box-trimおよびtext-box-edgeプロパティが、以前は誤った結果を生成していたいくつかのケースにおいて正しく切り取るようになりました。 切り取りを適用する場合は、::first-lineのフォントメトリクスを使用します (Firefox bug 2063835)。 最終行でインラインボックスが分割される場合は、正しい行を切り取ります (Firefox bug 2063909)。 また、インラインボックスの切り取りでボーダーやパディングを除去しないようになりました (Firefox bug 2064596)。 なおtext-box-trimは、line-clampと組み合わせた場合に依然として効果がありません。
JavaScript
Promise.try()はコールバックから返された値を、PromiseResolveを使用して解決するようになりました。これによりコールバックから返されるプロミスは新たなプロミスにラップされず、そのまま渡されます。Promise.try(() => p)は、pがネイティブなプロミスである場合にpと同じプロミスになります。これは仕様書の規範的な変更に従うものです (Firefox bug 2062293)。using宣言は再代入ができなくなり、仕様書で要求されている const のようなセマンティクスに合致します。以前は、このようなバインディングが暗黙的に変更される場合がありました (Firefox bug 2040286)。
セキュリティ
ffdhe2048およびffdhe3072の有限体 Diffie-Hellman グループが、TLS ハンドシェイクにおいてデフォルトで提供されなくなりました。 これらのグループのみサポートするサーバーは、接続のネゴシエーションが失敗します。代わりに、ほぼすべてのサーバーは ECDHE 鍵交換をサポートしています (Firefox bug 1992340)。
API
SubtleCrypto.deriveBits()で、引数lengthに渡された値がNaN、Infinity、負の値、232−1 より大きい値である場合にTypeErrorが発生するようになりました。 以前はこれらの値が受け入れられるか、返されたプロミスがOperationErrorで拒否されていました (Firefox bug 2065212)。Scheduler.yield()が、解決済みのプロミス、プロミスではない値、決定済みプロミスのthen()コールバックといった、同期的に決定されるawaitを越えて包含するタスクの優先度や中止シグナルを継承するようになりました。 以前はこのような場合に継続性が継承された状態が失われて、デフォルトのuser-visible優先度へ暗黙的にフォールバックしていました。
DOM
Range.deleteContents()およびRange.extractContents()が、フラットツリーではなく DOM ツリーで動作するようになりました。 その結果、シャドウルート の境界をまたがる範囲は、その範囲がシャドウツリーの内部で開始または終了する場合を含めて、仕様で要求されるノードを削除および抽出するようになりました。 以前はこのような範囲で、ホストの未割り当ての子ノードを残したままシャドウツリーの内部のコンテンツを削除して、断片を返すのではなくRange.extractContents()が発生する場合がありました。 同様の修正がSelection.deleteFromDocument()にも適用されます (Firefox bug 2053997)。
Media、WebRTC、Web Audio
RTCPeerConnection()コンストラクターに渡す構成オブジェクトのalwaysNegotiateDataChannelsメンバーをサポートしました。これはtrueに設定すると、接続によって作成される SDP にデータチャネルの m-line が常に含まれるため、ネゴシエーションの新たなラウンドを必要とせずに、後でRTCPeerConnection.createDataChannel()を呼び出すことができます。メンバーのデフォルト値はfalseであり、RTCPeerConnection.getConfiguration()によって返されますがRTCPeerConnection.setConfiguration()で変更することはできません (Firefox bug 2062561)。
WebDriver への適合 (WebDriver BiDi, Marionette)
一般
- Marionette および RemoteAgent は、サーバーの開始に失敗したときに個別の終了コード (69) を使用するようになりました (Firefox bug 2040974)。
- 継続時間が 0 より大きいアクションの中間イベントのタイミングを改善して 16 ミリ秒間隔に近づけることで、コンテンツプロセスが過負荷でも全体の継続時間が増大することを回避しました (Firefox bug 2054442)。
WebDriver BiDi
browsingContext.startScreencastが有効なダウンロードフォルダーを安全に選択するようになり、デフォルトのダウンロードフォルダー (DfltDwnld) が使用できない場合も例外が発生しなくなります (Firefox bug 2066782)。- Mozilla 独自の
moz:debuggingモジュールを、入れ子になった一時停止を正しく処理するように修正しました (Firefox bug 2060460)。
Marionette
WebDriver:GetElementTagNameコマンドを 最新の仕様書の変更 に合わせて更新しました。DOM 要素の 修飾名 を返すようになります。このコマンドは以前、戻り値が常に小文字でした。実際には、この変更は HTML 要素との後方互換性がありますが、SVG 要素など大文字と小文字を区別する修飾名を持つ要素とは後方互換性がない変更になります (Firefox bug 2026697)。
アドオン開発者向けの変更点一覧
themeマニフェストキーにbackgrounds_areaプロパティを追加しました。このプロパティで、背景の画像やグラデーションを描画する位置をテーマから指定できます。これを"window"に設定するとブラウザーのウィンドウ全体に渡って描画されます。一方、"top_toolbars"に設定するとウィンドウ上部の水平ツールバーに制限します。backgrounds_areaを省略または"auto"に設定すると、Firefox はproperties.additional_backgrounds_alignmentに基づいて領域を選択します (Firefox bug 2059526)。
実験的なウェブ機能
以下の機能は Firefox 156 で導入しましたが、デフォルトで無効です。
これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。
実験的機能 のページで、さらに多くの機能を確認できます。
-
スコープ付きカスタム要素レジストリー (Nightly):
dom.scoped-custom-element-registries.enabledスコープ付きカスタム要素レジストリー をサポートしました。これによりシャドウルートが、グローバルレジストリーで定義されたものと衝突しないカスタム要素を定義できます。 このリリースでは、Nightly ビルドにおいてデフォルトで機能を有効化します (Firefox bug 2064333)。
-
named-feature()サポートクエリー:layout.css.anchor-positioning.follows-transforms.enabled@supportsアットルールのnamed-feature()関数により、ほかに検出可能な構文がない機能をブラウザーがサポートしているかを確認できます。例:@supports named-feature(anchor-position-follows-transforms)(Firefox bug 2042977、Firefox bug 2055354)。 -
Container Timing API:
dom.enable_container_timingContainer Timing API はコンテナー要素の内容が描画されたタイミングを報告するため、ビューポート全体ではなくページの一部の領域の描画時間を測定できます (Firefox bug 1940240)。