Релиз Firefox 36 с поддержкой HTTP/2.0
Проект Mozilla официально представил релиз web-браузера Firefox 36, а также мобильную версию Firefox 36 для платформы Android. В ближайшие часы ожидается обновление веток с длительным сроком поддержки Firefox 31.5.0 и Thunderbird 31.5.0, а также выпуск пакета Seamonkey 2.33. В скором времени на стадию бета-тестирования перейдёт ветка Firefox 37 и будет отделён Firefox Developer Edition 38, который пришел на смену ветке aurora. В соответствии с шестинедельным циклом разработки релиз Firefox 37 намечен на 31 марта, а Firefox 38 на 12 мая. Основные новшества:
Поддержка протокола HTTP/2.0, который на прошлой неделе получил статус предложенного стандарта и скоро будет оформлен в RFC. Основной задачей создания HTTP/2 является повышение эффективности использования сетевых ресурсов и снижение задержек при соединении и обмене данными между клиентом и сервером, в условиях современных реалий, при которых для загрузки сайта требуется отправить множество отдельных запросов для получения CSS, файлов JavaScript и картинок. Среди особенностей HTTP/2.0: бинарный протокол передачи данных, мультиплексирование и распараллеливание потоков в рамках одного TCP-соединения, сжатие HTTP-заголовков, приоритизация потоков, согласование расширений между клиентом и сервером, поддержка технологии Server push. Поддержка протокола SPDY/3 прекращена (поддержка SPDY/3.1 пока оставлена); Переход ко второй фазе прекращения поддержки сертификатов на основе 1024-разрядных ключей RSA, безопасность которых в ближайшем будущем находится под вопросом, с учётом роста вычислительной мощности современных компьютерных систем. Начиная с Firefox 36 подобные сертификаты исключены из списка заслуживающих доверия корневых сертификатов, а связанные с ними цепочкой доверия сайты помечены как незащищённые. В частности, удалён один корневой сертификат Verizon и четыре сертификата Symantec. Небезопасными также помечены сайты, сертификаты которых основаны на 1024-разрядных ключах RSA. Владельцам подобных сайтов следует пересоздать сертификат с ключом, размером 2048 бит. Проведённое в сентябре прошлого года исследования показало, что в сети находится примерно 30 тысяч сайтов с действующими сертификатами на основе 1024-разрядных ключей RSA. Напомним, что организация NIST объявила устаревшими 1024-разрядные ключи RSA ещё в 2010 году и запретила их применение после 2013 года.
Шифр RC4 признан небезопасным, его использование теперь приводит к отображению в интерфейсе специального индикатора; Поддержка синхронизации ссылок, закреплённых на стартовой странице; Серия изменений, влияющих на совместимость с дополнениями. Началась подготовка дополнений к переходу Firefox на многопроцессную архитектуру, в связи с чем ограничены возможности некоторых XPConnect-прослоек. Добавлен мета-тег (meta name=«referrer») для управления заполнением HTTP-заголовка Referrer. Например, владелец сайта может разрешить полностью заполнять Referrer только для внутренних переходов, а при обращении к внешним сайтам выдавать только имя хоста, обрезав пути и параметры запроса; В JavaScript добавлена поддержка типа Symbol, определённого в спецификации ECMAScript 6 и применимого для идентификаторов свойств объектов; Реализовано поведение прокрутки CSSOM-View, позволяющее обеспечить плавную прокрутку содержимого без задействования собственных библиотек; Добавлены CSS-свойства object-fit и object-position, определяющие, как следует вместить в область заменяемый элемент; Добавлено CSS-свойство isolation, определяющее применение изоляции элемента от другого содержимого при наложении; Добавлено CSS-свойство will-change, через которое можно информировать браузер о типе применяемых к элементу изменений, что позволяет заранее выбрать нужный метод оптимизации до фактического внесения изменений; Добавлен CSS-параметр unicode-range, позволяющий определить используемый диапазон символов, который будет загружен из шрифта (даёт возможность сэкономить трафик и не загружать лишние символы); Избавлены от префикса »-moz-» CSS-свойства text-decoration-color, text-decoration-line и text-decoration-style; В функцию преобразования строки в число ToNumber (string) добавлена поддержка литералов для указания двоичных (0b) и восьмеричных (0o) данных; Проведена работа по существенному увеличению производительности генераторов, определённых в спецификации ECMAScript 6 и позволяющих организовать эффективное выполнение функций в асинхронном режиме. После внесения изменений скорость функций-генераторов увеличилась в двадцать два раза; Поддержка инспектирования механизма Promise, позволяющего определить значение, которое пока неизвестно, но будет определено через какое-то время. Отладчик также распознаёт и работает с вычисляемыми источниками. Обеспечено использование указанного через директиву »//# sourceURL=» имени файла в данных о стеке, возвращаемых геттером Error.prototype.stack; Добавлена экспериментальная настройка dom.webcomponents.enabled при которой в дереве разметки явно отображаются скрытые элементы; Расширены возможности вставки из буфера обмена при клике правой кнопкой на узле дерева разметки; В встроенной среде разработки WebIDE добавлена поддержка подсоединения к Firefox for Android для отладки работы приложения на мобильном устройстве. Удалена опция »-remote»; Доступные в бета-выпуске подмножество API Media Source Extensions (MSE) API, необходимое для HTML5-проигрывателя YouTube, и новый интерфейс настройки, не вошли в релиз и ожидаются в Firefox 37. В версии для платформы Android реализован новый интерфейс для планшетов, который стал больше походить на настольную версию браузера, чем на вариант для смартфонов, сохранив при этом лёгкость управления с сенсорного экрана. Как обычно следует отметить, что кроме новшеств и исправления ошибок в Firefox 36 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.
© OpenNet