米Mozillaは、7月28日(現地時間)にFirefoxの新バージョンとなる「Firefox 79」をリリースした。
Firefox 78から4週間でのバージョンアップである。途中、7月1日にはマイナーバージョンアップの78.0.1、7月9日には78.0.2がリリースされている。78.0.1では、
- 以前のリリースからアップグレードする際に、インストールされている検索エンジンが表示されない問題の修正
が行われた。具体的には、アドレスバーや新規タブで検索キーワードの自動補完が行われない、「今回だけ使う検索エンジン」が表示されなく不具合であった。
78.0.2では、以下の修正が行われた。
- リーダーモードでのアクセシビリティの機能後退(リグレッション)の修正
- ユーザープロファイルのデータ破損を防ぐためのアドレスバーの改善
- 特定の外部アプリケーションを開く際の機能後退(リグレッション)の修正
- CVE番号ベースのセキュリティアップデート(1件)
したがって、今回のバージョンアップは、78.0.2からとなる。
Firefox 79のインストール
すでに自動アップデートが可能な状況になっているが、ここでは手動でアップデートする方法を説明したい。Firefoxメニューの[ヘルプ]→[Firefoxについて]を開くと更新が自動的に開始される。[再起動してFirefoxを更新]をクリックする(図1)。
アップデート後のFirefox 79は、図2のようになる。
新規に、Firefox 79をインストールする場合、FirefoxのWebページからインストーラをダウンロードする(図3)。
[今すぐダウンロード]をクリックし、保存したファイルをダブルクリックして、インストールを開始する(図4)。
画面の指示に従い、インストールを進めてほしい。以下では、新機能や変更点のいくつかを具体的に見ていこう。
Firefox 79の新機能
続いて、新機能であるが、以下の通りである。
- AMDのGPUへの対応を強化し、より多くのWindowsユーザーにWebRenderを展開することで、グラフィックパフォーマンスの向上をさらに多くのユーザーが利用可能に
- ドイツのFirefoxユーザー向けとなるが、Pocketの最高のストーリーであるおすすめを新しいタブに表示するように
WebRender(Quantum Render)はGPUを利用してWebページのレンダリングを支援する機能で、Firefox 67から順次導入されてきた。今回の新機能では、AMD製のGPUを搭載しているバッテリー駆動のWindows 10 PCに対応した。対応状況については、図5のWebページを参照してほしい。
この表にあるように、AMDのNorthern Islands以降が、Fitrfox 79でサポートされていることがわかる。
また、実際にWebRenderが有効・無効を確認するには、[about:support]ページのグラフィックスセクションを参照するとわかる。
[画像処理]が「WebRender」となっていれば有効である(無効の場合は「Basic」などと表示される)。
また、開発者向けの変更点であるが、
- <a>および<area>要素で target="_blank"を設定すると、rel="noopener"も指定したときと同じ動作を暗黙的に提供するように
が行われた。rel="noopener"を指定せずtarget="_blank"を使うと、リンク元のURLをスクリプトで勝手に書き換えられる危険性があった。そこで、rel="noopener"を記述することでこのリスクを回避する手段が一般的であった。しかし、自動的にrel="noopener"が設定されることで、開いたページのJavaScriptが元のWebページを操作できなくなる。結果として、セキュリティが向上することになる。また、以下の変更も行われた。
- レスポンスコードが400~499および500~599の範囲にあるネットワークメッセージを、エラーとみなすように。また、要求やXHRのフィルターが無効であっても表示するようになった
- Logical assignment operatorsの追加:「??=」「&&=」「||=」
開発者向けでは、変更点も多い。開発に関わるユーザーは、ざっと眺めておくとよいだろう。
セキュリティアップデート
同時に行われたセキュリティアップデートであるが、修正された脆弱性はCVE番号ベース で10件である。深刻度の内訳は、4段階で上から2番目の「High」が4件、上から3番目の「Moderate」が3件、最低の「Low」が3件となっている。
「High」では、
- ワーカーにスクリプトをロードする際のリダイレクトターゲットの潜在的なリーク
- WebRTCデータチャネルが内部アドレスをリークする
- 拡張APIを利用する際に、Same-Originポリシーをバイパスしてしまう
- Firefox 79で修正されたメモリ安全性の問題
となっている。最高レベルの「Critical」はないが、早めのアップデートをすべきであろう。