
В конце 2018 года из-за атаки Spectre во всех браузерах были отключены разделяемая память (SharedArrayBuffer) и таймеры с высоким разрешением. В Firefox 79 поддержка этих фич вернулась на место, но для их использования страница должна быть изолирована с помощью HTTP-заголовков
Cross-Origin-Opener-Policy: same-origin
и Cross-Origin-Embedder-Policy: require-corp
. Возврат поддержки SharedArrayBuffer
также позволил реализовать WebAssembly Threads.Добавлена поддержка
Promise.any()
. При передаче коллекции промисов в any()
метод возвращает промис, который разрезолвится в том случае, когда разрезолвится один из переданных промисов или вернёт AggreateError
, если все промисы будут реджекнуты. Добавлена поддержка логических операторов присваивания, WeakRef
и FinalizationRegistry
.Для предотвращения модификации
window.opener
Firefox теперь автоматически устанавливает rel=noopener
для всех ссылок с target=_blank
.Очень много изменений в инструментах разработчика. Стектрейсы теперь показывают полноценный стек для асинхронного кода. Флоу перехода от js-ошибок из консоли в дебаггер стал более продуман: после перехода проблемный код будет подсвечен, а при наведении будет выведена подсказка с типом ошибки. Улучшена поддержка соурс мапов в DOM-инспекторе для SCSS и CSS-in-JS. В отладчике появилась новая фича “Restart Frame”, которая позволяет "путешествовать во времени" в рамках стека вызовов. Также отладчик снова получил порцию обновлений, улучшающих производительность.
#release #firefox
https://hacks.mozilla.org/2020/07/firefox-79/