Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Вышел Chrome 85.

Обзорное видео: https://www.youtube.com/watch?v=htAiPOarIwI

Изменений в нём довольно много, я писал о них ранее тут (DevTools Chrome 85), тут (Hoidini Properties and Values в CSS), тут (WebHID API и потоковые запросы Fetch), тут (что нового появилось в бете Chrome 85), тут (улучшения доступности PDF) и тут (content-visibility: auto).

Также есть статья со списком устаревших и убранных фич: https://developers.google.com/web/updates/2020/07/chrome-85-deps-rems
Minimal React: getting started with the frontend library — статья от Axel Rauschmayer для людей, которые хотят начать изучать React.

https://2ality.com/2020/08/minimal-react.html
Web Share API в Safari позволял принимать протокол file в ссылке, что позволяло прикрепить потенциально чувствительные файлы (историю бразера или что-то подобное) при шейринге через почтовые приложения. При этом также надо уговорить пользователя отправить такое письмо злоумышленнику через Web Share API, что может быть достаточно трудно сделать. Уязвимость исправления в iOS 14 Beta и macOS 14 Beta.

https://blog.redteam.pl/2020/08/stealing-local-files-using-safari-web.html
Гораздо более серьёзная уязвимость была обнаружена некоторое время назад в Chromium. Она позволяла полностью обойти все CSP правила на любой платформе в браузерах Chrome, Edge, Opera и других на основе Chromium версий с 73 по 83. Для обхода CSP достаточно было указать javanoscript: в атрибуте src айфрейма.

https://www.perimeterx.com/tech-blog/2020/csp-bypass-vuln-disclosure/
Разработчики Brave написали статью о том, чем грозит внедрение предложенного компанией Google для стандартизации Web Bundles API. По их мнению это чревато значительным ослабеванием приватности и безопасности. И с ними сложно не согласиться.

Ранее команда Brave выражала свои опасения относительно Client-Hints.
Занятный факт. #TC39 (а точнее Task Group 2 в его составе) непродолжительное время занимался также разработкой языка C#. Позже TG2 была выделена в отдельный комитет TC49.

https://twitter.com/littledan/status/1298450137568759808
Недавно вышел Kotlin 1.4, в котором представлен новый Kotlin/JS IR backend (в альфе). Он умеет удалять мёртвый код и улучшает интероп с TypeScript и JavaScript кодом через генерацию TypeScript определений типов.

https://kotlinlang.org/docs/reference/js-ir-compiler.html
В Wasmtime (#WebAssembly рантайм) добавлена поддержка Reference Types (phase 4). В статье рассказывается о том, чем эта фича полезна для различных хостов (в том числе для web), насколько она полезна для реализации последующих улучшений в WebAssembly и о деталях её имплементации в wasmtime.
Вышел Yarn 2.2.0 — новая версия альтернативного пакетного менеджера для Node.js. В нём появилась новая команда yarn dedupe, которая удаляет дубликаты старых совместимых версий пакетов, улучшена производительность, уменьшен размер бинарника и сделаны другие более мелкие изменения.

Кроме того, команда Yarn обсуждает с Node TSC возможность добавления проекта “Package manager manager” в Node.js. Такой менеджер позволит использовать Yarn или pnpm из коробки (они установятся автоматически при первом вызове).
Команда Edge DevTools из Microsoft рассказала о новых фичах в инструментах разработчика Edge 85. Некоторые из этих фич являются уникальными и еще не добавлены в upstream Chromium.
Вышел Electron 10.0.0. Chrome в нём обновлён до версии 85, а Node.js до версии 12.16. Полный список изменений можно посмотреть здесь. Поддержка Electron 7 остановлена.
Chrome 86 будет поддерживать well-known URL для смены пароля на вебсайте из других тулз (таких как менеджер паролей), спецификацию инкубатора WICG, разработанную Apple (фича доступна в Safari 13 и более поздних версиях). Firefox также рассматривает возможность внедрения этой фичи, в данный момент она помечена как worth prototyping.
Вышел Samsung Internet 13 Beta. В нём несколько визуальных изменений, улучшение юзабилити, новые фичи в Add-on extension API. Браузер основан на Chromium 83.
В Chrome 86 (выйдет 6 октября) появится псевдо-элемент ::marker, который позволит легче и круче стилизовать маркеры в списках. Firefox уже поддерживает его с версии 68, а Safari с 11.1. В Chrome эта фича была доступна только под флагом, начиная с версии 80.

https://web.dev/css-marker-pseudo-element/
Разработчики Chromium собираются реализовать новый псевдокласс :focus-visible для стилизации фокуса и быструю подсветку активного фокуса в версии 86.

https://blog.chromium.org/2020/09/giving-users-and-developers-more.html
Оказывается во всю идёт подготовка к релизу PHP 8.0. Уже вышла третья (последняя) бета, после которой ожидаются 5 релиз кандидатов и стабильный релиз 26 ноября. Самым главным и ожидаемым нововведением станет JIT, который должен повысить производительность.

https://wiki.php.net/todo/php80

Кстати, в Microsoft отказались от поддержки PHP 8 на Windows.
Flareact — альтернатива Next.js, для эдж-рендеринга с использованием Cloudflare Workers.

Гостевая статья от автора в блоге разработчиков Cloudflare:
https://blog.cloudflare.com/rendering-react-on-the-edge-with-flareact-and-cloudflare-workers/
Новое в Chrome 86: изменения фокуса, о которых я писал двумя сообщениями выше, WebHID API. Native File System API и многое другое.
Ого, новый NativeScript 7 теперь использует V8 на iOS. Видимо в JIT-less режиме. Интересна их мотивация, т.к. решение весьма сомнительное 🤔

https://nativenoscript.org/blog/nativenoscript-7-announcement/