Релиз Firefox 79
Вчера вышел Firefox 79. Флориан Шольц и Гарольд Киршнер рассказали про все новинки релиза — "Firefox 79: The safe return of shared memory, new tooling, and platform updates".
В конце 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”, которая позволяет "путешествовать по времени" в рамках стека вызовов. Также отладчик снова получил порцию обновлений, улучшающих производительность.