Firefox 65
Доступен выпуск Firefox 65.
- Появилась возможность протестировать работу под Wayland без пересборки из исходников. Требуется лишь запустить программу с переменной окружения
GDK_BACKEND="wayland"
. - Реализована поддержка формата WebP, который превосходит по размеру получаемого файла JPEG на 25%-34% (при сжатии с потерями), а PNG — на 26% (без потерь). Разработчики Firefox противились внедрению WebP, потому что это поставило бы крест на будущем их собственного формата анимированных изображений APNG. Первой на уступки пошла Google, добавив в Chromium поддержку APNG, к тому же Microsoft тоже поддержала WebP в своём браузере Edge. Кроме того, для улучшения кросс-браузерной совместимости MIME-тип WebP (
image/webp
) был добавлен в стандартный HTTP-заголовок запроса Accept для файлов HTML. - Включена поддержка открытого стандарта сжатия видео AV1. Он значительно опережает H.264 и VP9 по уровню сжатия.
- Запрещено открывать более одного всплывающего окна при любом действии пользователя (например, при нажатии на ссылку).
- Переработан раздел настроек «Блокировка содержимого». Пользователю доступны три пресета: «Стандартная» (в приватном режиме), «Строгая» и «Персональная». В панели блокировки содержимого теперь можно увидеть заблокированные трекеры и куки.
- Закрыта программа Test Pilot, в рамках которой тестировались экспериментальные возможности. Эти возможности переехали на addons.mozilla.org в виде самостоятельных дополнений. Отказ от Test Pilot обусловлен большими затратами инженерных ресурсов на его поддержание. Вместо этого экспериментальные возможности будут тестироваться на обычных пользователях (с возможностью явно отказаться от участия).
- Появилась возможность установить несколько языковых пакетов и переключаться между ними «на лету» в настройках браузера. Для изменения языка интерфейса браузера больше не требуется скачивать локализованный дистрибутив или языковой пакет — достаточно выбрать язык из списка, браузер загрузит всё самостоятельно.
- Добавлена возможность предупреждать о закрытии браузера, даже если включено восстановление предыдущего сеанса при запуске.
- Разработчики дополнений теперь могут управлять тем, какая вкладка станет активной после закрытия текущей, чему очень рад разработчик Tree Style Tab.
- В сборках для Linux, macOS и Android усилена защита от повреждения стека (ключ компилятора
-fstack-protector-strong
). Повреждение стека → популярный тип атаки, когда злоумышленник повреждает или получает контроль над уязвимым приложением. - Добавлена поддержка «Непрерывности» в macOS: можно начать работу на iOS (в Firefox или Safari) и продолжить её в Firefox на macOS.
- Доступны инсталляторы в формате MSI.
Инструменты разработчика:
- Диспетчер задач (about: performance) теперь отображает количество памяти, используемой каждой вкладкой или дополнением. Кроме того, добавлены кнопки закрытия вкладки и перехода к дополнению.
- Включён по умолчанию инспектор Flexbox.
- Отладчик JavaScript получил поддержку точек останова XHR (821610).
- Щелчок правой кнопкой по элементу дерева доступности позволяет вывести его в JSON-формате.
- Если фон текста является сложным (например, градиент или сложное изображение), инструмент цветового контраста в инспекторе доступности покажет диапазон значений цветового контраста.
- Во вкладку «Заголовки» сетевого монитора добавлено отображение политики Referrer для выбранного запроса (1496742).
- При просмотре трассировки стека (например, в журналах консоли или отладчике JavaScript) вызовы методов распознаются идентифицируются и по умолчанию сворачиваются, что облегчает размещение вашего кода.
- Подобно традиционным терминалам теперь можно использовать обратный поиск в истории консоли JavaScript (F9 в Windows/Linux или Ctrl+R в macOS, затем ввести искомое, а сочетаниями Ctrl+R/Ctrl+S переключаться между результатами).
- Сокращение
$0
в консоли JavaScript (ссылается на инспектируемый в данный момент элемент страницы) обзавелось возможностью автодополнения. Например, вы можете ввести$0.te
, чтобы получить предложения автодополнения для свойств наподобие$0.textContent
. - Правки, внесённые через просмотр правил в Инспекторе, теперь отображаются на вкладке «Изменения» (1503920).
HTML:
- События теперь отправляются на отключённые элементы HTML, то есть элементы
- Как в Chrome and Safari, удаление атрибута
src
у элемента - Добавлена поддержка атрибута
referrerpolicy
у элементов(1460920).
CSS:
- Убран префикс у значения
crisp-edges
свойства image-rendering (1496617). - Значение
auto
scrollbar-color теперь разрешается вauto
, а не в два цвета (1501418). - Реализована поддержка свойств
break-*
(775618): - Реализована поддержка значения
anywhere
у свойства overflow-wrap (1505786). - Добавлены новые ключевые слова
jump-start
,jump-end
,jump-none
иjump-both
, используемые внутри временной функции steps () (1496619). Функцияframes()
, ранее использовавшаяся для этого, объявлена устаревшей. - Для совместимости с прочими браузерами добавлены несколько новых значений -webkit-appearance. В частности:
meter
, которое отныне используется в качестве значения по умолчанию для элементов; существующее значение meterbar
теперь является псевдонимомmeter
(1501483).progress-bar
, которое отныне используется в качестве значения по умолчанию для элементовtextarea
, которое отныне используется в качестве значения по умолчанию для элементов
- Изменено поведение user-select, чтобы достичь сходства с прочими браузерами (1506547). Конкретно:
user-select: all
, установленное на элемент, больше не перекрывает значенияuser-select
дочерних элементов. Пример:AllNone, на который установленnone
, теперь не выбирается. До этого значениеnone
перекрывалось значениемall
родительского элемента.- Теперь можно выбирать элементы не-
contenteditable
, вложенные в элементыcontenteditable
.user-select
теперь ведёт себя согласованно внутри и снаружи теневого DOM.- Удалено проприетарное значение
-moz-text
.- Реализована поддержка переменных среды CSS (функция env) (1462233).
- Удалена настройка
layout.css.shape-outside.enabled
; поддержку shape-outside, shape-margin и shape-image-threshold больше нельзя отключить черезabout:config
(1504387).- Удалены некоторые специфичные для Firefox значения user-select —
-moz-all
,-moz-text
,tri-state
,element
,elements
иtoggle
. См. 1492958 и 1506547.JavaScript:
- Реализована поддержка Intl.RelativeTimeFormat (1504334).
- Максимально допустимое значение length у строк отныне составляет
2^30 - 2 (~1 ГБ)
вместо2^28 - 1 (~256 MБ)
(1509542). - Добавлена поддержка globalThis (1317422).
DOM:
- Новые API:
- DOM:
- Performance.toJSON () доступен веб-воркерам (1504958).
- Запросы XMLHttpRequest будут выбрасывать
NetworkError
, если запрошено содержимое типаBlob
, а метод запроса отличен отGET
(1502599). - Многие функции Fullscreen API с префиксом
-moz-
объявлены устаревшими и выдают предупреждение в консоль JavaScript (1504946). - createImageBitmap () отныне поддерживает изображения SVG (SVGImageElement) в качестве источника (1500768).
- Веб-воркеры:
- Fetch и сервис-воркеры:
- Media, Web Audio и WebRTC:
- Canvas и WebGL:
- Доступно использование расширений сжатия текстур WebGL BPTC и RGTC (1507263).
- Отключена мутация событий в теневых деревьях (1489858).
- Удалено нестандартное свойство
currentTime
MediaStream (1502927). - Удалены настройки
dom.webcomponents.shadowdom.enabled
иdom.webcomponents.customelements.enabled
— больше нельзя отключить поддержку Shadow DOM и Custom Elements черезabout:config
(1503019). - Удалено нестандартное событие DOM
text
, срабатывавшее, чтобы уведомить пользовательский интерфейс редактора браузера о строках данных композиции IME и диапазоне выбора (1288640). - Событие keypress больше не срабатывает для непечатаемых клавиш (968056).
Безопасность:
Сеть:
>>> Примечания к выпуску для разработчиков
>>> Подробности
- Теперь можно выбирать элементы не-