Firefox 99

После дня веб-мастера — свежий Firefox 99.

CSS

  • Моно­ширинный шрифт по умолчанию в версии Firefox для Windows изменён с Courier New на Consolas, обладающий большей оптической плотностью и легче воспринимаемый, особенно на печати и на экранах с повышенной плотностью точек (HiDPI — например, на 4K-мониторах при системном масштабе 200%). См. также связанное обсуждение того же вопроса в баг-трекере Mozilla и авторскую страницу, наглядно демонст­рирующую различия между Courier New и Consolas. Аналогичное изменение в Firefox для macOS — замена моно­ширинного шрифта по умолчанию на Menlo — было сделано в Firefox 88.
  • Исправлена ошибка, из-за которой стили полос прокрутки (scrollbar-color и проч.) не применялись к динамически появляющимся поверх контента полосам прокрутки (overlay scrollbars) в macOS.
  • Исправлена ошибка, из-за которой использование Flexbox (display: flex) в некоторых ситуациях приводило к неработо­способности position: sticky.
  • Исправлена ошибка, из-за которой начиная с Firefox 97 при исполь­зовании свойства scrollbar-gutter могла появляться ненужная горизон­тальная полоса прокрутки.

JavaScript

  • Экспери­ментальная поддержка программного интер­фейса (API) Web MIDI, позволяющего веб-приложениям взаимо­действовать с MIDI-устройствами — например, MIDI-клавиатурами и синтезаторами. Включить можно с помощью параметра dom.webmidi.enabled на странице скрытых настроек, доступной по псевдо-URL-адресу about:config. Включить по умолчанию планируется в Firefox 100. В версии Firefox для Android функцио­нальность пока не реализована.
  • Включена по умолчанию поддержка глобального свойства navigator.pdfViewerEnabled, позволяющего обнаружить поддержку прямого отображения PDF-файлов в браузере. Устаревшие и нереко­мендуемые (deprecated) свойства plugins и mimeTypes объекта navigator, использовавшиеся веб-разработчиками для этой цели ранее, теперь возвращают жёстко заданные значения, соответ­ствующие pdfViewerEnabled.
  • Отключён по умолчанию на всех платформах Network Information API, который ранее был доступен по умолчанию в Android-версии Firefox. В дальнейшем поддержку этого API планируется удалить, т. к. он предо­ставляет слишком много информации, которую можно использовать для отслеживания пользователя (fingerprinting) — в том числе тип и скорость соединения.
  • Поддержка метода RTCPeerConnection.setConfiguration(), позволяющего сайтам изменять настройки соединения WebRTC.
  • Исправлена ошибка, из-за которой в компоненте GeckoView в Android значения свойства width и height объекта screen не реагировали на изменение ориентации экрана.
  • Свойства MouseEvent.screenX/Y теперь учитывают плотность точек.

Быстро­действие

  • Реализовано обнаружение ситуаций, когда SVG-элементы path, позволяющие задавать произвольные фигуры, на самом деле содержат прямо­угольники, что призвано повысить быстро­действие путём исполь­зования более оптимальной внутренней логики браузера при работе с такими фигурами.
  • Исправлена ошибка, из-за которой начиная с Firefox 94 большие таблицы могли отрисовываться много­кратно дольше при определённых сценариях исполь­зования менеджера паролей.
  • Отключена авто­мати­ческая выгрузка вкладок в приватных окнах, т. к. это могло приводить к потере открытых вкладок после фонового обновления браузера. Выгрузку вкладок реализовали в Firefox 93.

Безопасность

  • Улучшена изоляция процессов в Linux: процессы, связанные с веб-контентом, теперь не имеют доступа к системе управления окнами X Window System (X11).
  • Экспери­ментальная поддержка индиви­дуальной пиктограммы приватных окон, отличающейся от пикто­граммы обычных окон. Включить можно с помощью параметра browser.privacySegmentation.enabled в about:config.

Интер­фейс

  • Исправлена ошибка, из-за которой при изменении языка отображения без пере­запуска браузера выбранный язык не применялся к главному меню Firefox. Для включения возможности смены языка интерфейса Firefox служит параметр intl.multilingual.enabled в about:config. Возможность применения языка без пере­запуска браузера включается параметром intl.multilingual.liveReload. Изначально возможность смены языка без необхо­димости исполь­зовать отдельный локали­зованный дистрибутив была реализована в Firefox 65, но потом куда-то пропала.
  • Исправлена ошибка, из-за которой средний щелчок неправильно работал в новом интер­фейсе пред­варительного просмотра документа перед выводом на печать.
  • При просмотре JSON-файлов в необработанном виде слишком длинные последова­тельности символов теперь авто­матически переносятся на следующую строку.
  • Исправлена ошибка, из-за которой не работал выход из полно­экранного режима воспроиз­ведения видео клавишей Escape, если он был включён из режима «Картинка в картинке».

Режим чтения

  • В режиме чтения теперь с помощью «горячей» клавиши N (от англ. narrate) можно запускать/останавливать чтение текста с помощью синтезатора речи.
  • В режиме чтения теперь учитывается выбранная пользователем цветовая схема.

Прочее

  • Поддержка поиска с учётом диакри­тических знаков при просмотре PDF-документов в браузере.
  • Поддержка вставки данных кредитных карт при авто­заполнения полей в Германии и Франции.
  • Исправлена неправильно работавшая генерация полу­жирных начертаний некоторых шрифтов при использовании механизма отрисовки текста DirectWrite в Windows.
  • Устранена регрессия Firefox 97, из-за которой изображение при щелчке мышью по умолчанию выделялось как имеющее фокус, как при клавиатурной навигации.
  • При падении процесса Firefox в неактивном окне процесс теперь не пере­запускается до тех пор, пока окно не станет активным.
  • Поддержка библиотеки FFMPEG версии 5.0 в Linux, отсутствие поддержки которой приводило к невозможности воспроизведения видео на некоторых сайтах, в том числе Twitter.

См. также