Релиз Firefox 78
30 июня 2020 года
Состоялся релиз браузера Firefox 78, а также мобильной версии Firefox 68.10 для платформы Android. Выпуск Firefox 78 отнесён к категории веток с длительным сроком поддержки (ESR), обновления для которых выпускаются в течение года. Кроме того, сформировано обновление прошлой ветки с длительным сроком поддержки 68.10.0 (в дальнейшем ожидается ещё два обновления 68.11 и 68.12). В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 79, релиз которой намечен на 28 июля 2020.
- Расширена сводная страница (Protections Dashboard) с отчётами об эффективности работы механизмов защиты от отслеживания перемещений, проверки компрометации учётных данных и управления паролями. В новом выпуске появилась возможность просмотреть статистику использованию скомпрометированных учётных данных, а также отследить возможные пересечения сохранённых паролей с известными утечками пользовательских баз. Проверка осуществляется через интеграцию с базой данных проекта haveibeenpwned.com, включающей сведения о 9.7 миллиардах учётных записей, похищенных в результате взломов 456 сайтов. Сводка предоставляется на странице «about: protections» или через меню, вызываемое через клик на значок щита в адресной строке (вместо Show Report теперь показывается Protections Dashboard).
- В Uninstaller добавлена кнопка «Refresh Firefox», позволяющая сбросить в исходное состояние настройки и удалить все дополнения без потери накопившихся данных. В случае проблем пользователи часто пытаются решить их переустановкой браузера. Кнопка Refresh позволит добиться подобного эффекта не потеряв закладки, историю посещений, сохранённые пароли, Cookie, подключённые словари и данные для автозаполнения форм (при нажатии кнопки создаётся новый профиль и в него переносятся указанные БД). После нажатия Refresh будут потеряны дополнения, темы оформления, сведения о правах доступа, подключённые поисковые движки, локальные DOM-хранилища, сертификаты, изменённые настройки, пользовательские стили (userChrome, userContent).
- В показываемое для вкладок контекстное меню добавлены элементы для отмены закрытия нескольких вкладок, а также для закрытия вкладок справа от текущей и закрытия всех вкладок, кроме текущей.
- Обеспечено отключение срабатывания хранителя экрана во время осуществления видеозвонков и конференций на базе WebRTC.
- На платформе Windows для GPU Intel при любых разрешения экрана включена система композитинга WebRender, написанная на языке Rust и позволяющая добиться существенного увеличения скорости отрисовки и снижения нагрузки на CPU. WebRender выносит на сторону 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.
- До 100 % доведена доля пользователей из Великобритании, для которых на странице новой вкладки включено отображение контента, рекомендованного сервисом Pocket. Ранее подобные страницы показывалась только пользователям из США, Канады и Германии. Оплаченные спонсорами блоки показывается только в США и явно помечены как реклама. Связанная с подбором контента персонализация выполняется на стороне клиента и без передачи сведений о пользователе третьим лицам (в браузер загружается весь список рекомендованных ссылок на текущий день, который ранжируется на стороне пользователя, отталкиваясь от данных истории посещений). Для отключения рекомендованного Pocket контента предусмотрена настройка в конфигураторе (Firefox Home Content/Recommended by Pocket) и опция «browser.newtabpage.activity-stream.feeds.topsites» в about: config.
- Включены патчи, влияющие на производительность и стабильность аппаратного ускорения декодирования видео при помощи VA-API (поддерживается только в окружениях на базе Wayland).
- Повышены требования к системным компонентам Linux. Для запуска Firefox в Linux теперь требуется как минимум Glibc 2.17, libstdc++ 4.8.1 и GTK+ 3.14.
- Следуя плану по прекращению поддержки устаревших криптоалгоритмов по умолчанию отключены все наборы шифров TLS на базе DHE (TLS_DHE_*, протокол обмена ключей Диффи-Хеллмана). Для снижения возможного негативного влияния от отключения DHE добавлено два новых набора шифров AES-GCM на базе SHA2.
- Отключена поддержка протоколов TLS 1.0 и TLS 1.1. Для обращения к сайтам по защищённому каналу связи сервер должен предоставить поддержку как минимум TLS 1.2. По данным Google, в настоящее время около 0,5 % загрузок web-страниц продолжает осуществляться с использованием устаревших версий TLS. Отключение произведено в соответствии с рекомендациями IETF (Internet Engineering Task Force). Причиной отказа от поддержки TLS 1.0/1.1 является отсутствие поддержки современных шифров (например ECDHE и AEAD) и требование поддержки старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 и SHA-1). Вернуть возможность работы с устаревшими версиями TLS можно через настройку security.tls.version.enable-deprecated = true или при помощи кнопки на странице с ошибкой, выводимой при заходе на сайт со старым протоколом.
- Существенно улучшено качество работы с экранными ридерами для людей с нарушением зрения (решились проблемы с позиционированием курсора, устранены подвисания, ускорена обработка очень больших таблиц и т. п.). Для пользователей с мигренью и эпилепсией сокращены анимационные эффекты, такие как подсвечивание вкладок и расширение поисковой панели.
- Для предприятий в групповые политики добавлены новые правила для настройки внешних приложений-обработчиков, отключения режима картинка-в-картинке, обязательности задания мастер-пароля.
- В JavaScript-движке SpiderMonkey обновлена подсистема обработки регулярных выражений, которая синхронизирована с реализацией из JavaScript-движка V8, применяемого в браузерах на основе проекта Сhromium. Изменение позволило реализовать поддержку следующих возможностей, связанных с регулярными выражениями:
- Именованные группы позволяют связать сопоставленные регулярным выражением части строки с определёнными именами вместо порядковых номеров совпадений (например, вместо «/(\d{4})-(\d{2})-(\d{2})/» можно указать «/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/» и получить доступ к году не через result[1], а через result.groups.year).
- Экранирование классов Unicode-символов добавляет конструкции \p{…} и \P{…}, например, \p{Number} определяет все возможные знаки с изображением цифр (включая символы вида ①), \p{Alphabetic} — буквы (в том числе иероглифы), \p{Math} — математические символы и т. п.
- Флаг dotAll приводит к срабатыванию маски «.» в том числе для символов перевода строки.
- Режим Lookbehind позволяет определить в регулярном выражении, что один шаблон предшествует другому (например, сопоставить сумму в долларах без захвата знака доллара).
- Реализованы псевдоклассы CSS :is() и :where() для привязки CSS-правил к набору селекторов. Например, вместо header p: hover, main p: hover, footer p: hover {…}можно указать: is(header, main, footer) p: hover {…}
- Включены псевдоклассы CSS :read-only и :read-write для привязки к элементам форм (input или textarea), которые запрещено или разрешено редактировать.
- Добавлена поддержка метода Intl.ListFormat() для создания локализованных списков (например, замены «or» на «или», «and» на «и»). const lf = new Intl.ListFormat('en'); lf.format(['Frank', 'Christine', 'Flora']); // → 'Frank, Christine, and Flora' // при локали «ru» будет 'Frank, Christine и Flora'
- В метод Intl.NumberFormat добавлена поддержка форматирования единиц измерения, валют, научных и компактных обозначений (например, «Intl.NumberFormat('en', {style: 'unit', unit: 'meter-per-second'}»);
- В консоли для web-разработчиков обеспечено детализированное журналирование ошибок, связанных с Promise, включая сведения об именах, стеках и свойствах, что существенно упрощает разбор ошибок при использовании таких фреймворков, как Angular.
- В отладчике JavaScript реализована возможность раскрытия сокращённых имён переменных на основе source-map при использовании точек журналирования (Log points), позволяющих в момент срабатывания метки сбрасывать в web-консоль информацию о номере строки в коде и значениях переменных.
- В интерфейсе инспектирования сети добавлены сведения о расширениях и CORS-ограничениях (Cross-Origin Resource Sharing), которые могут блокировать запрос.
Кроме новшеств и исправления ошибок в Firefox 78 устранена серия уязвимостей, из которых несколько помечены как критические, то есть могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.
Источники
правитьКомментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.