Релиз Firefox 51


Официально представлен релиз web-браузера Firefox 51, а также мобильной версии Firefox 51 для платформы Android. В ближайшие часы ожидается обновление прошлой ветки с длительным сроком поддержки 45.7. Выпуск SeaMonkey 2.48 планируется сформировать в феврале. В скором времени на стадию бета-тестирования перейдёт ветка Firefox 52 и будет отделён Firefox Developer Edition 53. В соответствии с шестинедельным циклом разработки релиз Firefox 52 намечен на 7 марта, а Firefox 53 на 18 апреля.

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

-Добавлена встроенная поддержка звукового кодека FLAC (Free Lossless Audio Codec), развиваемого сообществом Xiph.Org и обеспечивающего уровень сжатия звукового потока в 50-60% без потери качества (lossless). FLAC поддерживается в контейнерах FLAC, MP4 и Ogg;
-Изменено оформление диалога сохранения паролей, добавлен флаг для показа пароля перед его сохранением;

-Обеспечен вывод предупреждения о проблемах с безопасностью в случае обращения без использования HTTPS к страницам, содержащим форму ввода пароля. В настоящее время предупреждение сделано на уровне индикатора защиты в адресной строке, но в будущим выпусках планируется добавить контекстные предупреждения, при которых информация о возможной утечке данный из-за использования незащищённого соединения будет выводиться непосредственно рядом с полем ввода пароля;

-В адресной строке, рядом с URL, обеспечен показ уровня масштабирования, если он отличается от заданного по умолчанию. При клике на индикатор, масштаб сбрасывается в значение по умолчанию;

-Сокращена нагрузка на CPU при отображении видео и улучшено качество полноэкранного вывода на системах без поддержки ускорения средствами GPU;
-Добавлена поддержка сохранения паролей для форм без событий отправки (submit);
-Включение по умолчанию многопроцессного режима расширено на сборки с русской локалью (RU), средства для людей с ограниченными возможностями, а также на системы Windows 10 с сенсорными экранами. -Вместо белого списка разрешённых дополнений применён чёрный список явно не совместимых с чёрным списком дополнений.
-Увеличена производительность при работе в многопроцессорном режиме, проведена оптимизация выполнения операции переключения вкладок;
-Проведена работа по увеличению стабильности операций синхронизации данных между браузерами;
-Добавлена поддержка спецификации WebGL 2, которая основана на OpenGL ES 3.0 и определяет способ формирования аппаратно ускоренного 3D-контента при помощи HTML5-конструкций "Canvas" и JavaScript-интерфейса к OpenGL API. WebGL дает возможность web-разработчикам получить прямой доступ к функциям OpenGL и обеспечить включение 3D-контента в HTML-страницы. В WebGL 2 реализован новый язык шейдеров, появились настоящие целочисленные типы, расширены средства работы с текстурами (например, 3D-текстуры, текстуры глубины, текстуры вершин и т.п.) и реализованы такие возможности отрисовки, как групповой рендеринг (multisampled, несколько цветовых буферов или текстур могут быть обработаны одним проходом) и трансформация с обратной связью;


-Включен по умолчанию API WebExtensions, предназначенный для разработки дополнений, совместимых с браузером Chrome. Дополнение могут выполняться в отдельных дочерних процессах, изолирующих их от остальных частей браузера. Добавлена возможность встраивания WebExtension в состав классических дополнений. Реализован API для доступа к буферу обмена. Различия между API Chrome и WebExtensions можно отследить на данной странице. Время прекращения поддержки XUL пока не определено, поэтому XUL пока будет сосуществовать с WebExtensions.
-Реализовано JavaScript-свойство Symbol.toStringTag, а также методы TypedArray.prototype.toString() и TypedArray.prototype.toLocaleString(), определённые в спецификации ES2015;
-Выражения const и let приведены к полному соответствию со спецификацией ES2015;
-Началась постепенная выборочная блокировка сертификатов, заверенных с использованием алгоритма хэширования SHA-1. Для небольшого процента пользователей при обращении к сайтам, использующим сертификаты с SHA-1, будет выводиться ошибка и соединение будет помечаться незащищённым. Если не возникнет непредвиденных проблем, в дальнейшем блокировка SHA-1 будет расширена на всех пользователей браузера. Как и в случае с самоподписанными сертификатами, ошибку можно обойти через специальный диалог. Поддержка SHA-1 для вручную импортированных сертификатов пока сохранена;
-Обеспечена блокировка автоматического воспроизведения звука в фоновых вкладках. В открытой в фоне новой вкладке web-приложение теперь не сможет автоматически выводить звук, пока пользователь не перейдён на эту вкладку. Поддержка фонового воспроизведения сохранена. Более того, убрано урезание интенсивности генерации событий таймеров Window.setInterval() и Window.setTimeout() для вкладок, в которых задействован Web Audio API AudioContext, даже если во вкладке в данный момент не воспроизводится звук. Подобное изменение позволит решить проблемы с работающими в фоне музыкальными web-плеерами;
-Доведена до конца реализация второй версии API IndexedDB: добавлены методы IDBObjectStore.getKey() и IDBCursor.continuePrimaryKey(), обеспечена поддержка бинарных ключей;
-Тег "hr" теперь может использоваться в качестве разделителя элементов в блоке "menu";
-В WebRTC включена по умолчанию поддержка видеокодека VP9;
-Внедрена блокировка загрузки и выполнения скриптов, отдаваемых сервером под некорректными MIME-типами, например, "image/*", "video/*", "audio/*" и "text/csv";
-Прекращена поддержка нестандартных API Simple Push и Alarm, созданных для Firefox OS;
-Программный интерфейс SocialAPI отнесён к категории устаревших: прекращена поддержка виджетов для интеграции с социальными сетями, удалены API Social Bookmarks, Social Chat, Social Status и MozSocial;
-Для предотвращения использования параметров заряда аккумулятора в качестве одного из факторов для выделения пользователя из общей массы уменьшена точность значений BatteryManager.chargingTime и BatteryManager.dischargingTime, которые теперь округляются до 15 минут;
-Добавлена возможность использования пространственного звука при отображении видео, снятого в режиме 360 градусов, если звук закодирован с использованием 255 каналов и кодека Opus;
-Прекращена поддержка локали для белорусского языка. Из-за отсутствия сопровождающего данная локаль не обновлялась уже почти два года, а попытки найти заинтересованных лиц, готовых возобновить поддержку данной локали, не увенчались успехом;
-В about:performance добавлено отображение данных о потреблении памяти отдельными процессами Firefox;
-В средствах для разработчика в режиме отслеживания сетевых соединений обеспечена пометка заблокированных сетевых запросов;
На платформах Linux и Android для отображения контента задействована графическая библиотека Skia.
-Библиотека NSS обновлена до версии 3.28.1, в которой обновлён список корневых сертификатов и решены некоторые проблемы совместимости в реализации TLS. Прекращена обработка новых сертификатов, выданных удостоверяющими центрами WoSign и StartCom (поддержка ранее выданных сертификатов сохранена);
-В версии для платформы Android не отмечено специфичных изменений.
Кроме новшеств и исправления ошибок в Firefox 51 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.