Доступен выпуск Firefox 62.
- Топ сайтов на стартовой странице может отображать до 4 рядов. Кроме того, настраивается количество рядов избранного.
- Пользователи, у которых включены контейнеры, получили пункт меню для переоткрытия текущей вкладки в контейнере.
- Добавлены ключи по умолчанию для предустановленных поисковиков. Например,
@google <запрос>
осуществит поиск через Google, а@yandex <запрос>
— через Яндекс. - В контекстное меню значков дополнений на панели инструментов добавлен пункт, открывающий настройки дополнения.
- В сведения о сайте (значок слева от URL) добавлена кнопка очистки кук и данных текущего сайта.
- WebAuthn (аутентификация с помощью USB-токентов) заработала в FreeBSD.
- Реализована поддержка CSS-контуров (Shapes).
- Включена поддержка изменчивых шрифтов (OpenType Font Variations).
- Закладки лишились поля «описание». Пользователи могут экспортировать кастомные описания закладок в форматы html и json. В следующих выпусках эти сохранённые описания будут удалены.
- При отключении синхронизации десктопная версия предложит удалить с текущего устройства личные данные (закладки, пароли, историю, куки, данные сайтов).
- При предоставлении общего доступа к окну браузера средствами WebRTC, окно будет выведено на передний план.
- Диалоговое окно добавления новой закладки теперь содержит иконку сайта и миниатюру страницы.
- В меню «История» добавлен пункт для просмотра скрытых вкладок (если они есть).
- Полпроцента англоязычных пользователей получат системное дополнение Firefox Monitor, которое предупредит пользователя о том, что его почта обнаружена среди 5 миллиардов адресов агрегатора утечек haveibeenpwned.com. На сервер отправляются несколько первых символов SHA1-хэша от почтового адреса. В ответ приходят все совпадающие хэши, после чего браузер локально сравнивает их с полным хэшем, чтобы определить, «засветился» ли адрес пользователя в какой-либо утечке. Сам сервер не знает почту пользователя и даже не может определить, была ли утечка этого адреса или нет. Если всё пройдёт успешно, 25 сентября дополнение автоматически включат всем англоязычным пользователям (да, Mozilla давно может удалённо менять настройки браузера, например, чтобы, не дожидаясь выпуска новой версии, отключить проблемную настройку, которую не выявило бета-тестирование).
- Прекращена поддержка Firefox ESR 52. Все поддерживаемые версии Firefox отныне работают только с дополнениями WebExtensions. В октябре устаревшие дополнения перестанут отображаться в каталоге дополнений, но не будут удалены с бэкенда (на случай, если разработчики захотят когда-нибудь их обновить).
- Ужесточены требования к сертификатам. Значение по умолчанию настройки
security.pki.name_matching_mode
изменено на3
(подробное описание см. здесь). - Число открытых в режиме приватного просмотра адресов будет прибавлено к общему числу посещённых адресов, которое отправляется телеметрией. Сами адреса, разумеется, никуда не передаются.
- Удалена панель разработчика/GCLI (которая открывалась сочетанием клавиш Shift+F2). У интерфейса панели и библиотеки, отвечающей за работу GCLI, уже продолжительное время отсутствует мейнтейнер, некоторые функции не работают (с того времени, как появился многопроцессный режим), а сама GCLI несовместима с
unsafeSetInnerHTML
. По данным телеметрии, панель очень редко используется, к тому же есть альтернативные способы вызова самых популярных команд (статистика использования команд). - AutoConfig ограничен документированным API. Ограничение пока можно отключить, но в будущем такой возможности не будет. Если вашему предприятию нужны сложные скрипты AutoConfig, рекомендуется перейти на ESR-выпуск Firefox.
- Если в macOS 10.14 включена системная тёмная тема, Firefox будет автоматически использовать свою тёмную тему вместо светлой. Версия для iOS тоже получила тёмную тему и улучшенное управление вкладками.
- Flash-апплеты на платформе macOS теперь запускаются в песочнице.
- Появилась канадская английская локализация (en-CA).
- Ускорена отрисовка на платформе Windows при отсутствии аппаратного ускорения.
Инструменты разработчика
- Появился редактор Shape Path — подробности в статье Edit Shape Paths in CSS.
- Появилась возможность вынести просмотр CSS-правил в отдельную от других вкладок панель. См. Page inspector 3-pane mode для получения подробных сведений.
- Инспектор CSS-сеток обзавёлся новыми возможностями и новой документацией — см. CSS Grid Inspector: Examine grid layouts.
- Инструменты разработчика теперь можно разместить не только снизу и справа, но и слева (а также вынести в отдельное окно) (1192642).
- Инспектор поддержки доступности получил пару небольших обновлений:
- На панель консоли разделения добавлена кнопка закрытия.
- При включённой настройке «Выбрать iframe в качестве текущего целевого документа» соответствующий значок будет появляться на панели инструментов при открытии настроек, даже если текущая страница не содержит фреймов (1456069).
- Вкладка «Куки» в сетевом мониторе отображает атрибут
samesite
(1452715). - Режим адаптивного дизайна работает и во вкладках, размещённых в контейнерах (1306975).
- При возникновении и выводе в консоль ошибки CORS Firefox предоставит ссылку на соответствующую страницу с описанием ошибок CORS (1475391).
- Появилась возможность создать снимок текущей страницы (без необходимости указывать имя файла) из консоли браузера (1464461). Используется команда
:screenshot <filename.png> --fullpage
, где<filename.png>
— желаемое имя файла. Файл будет сохранён в каталог загрузок. Параметр--fullpage
не является обязательным и служит для создания снимка всей страницы. В этом случае к имени файла будет добавлено-fullpage
. Чтобы увидеть список всех доступных параметров, введите:screenshot --help
.
CSS
- Убран префикс у псевдоэлемента
:-moz-selection
, отныне он называется ::selection (509958). - <resolution> поддерживает
x
в качестве единицы измерения (1460655). - Включена по умолчанию поддержка shape-margin, shape-outside и shape-image-threshold (1457297).
- Из документов, отличных от XUL, удалены все XUL-значения «display» за исключением
-moz-box
и-moz-inline-box
(1288572).
JavaScript
- Реализована поддержка конструктора WebAssembly.Global() и глобальных переменных в WebAssembly (1464656).
- Включена по умолчанию поддержка методов Array.prototype.flat() и Array.prototype.flatMap() (1435813).
- Реализовано свойство import.meta, отображающее контекстно-специфичных метаданные для модуля JavaScript (1427610).
- Строковые литералы могут напрямую содержать символы U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR. Как следствие, синтаксис JSON отныне является подмножеством литерального синтаксиса JavaScript (1435828).
- Для индексов, выходящих за границы типизированных массивов, Reflect.defineProperty() и Reflect.set() будут возвращать
false
вместоtrue
(1308735). - Конструкторы
DOMPoint
иDOMPointReadOnly
больше не поддерживают входной параметр типаDOMPointInit
; значения свойств требуется указывать с помощью параметровx
,y
,z
иw
(1186265). - Метод URL.createObjectURL() больше не поддерживает создание URL-адресов объектов для представления MediaStream. Эта возможность уже не актуальна, поскольку можно напрямую задать HTMLMediaElement.srcObject в
MediaStream
(1454889).
API
- В версии для Android включён по умолчанию API Speech Synthesis (Text-to-Speech) (1463496).
- DOM
- Интерфейс DOMPointReadOnly поддерживает статическую функцию DOMPointReadOnly.fromPoint(), создающую новый точечный объект из совместимого с DOMPointInit словаря, который содержит любой объект DOMPoint. Функция также доступна на DOMPoint (1186265).
- В целях совместимости с Internet Explorer, реализована поддержка свойства Event.srcElement. Оно является ссылкой на Event.target (453968).
- Navigator.registerProtocolHandler() может быть вызван лишь в безопасном контексте (1460506).
- Отключена по умолчанию поддержка метода Navigator.registerContentHandler(). Он будет удалён в будущем, поскольку уже некоторое время является устаревшим (1460481).
- Реализован конструктор DataTransfer() (1351193).
- Document.domain больше не может вернуть
null
(819475). Если не удалось идентифицировать домен,domain
вернёт пустую строку вместоnull
. - Реализован метод Console.timeLog(), отображающий текущее значение таймера консоли без остановки самого таймера (1458466).
- Реализован метод Console.countReset(), сбрасывающий значение счётчика консоли (1459279).
- Медиа, Web Audio и WebRTC
- Настройка
media.autoplay.enabled
распространяется не только на видео-, но и на аудиосодержимое (1413098). - Интерфейс ChannelSplitterNode приведён в соответствие спецификации: по умолчанию у него 6 каналов,
channelInterpretation
имеет значение"discrete"
, аchannelCountMode
—"explicit"
(1456265).
- Настройка
- Поддержка событий userproximity, deviceproximity (см. UserProximityEvent и DeviceProximityEvent) отключена по умолчанию и управляется настройкой
device.sensors.proximity.enabled
(1462308). - Поддержка события devicelight (см. также DeviceLightEvent) отключена по умолчанию и управляется настройкой
device.sensors.ambientLight.enabled
(1462308). Эти события могут применяться для получения персональной информации о пользователе, обхода ограничений same-origin и как один из факторов для идентификации браузера. - События мутации DOMSubtreeModified и DOMAttrModified больше не выбрасываются, когда атрибут style изменяется с помощью CSSOM (1460295, см. также эту статью).
- Прекращена поддержка CSSStyleDeclaration.getPropertyCSSValue() (1408301).
- Прекращена поддержка CSSValue, CSSPrimitiveValue и CSSValueList (1459871).
- window.getComputedStyle() больше не возвращает
null
, если вызван наWindow
, у которого нет представления (1467722).
HTTP
- Удалена поддержка устаревшей CSP-директивы referrer. Вместо неё используйте заголовок Referrer-Policy (1302449).
- HTTP-страницы больше не могут использовать AppCache.
>>> Подробности