Firefox 53 перешёл на стадию бета-тестирования, что ознаменовало прекращение формирования базовой функциональности и сосредоточение всего внимания на выявлении ошибок и контроле качества. Кроме того сформирован выпуск Firefox Developer Edition 54, который заменил собой aurora-ветку, в рамках которой проводится оценка готовности тех или иных новшеств для последующего бета-выпуска. Загрузить бета-выпуск можно на данной странице, а Firefox Developer Edition здесь. Релиз Firefox 53 намечен на 18 апреля, а Firefox 54 на 13 июня.

Изменения, представленные в бета-версии Firefox 53:

  • Полностью переработано оформление уведомлений для подтверждения предоставления 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 году.
  • По умолчанию активирована блокировка воспроизведения мультимедийного контента в фоновых вкладках. Звук и видео теперь начинают воспроизводиться только после того, как пользователь явно перейдёт на вкладку (воспроизведение не начнётся, пока вкладка не станет видимой);
  • Обеспечена возможность применения легковесных тем оформления для окон, открытых в режиме приватного просмотра;
  • В режиме читателя (Reader Mode) реализовано отображение приблизительного времени чтения страницы;
  • Изменён метод отображения обрезанной части заголовка страницы на вкладках - вместо многоточия реализован эффект смазывания (затухания) последних букв;
  • Обновлены элементы интерфейса для управления воспроизведением мультимедийного содержимого;
  • Добавлена поддержка канала прозрачности для видео в формате WebM, что позволяет организовать воспроизведение с просвечивающим фоном;
  • Для очень больших меню, включающих более 40 элементов, реализована функция inline-поиска элементов меню;
  • В дополнениях запрещена загрузка бинарных компонентов и разделяемых библиотек непосредственно в процесс 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. Существенно расширены возможности по созданию контекстных меню.
  • Добавлена система детализированного подтверждения полномочий, которые требуют дополнения на базе WebExtensions. Перед установкой дополнения, или в случае изменений списка полномочий при доставке обновлений, пользователь должен подтвердить предоставление дополнению расширенных прав, таких как доступ к пользовательским данным или содержимому вкладок;
  • В сборках для платформы Linux прекращена поддержка процессоров x86, не поддерживающих инструкции SSE2 (процессоры старее Pentium 4 и AMD Opteron, в том числе Pentium 3, Athlon XP и VIA C3);
  • Прекращена поддержка платформ Windows XP и Vista, а также 32-разрядных версий macOS. Последним LTS-выпуском для данных систем является Firefox 52, который будет поддерживаться до апреля 2018 года;
  • Уменьшен размер обновлений к сборкам для macOS;
  • В 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, позволяющий увеличить производительность сайта за счёт применения техники отложенной загрузки контента и значительного снижения накладных расходов при проверке видимости контента;
  • Включена по умолчанию поддержка 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-селектора, представляющего полный путь к элементу;
  • На 64-разрядных системах Windows 7+ теперь по умолчанию устанавливаются 64-разрядные сборки Firefox;
  • На платформе Windows возобновлена поддержка событий сенсорного экрана;
  • Прекращена поддержка 32-разрядных версий Mac OS X. Для платформы macOS теперь формируются только 64-разрядные сборки Firefox, создание универсальных сборок прекращено;
  • После выхода Firefox 53 в апреле 2017 года в каталоге дополнений Mozilla планируют прекратить генерацию цифровых подписей для новых классических дополнений, написанных с использованием XUL, SDK и XPCOM. Приниматься будут только дополнения на базе WebExtensions. Ограничение касается только новых дополнений для настольных сборок Firefox, обновления к ранее добавленным дополнениям смогут быть подписаны, как и дополнения к Firefox для Android, Thunderbird и Seamonkey.
  • В версии для платформы Android предоставлена возможность включения размещения вкладок в две колонки, при работе в портретном режиме. При удержании нажатия на предложенный вариант поискового запроса (search suggestion), данный запрос будет удалён из истории посещений. Код для декодирования звука и видео выделен в отдельный процесс, что положительно скажется на стабильности воспроизведения. Пользователю предоставлена возможность размещения на домашний экран Android ярлыков со ссылками на сайты c предопределёнными пиктограммами.



Улучшения, ожидаемые в Firefox 54:
  • Активирована sandbox-изоляция, ограничивающая доступ дочерних процессов Firefox к системным вызовам, файловой системе и сторонним процессам. Для изоляции в Linux применяется ограничение доступа к системным вызовам при помощи Seccomp-bpf, также для изоляции используются PID namespace и chroot в пустую директорию. В Windows применяются разработанные Google библиотеки sandboxbroker и sandboxtarget, используемые в Chromium и Chrome;
  • Запрещено автоматическое воспроизведение мультимедийного контента в новых вкладках, открытых в фоне;
  • В редакции для настольных систем в окне "Библиотека" обеспечено отображение закладок, созданных на синхронизированных мобильных устройствах;
  • В средствах для web-разработчика в режиме адаптивного дизайна ("Responsive Design Mode") появилась возможность создания собственных устройств для тестирования сайта в его окружении (задаётся разрешение экрана, DPI, параметры сенсорного экрана, пропускная способность сети и т.п.);
  • Добавлена поддержка конструкции ‹script type="module"› для определения содержимого модульных скриптов, тестируемых вместе с флагом "dom.moduleScripts.enabled" в настройках;
  • Добавлен метод URL.toJSON(), возвращающий определённый в "href" URL в виде конструкции JSON ('{"key": "https://www...."}');
  • Добавлено событие onanimationcancel, которое генерируется при отмене или сбое воспроизведения анимации, заданной через CSS Animation;
  • В версии для Android включена по умолчанию поддержка объекта Intl, предоставляющего доступ к API интернационализации (сравнение строк, форматирование чисел, времени и дат с учётом локали);


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