Релиз Firefox 88


Состоялся релиз web-браузера Firefox 88. Кроме того, сформировано обновление ветки с длительным сроком поддержки 78.10.0. На стадию бета-тестирования в ближайшее время будет переведена ветка Firefox 89, релиз которой намечен на 1 июня.

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

  • В просмотрщике PDF добавлена поддержка интегрированных в PDF-файлы форм ввода, в которых для обеспечения интерактивного взаимодействия с пользователем используется JavaScript.
  • Введено ограничение на интенсивность показа запроса полномочий для доступа к микрофону и камере. Подобные запросы не будут показываться, если в течение последних 50 секунд пользователь уже предоставлял доступ к тому же устройству, для того же сайта и той же вкладки.
  • Вызов инструмента для создания скриншотов удалён из меню "Page Actions", показываемого при нажатии на многоточие в адресной строке. Для создания скриншотов рекомендуется вызывать соответствующий инструмент для контекстного меню, показываемого при клике правой кнопкой мыши или разместить ярлык в панели через интерфейс настройки внешнего вида.

  • Добавлена поддержка масштабирования щипком на тачпадах в Linux с графическими окружениями на базе протокола Wayland.
  • В системе вывода на печать выполнена локализация единиц измерения, используемых для задания полей.
  • При запуске 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 = /quick\s(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", определяющие состояние проверки элемента формы, для которого после взаимодействия пользователя с формой была выполнена проверка корректности указанных значений. Ключевым отличием ":user-valid" и ":user-invalid" от псевдо-классов ":valid" и ":invalid" является то, что проверка начинается только после того, как пользователь перешёл на другой элемент (например, переключился табуляцией на другое поле).
  • CSS-функция [image-set()](https://developer.mozilla.org/en-US/docs/Web/CSS/image-set()), позволяющая выбрать изображение из набора вариантов с разным разрешением, наиболее подходящее для текущих параметров экрана и пропускной способности сетевого подключения, теперь может использоваться в CSS-свойствах "content" и "cursor".

    h2::before {
    content: image-set(
    url("small-icon.jpg") 1x,
    url("large-icon.jpg") 2x);
    }

  • В CSS-свойстве outline обеспечено соответствие контуру, установленному при помощи свойства border-radius.
  • Для macOS моноширинный шрифт по умолчанию изменён на Menlo.
  • В инструментах для web-разработчиков в панели инспектирования сети появился переключатель между показом HTTP-ответов в формате JSON и в неизменном виде, в котором ответы переданы по сети.

    • Включение по умолчанию поддержки формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1, отложено до следующего выпуска. В версии Firefox 89 также планируется предложить обновлённый интерфейс пользователя и интегрировать в адресную строку калькулятор (включается через suggest.calculator в about:config)
    Кроме новшеств и исправления ошибок в Firefox 88 устранено 17 уязвимостей, из которых 9 помечены как опасные. 5 уязвимостей (собраны под CVE-2021-29947) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

    Дополнение: Без упоминания в примечании к выпуску в Firefox 88 из контекстного меню удалён пункт "View Page Info", через который было очень удобно просматривать параметры страницы и получать ссылки на картинки и ресурсы, используемые на странице. Горячая клавиша "CTRL+I" для вызова диалога "View Page Info" пока работает. В диалог также можно перейти через главное меню "Tools/Page Info" или нажав на значок с изображением замка в адресной строке, затем нажать на стрелку вбок и нажать на ссылку "More Information".

    Кроме того, из контекстного меню пропал пункт "View Image", через который можно было открыть изображение в текущей вкладе. При этом добавлен новый пункт "Open Image in New Tab", дающий возможность открыть текущее изображение в новой вкладке. Вместо элемента "Undo Close Tab" в контекстном меню вкладок появился пункт "Reopen Closed Tab".

    Источник: https://www.opennet.ru/opennews/art.shtml?num=54989


Comments 0