Доступен выпуск Firefox 58.
- Старый оптимизирующий компилятор WebAssembly заменён на новый двухуровневый, обеспечивающий выигрыш в производительности до 10-15 раз (такая скорость достигается компиляцией кода по мере его загрузки), что во много раз превышает показатели других браузеров.
- Оптимизирована и работа с JavaScript. Кэширование байт-кода сокращает время загрузки страницы на величину до 43 миллисекунд. В будущих выпусках будет реализовано кэширование итогового машинного кода.
- Теперь можно по умолчанию разрешить или запретить надоедливые запросы «вы разрешаете этому сайту отправлять вам уведомления», запросы на отправку данных геолокации, доступ к камере, микрофону, уведомлениям раб.стола (1379560). Для этого надо установить соответствующим настройкам значение «1» (всегда разрешено) или «2» (всегда запрещено):
permissions.default.desktop-notification
permissions.default.geo
permissions.default.microphone
permissions.default.camera
- В интерфейс создания скриншотов добавлена возможность скопировать скриншот в буфер обмена. Кроме того, отныне можно делать скриншоты в режиме приватного просмотра.
- Запрещён прямой переход по ссылками вида «data:» (подобный приём активно используется фишерами).
- Включённая настройка
privacy.resistFingerprinting
теперь не только подменяет различные свойства, как DOM, так и CSS, по которым можно составлять уникальный отпечаток браузера (screenX, screenY, screen.width, screen.height), но и предупреждает пользователя о том, что сайт (например github.com или mail.ru) хочет получить доступ к Canvas API. - В Настройки добавлено предупреждение, свидетельствующее о том, что то или иное дополнение изменяет страницу новой вкладки, домашнюю страницу или поисковую систему по умолчанию.
- Добавлено уведомление о скором прекращении доверия корневым сертификатам Symantec при работе с сайтами, использующими сертификаты, у которых в цепочке доверия есть сертификат Symantec (из-за вопиющей халатности при выдаче сертификатов основные браузеры решили прекратить доверие корневым сертификатам компании).
- В очередной раз изменён формат профиля (переименованы некоторые файлы, NSS использует SQLite вместо собственного формата базы, и т. п.), возврат к предыдущей версии может привести к возникновению проблем.
- Введён в строй сервис hardware.metrics.mozilla.com с еженедельно обновляемой статистикой, полученной с помощью телеметрии.
- Исправлена ошибка, приводившая в Linux к отрисовке невидимых шрифтов, если шрифты установлены по нестандартному пути.
- Ускорена отрисовка на платформе Windows: некоторые операции вынесены в отдельный поток.
- Добавлена непальская (ne-NP) локализация.
- На платформе macOS включена поддержка WebVR.
- Началось активное открытие исходного кода Pocket, как и обещала Mozilla при поглощении сервиса. На данный момент ещё не открыта серверная часть.
- Возможны проблемы с некоторыми дополнениями (кнопками Custom Buttons, которое официально несовместимо с Firefox 57, но работало с прикрученными костылями) и пользовательскими стилями (userChrome.css). Проблема со стилями уже исправлена в Firefox 59.
Инструменты разработчика:
- Удалён код, связанный со старым режимом адаптивного дизайна (который был доступен до Firefox 52) (1305777).
- Удалена отключённая в прошлых выпусках настройка, позволяющая просматривать онлайн-документацию из боковой панели CSS в Инспекторе (1382171).
- Редактор CSS-контуров включён по умолчанию для контуров, созданных с помощью clip-path (1405339).
- Инструмент «Сеть» обзавёлся кнопкой для приостановки записи трафика (1005755). Кроме того удалён фильтр «Flash», поскольку запросы, связанные с Flash, включены в фильтр «Прочее» (1413540).
HTML:
CSS:
- Включена поддержка дескриптора font-display (1317445).
- Следующие псевдоклассы больше недоступны для веб-содержимого (1396066):
- :-moz-system-metric(images-in-menus)
- :-moz-system-metric(mac-graphite-theme)
- :-moz-system-metric(scrollbar-end-backward)
- :-moz-system-metric(scrollbar-end-forward)
- :-moz-system-metric(scrollbar-start-backward)
- :-moz-system-metric(scrollbar-start-forward)
- :-moz-system-metric(scrollbar-thumb-proportional)
- :-moz-system-metric(touch-enabled)
- :-moz-system-metric(windows-default-theme)
- Следующие медиа-запросы больше недоступны для веб-содержимого (1396066):
- -moz-color-picker-available
- -moz-is-glyph
- -moz-mac-graphite-theme
- -moz-mac-yosemite-theme
- -moz-os-version
- -moz-overlay-scrollbars
- -moz-physical-home-button
- -moz-scrollbar-end-backward
- -moz-scrollbar-end-forward
- -moz-scrollbar-start-backward
- -moz-scrollbar-start-forward
- -moz-scrollbar-thumb-proportional
- -moz-swipe-animation-enabled
- -moz-windows-accent-color-in-titlebar
- -moz-windows-classic
- -moz-windows-compositor
- -moz-windows-default-theme
- -moz-windows-glass
- -moz-windows-theme
- Псевдокласс :-moz-styleeditor-transitioning больше недоступен для веб-содержимого (1396099).
JavaScript:
- Реализован метод Promise.prototype.finally() (1019116).
- Реализован объект Intl.PluralRules (1403318).
- Реализован метод Intl.NumberFormat.prototype.formatToParts() (1403319).
- Объект Intl.DateTimeFormat обзавёлся поддержкой опции
hourCycle
и языкового тегаhc
(1386146). - Удалён нестандартный метод Date.prototype.toLocaleFormat() (818634).
- Удалены нестандартные устаревшие методы Object.prototype.watch() и unwatch() (638054). Вместо них следует использовать сеттеры и геттеры, либо прокси.
- Удалена поддержка устаревшего протокола «Итерируемый», объекта StopIteration, устаревших функций генераторов и нестандартного метода Function.prototype.isGenerator(). Вместо них следует использовать протоколы перебора и соответствующие стандартам итераторы и генераторы (1083482, 1413867, 1119777).
- Удалена поддержка нестандартных включений массивов и включений генераторов (1414340).
API/DOM:
- Реализован PerformanceNavigationTiming API (1263722).
- Ошибки, сообщаемые через соответствующие объекты в некоторых API — например в свойстве FileReader
error
, IDBRequest и IDBTransaction, и в случае неуспешных запросов через некоторые методы RTCPeerConnection — отныне представлены экземплярами DOMException. DOMError объявлен устаревшим и удалён из спецификации DOM4 (1120178). - Реализовано свойство PerformanceResourceTiming.workerStart (1191943).
- Реализована новая схема приостановки активности фоновых вкладок, дающая до 25% снижения нагрузки на процессор - см. подробности (1377766).
- У свойства XMLHttpRequest.responseType удалена поддержка значений
moz-blob
,moz-chunked-text
иmoz-chunked-arraybuffer
(1397145, 1397151, 1120171). - Удалено свойство
mozSrcObject
(1183495). Вместо него следует использоваться стандартное свойство HTMLMediaElement.srcObject.
Медиа и WebRTC:
- Удалён префикс у HTMLMediaElement.srcObject. Следует использовать стандартный
srcObject
вместоmozSrcObject
(1183495).
Canvas и WebGL:
- Прекращена поддержка расширений WebGL с префиксом
MOZ_
(1403413):- Вместо MOZ_WEBGL_compressed_texture_atc следует использовать WEBGL_compressed_texture_atc.
- Вместо MOZ_WEBGL_compressed_texture_pvrtc следует использовать WEBGL_compressed_texture_pvrtc.
- Вместо MOZ_WEBGL_compressed_texture_s3tc следует использовать WEBGL_compressed_texture_s3tc.
- Вместо MOZ_WEBGL_depth_texture следует использовать WEBGL_depth_texture.
- Вместо MOZ_WEBGL_lose_context следует использовать WEBGL_lose_context.
HTTP:
- frame-ancestors больше не игнорируется в Content-Security-Policy-Report-Only (1380755).
- Тайм-аут TLS-хендшейка установлен по умолчанию в 30 seconds. Это значение определяется настройкой
network.http.tls-handshake-timeout
(1393691). - Реализована поддержка CSP-директивы worker-src (1302667).
>>> Подробности