Состоялся релиз web-браузера Firefox 88. Кроме того, сформировано обновление ветки с длительным сроком поддержки 78.10.0. На стадию бета-тестирования переведена ветка Firefox 89, релиз которой намечен на 1 июня.
- В просмотрщике PDF добавлена поддержка интегрированных в PDF-файлы форм ввода, в которых для обеспечения интерактивного взаимодействия с пользователем используется JavaScript.
- В системе вывода на печать выполнена локализация единиц измерения, используемых для задания полей.
- Введено ограничение на интенсивность показа запроса полномочий для доступа к микрофону и камере. Подобные запросы не будут показываться, если в течение последних 50 секунд пользователь уже предоставлял доступ к тому же устройству для того же сайта и той же вкладки.
- Вызов инструмента для создания скриншотов удалён из меню “Page Actions”, показываемого при нажатии на многоточие в адресной строке. Для создания скриншотов рекомендуется вызывать соответствующий инструмент для контекстного меню, показываемого при клике правой кнопкой мыши или разместить ярлык в панели через интерфейс настройки внешнего вида.
- Добавлена поддержка масштабирования щипком на тачпадах в Linux с графическими окружениями на базе протокола Wayland.
- Включена по умолчанию поддержка формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1.
- При запуске Firefox в окружениях Xfce и KDE активировано использование движка композитинга WebRender. В Firеfox 89 ожидается включение WebRender для всех остальных пользователей Linux, включая все версии Mesa и системы с драйверами NVIDIA (ранее webRender был включён только для GNOME при наличии драйверов Intel и AMD). WebRender написан на языке Rust и позволяет добиться существенного увеличения скорости отрисовки и снижения нагрузки на CPU за счёт выноса на сторону GPU операций отрисовки содержимого страницы, которые реализованы через выполняемые в GPU шейдеры. Для принудительного включения в about:config следует активировать настройку “gfx.webrender.enabled” или запустить Firefox с выставленной переменной окружения MOZ_WEBRENDER=1.
- Началось поэтапное включение протоколов HTTP/3 и QUIC. Вначале поддержка HTTP/3 будет активирована лишь для небольшого процента пользователей и, если не возникнет непредвиденных проблем, будет доведена до всех к концу мая. Для использования HTTP/3 требуется поддержка на стороне клиента и сервера одной и той же версии чернового стандарта QUIC и HTTP/3, которая указывается в заголовке Alt-Svc (Firefox поддерживает черновики спецификации с 27 по 32).
- Отключена по умолчанию поддержка протокола FTP. Настройка network.ftp.enabled по умолчанию установлена в значение false, а параметр для расширений browserSettings.ftpProtocolEnabled переведён в режим только для чтения. В следующем выпуске будет удалён весь код, связанный с FTP. В качестве причины называется снижение рисков атак на старый, имеющий историю выявления уязвимостей и имеющий проблемы с сопровождением код с реализацией поддержки FTP. Также упоминается избавление от протоколов, не поддерживающих шифрование, которые незащищены от модификации и перехвата транзитного трафика при совершении MITM-атак.
- Для блокирования возможных межсайтовых утечек обеспечена изоляция значения свойства “window.name” первичным сайтом, с которого открыта страница.
- В JavaScript для результата выполнения регулярных выражений добавлено свойство “indices“, которое содержит массив c начальными и конечными позициями групп совпадений. Свойство заполняется только при выполнении регулярного выражения с флагом “/d”. let re = /quicks(brown).+?(jumps)/igd; let result = re.exec(‘The Quick Brown Fox Jumps Over The Lazy Dog’); // result.indices[0] === Array [ 4, 25 ] // result.indices[1] === Array [ 10, 15 ] // result.indices[2] === Array [ 20, 25 ]
- В Intl.DisplayNames() и Intl.ListFormat() ужесточена проверка того, что опции, передаваемые в конструктор, являются объектами. При попытке передачи строк или других примитивов будет генерироваться исключения.
- Для DOM предоставлен новый статический метод AbortSignal.abort(), возвращающий AbortSignal, для которой уже выставлен параметр aborted.
- В CSS реализованы новые псевдо-классы “:user-valid” “:user-invalid”, определяющие состояние проверки элемента формы, для которого после взаимодействия пользователя с формой была выполнена проверка корректности указанных значений.
- Для содержимого и курсора реализована CSS-функция image-set(), позволяющая выбрать изображение из набора вариантов с разным разрешением, наиболее подходящее для текущих параметров экрана и пропускной способности сетевого подключения.
- В CSS-свойстве outline обеспечено соответствие контуру, установленному при помощи свойства border-radius.
- Для macOS моноширинный шрифт по умолчанию изменён на Menlo.
- В инструментах для web-разработчиков в панели инспектирования сети появилась новая кнопка для переключения между показом HTTP-ответов в формате JSON и в неизменном виде, так как ответы переданы по сети.
Кроме новшеств и исправления ошибок в Firefox 88 устранено 17 уязвимостей, из которых 9 помечены как опасные. 5 уязвимостей (собраны под CVE-2021-29947) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
Release.
Ссылка here.