Релиз Firefox 65
29 января 2019 года
Представлен релиз web-браузера Firefox 65, а также мобильной версии Firefox 65 для платформы Android. Кроме того, сформировано обновление ветки с длительным сроком поддержки 60.5.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 66, релиз которой намечен на 19 марта.
- Предложен новый интерфейс управления блокировкой контента, предлагающий три режима блокировки (стандартный, строгий и настраиваемый):
- В применяемом по умолчанию стандартном режиме блокировка отслеживания применяется только в окне приватного просмотра. Блокировка выполняется для доменов, уличённых в отслеживании перемещений несмотря на установку заголовка "Do Not Track" и занесённых в чёрный список disconnect.me. Ранее планируемая блокировка по умолчанию, не ограниченная приватным режимом, отложена и будет активирована после дополнительных тестов на отдельных категориях пользователей;
- В строгом режиме блокируются все известные системы отслеживания перемещений и все сторонние Cookie, что может привести к нарушению работы отдельных сайтов;
- Настраиваемый режим близок к форме конфигурации, реализованной в Firefox 63. В данном режиме пользователю предоставлена возможность определения списков блокировки (базовый или полный список disconnect.me), выбора вида блокировки Cookie, включения/выключения кода отслеживания перемещений. Из видов блокировки Cookie поддерживается очистка Cookie связанных с кодом для отслеживания, блокировка Cookie от ранее не открывавшихся сайтов, блокировка всех Cookie, выставляемых в контексте другого сайта и очистка любых Cookie;
- Модернизирован индикатор состояния блокировки, отображаемый для каждого сайта в информационной панели "(i)". В индикаторе отображается статус блокировки, выявленные проблемы и ссылки, позволяющие посмотреть для каких доменов заблокированы Cookie из-за отслеживания перемещений;
- Продолжено усовершенствование появившегося в прошлом выпуске интерфейса для анализа потребления ресурсов ( Task Manager), доступного через служебную страницу "about:performance". В новой версии добавлен столбец, отражающий потребление памяти для каждой вкладки и дополнения. Для каждого сайта во вкладке также можно оценить нагрузку, создаваемую внешними скриптами и дополнительными ресурсами, такими как iframe-блоки и Worker-потоки. В интерфейс добавлены кнопки для быстрого закрытия проблемных вкладок и для перехода к параметрам дополнений для их быстрого отключения;
- В настройки добавлена поддержка одновременной установки сразу нескольких языковых наборов с возможностью переключения между ними. Теперь не обязательно загружать изначально локализованную версию - при необходимости можно поменять язык интерфейса в настройках;
- Добавлена поддержка формата изображений WebP, который разработан компанией Google и поддерживает анимированные изображения. В режиме кодирования с потерями WebP позволяет добиться сокращения размера файла на 25%-34% по сравнению с файлами JPEG аналогичного качества, а в режиме сжатия без потерь обеспечивает сокращение результирующего размера файла на 26% по сравнению с максимальным уровнем сжатия PNG. Реализация WebP до сих пор не была включена в состав Firefox из-за расхождения взглядов Mozilla и Google в области поддержки анимированных изображений. Разработчики из Mozilla продвигали формат APNG, а Google отказывался включать поддержку APNG из-за наличия собственного формата WebP. В прошлом году противостояние завершилось включением в Chromium поддержки APNG.
- Добавлена штатная поддержка работы в графическом окружении на основе протокола Wayland. Код для поддержки Wayland уже достаточно давно развивается в кодовой базе Firefox, но до сих пор для его активации требовалась пересборка из исходных текстов. Представленные в новых сборках изменения включают поддержку Wayland из коробки - для использования Wayland достаточно выбрать соответствующий бэкенд GTK+, запустив Firefox с переменной окружения GDK_BACKEND, выставленной в значение "wayland". Статус активации Wayland-бэкенда можно посмотреть на странице about:support (в секциях "WebGL Driver WSI Info" вместо GLX будет указано EGL);
- Для платформ Linux, Android и macOS включена по умолчанию защита SSP (Stack Smashing Protection, при сборке в GCC и Clang применяется опция "-fstack-protector-strong") для блокирования атак, связанных с переполнением буфера в стеке;
- Добавлен вывод предупреждения при закрытия окон, независимо от того, включена ли функция автоматического восстановления сеанса после перезапуска;
--
- Улучшена работа блокировщика всплывающих окон (pop-up blocker). Решена проблема с обходом блокировки через одновременное открытие нескольких всплывающих окон. Отныне Window.open() может вызываться только один раз для каждого события, генерируемого в ответ на действие пользователя;
- Включена поддержка API Storage Access, позволяющего при выполнении стороннего встроенного контента (например, выполняемого в iframe) проверить наличие доступа к браузерному хранилищу и запросить необходимые полномочия у пользователя;
- Включена поддержка API Readable Streams, предоставляющего средства для потоковой обработки поступающих по сети данных (обработка по мере загрузки, не дожидаясь получения всего ресурса) при выполнении запроса при помощи функции fetch();
- Добавлена функция Intl.RelativeTimeFormat() для форматирования времени в текстовом представлении с учётом особенностей различных языков. Например, при выборе английского языка (rtf = new Intl.RelativeTimeFormat('en')) вызов rtf.format(3.14, 'second') приведёт к выводу 'in 3.14 seconds', а rtf.format(-15, 'minute') - '15 minutes ago'. В случае выбора русского языка, соответственно, будут выданы фразы 'через 3,14 секунд' и '15 минут назад';
- Добавлено ключевое слово globalThis для доступа к глобальным объектам независимо от текущего контекста (позволяет избавиться от мешанины из window, self, global и this, употребляемых в зависимости от того, где выполняется скрипт, на странице, в worker-е или в Node.js);
- В объекте FetchEvent реализованы свойства replacesClientId и resultingClientId, определяющие исходный и целевой ресурсы при навигации по страницам;
- В API MediaRecorder добавлены события pause и resume для приостановки и продолжения записи;
- В функцию createImageBitmap() добавлена поддержка SVG-изображений (SVGImageElement);
- Реализована возможность работы WebSockets поверх HTTP/2;
- Добавлена поддержка переменных окружения CSS, которые определяются браузером и в отличие от задаваемых пользователем свойств обрабатываются в контексте всего документа, а не отдельных элементов. Переменные окружения можно использовать в любых свойствах CSS при помощи функции "env()" (например, "padding: env(safe-area-inset-top, 20px)"). Среди поддерживаемых переменных: safe-area-inset-top, safe-area-inset-right, safe-area-inset-bottom и safe-area-inset-left;
- В CSS добавлена функция steps() для синхронизации вывода анимации с выводом кадром через равные промежутки времени. Например, указание "animation: move-across 2s infinite alternate steps(5, jump-end);" вместо сглаженного вывода анимации разобьёт вывод на 5 равных шагов;
- Добавлены CSS-свойства break-before, break-after и break-inside, позволяющие настроить поведение разрывов при фрагментированном выводе в разрезе отдельных страниц, столбцов и областей. Например, "ol, ul, p { break-inside: avoid;}" запретит разрывать страницу внутри списков или параграфов;
- В WebGL добавлена поддержка расширений сжатия текстур BPTC и RGTC;
- Правила оформления заголовка Referrer (referrerpolicy) теперь могут задаваться для скриптов (для тега script);
- Максимальный размер строки в JavaScript увеличен с 256MB до 1GB;
- В средства для web-разработчиков добавлен новый режим для инспектирования и отладки моделей компоновки элементов страницы flexbox, позволяющий анализировать расположение flexbox-контейнеров и проверять корректность выбранного размера элементов;
- Добавлена новая панель "Changes", на которой отражается история всех изменений CSS, произведённых через панель Rules в рамках текущего сеанса работы в инструментах для разработчиков;
- Добавлен инструмент для оценки контраста и читаемости выбранного для текста сочетания цветов;
- Расширены возможности отладчика JavaScript. При отображении трассировок стека для улучшения восприятия основного кода теперь выявляются и сворачиваются обращения к методам фреймворков. Добавлена поддержка установки точек останова на XHR-запросы (POST, GET);
- В JavaScript-консоли добавлена возможность поиска в обратном порядке по истории действий. Обеспечено автоматическое дополнение аргументов "$0", ссылающегося на инспектируемый в настоящий момент элемент (например, при вводе "$0.te" будет предложено "$0.textContent").
- На платформе macOS добавлена возможность использования технологии
Handoff для отправки данных об отрытых вкладках на другие устройства пользователя;
- В сборки для Windows добавлена поддержка формата сжатия видео AV1 (в Linux и macOS он был добавлен в позапрошлом выпуске);
- В версии для платформы Android проведена оптимизация производительности и отзывчивости интерфейса при прокрутке содержимого. Возобновлено отображения в адресной строке кнопок для управления воспроизведением через Chromecast.
Кроме новшеств и исправления ошибок в Firefox 65 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.