Компания Google представила новую стабильную версию браузера Chrome и свободного проекта Chromium.

Основные изменения

  • Прекращена поддержка SHA-1, локально добавленные сертификаты на основе SHA-1 продолжат свою работу до выпуска Chrome 57, намеченного на март 2017 года. Настройка EnableSha1ForLocalAnchors, позволяющая обойти вводимые ограничения и продолжить использование SHA-1 в PKI будет поддерживаться до 1 января 2019 года.
  • Добавлена поддержка чернового варианта спецификации TLS 1.3 и режима 1-RTT, устраняющего задержки при согласовании соединений.
  • Для исполнения Flash от пользователя требуется включение Flash для каждого сайта.
  • Страницы передаваемые по HTTP с полями для паролей теперь отмечаются как небезопасные.
  • Добавлена поддержка Web Bluetooth.
  • Добавлена поддержка звукового кодека FLAC.
  • Включена по умолчанию поддержка WebGL 2.0
  • Переработана всплывающая полоса прокрутки.
  • В API Notifications реализована поддержка включения изображений в состав уведомлений. Для определения изображений добавлено свойство image.
  • Добавлена поддержка API WebVR, предоставляющего средства для создания приложений виртуальной реальности. Поддержка API пока ограничена платформой Android.
  • На устройствах с платформой Android, имеющих как минимум 512 Мб ОЗУ, в формах ввода текста включена по умолчанию проверка орфографии, при наличии необходимых словарей в системе.
  • На платформе Android параметры упреждающей загрузки по умолчанию установлены на получение только метаданных для видео (загружается эскиз картинки и данные о времени воспроизведения), в случае соединения через мобильную сеть.
  • Скрытие или отображение адресной строки на мобильных устройствах более не приводит к изменению размеров содержимого и элементов, подогнанных под параметры viewport.
  • Унифицировано базовое семейство шрифтов, используемое для элементов интерфейса, которое теперь на всех платформах поставляется под именем system-ui.
  • Добавлена экспериментальная поддержка Media Sessions.

Основные нововведения для разработчиков

  • Реализована поддержка липкого позиционирования CSS — position:sticky
  • Web-приложениям предоставлена возможность инициирования создания фотографий со встроенной камеры и изменения настроек камеры через API Image Capture.
  • При вылезании содержимого за пределы заданной в параметрах viewport области, браузер теперь автоматически подстраивает позицию прокрутки для оставления содержимого видимым, за исключением случаев явного применения CSS-свойства overflow-anchor.
  • Добавлен новый HTTP-заголовок Referrer-Policy, позволяющий организовать перенаправление пользователя на другой URL без утечки идентификаторов сеансов и другой приватной информации. Поддержка CSP-директивы referrer прекращена.
  • Расширены возможности API PaymentRequest, появилась поддержка запроса имени плательщика requestPayerName и сериализации JSON.
  • Прекращена загрузка скриптов, в параметрах которых некорректно выставлены атрибуты type или language
  • Добавлен метод KeyboardEvent.isComposing(), позволяющий web-приложению определить факт того, что пользователь в настроящее время занят набором текста, без прямого мониторинга за событиями ввода.
  • Для сокращения потребления памяти и накладных расходов на совмещение изображений добавлена возможность отрисовки пиксельных данных черезImageBitmapRenderingContext в форме ImageBitmap.
  • В CSS-свойство touch-action добавлен параметр pinch-zoom, позволяющий настроить обработку жеста «масштабирование щипком».
  • Добавлен источник звука ConstantSourceNode, позволяющий генерировать постоянный звуковой фон, который можно смешивать при помощи AudioParam.
  • В режим только для чтения переведены два атрибута интерфейса Web Audio ChannelSplitterNodechannelCount и channelCountMode.
  • От префикса webkit избавлен API RTCPeerConnection (поддержка webkitRTCPeerConnection сохранена).
  • В версии для платформы Android появилась поддержка API Remote Playback, позволяющего управлять воспроизведением контента через HTMLMediaElement на умных телевизорах или громкоговорителях.

Кроме нововведений и исправления ошибок, в новой версии устранена 51 уязвимость. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity и LibFuzzer. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено.