Вебня
4.69K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
⚡️ ECMA-402 пропозал Intl.Segmenter отправляется на stage 4
⚡️ Intl.DurationFormat отправляется на stage 3
⚡️ Error cause отправляется на stage 4
⚡️ Photoshop приходит в веб

https://web.dev/ps-on-the-web/

Adobe анонсировали публичную бету веб-версии Photoshop. Основная часть кода портирована с помощью Emscripten (компилятора C++ в #WebAssembly). Приложение использует мультитрединг wasm (уже работает в браузерах на основе Chromium и Firefox, а также включен в Safari TP, и ожидается в следующем обновлении Safari). Интерфейс написан на веб компонентах и библиотеке Lit с использованием UI библиотеки Spectrum в версии для веб компонентов.
Новое в Safari 15

В блоге WebKit опубликована статья с описанием новых фич Safari 15, который теперь по умолчанию поставляется также и с macOS Monterey (вышла 25 октября). В статье упоминаются мета-тэг theme-color, различные улучшения CSS (aspect-ratio, CSS Color Level 4, новые значения для list-style-type), CSS Grid Inspector, новые фичи JavaScript и WebAssembly, WebGL 2, улучшенный Web Share API, медиа, приватность, работа с паролями и аутентификация и Payment Request API.

Более подробное описание новых фич от Вебни: https://t.me/webnya/2171
⚡️ Новый пропозал деструктуризация приватных полей отправляется сразу на stage 2!
⚡️ WebAssembly CSP пропозал на вчерашней встрече #WebAssembly CG перешёл с phase 1 сразу на phase 3
⚡️ Новый пропозал String.cooked переходит на stage 1. Некоторые делегаты выступили за смену имени метода на что-то более понятное.
⚡️ Bind-this оператор переходит на stage 1
⚡️ Array grouping переходит на stage 2. Решено добавить два метода: groupBy и groupByMap. Также эти методы больше не планируется добавлять для %TypedArray%
⚡️ Новые пропозалы RegExp modifiers и RegExp extended mode отправляются на stage 1
Вышел Next 12.0

https://nextjs.org/blog/next-12

Основные нововведения:
- компилятор, написанный на Rust (~3x Fast Refresh и ~5x ускорение сборки)
- миддлвары (в бете) для более удобной конфигурации
- поддержка React 18
- поддержка AVIF изображений
- продвинутая инкрементальная статическая регенерация, позволяющая отдавать ботам-кроулерам нужное состояние страницы
- поддержка ES модулей
- URL импорты (в бете)
- React Server Components (в альфе) с поддержкой SSR стриминга
👀 В WebKit реализованы stage 3 ECMAScript пропозал Shadow Realms (https://bugs.webkit.org/show_bug.cgi?id=230602) и phase 3 #WebAssembly пропозал Exception handling (https://bugs.webkit.org/show_bug.cgi?id=229681). Ждём в ближайших сборках Safari TP.
Вышел Safari Technology Preview 134

https://webkit.org/blog/12033/release-notes-for-safari-technology-preview-134/

В нём:
- улучшения Web Inspector
- много улучшений и исправлений CSS и CSS Font Loading API
- минорные исправления скроллинга
- улучшения обработки цветовых пространств при рендеринге
- элемент <dialog> с поддержкой ::backdrop
- #WebAssembly Exception handling
- 4GB для wasm memory
- улучшения JIT, исправления и улучшения Intl, JSON.parse, JSON.stringify и регулярок
- добавилось и улучшилось много различных Web API
- исправления WebGL и Media
- WebRTC media capabilities
- улучшения доступности
⚡️ Пропозалы RegExp \R Escape и RegExp Buffer Boundaries (\A, \z, \Z) отправляются на stage 1
⚡️ Evaluator Attributes переходит на stage 1
Появились релизы стабильного канала Microsoft Edge для Linux

Официального анонса еще не было, но в репозиториях Майкрософт уже есть сборки.

https://nakedsecurity.sophos.com/2021/10/29/microsoft-edge-finally-arrives-on-linux-official-build-lands-in-repos/
Состоялся релиз Unicode CLDR v40

https://cldr.unicode.org/index/downloads/cldr-40

В нём:
- поддержка 29 новых локалей для грамматических особенностей (включая украинскую локаль)
- поддержка имён и ключевых слов Emoji 14 для поиска
- обновленный веб-фронтенд для добавления улучшений в CLDR
- улучшения используемых спецификаций

Также состоялся релиз ICU 70.

CLDR и ICU используются во всех основных браузерах и Node.js для фич интернационализации и локализации в JavaScript (Intl).
Вышел Babel 7.16.0

https://babeljs.io/blog/2021/10/29/7.16.0.html

В нём добавлены поддержка ESLint 8.0 и TypeScript 4.5 (который пока только в бете), class static blocks (ES2022) включены по умолчанию, а также добавлена поддержка токена ^ для плейсхолдера pipe оператора (stage 2).
Фингерпринтинг без JavaScript

https://dev.to/savannahjs/demo-disabling-javascript-wont-save-you-from-fingerprinting-4838

Отключенный JavaScript не спасает от снятия «отпечатков» пользователя. Демо на сайте https://noscriptfingerprint.com/ доказывает, что можно с высокой точностью определить пользователя даже если тот:
- использует десктопный режим с мобильного браузера
- подменяет юзерагент
- использует режим инкогнито
- меняет интернет соединение

Для фингерпринтинга в демо используются HTTP-заголовки, CSS и шрифты.