Доступен выпуск Firefox 53.
Общие изменения
- «Лёгкие» темы теперь могут быть применены в режиме приватного просмотра.
- В режим чтения добавлено отображения примерного времени на чтение страницы.
- На Windows задействован Quantum Compositor (e10s-gpu), снижающий риск падения браузера из-за проблем с драйверами путём выноса кода, взаимодействующего с GPU, в отдельный процесс.
- Установщик для Windows теперь предлагает выбор между 32-разрядной и 64-разрядной версией.
- Добавлены две новые предустановленные темы (тёмная и светлая), основанные на теме из Firefox Developer Edition.
- В версии для Linux прекращена поддержка процессоров, не поддерживающих инструкции SSE2 (все AMD до Athlon 64, все Intel до Pentium 4, VIA C3).
- Прекращена поддержка Windows XP и Vista. Пользователи этих систем смогут получать обновления безопасности в течение года, поскольку будут автоматически переведены на Firefox 52 ESR.
- Прекращена поддержка 32-разрядных версий Mac OS X.
- Уменьшен размер обновлений для macOS.
- Воспроизведение мультимедийного контента в новых вкладках теперь не будет происходить до тех пор, пока пользователь не переключится на вкладку.
- Переработан внешний вид уведомлений с запросом разрешений. Они стали проще, заметнее и позволяют в любой момент отозвать выданные разрешения.
- Если имя вкладки не помещается целиком, оно будет плавно затухать, а не обрезаться многоточием.
- В контекстное меню вкладки добавлен пункт, позволяющий отправить её на другое устройство.
- Переработан внешний вид элементов управления медиасодержимым.
- Добавлена поддержка WebM-видео с прозрачным фоном.
- Удалены настройки network.standard-url.encode-utf8 и network.standard-url.escape-utf8, позволявшие отключить URL-кодирование адресной строки (в том числе, при копировании в буфер обмена). Для «нормального» копирования адресов, содержащих кириллицу, теперь следует использовать
browser.urlbar.decodeURLsOnCopy = true
. - Упраздняется ветка Developer Edition (Aurora). Firefox Developer Edition будет формироваться из бета-версий, а устранение регрессий будет производиться в ночных сборках.
- Дополнения больше не могут осуществлять загрузку бинарных компонентов и разделяемых библиотек. Все такие дополнения занесены в чёрный список, а их разработчикам следует перейти на использование WebExtensions. Кроме того, в каталог AMO прекращается приём новых дополнений, использующих XUL, SDK и XPCOM (это не касается обновлений уже существующих дополнений).
- Исправлены различные уязвимости (некоторые из которых могут привести выполнению произвольного кода).
- Включена по умолчанию поддержка TLS 1.3.
- Дополнения WebExtensions при установке запрашивают одобрение списка полномочий.
Инструменты разработчика
- Добавлена опция, позволяющая скопировать полный CSS-путь к элементу (1323700).
- Завершена работа над поддержкой css-color-4 (1310681).
- В режиме разметки добавлена визуальная подсказка между открывающим и закрывающим тегами свёрнутого узла (1323193).
- Включён по умолчанию просмотрщик JSON, реализованный ещё в Firefox 44.
CSS
- Включена по умолчанию поддержка свойств mask-* (см. CSS Masks) (1251161).
- Добавлена поддержка свойства caret-color (1063162).
- Добавлены сокращения place-items/place-self/place-content (1319958).
- Свойство display обзавелось значением
flow-root
(1322191). - -moz-tab-size отныне может принимать значения в пикселях (943918) и может быть анимировано (1308110).
- mask-mode:luminance не работало на градиентных масках (1346265).
- Не заполнялась область просмотра при grid-template-rows: 1fr (1346699).
- Все mask-longhands теперь могут быть применены на элементы SVG (1319667).
- [css-grid] align-self/justify-self:stretch/normal не работало на элементах <table> (1316051).
- Исправлено неправильное отображение clip-path: circle() при больших размерах и радиусе, заданном в процентах (1324713).
- Ударение на дизъюнктивной eta (ή) больше не пропадает, когда значение
uppercase
text-transform применяется на греческих символах (1322989). - Поддержка значения
contents
у display больше не может быть отключена в настройках (1295788). - Удалён префикс -moz у :dir() pseudo-class (1270406), text-align-last (1276808) и calc() (1331296).
JavaScript
- Реализована семантика ECMAScript 2015 для свойств Function.name. Включая определение имён для анонимных функций (var foo = function() {}) (883377).
- Реализована семантика ECMAScript 2015 для закрывающих итераторов. Это повлияет, например, на циклы for...of (1147371).
- Реализовано предложение о пересмотре шаблонных строк that отменяет ограничения escape-последовательностей в тегированных шаблонных строках (1317375).
- Нестандартные общие методы String теперь выдают предупреждение в консоль. Их поддержка будет удалена в будущем (1319926).
- Значение статичного свойства
length
объектов TypedArray изменено с 3 на 0 (1317306). - SharedArrayBuffer теперь может быть использован в объектах DataView (1246597).
- Ранняя версия спецификации утверждала, что объекты SharedArrayBuffer должны быть явно переданы во время структурированного клонирования. В новой версии спецификации они больше не являются передаваемыми объектами и их не должно быть в списке передачи (1302037).
- Размер ArrayBuffer теперь ограничен значением Number.MAX_SAFE_INTEGER (>= 2 ** 53) (1255128).
- Error.prototype и другие, наподобие RangeError.prototype, теперь являются обычными объектами (1213341).
- Удалён нестандартный метод ArrayBuffer.slice() (1313112).
События
- CSS Transitions: реализованы события transitionstart, transitionrun и transitioncancel. (1264125, 1287983).
- Реализована поддержка конструктора CompositionEvent (1002256).
- Добавлены MouseEvent.x и MouseEvent.y в качестве ссылок на MouseEvent.clientX/MouseEvent.clientY (424390).
- Свойство cancelBubble, определённое ранее на интерфейсе UIEvent, теперь определено на интерфейсе Event (1298970).
- Реализована поддержка auxclick и соответствующего обработчика GlobalEventHandlers.onauxclick (1304044).
- Теперь при отмене transition наступает событие transitioncancel (1264125).
DOM/API
- Исправлен возврат неверных частей ссылок свойствами HTMLHyperLinkElementUtils pathname и search. Например, для ссылки http://z.com/x?a=true&b=false,
pathname
возвращало «/x?a=true&b=false», аsearch
возвращало «» вместо «/x» и "?a=true&b=false" (1310483). - Конструктор URLSearchParams() теперь принимает USVString в качестве объекта инициализации (1330678).
- Добавлен метод Selection.setBaseAndExtent() (1321623).
- Реализовано дополнение "fakepath" к типу
file
значений <input> (1274596). - Устаревшее свойство Node.rootNode заменено на Node.getRootNode() (1269155).
- Запрещён перебор свойств объектов Plugin, PluginArray (1270366) и MimeTypeArray (1270364).
- Permissions API поддерживает новое имя разрешения — persistent-storage — используемого при создании Permissions.query() (1270038).
- Удалена поддержка Wifi information API, Speaker Manager API, Tethering API и Settings API (1313788, 1317853, 1313789, 1313155).
Воркеры и сервисные воркеры
- В воркерах теперь доступен Network Information API (1323172).
- В воркерах теперь можно использовать события, отправляемые сервером (1267903).
- Метод ExtendableEvent.waitUntil() теперь может быть вызван асинхронно (1263304).
WebGL
- Реализована поддержка расширений The WEBGL_compressed_texture_astc (1250077).
- Включена по умолчанию поддержка расширения WEBGL_debug_renderer_info (1336645).
Мультимедиа
- Метод HTMLMediaElement.play(), используемый для начала воспроизведения в любом медиаэлементе, теперь возвращает Promise, который выполняется при начале воспроизведения и отменяется при возникновении ошибки (1244768).
- Добавлен интерфейс AudioScheduledSourceNode, а интерфейсы AudioBufferSourceNode, ConstantSourceNode и OscillatorNode теперь основываются на нём (1324568).
- Методы createOffer() и createAnswer() интерфейса RTCPeerConnection теперь возвращают Promise, возвращающий объект, который соответствует словарю RTCSessionDescriptionInit вместо прямого возврата RTCSessionDescription.
- Методы RTCPeerConnection setLocalDescription() и setRemoteDescription() теперь принимают на вход объект, соответствующий словарю RTCSessionDescriptionInit.
- RTCPeerConnection.addIceCandidate() теперь принимает на вход объект, соответствующий словарю RTCIceCandidateInit (1263312).
- Включена по умолчанию поддержка DTMF через RTCDTMFSender. См. статью "Using DTMF with WebRTC".
HTTP/сеть
- Добавлена настройка
network.http.referer.userControlPolicy
, позволяющая задать поведение по умолчанию для Referrer-Policy (отправка заголовка Referer). Возможные значения:- 0 — не отправлять
- 1 — отправлять только если обращение происходит в пределах одного домена
- 2 — отправлять всегда, но обрезанным
- 3 — отправлять всегда, за исключением обращения от HTTPS к HTTP (по умолчанию)
- Поддержка Next Protocol Negotiation (NPN) прекращена в пользу Application-Layer Protocol Negotiation (ALPN) (1248198).
- Включена по умолчанию поддержка HTTP-заголовка Large-Allocation (1331083).
SVG
- Частично реализован интерфейс SVGGeometryElement (1239100).
>>> Примечания к выпуску для разработчиков
>>> Подробности