Доступен выпуск Firefox 64.
- Появилась возможность управлять сразу несколькими вкладками. Выберите несколько вкладок, последовательно нажимая на их заголовки с зажатой клавишей Ctrl. Поддерживается закрытие, перемещение, добавление в закладки, закрепление и т.д. Кроме того, в контекстном меню вкладки появилось подменю «Переместить вкладку» и пункт «Выбрать все вкладки».
- Полностью переработана страница управления расширениями. Возле каждого дополнения сразу видны кнопки «Настройки», «Отключить» и «Удалить». Поле поиска стало заметнее и размещено по центру. Добавлена ссылка для перехода в настройки браузера.
- В контекстное меню значков расширений добавлен пункт, позволяющий удалить расширение.
- Уведомление об успешной установке расширения теперь показывается не во вкладке, а в главном меню.
- Переработана страница about:performance. Теперь она выглядит, как диспетчер задач.
- Переработана страница about:crashes, позволяющая увидеть отправленные и не отправленные разработчикам отчёты о сбоях, а также удалить их.
- Пользователи (пока только находящиеся в США) будут получать рекомендации установить дополнения или воспользоваться функцией браузера. Рекомендации основываются на поведении пользователя (часто обращается к конкретному сайту — будет предложено установить дополнение, связанное с этим сайтом; часто открывает одни и те же страницы → получит предложение закрепить вкладки). Анализ действий пользователя выполняется локально. Эта возможность отключается в настройках.
- Сборки для Linux и macOS теперь формируются с помощью Clang. При сборке включена оптимизация на этапе линковки (Link Time Optimization).
- В сборках для Android обеспечена поддержка сервисов автозаполнения (одна из функций, появившихся в Android 8). С его помощью сторонние менеджеры паролей могут автоматически подставлять логины и пароли в соответствующие поля на веб-страницах.
- Прекращено доверие сертификатам, выданным удостоверяющими центрами Symantec и её дочерними компаниями GeoTrust, RapidSSL, Thawte, Verisign. Symantec допустила множество нарушений, включая выдачу сертификата для google.com третьим лицам.
- Теперь можно использовать Referrer-Policy для управления ресурсами, полученными через таблицы стилей — см. Integration with CSS.
- Navigator.buildID больше не отражает истинное время сборки. Например, в Linux это время является уникальным для каждого дистрибутива (время сборки ментейнером пакета) и позволяло легко определить операционную систему пользователя.
- Удалена поддержка RSS-лент (обнаружение, предпросмотр) и живых закладок. Обслуживание и улучшение соответствующего кода (живые закладки плохо поддаются синхронизации, а поддержка RSS вовсе не реализована в мобильных версиях браузера) потребовали бы затрат, несоизмеримых с практически нулевой востребованностью этих функций (пользователи, имеющие более одного устройства, предпочитают онлайн-агрегаторы RSS). По данным телеметрии RSS и живые закладки использовало лишь 0.1% пользователей. Эти пользователи могут воспользоваться одним из множества дополнений.
- Pocket больше не поставляется в виде отдельного xpi-файла, код перемещён внутрь omni.ja. Это никак не сказалось на возможности отключить Pocket через
about:config
. - macOS:
- Для корпоративных пользователей добавлена поддержка профилей конфигурации.
- Снова включён API WebVR 1.1.
- Для добавления к текущему адресу www. и .com теперь используется Ctrl+Enter вместо Cmd+Enter.
- Windows 10:
- У пользователей видеокарт Nvidia включена система композитинга WebRender, написанная на языке Rust. WebRender полностью переносит задачу отрисовки страницы на графический ускоритель. Пользователи других операционных систем и/или другого аппаратного обеспечения могут включить WebRender на свой страх и риск, установив необходимые переменные:
MOZ_ACCELERATED=1 MOZ_WEBRENDER=1 ./firefox
. Проверить, используется ли WebRender, можно на странице about:support. - Появилась возможность поделиться текущим сайтом средствами ОС (пункт «Поделиться» в меню, вызываемом из значка «...» в адресной строке).
- У пользователей видеокарт Nvidia включена система композитинга WebRender, написанная на языке Rust. WebRender полностью переносит задачу отрисовки страницы на графический ускоритель. Пользователи других операционных систем и/или другого аппаратного обеспечения могут включить WebRender на свой страх и риск, установив необходимые переменные:
Инструменты разработчика:
- Информационная панель в инструменте поддержки доступности теперь показывает сведения о соотношении контрастности цветов текста или изображений на странице (1473037).
- Выбор устройства в режиме адаптивного дизайна запоминается и сохраняется между сеансами (1248619).
- Окончательно удалена панель разработчика (GCLI) (1429421). Её интерфейс был удалён в Firefox 62, а теперь удалён и оставшийся код.
- Веб-консоль научилась подсвечивать код JavaScript.
- В инспекторе сеток CSS реализована работа с перекрывающимися сетками (до трёх сеток одновременно).
CSS:
- Включена по умолчанию поддержка полос прокрутки CSS (1492012).
- Реализована поддержка Interaction Media Features, включающая pointer:coarse (1035774). Подробности реализации any-pointer и any-hover см в 1483111.
- Android-версия обзавелась поддержкой prefers-reduced-motion (1478505).
- Значения <gradient> теперь поддерживают мультипозиционный синтаксис остановки цвета, например,
yellow 25%, yellow 50%
можно записать в видеyellow 25% 50%
(1352643). - Свойство text-transform теперь принимает значение
full-size-kana
(1498148). - Из-за проблем веб-совместимости добавлена поддержка -webkit-appearance (1368555).
- Кроме того, удалена большая часть специфичных для Firefox значений
-moz-appearance
(1496720). - display:
list-item
отныне поддерживается на элементах<legend>
(1486602). - SVG path(), при использовании в offset-path, теперь могут быть анимированными (1486094).
- Псевдоэлементы с префиксом
-webkit-
больше не делают цепочку или группу селекторов недействительной (1424106). См 1486325, чтобы узнать, как включить эту возможность. - Нестандартные значения -moz-box и -moz-inline-box display скрыты от веб-содержимого (1496961).
- Нестандартные псевдоэлементы ::-moz-tree скрыты от веб-содержимого (1496961).
- Удалена настройка
layout.css.filters.enabled
— CSS-фильтры отныне нельзя отключить (1408841). - Отменено (1492567) изменение, сделанное в прошлом выпуске — перемена мест значений overflow (1481866). См. причину.
JavaScript:
- Реализовано предложение TC39 Well-formed JSON.stringify, чтобы JSON.stringify не мог возвращать плохо сформированные строки Unicode (1469021).
- Проксируемые функции теперь могут быть переданы Function.prototype.toString.call() (1440468).
- Если значение не указано, конструктор WebAssembly.Global будет использовать типизированный 0. Это определяется алгоритмом DefaultValue (1490286).
API:
- DOM:
- Ряд изменений API Fullscreen:
- API лишился префикса (1269276).
- Методы Element.requestFullscreen() и Document.exitFullscreen() отныне возвращают Promise, который исполняется, когда завершено изменение режима (1188256, 1491212).
- События fullscreenchange и fullscreenerror cначала отправлялись в Document, а затем в Element. Теперь всё стало наоборот. Это поведение отражено в спецификации и совпадает с поведением Google Chrome (1375319).
- В качестве ссылок на Window.screenX и Window.screenY добавлены Window.screenLeft и Window.screenTop (1498860).
- Метод XMLHttpRequest.getAllResponseHeaders() отныне возвращает имена заголовков в нижнем регистре, в соответствии со спецификацией (1398718).
- Устаревший интерфейс
HTMLAllCollection обновлён
в соответствии с последними изменениями спецификации (1398354).
- Ряд изменений API Fullscreen:
- Сервис-воркеры: реализован метод ServiceWorkerContainer.startMessages() (1263734).
- Media, Web Audio и WebRTC:
- Свойства PannerNode.refDistance, PannerNode.maxDistance, PannerNode.rolloffFactor и PannerNode.coneOuterGain отныне корректно выбрасывают исключения, когда их значения установлены за пределами допустимого (1487963).
- Настройки RTCRtpEncodingParameters, изменённые с помощью RTCRtpSender.setParameters(), не обновлялись, если были изменены во время звонка. Теперь они будут обновляться без переподключения (1253499).
- Реализован RTCIceCandidateStats.relayProtocol — стандартная версия RTCIceCandidateStats.mozLocalTransport, который объявлен устаревшим (1435789).
- Свойство Window.event, добавленное в Firefox 63 для разрешения проблем веб-совместимости, скрыто за отключённой в релизных версиях настройкой
dom.window.event.enabled
, поскольку вскрылись иные затруднения (1493869). На самом деле, это было сделано в одном из минорных обновлений Firefox 63, мы просто обращаем на это ваше внимание. - Удалён интерфейс LocalMediaStream и его метод
stop()
(1258143). См. Stopping a video stream, чтобы узнать, как остановить поток целиком. - Удалены интерфейсы
AudioStreamTrack
иVideoStreamTrack
, поскольку они уже некоторое время объявлены устаревшими (1377146). Их функции перенесены в MediaStreamTrack; дорожки отныне идентифицируются по значению свойств kind, таких, какaudio
илиvideo
.
>>> Подробности