Доступен Firefox 74.
- Менеджер паролей научился сортировать записи в обратном порядке (Я-А).
- Покончено с дополнениями, установленными глобально (для всех пользователей в системе, например, в %ProgramFiles%\Mozilla Firefox\extensions). Подобный метод распространения используется для предустановки в дистрибутивах, а также для навязывания дополнений при установке стороннего ПО. Разработчики сочли его порочным, ведь это лишает пользователя возможности удалить такие дополнения через менеджер дополнений (например, если дополнение вызывает проблемы, или пользователю не нравится, что ему навязывают). Теперь управление дополнениями полностью подконтрольно пользователю. Уже установленные дополнения продолжат работать (пользователь отныне способен удалить их через управление дополнениями), а вновь установленные будут проигнорированы. Сборщикам кастомных дистрибутивов (Windows) и мейнтейнерам (Linux) будет предоставлена специальная опция на этапе сборки, возвращающая поддержку глобально установленных дополнений. Корпоративным пользователям предоставлена возможность развёртывать дополнения через групповые политики.
- Дополнение Facebook Container (автоматически открывает соцсеть в отдельном контейнере) поддерживает пользовательский список доменов, которые также будут автоматически помещены в контейнер.
- Кнопка создания новой вкладки получила меню, вызываемого правой кнопкой мыши (работает только при включённых контейнерах), из которого можно выбрать контейнер для создаваемой вкладки. Кроме того, добавлена настройка «Выбирать контейнер для каждой новой вкладки», которая позволяет вызывать такое меню и левой кнопкой мыши.
- Появилась возможность запретить открепление вкладки. Неосторожное превращение вкладки в отдельное окно раздражало пользователей на протяжении многих лет (соответствующий тикет открыт 9 лет назад). Для отключения открепления вкладок поведения предусмотрена настройка
browser.tabs.allowTabDetach
. - Горячие клавиши дополнений теперь могут быть не только переназначены, но и отключены.
- Для пользователей из США по умолчанию включено использование DNS поверх HTTPS. Резолвер по умолчанию — Cloudflare. В настройках можно поменять его на NextDNS или указать адрес собственного резолвера.
- В сборках для Linux применена технология RLBox. C++ код потенциально уязвимых сторонних библиотек преобразуется в модуль WebAssembly, полномочия которого строго ограничены, а затем модуль компилируется в машинный код и выполняется в изолированном процессе. Первой такой библиотекой стала Graphite.
- Для устройств с сенсорными экранами реализовано ускорение прокрутки.
- В Windows и macOS стал возможен импорт данных из Edgium (Edge на движке Chromium).
- Браузер больше не раскрывает локальный IP-адрес машины через WebRTC (вместо локального адреса используется случайный идентификатор), поэтому пользователям рекомендуется сбросить настройки media.peerconnection.ice.default_address_only и media.peerconnection.ice.no_host (изменением этих настроек ранее достигалось скрытие локального адреса).
- Поиск по истории отныне игнорирует диакритические знаки (например, поиск слова פסח также найдёт все вхождения פֶּסַח).
- Как и было объявлено полтора года назад, отключена поддержка TLS 1.0 и TLS 1.1. Если сервер не поддерживает TLS 1.2, пользователь увидит сообщение об ошибке установки защищённого соединения и кнопку, включающую поддержку устаревших протоколов (в будущем их поддержка будет полностью удалена). Остальные популярные браузеры в этом году тоже отключают поддержку старых (TLS 1.0 появился в 1999, а TLS 1.1 — в 2006 году) протоколов, поскольку те не поддерживают современные быстрые и надёжные алгоритмы (ECDHE, AEAD), зато требуют поддержки старых и слабых (TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SHA1, MD5). Год назад доля трафика, использующего эти протоколы, не превышала полпроцента, а к настоящему моменту сократилась ещё больше.
- HTTP:
- Включена поддержка HTTP-заголовка Feature Policy. С его помощью разработчик сайта может указать, какие возможности и API браузер должен использовать или не использовать (например, чтобы оптимизировать работу сайта). Feature Policy чем-то напоминает CSP, но управляет возможностями браузера, а не безопасностью. Как следствие, фреймы (<iframe>) в которых открыт другой домен, больше не могут запрашивать доступ к геолокации, камере, микрофону, захвату экрана и полноэкранному режиму, если это явно не разрешено с помощью Feature Policy.
- Реализована поддержка Cross-Origin-Resource-Policy (CORP), С его помощью сайты могут блокировать определённые запросы из сторонних источников (например, запретить обращение со сторонних ресурсов к скриптам и изображениям текущего сайта), что препятствует спекулятивным атакам по побочным каналам (Meltdown и Spectre), а также атакам с использованием межсайтовых сценариев.
- Добавлены событие languagechange_event, которое срабатывает при смене пользователем предпочитаемого языка.
- CSS:
- Включена поддержка свойства text-underline-position, позволяющего управлять положением подчеркивания (например, установить подчеркивание ниже подстрочных символов химической формулы).
- Значения свойств text-underline-offset и text-decoration-thickness отныне могут быть выражены в процентах.
- Свойство outline-style обзавелось поддержкой значения
auto
. - Прекращена поддержка свойств -moz-column-*, вместо которых следует использовать стандартные свойства без префикса.
- JavaScript:
- Реализован оператор опциональной последовательности (?.)
- Удалены нестандартный метод Object.prototype.toSource и глобальная функция uneval. Они появились ещё во времена Netscape, но так и не получили поддержки со стороны других браузеров.
- Инструменты разработчика:
- Распознавание неработающих правил CSS теперь учитывает позиционирование элементов.
- Отладчик JavaScript научился отлаживать вложенные веб-воркеры.
- Улучшена интеграция с дополнением React Developer Tools.
>>> Подробности