Firefox 158.0
Oct 16, 2026
Firefox 158.0 - 2026/10/13 に Release チャンネルユーザー向けにリリースされています
(Release 158.0 · ESR 140.17.0esr · Beta 159.0b1 · Developer Edition 159.0b1 · Nightly 160.0a1)
Features
- Smart Window においてフォームフィールドをクリックした時,または Fill from sources を選択したときに,関連するタブと保存している自動入力データに基づいて,入力に使用するデータが提案されるようになりました (段階的ロールアウト)
- ページを PDF として保存する時,Linux / macOS において Firefox がよりアクセシブルな PDF を作成できるように
- JPEG XL 画像フォーマットに対応1
- 以前まで Firefox Labs で提供されていた試験的機能の一つです.
- New Tab で直近の1枚だけでなく,カスタム壁紙を Your images に保持するようになりました

- 翻訳機能が次の言語に対応しました
- アルバニア語
- ベラルーシ語
- フィリピン語
Fixed
- 数式記号が欠けるなど, PDF レンダリングに関する不具合を修正
- Ubuntu のデフォルトテーマで,キーボードに選択した際にアドレスバー結果の Favicon がハイライト色に埋もれてしまう不具合を修正
- Favicon 読み込み時にクラッシュすることがある不具合を修正
- Windows と Linux でアドレスバーの Unified Search Button メニューにおいて,各検索エンジン名と先頭文字に下線が表示され,キーボードショートカットが競合しうる問題を修正
- Windows のハイコントラストテーマで,各メニューが読みにくい問題を修正
- メニューの背景色と文字色は Windows 設定でカスタムコントラストテーマに選んだ色に従うように.
- その他多くのセキュリティ不具合を修正
Changed
- スクロール位置を整数のスクリーンピクセルに丸めないように
- 特に高解像度ディスプレイやページをズームしている場合にスクロールがより滑らかかつ正確になります.
Developer
Firefox 158 release notes for developers (Stable)
- WebSocket 接続が確立された直後にメッセージが到着した場合,Network Monitor がそのメッセージを取りこぼすことがある問題を修正
Accessibility
- aria-busy が Firefox for Android に対応
- 要素が現在変更中かどうかを示す ARIA state です.
- デスクトップ版では以前から対応していましたが,支援技術は変更が完了するまで待ってからユーザーに通知できます.
- たとえば screen reader は,live region の更新が終わってから読み上げられます.
CSS
- CSS typed arithmetic に対応
calc()などで,単位が異なっていても同じデータ型2の値を除算できるように.- 得られる単位なしの商は,他のデータ型に変換可能.
(100vw - 320px) / (1280px - 320px)は length 同士の除算で,単位なしの数値になります.これに 8px を掛けて length に戻しています.
/* 画面幅 320px〜1280px の間で font-size を 16px〜24px に線形補間 */
}
HTTP
- 画像リクエストの既定 Accept ヘッダーに
image/jxlを追加- JPEG XL 対応に伴い,既定値は次のようになりました.
image/avif,image/jxl,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5
- サーバー側の content negotiation で JPEG XL を返せます.以下は Nginx の例です.
map $http_accept $img_ext {
default "";
"~image/jxl" ".jxl";
}
- 動作確認は Fish からも同じ書き方で行えます.
APIs
WebTransport.getStats()- トランスポートの下層の接続と datagram に関する統計情報を返すメソッド
- 返されるプロパティの一覧は 仕様 を参照してください.
;
await wt.ready;
;
stats;
WebTransport.supportsReliableOnly- HTTP/2 のような reliable な転送のみの WebTransport セッションにブラウザが対応しているかを示す static プロパティです.
- Firefox はまだ HTTP/2 上の WebTransport に対応していないため,常に false を返します.
WebTransport.supportsReliableOnly; // Firefox 158: false
Notification/showNotification()の navigate オプション- 通知をクリックしたときに遷移する URL を指定できます.
- 作成後は
Notification.navigateで取得できます.
;
n.navigate;
// Service Worker 側
'新着メッセージ', ;
- WebGPU の float32-blendable feature
r32float,rg32float,rgba32float形式の GPUTexture でブレンドが可能に
;
if 'float32-blendable'
- WebGPU の clip-distances feature (macOS)
- WGSL の vertex shader から
clip_distancesを出力できます. - カスタム平面の片側にある三角形や線の部分を切り落とせ,水面の反射や CAD の断面表示などに使えます.
- デバイス作成時に
requiredFeatures: ['clip-distances']が必要です.
- WGSL の vertex shader から
enable clip_distances;
struct VSOut {
@builtin(position) pos: vec4f,
@builtin(clip_distances) clip: array<f32, 1>,
};
@vertex fn vs(@location(0) p: vec3f) -> VSOut {
var o: VSOut;
o.pos = vec4f(p, 1.0);
o.clip[0] = dot(vec4f(p, 1.0), planeEq); // 負の側が切り落とされる
return o;
}
- WebGL の EXT_polygon_offset_clamp
polygonOffsetClampEXT()はpolygonOffset()に,深度オフセットの上限を指定する引数を加えたものです.- shadow mapping での影の穴を避けるのに役立ちます.
;
if ext
PerformanceResourceTiming.deliveryType- リソースがどのように配信されたかを示します.
- 初回リリースでは
cache(キャッシュから取得) のみ対応しています.
for of 'resource'
DOM
getBBox()が tspan / textPath で fill・stroke を考慮<text>全体ではすでに可能だった「stroke を含む bounding box」を,<tspan>と<textPath>でも取得できます.
;
;
- HTML Sanitizer API の javascriptURLs オプションと
Sanitizer.setJavascriptURLs()- sanitizer が
<a href="javascript:…">のようなjavascript: URL属性を削除するかどうかを設定します. Element.setHTMLUnsafe()のような unsafe メソッドで使う場合に関係します.Element.setHTML()などの safe メソッドは従来どおり常に削除します.- この結果,unsafe メソッドでも,既定の sanitizer を使う場合や
Sanitizer.removeUnsafe()を呼んだ後の sanitizer を使う場合は,javascript: URLが削除されます. setJavascriptURLs()に渡す値の意味は,私の側では確認できていません.使う前に MDN か仕様で確認してください.
- sanitizer が
;
'<a href="javascript:alert(1)">link</a>',
// 既定の sanitizer → href が削除される
;
Media, WebRTC, Web Audio
- WebRTC の H.264 / AV1 送信で codec level を遵守
- リモートピアと合意した codec level3 に収まるよう,Firefox が解像度とフレームレートを必要に応じて下げます.
- これに伴い,
MediaCapabilities.encodingInfo()は,contentType の level を超える解像度・フレームレートの webrtc 構成でも supported と報告します.
;
info.supported; // level を超えていても true
WebDriver conformance
- 共通 - BiDi / Marionette
- カメラとマイクの権限を,WebDriver BiDi の
permissions.setPermissionと Marionette のWebDriver:SetPermissionで設定できます. - テストでユーザーへのプロンプトなしに許可・拒否できます.
- 自動化時の touch start / touch move の許容量が 0 になりました.touch アクションは送出位置ちょうどからスクロールを始め,最初の小さな移動が吸収されません.
- カメラとマイクの権限を,WebDriver BiDi の
-
WebDriver BiDi
browsingContext.captureScreenshotにimageSize引数が追加され,スクリーンショット画像の最大サイズを指定できます.browsingContext.startScreencastにdestinationFolder引数が追加され,録画ファイルの保存先フォルダを選べます.- どちらも引数の正確な構造を私は確認できていません.
- WebDriver BiDi の仕様か Firefox の実装ドキュメントを参照してください.
-
Marionette
WebDriver:TakeScreenshotは,取得画像の幅か高さが 0 のとき,unable to capture screenエラーを返すようになりました.
Other
- JPEG XL(image/jxl)がデフォルトで有効
- Firefox 158 で追加されたサポートに関連した変更です.
- JPEG XL はロイヤリティフリーのラスター画像フォーマットで,lossy / lossless 圧縮,透過,アニメーション,HDR に対応します.
- また,既存の JPEG を可逆変換することもできます.
- 以下は JPEG から可逆変換する例です.
Addon
publicSuffix.isKnownSuffix()が不正な hostname でエラーを投げる- 従来は
falseを返していましたが,不正な hostname を渡すとエラーを投げるようになりました.
- 従来は
try catch e
runtime.getVersion()の追加- manifest に宣言された拡張機能のバージョンを返します.
// 従来
;
// 新規
;
実験的な Web 機能
これらの機能は Firefox 158 に含まれていますが,デフォルトでは無効です.
about:config で該当する preference を true にすると試せます.
random()CSS 関数 -layout.css.random.enabled- 指定範囲内のランダムな値を生成します.
- step を指定すると,範囲内で step 刻みの値に限定できます.
- 省略可能な
で,どの random() が乱数値を共有するか(要素間,プロパティ間など)を制御できます.
}
- corner-shape プロパティ -
layout.css.corner-shape.enabled- corner-shape shorthand とその longhand を,Nightly でサポートします.
<corner-shape-value>のキーワードまたはsuperellipse()関数で角の形状を指定できます.
}
- Deferred module evaluation -
javascript.options.experimental.defer_import_eval- Nightly 限定
- import defer 宣言と import.defer() 構文が,preference の背後で使えます.
- モジュールとその依存関係を先に読み込み,コードの実行は export に最初にアクセスしたときまで遅らせます.
- すぐに必要でないモジュールが起動を遅くしません.top-level await を使うモジュールはすぐに実行されます.
; // 評価は遅延される
'click',;
- On-device speech recognition -
media.webspeech.recognition.enable- Nightly,デスクトップ版
- Web Speech API による音声認識を,クラウドサービスに頼らずブラウザ内で実行できます.
;
rec.lang = 'ja-JP';
rec.onresult =e.results.transcript;
;
- Speculation rules の moderate eagerness -
dom.speculation_rules.enabled- Speculation Rules API は,ユーザーのリンクへの振る舞いなどに基づいて,prefetch や prerender の対象を指定し,将来のナビゲーションを高速化します.
- Firefox 158 Nightly で moderate eagerness に対応しました.リンクに短時間(既定で 200 ミリ秒)ホバーすると,該当する prefetch が始まります.
{
"prefetch": [
{ "where": { "href_matches": "/*" }, "eagerness": "moderate" }
]
}
- Streaming request bodies -
dom.fetch.streaming_upload- Nightly 限定
- Request() コンストラクタや fetch() で,request body に ReadableStream を指定できます.
- body 全体が揃うのを待たず,アップロードを段階的に流せます.
;
await '/upload', ;
- CSSNumericValue.equals() -
layout.css.typed-om.enabled- Nightly 限定
- 渡されたすべての値が呼び出し元の数値と同じなら true,そうでなければ false を返します.
- 単位は変換せず,書かれたとおりに比較されます.
11; // true
1254; // false(単位が違う)
new CSSMathSum1, 2
new CSSMathSum2, 1; // false(順序が違う)
Firefox Enterprise の更新と修正については Firefox Enterprise Release Notes を,ポリシーの変更については Firefox admin docs changelog を参照してください.
1
一般的に WebP,JPEG,PNG,GIF より圧縮効率の高いフォーマット
2
length 同士など
3
H.264 は profile-level-id,AV1 は level-idx