Состоялся релиз web-браузера Firefox 63, а также мобильной версии Firefox 63 для платформы Android. Кроме того, сформировано обновление ветки с длительным сроком поддержки 60.3.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 64, релиз которой намечен на 11 декабря.

Основные новшества:

  • Предложен набор настроек для управления блокированием контента. Пользователь может включить блокировку любых сторонних Cookie и скриптов, применяемых для отслеживания перемещений (блокировка по базе disconnect.me). Блокировщик пока предлагается опционально, но запланирован для включения по умолчанию в Firеfox 65.

    Для каждого сайта в адресной строке показывается специальный значок, отображающий статус блокировки скриптов и Cookie.
    Предоставляется возможность добавления исключений для выбранных сайтов, которые не могут корректно работать при блокировке скриптов отслеживания.

  • На платформе Linux в отдельный процесс вынесено выполнение дополнений на базе WebExtensions (для Windows и macOS отдельный процесс для WebExtensions уже был задействован в Firefox 56 и Firefox 61). Выполнение в отдельном процессе позволяет изолировать дополнения и снизить влияние ошибок в дополнениях на стабильность работы браузера. Напомним, что ранее в отдельные процессы Firefox уже вынесены обработчики контента, а также код для обработки графики и доступа к локальным файлам;
  • Добавлена экспериментальная поддержка видеокодека AV1. AV1 позиционируется как общедоступный и не требующий оплаты отчислений свободный формат кодирования видео, который заметно опережает H.264 и VP9 по уровню сжатия. По умолчанию кодек отключен (в about:config следует установить опцию “media.av1.enabled = true”);
  • Для пользователей из США на стартовую страницу добавлены специальные ярлыки для Google и Amazon и связанные с ними ключи быстрого перехода “@google” и “@amazon”. При клике на новые ярлыки вместо перехода на сайт осуществляется подстановка ключа с предложением ввести поисковый запрос из адресной строки. Как и обычные кнопки быстрого перехода со стартовой страницы поисковые ярлыки могут быть удалены или перемещены;

  • При попытке закрытия основного окна браузера, в котором остаётся более одной вкладки, или при выходе через меню при наличии нескольких открытых окон, теперь выводится предупреждение с диалогом для подтверждения выхода;

  • Обзор вкладок, отображаемый по “Ctrl+Tab”, теперь показывает не значки, а эскизы окон всех вкладок и прокручивает вкладки в порядке последнего обращения пользователя. Для возврата старого поведения в настройки добавлена опция “Ctrl+Tab cycles through tabs in recently used order”;

  • Firefox теперь определяет активность в операционной системе настроек для людей с ограниченными возможностями (Accessibility) и убирает лишнюю анимацию;
  • Удалена функция открытия отдельных закладок в боковой панели (“Open in Sidebar” в “Library”);
  • Из настроек about:preferences удалена опция для отключения проверки наличия обновлений (“Never check for updates”). Оставлены только опции для автоматической установки обновлений и установки после подтверждения пользователем;
  • Добавлена поддержка спецификации Shadow DOM, предоставляющей средства для комбинирования нескольких деревьев DOM в одну иерархию. API Shadow DOM позволяет решить проблемы с влиянием импортируемых сторонних стилей на другие элементы, давая возможность отделить стиль элемента и связанную с ним подветку DOM от основного документа;
  • Обеспечена поддержка спецификации Custom Elements, позволяющей добавлять собственные HTML-элементы, расширяющие функциональность существующих HTML-тегов (например, для тега button можно добавить анимацию);
  • В HTML-тег “img” добавлен атрибут “decoding”, при помощи которого можно определить метод декодирования изображения (sync, async, auto);
  • Добавлен метод Object.fromEntries(), преобразующий список пар в формате ключ/значение в объект;
  • Добавлено свойство Symbol.prototype.description, возвращающее описание символа. Например, “Symbol.iterator.description” вернёт “Symbol.iterator”;
  • CSS-свойства offset-* переименованы в inset-block-start, inset-block-end, inset-inline-start и inset-inline-end;
  • В CSS добавлен псевдокласс “:defined”, представляющий любой определённый элемент;
  • Добавлен API Media Capabilities, представляющий сведения о возможностях кодирования и декодирования для заданного устройства, поддержке форматов, а также статистике о производительности и эффективности потребления энергии во время воспроизведения звука или видео;
  • Добавлен API Async Clipboard для асинхронной работы с буфером обмена, позволяющий читать и записывать данные в буфер обмена с использованием механизма Promise. Например, для чтения из буфера обмена можно указать “const data = await navigator.clipboard.readText()”, а для записи ‘await
    navigator.clipboard.writeText(“Hello, clipboard.”)’;

  • Добавлен интерфейс SecurityPolicyViolationEvent, позволяющий генерировать события при нарушении Content-Security-Policy;
  • Включена по умолчанию порция свойств и интерфейсов Web Animations API: ready, finished, effect, KeyframeEffect и AnimationEffect;
  • Реализован метод Element.toggleAttribute(), позволяющий инвертировать булевый атрибут – удалить, если он установлен, или добавить, если он отсутствует;
  • Добавлено свойство Window.event, возвращающий установленный сайтом обработчик событий. Удалены методы Window.back() и Window.forward(), которые не поддерживаются в других браузерах;
  • Микрофон теперь одновременно может быть доступен в разных вкладках;
  • Изменено стилевое оформление меню в инструментах для разработчиков/

  • В систему инспектирования добавлен встроенный редактор шрифтов, позволяющий посмотреть используемые на странице шрифты и управлять параметрами как обычных, так и изменчивых шрифтов на странице;

  • В режиме инспектирования сети (Network Monitor) добавлена пиктограмма (перечёркнутый щит) для выделения из общего потока запросов URL известных систем отслеживания перемещений;
  • Включён по умолчанию режим инспектирования средств для людей с ограниченными возможностями (Accessibility inspector), позволяющий оценить какие из Accessibility API используются на странице и какую информацию удаётся извлечь;

  • Прекращён показ системных дополнений на странице about:debugging (для показа в about:config следует установить опцию devtools.aboutdebugging.showSystemAddons);
  • Улучшена поддержка платформы Windows: Для формирования сборок для платформы Windows задействован компилятор Clang, что положительно сказалось на производительности. Тема оформления сборок для Windows теперь адаптируется к тёмным и светлым режимам интерфейса Windows 10;
  • Увеличена производительность сборки для macOS: Улучена отзывчивость интерфейса и ускорено переключение между вкладками. Для WebGL добавлена возможность выбора GPU (атрибут powerPreference), позволяющая на системах с несколькими GPU в приложениях не требующих особо высокой графической производительности задействовать GPU, потребляющий меньше энергии;
  • В версии для Android добавлена возможность просмотра видео поверх контента в режиме “картинка в картинке” (Picture-In-Picture), добавлена поддержка каналов уведомлений и задействованы дополнительные оптимизации производительности и безопасности на платформе Android 8.0 “Oreo”.

Кроме новшеств и исправления ошибок в Firefox 63 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.