Релиз Firefox 53

Увидел свет релиз web-браузера Firefox 53, а также мобильной версии Firefox 53 для платформы Android. В ближайшие часы ожидается обновление ветки с длительным сроком поддержки 52.1.0. Также началась подготовка выпуска SeaMonkey 2.48, для которого на днях опубликована бета-версия. В скором времени на стадию бета-тестирования перейдёт ветка Firefox 54, релиз которой намечен на 13 июня. Aurora-выпуски больше формироваться не будут.

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

  • Полностью переработано оформление уведомлений для подтверждения предоставления web-приложению или сайту дополнительных полномочий, таких как доступ к определению местоположения, микрофону, камере, API для offline-хранения, выводу уведомлений и т.п. Уведомления о запросе расширенных полномочий стали более заметными, наглядными и простыми для понимания. В адресной строке предусмотрена возможность быстрого доступа к полномочиям с возможностью их изменения в любой момент и доступом к расширенным настройкам сайта, позволяющим заблокировать загрузку изображений, обработку cookie и использование плагинов. 0_1489348361.png 0_1489353211.png
  • Поддержка многопроцессного режима расширена наработками проекта Quantum Compositor (e10s-gpu), в рамках которого код композитинга и интерфейса для взаимодействия с GPU вынесен в отдельный процесс, что позволяет защитить браузер от проблем, возникающих из-за графических драйверов и сбоев в графическом API. В случае сбоя графического драйвера процесс композитинга автоматически перезапускается без негативного влияния на работу остальных частей браузера. Проведённый в ночных сборках эксперимент показал, что тестовое включение Quantum Compositor привело к сокращению общего числа жалоб на крахи браузера на 1.2%, крахов в процессе завершения работы на 5.1%, крахов плагинов на 5.5% и число отчётов о крахах GPU-драйверов уменьшилось на 45%. Отдельный процесс для отрисовки пока активирован только для платформы Windows; 0_1485672636.png
  • В дополнение к ранее применяемой базовой теме оформления в основной состав включены две новые темы оформления — Compact Dark и Compact Light, созданные по мотивам тем оформления для Firefox Developer Edition. Новые темы можно активировать через Appearance в менеджере дополнений (about: addons) или через меню настройки внешнего вида (Menu/Customize). Новые темы являются первым шагом на пути к реализации плана по визуальному обновлению Firefox в 2017 году. 0_1485673819.png 0_1485673844.png
  • По умолчанию активирована блокировка воспроизведения мультимедийного контента в фоновых вкладках. Звук и видео теперь начинают воспроизводиться только после того, как пользователь явно перейдёт на вкладку (воспроизведение не начнётся, пока вкладка не станет видимой);
  • В контекстное меню, отображаемое при клике правой кнопкой мыши на вкладке, добавлена возможность быстрой отправки вкладки на другой экземпляр настольной и мобильной версий Firefox;
  • Добавлена система детализированного подтверждения полномочий, которые требуют дополнения на базе WebExtensions. Перед установкой дополнения, или в случае изменений списка полномочий при доставке обновлений, пользователь должен подтвердить предоставление дополнению расширенных прав, таких как доступ к пользовательским данным или содержимому вкладок; 0_1485677297.png
  • В сборках для платформы Linux прекращена поддержка процессоров x86, не поддерживающих инструкции SSE2 (процессоры старее Pentium 4 и AMD Opteron, в том числе Pentium 3, Athlon XP и VIA C3);
  • Обеспечена возможность применения легковесных тем оформления для окон, открытых в режиме приватного просмотра;
  • В режиме читателя (Reader Mode) реализовано отображение приблизительного времени чтения страницы;
  • Изменён метод отображения обрезанной части заголовка страницы на вкладках — вместо многоточия реализован эффект смазывания (затухания) последних букв; 0_1492622145.png
  • Обновлены элементы интерфейса для управления воспроизведением мультимедийного содержимого; 0_1485675142.png
  • Добавлена поддержка канала прозрачности для видео в формате WebM, что позволяет организовать воспроизведение с просвечивающим фоном;
  • Для очень больших меню, включающих более 40 элементов, реализована функция inline-поиска элементов меню (функция отключена по умолчанию, для включения в about: config следует установить переменную dom.forms.selectSearch);
  • В дополнениях запрещена загрузка бинарных компонентов и разделяемых библиотек непосредственно в процесс Firefox. Разработчикам дополнений, в которых используется нативный код, рекомендуется перейти на технологии WebExtensions и API Native Messaging, который подразумевает запуск связанного с дополнением исполняемого файла в отдельном процессе и организацию канала связи с ним. Начиная с Firefox 53 все дополнения, использующие JS-ctypes или напрямую загружающие бинарные данные в процесс будут занесены в чёрный список;
  • По умолчанию включен интерфейс для навигации по структурированным данным в формате JSON. В интерфейсе предоставлена возможность раскрытия блоков в соответствии с заданным фильтром и сохранения или копирования выделенных областей. В состав кодовой базы просмотрщик JSON добавлен ещё в Firefox 44, но до сих пор был отключен по умолчанию (devtools.jsonview.enabled в about: config); 0_1484248523.png
  • Продолжено усовершенствование API WebExtensions для разработки дополнений, совместимых с браузером Chrome. В новой версии реализована большая часть API browser.browsingData, которое позволяет удалять из Firefox накопленные в процессе навигации данные, такие как данные форм, cookie, пароли, загрузки, содержимое кэша, история посещений. Частично реализован API browser.identity, предоставляющий средства для аутентификации с использованием OAuth.

    Добавлен новый API browser.contextualIdentities с реализацией системы контейнеров для изоляции параметров идентификации (например, в разных вкладках можно использовать разные учётные записи к одному сайту). Успешно прошёл тестирование и включён по умолчанию API browser.storage.sync. Началась реализация API browser.devtools. Существенно расширены возможности по созданию контекстных меню.

  • Добавлена поддержка установки защищённых соединений с использованием TLS 1.3. TLS 1.3 представляет собой улучшенную версию протокола TLS и отличается удалением устаревших и ненадёжных криптографических примитивов (MD5, SHA-224) и возможностей (сжатие, повторное согласование, не-AEAD шифры, статический обмен ключами RSA и DH, указание unix-времени в Hello-сообщениях и т.п.), работает только в режиме forward secrecy (компрометации одного из долговременных ключей не позволяет расшифровать перехваченный сеанс), обеспечивает более высокую производительность, поддерживает режим 0-RTT (устраняет задержки при согласовании соединений), поддерживает ChaCha20/Poly1305, Ed25519, x25519 и x448.
  • В about: config добавлена опция network.http.referer.userControlPolicy, позволяющая определить применяемую по умолчанию политику отправки заголовка Referrer: 0 — не заполнять, 1 — заполнять только для того же домена (same-origin), 2 — отправлять обрезанным на другие хосты (strict-origin-when-cross-origin), 3 — отправлять за исключением случая обращении из области HTTPS к HTTP (no-referrer-when-downgrade, по умолчанию);
  • Добавлен API Intersection Observer, позволяющий увеличить производительность сайта за счёт применения техники отложенной загрузки контента и значительного снижения накладных расходов при проверке видимости контента (API отключен по умолчанию, для включения в about: config следует установить переменную dom.IntersectionObserver.enabled);
  • Включена по умолчанию поддержка CSS-свойств «mask-*» (mask-clip, mask-border, mask-image, mask-position, mask-origin, mask-size и т.п.) для полного или частичного скрытия видимых элементов. В частности, можно описать как использовать другой графический элемент или изображение в качестве маски для изменения яркости или прозрачности; 0_1492621168.png
  • Добавлено CSS-свойство caret-color, через которое можно изменить цвет курсора для форм ввода;
  • Добавлены комбинированные CSS-свойства place-items, place-self и place-content, позволяющие одним действием установить пары свойств align-items и justify-items, e align-self и justify-self;
  • В CSS-свойство display добавлена поддержка значения flow-root, позволяющего сгенерировать блочный элемент, соответствующий новой технике блочного форматирования контента;
  • В экспериментальном CSS-свойстве tab-size (-moz-tab-size) появилась возможность задания произвольного размера табуляции в пикселях, а не только через определения числа пробелов;
  • Специфичный для движка Gecko префикс »-moz-» удалён для псевдокласса »: dir ()», свойства text-align-last и метода calc ();
  • Добавлена описанная в спецификации ECMAScript 2015 семантика для свойств Function.name, включая возможность определения имён для анонимных функций (var foo = function () {});
  • Блокирован перебор свойств объектов MimeTypeArray, Plugin и PluginArray для предотвращения использования для косвенной идентификации пользователя;
  • Добавлена поддержка WebGL-расширения WEBGL_compressed_texture_astc;
  • Удалены Wifi information API, Speaker Manager API, Tethering API и Settings API, применявшиеся в Firefox OS;
  • В средствах для web-разработчиков появилась опция «Copy CSS Path» для копирования CSS-селектора, представляющего полный путь к элементу;
  • Из about: config убрана опция network.standard-url.encode-utf8, вместо которой следует использовать «browser.urlbar.decodeURLsOnCopy = true»;
  • На 64-разрядных системах Windows 7+ теперь по умолчанию устанавливаются 64-разрядные сборки Firefox;
  • На платформе Windows возобновлена поддержка событий сенсорного экрана;
  • Прекращена поддержка 32-разрядных версий Mac OS X. Для платформы macOS теперь формируются только 64-разрядные сборки Firefox, создание универсальных сборок прекращено;
  • Уменьшен размер обновлений к сборкам для macOS;
  • Прекращена поддержка платформ Windows XP и Vista, а также 32-разрядных версий macOS. Последним LTS-выпуском для данных систем является Firefox 52, который будет поддерживаться до апреля 2018 года;
  • После выхода Firefox 53 в каталоге дополнений Mozilla планируют прекратить генерацию цифровых подписей для новых классических дополнений, написанных с использованием XUL, SDK и XPCOM. Приниматься будут только дополнения на базе WebExtensions. Ограничение касается только новых дополнений для настольных сборок Firefox, обновления к ранее добавленным дополнениям смогут быть подписаны, как и дополнения к Firefox для Android, Thunderbird и Seamonkey.
  • В версии для платформы Android:
    • Предоставлена возможность включения размещения вкладок в две колонки (активируется в настройках). 0_1492622407.png
    • При удержании нажатия на предложенный вариант поискового запроса (search suggestion), данный запрос будет удалён из истории посещений. Код для декодирования звука и видео выделен в отдельный процесс, что положительно скажется на стабильности воспроизведения.
    • Пользователю предоставлена возможность размещения на домашний экран Android ярлыков со ссылками на сайты c предопределёнными пиктограммами.

Кроме новшеств и исправления ошибок в Firefox 53 устранена серия уязвимостей, из которых 8 помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

© OpenNet