Релиз Firefox 79

Состоялся релиз web-браузера Firefox 79, а также мобильной версии Firefox 68.11 для платформы Android. Кроме того, сформировано обновление веток с длительным сроком поддержки 68.11.0 и 78.1.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 80, релиз которой намечен на 25 августа.

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

  • В менеджере паролей добавлена возможность экспорта учётных данных в формате CSV (текстовые поля с разделителями, которые можно импортировать в табличный процессор). При экспорте пароли помещаются в файл в открытом виде. В дальнейшем также планируется реализовать функцию импорта паролей из сохранённого ранее CSV-файла (подразумевается, что пользователю может потребоваться резервное копирование и восстановление сохранённых паролей или перенос паролей из другого браузера). 0_1595945314.png
  • Добавлена настройка для включения динамической изоляции Cookie по отображаемому в адресной строке домену («Dynamic First Party Isolation», когда свои и сторонние вставки определяются на основе базового домена сайта). Настройка предложена в конфигураторе в секции настройки блокировки отслеживания перемещений в выпадающем блоке методов блокировки Cookie. 0_1595946302.png
  • Улучшены средства защиты от отслеживания, автоматически блокирующие Cookie, используемые сторонними счётчиками. Для сайтов, осуществляющих отслеживание, Firefox теперь ежедневно очищает Cookie и данные во внутренних хранилищах, на основании списков систем отслеживания из сервиса Disconnect.me.
  • Добавлена предварительная реализация экрана с экспериментальными настройками «about: preferences#experimental», предоставляющего интерфейс для включения экспериментальных возможностей, похожий на about: flags в Chrome. По умолчанию экран пока недоступен и требует для включения установки параметра «browser.preferences.experimental» в about: conifg. Из доступных для включения экспериментальных возможностей пока предлагается только поддержка «CSS Masonry Layout». 0_1595945982.png
  • Для ноутбуков на базе чипов AMD на платформе Windows 10 включена система композитинга WebRender. WebRender написан на языке Rust и позволяет добиться существенного увеличения скорости отрисовки и снижения нагрузки на CPU за счёт выноса на сторону GPU операций отрисовки содержимого страницы, которые реализованы через выполняемые в GPU шейдеры. Ранее WebRender был включён на платформе Windows 10 для GPU Intel, APU AMD Raven Ridge, AMD Evergreen и на ноутбуках с видеокартами NVIDIA. В Linux WebRender пока активируется для карт Intel и AMD только в ночных сборках, и не поддерживается для карт NVIDIA. Для принудительного включения в about: config следует активировать настройки «gfx.webrender.all» и «gfx.webrender.enabled» или запустить Firefox с выставленной переменной окружения MOZ_WEBRENDER=1.
  • Для пользователей из Германии на странице новой вкладки добавлена новая секция со статьями, рекомендованными сервисом Pocket. Связанная с подбором контента персонализация выполняется на стороне клиента и без передачи сведений о пользователе третьим лицам (в браузер загружается весь список рекомендованных ссылок на текущий день, который ранжируется на стороне пользователя, отталкиваясь от данных истории посещений). Для отключения рекомендованного Pocket контента предусмотрена настройка в конфигураторе (Firefox Home Content/Recommended by Pocket) и опция «browser.newtabpage.activity-stream.feeds.topsites» в about: config.
  • Для Linux-систем с Wayland из-за проблоем со стабильностью отключено по умолчанию использование механизма DMABUF для отрисовки видео в текстуры. Для включения в abоut: config предусмотрена переменная «widget.wayland-dmabuf-video-textures.enabled».
  • На странице about: support появилась новая кнопка «Сlear Startup cache» для очистки кэшей, влияющих на загрузку браузера. Кнопка может способствовать решению некоторых проблем, возникающих при запуске.
  • Ссылки с атрибутом target=»_blank» в тегах ‹a› и ‹area› теперь обрабатываются по аналогии с использованием атрибута rel=«noopener», т.е. воспринимаются как не заслуживающие доверия страницы. Для открытых по данным ссылкам страниц не выставляется свойство Window.opener и не открывается доступ к контексту из которого была открыта ссылка.
  • Для iframe в атрибуте sandbox реализован параметр «allow-top-navigation-by-user-activation», разрешающий выполнять навигацию по родительской странице из изолированного iframe при явном клике пользователя на ссылке, но запрещающая автоматический редирект. Опция полезна для размещения баннеров в iframe, позволяя совершать переходы на заинтересовавшую рекламу, но блокируя нежелательную активность (например, автоматический проброс на другие страницы).
  • Добавлены новые HTTP-заголовки Cross-Origin-Embedder-Policy (COEP) и Cross-Origin-Opener-Policy (COOP), позволяющие включить особый режим изоляции cross-origin для безопасного использования на странице привилегированных операций, которые могут применяться для осуществления атак по сторонним каналам, таким как Spectre.
  • Возвращена поддержка объекта SharedArrayBuffer (позволяет создавать массивы в разделяемой памяти), отключённого после выявления атак класса Spectre. Для обеспечения защиты от Spectre объект SharedArrayBuffer теперь доступен только на страницах, обрабатываемых в режиме cross-origin изоляции. В режиме cross-origin изоляции также теперь разрешено применять не урезанные по точности таймеры Performance.now (). Для определения подобной изоляции следует использовать вышеупомянутые заголовки Cross-Origin-Embedder-Policy и Cross-Origin-Opener-Policy.
  • Реализован метод Promise.any (), который возвращает первый выполненный Promise из списка.
  • Реализован объект WeakRef для определения слабых ссылок (weak reference) на объекты JavaScript, позволяющие сохранить ссылку на объект, но не блокирующие удаление связанного объекта сборщиком мусора.
  • Добавлены новые операторы логического присвоения:»?=»,»&&=» и »||=». Оператор »(x?= y)» выполняет присвоение, только если «x» принимает значение null или undefined. Оператор »(x ||= y)» выполняет присвоение, только если «x» имеет значение FALSE, а в »(x &&= y)» — TRUE.
  • Объект Atomics, используемый для организации синхронизации блокировок примитивов, теперь может применяться не только к разделяемой памяти.
  • В конструктор Intl.DateTimeFormat () добавлна подержка опций dateStyle и timeStyle.
  • В WebAssembly добавлена поддержка пакетных операций с памятью, многопоточности (Shared memory & Atomics) и ссылочных типов.


  • В отладчике JavaScript предложен стек асинхронных вызовов, позволяющий отслеживать асинхронно выполняемые события, таймауты и promise. Цепочки асинхронных вызовов отображаются в отладчике наряду с обычным стеком вызовов, а также приводятся для ошибок в web-консоли и запросов в интерфейсе инспектирования сети.
  • В web-консоли обеспечено отображение кодов состояния 4xx/5xx в форме ошибок, что упрощает их выделение на общем фоне. Для упрощения отладки запрос может быть повторён или просмотрены детали о запросе и ответе.
  • Ошибки JavaScript теперь показываются не только в web-консоли, но и в JavaScript-отладчике с подсветкой вязанной с ошибкой строки в коде и показом всплывающей подсказкой с дополнительной информацией об ошибке.
  • Повышена надёжность открытия исходных текстов SCSS и CSS-in-JS в интерфейсе инспектирования. Во всех панелях улучшена обработка сопоставлений с оригинальным исходным кодом на основе source map.
  • В инструменты для web-разработчиков добавлена новая панель Application, предоставляющие средства для инспектирования и отладки service worker и манифестов web-приложений.
  • В системе инспектирования сети объединены вкладки Messages и Responses.
  • В режиме адаптивного дизайна (Responsive Design Mode) обеспечена симуляция жестов касания с перетаскиваем и скольжения при помощи движения мыши, если включён режим симуляции сенсорных экранов.
  • Firefox 68.11 для Android станет последним выпуском в ветке. В начале августа планируется постепенный перевод пользователей на новую редакцию, развиваемую под кодовым именем Fenix и проходившую тестирование под именем Firefox Preview. Сборки Firefox 79 для Android переведены на кодовую базу Fenix. Новая редакция использует движок GeckoView, построенный на базе технологий Firefox Quantum, и набор библиотек Mozilla Android Components, которые уже применяются для построения браузеров Firefox Focus и Firefox Lite. GeckoView является вариантом движка Gecko, оформленном в виде отдельной библиотеки, которую можно обновлять независимо, а Android Components включает библиотеки с типовыми компонентами, обеспечивающими работу вкладок, автодополнения ввода, поисковых подсказок и других возможностей браузера. Для работы требуется как минимум Android 5.0 (поддержка Android 4.4.4 прекращена). По умолчанию отключён доступ к about: config.

Кроме новшеств и исправления ошибок в Firefox 79 устранена 21 уязвимость, из которых 15 помечены как опасные. 12 уязвимостей (собраны под CVE-2020–15659) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

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

© OpenNet