Состоялся релиз web-браузера Firefox 90. Кроме того, сформировано обновление ветки с длительным сроком поддержки 78.12.0. На стадию бета-тестирования в ближайшее время будет переведена ветка Firefox 91, релиз которой намечен на 10 августа.
- В разделе настроек “Конфиденциальность и безопасность” добавлены дополнительные настройки режима “HTTPS Only”, при включении которого все выполняемые без шифрования запросы автоматически перенаправляются на защищённые варианты страниц (“https://” заменяется на “https://”). Предложен интерфейс для ведения списка исключений, для сайтов из которого сохраняется возможность использования “https://” без принудительной замены на “https://”.
- Улучшена реализация механизма SmartBlock, предназначенного для решения проблем на сайтах, возникающих из-за блокировки внешних скриптов в режиме приватного просмотра или при активации усиленной блокировки нежелательного контента (strict). SmartBlock автоматически заменяет применяемые для отслеживания скрипты заглушками, обеспечивающими корректную загрузку сайта. Заглушки подготовлены для некоторых популярных скриптов отслеживания пользователей, занесённых в список Disconnect. В новой версии включена адаптивная блокировка виджетов Facebook, размещаемых на сторонних сайтах – по умолчанию скрипты блокируются, но блокировка отключается, если пользователь вошёл в учётную запись Facebook.
- Удалена встроенная реализация протокола FTP. При попытке открытия ссылок с идентификатором протокола “ftp://” браузер теперь попытается вызывать внешнее приложение по аналогии с тем как вызываются обработчики “irc://” и “tg://”. В качестве причины прекращения поддержки FTP называется незащищённость данного протокола от модификации и перехвата транзитного трафика при совершении MITM-атак. По мнению разработчиков Firefox, в современных условиях нет причин в использовании FTP вместо HTTPS для загрузки ресурсов. Кроме того, код поддержки FTP в Firefox очень старый, создаёт проблемы при сопровождении и имеет историю выявления большого числа уязвимостей в прошлом.
- При сохранении страницы в формате PDF (опция “Print to PDF”) в документе обеспечено сохранение работающих гиперссылок.
- Кнопка “Open Image in New Tab” в контекстном меню переделана для открытия изображения в фоновой вкладке (ранее после клика сразу производился переход на новую вкладку с изображением, а теперь активной остаётся старая вкладка).
- Проведена работа по повышению производительности программной отрисовки в системе композитинга WebRender, использующей шейдеры для выполнения операций сводной отрисовки элементов страницы. Для большинства систем со старыми видеокартами или проблемными графическими драйверами в системе композитинга WebRender включён режим программной отрисовки (gfx.webrender.software=true в about:config).
- В сборках для платформы Windows обеспечено применение обновлений в фоновом режиме, даже когда Firefox не запущен.
- Реализована возможность использования для аутентификации клиентских сертификатов, хранимых в аппаратных токенах или хранилищах сертификатов операционной системы.
- Реализована поддержка группы HTTP-заголовков Fetch Metadata (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site и Sec-Fetch-User), позволяющих отправить дополнительные метаданные о характере запроса (межсайтовый запрос, запрос через тег img, запрос инициированный без действий пользователя и т.п.) с целью принятия на сервере мер для защиты от некоторых типов атак. Например, маловероятно, что ссылка на обработчик для перевода денег будет задана через тег img, поэтому такие запросы можно блокировать без передачи приложению.
- В JavaScript реализована поддержка пометки методов и полей класса приватными, после чего доступ к ним будет открыт только внутри класса. Для пометки следует указать перед именем знак “#”: class ClassWithPrivateField { #privateField; static #PRIVATE_STATIC_FIELD; #privateMethod() { return ‘hello world’; } }
- В конструктор Intl.DateTimeFormat добавлено свойство dayPeriod, позволяющее вывести приблизительное время дня (утром, вечером, днём, ночью).
- В JavaScript в объектах Array, String и TypedArray реализован метод at(), позволяющий использовать относительную индексацию (в качестве индекса массива указывается относительная позиция), в том числе с указанием отрицательных значений относительно конца (например, “arr.at(-1)” вернёт последний элемент массива).
- Добавлена поддержка устаревших свойств WheelEvent – WheelEvent.wheelDelta, WheelEvent.wheelDeltaX и WheelEvent.wheelDeltaY, которая позволит вернуть совместимость с некоторыми старыми страницами, утерянную после недавней переделки WheelEvent.
- В API Canvas в интерфейсе CanvasRenderingContext2D реализован метод createConicGradient(), позволяющий создавать градиенты, формируемые вокруг точки с заданными координатами (в дополнение к ранее доступным линейным и радиальным градиентам).
- Добавлена поддержка URI-схемы протокола “matrix”, которая может использоваться в обработчиках Navigator.registerProtocolHandler() и protocol_handlers.
- В инструментах для web-разработчиков в панели для отслеживания сетевых ответов сервера (Response) реализован предпросмотр загружаемых шрифтов.
Release.
Ссылка here.