Релиз Firefox 53
Увидел свет релиз web-браузера Firefox 53, а также мобильной версии Firefox 53 для платформы Android. В ближайшие часы ожидается обновление ветки с длительным сроком поддержки 52.1.0. Также началась подготовка выпуска SeaMonkey 2.48, для которого на днях опубликована бета-версия. В скором времени на стадию бета-тестирования перейдёт ветка Firefox 54, релиз которой намечен на 13 июня. Aurora-выпуски больше формироваться не будут.
Основные новшества:
- Полностью переработано оформление уведомлений для подтверждения предоставления web-приложению или сайту дополнительных полномочий, таких как доступ к определению местоположения, микрофону, камере, API для offline-хранения, выводу уведомлений и т.п. Уведомления о запросе расширенных полномочий стали более заметными, наглядными и простыми для понимания. В адресной строке предусмотрена возможность быстрого доступа к полномочиям с возможностью их изменения в любой момент и доступом к расширенным настройкам сайта, позволяющим заблокировать загрузку изображений, обработку cookie и использование плагинов.
- Поддержка многопроцессного режима расширена наработками проекта Quantum Compositor (e10s-gpu), в рамках которого код композитинга и интерфейса для взаимодействия с GPU вынесен в отдельный процесс, что позволяет защитить браузер от проблем, возникающих из-за графических драйверов и сбоев в графическом API. В случае сбоя графического драйвера процесс композитинга автоматически перезапускается без негативного влияния на работу остальных частей браузера. Проведённый в ночных сборках эксперимент показал, что тестовое включение Quantum Compositor привело к сокращению общего числа жалоб на крахи браузера на 1.2%, крахов в процессе завершения работы на 5.1%, крахов плагинов на 5.5% и число отчётов о крахах GPU-драйверов уменьшилось на 45%. Отдельный процесс для отрисовки пока активирован только для платформы Windows;
- В дополнение к ранее применяемой базовой теме оформления в основной состав включены две новые темы оформления — Compact Dark и Compact Light, созданные по мотивам тем оформления для Firefox Developer Edition. Новые темы можно активировать через Appearance в менеджере дополнений (about: addons) или через меню настройки внешнего вида (Menu/Customize). Новые темы являются первым шагом на пути к реализации плана по визуальному обновлению Firefox в 2017 году.
- По умолчанию активирована блокировка воспроизведения мультимедийного контента в фоновых вкладках. Звук и видео теперь начинают воспроизводиться только после того, как пользователь явно перейдёт на вкладку (воспроизведение не начнётся, пока вкладка не станет видимой);
- В контекстное меню, отображаемое при клике правой кнопкой мыши на вкладке, добавлена возможность быстрой отправки вкладки на другой экземпляр настольной и мобильной версий Firefox;
- Добавлена система детализированного подтверждения полномочий, которые требуют дополнения на базе WebExtensions. Перед установкой дополнения, или в случае изменений списка полномочий при доставке обновлений, пользователь должен подтвердить предоставление дополнению расширенных прав, таких как доступ к пользовательским данным или содержимому вкладок;
- В сборках для платформы Linux прекращена поддержка процессоров x86, не поддерживающих инструкции SSE2 (процессоры старее Pentium 4 и AMD Opteron, в том числе Pentium 3, Athlon XP и VIA C3);
- Обеспечена возможность применения легковесных тем оформления для окон, открытых в режиме приватного просмотра;
- В режиме читателя (Reader Mode) реализовано отображение приблизительного времени чтения страницы;
- Изменён метод отображения обрезанной части заголовка страницы на вкладках — вместо многоточия реализован эффект смазывания (затухания) последних букв;
- Обновлены элементы интерфейса для управления воспроизведением мультимедийного содержимого;
- Добавлена поддержка канала прозрачности для видео в формате 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);
- Продолжено усовершенствование 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 и т.п.) для полного или частичного скрытия видимых элементов. В частности, можно описать как использовать другой графический элемент или изображение в качестве маски для изменения яркости или прозрачности;
- Добавлено 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:
- Предоставлена возможность включения размещения вкладок в две колонки (активируется в настройках).
- При удержании нажатия на предложенный вариант поискового запроса (search suggestion), данный запрос будет удалён из истории посещений. Код для декодирования звука и видео выделен в отдельный процесс, что положительно скажется на стабильности воспроизведения.
- Пользователю предоставлена возможность размещения на домашний экран Android ярлыков со ссылками на сайты c предопределёнными пиктограммами.
Кроме новшеств и исправления ошибок в Firefox 53 устранена серия уязвимостей, из которых 8 помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
© OpenNet