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

Robin Marx опубликовал серию статей, подробно описывающую принципы работы протокола HTTP/3 в трёх частях:

https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/

https://www.smashingmagazine.com/2021/08/http3-performance-improvements-part2/

https://www.smashingmagazine.com/2021/09/http3-practical-deployment-options-part3/
Релиз Uncode 14.0.0

Сегодня состоится релиз новой версии Unicode. В ней будет представлено 838 новых символов, включая 37 новых emoji.

https://blog.emojipedia.org/whats-new-in-unicode-14-0/
Вебня
Сегодня вечером должен состояться релиз Safari 15 (о новых фичах можно почитать тут), а пока я напишу в следующих сообщениях о релизах браузеров, которые состоялись за время моего отсутствия.
Кажется, iOS 15 и macOS 12 (с Safari 15) сегодня всё ещё не выйдут :(

upd: iOS 15 выйдет 20 сентября, RC версия для разработчиков выйдет сегодня
👂 Apple очень активно работает над добавлением CSS Typed OM в WebKit. Почти все подзадачи основного тикета были закрыты за последние несколько дней, а оставшиеся уже имеют патчи и проходят ревью.
👀 Зарелизилась Java 17, в которой добавили паттерн-матчинг. Всё больше мейнстримовых языков получают эту фичу. Соответствующий пропозал для JavaScript находится в данный момент на stage 1.
Node v16.9.0

7 сентября вышла новая версия Node.js, которая примечательна тем, что в ней добавилась поддержка Corepack (позволяет использовать Yarn и pnpm без установки), а также получила обновление движка V8 до версии 9.3.
V8 v9.4

6 сентября был опубликован релиз новой версии V8 с поддержкой Class static initialization blocks (ES2022). Релиз Chrome 94 с этой версией движка запланирован на 21 сентября.
Class static initialization blocks

https://2ality.com/2021/09/class-static-block.html

Dr. Axel Rauschmayer о новой фиче, добавленной в ECMAScript на недавнем собрании #TC39
В CSS могут появиться условные директивы

Пару дней назад CSSWG приняла решение адаптировать предложение Таба Аткинса по добавлению директив @when и @else (аналог if/else) в следующий уровень (версию) модуля CSS Conditional.
В твите анонса есть примеры и комментарии. А из треда обсуждения предложения можно узнать почему предложение выглядит так, как выглядит и почему решили использовать @when, а не @if (пересекается с Saas директивой).
CSS Query Units

В Chrome Canary появилась поддержка Container Relative Length Units (при включенном флаге Container Query). Новые единицы измерения, которые еще называют Query Units, – дополнение к черновику CSS Containment Level 3. Такие единицы позволяют использовать размеры контейнера (используемые для Container Query) в правилах для вложенных элементов, как значения свойств или для их вычисления (демо, видео).
Кстати, CSS Containment Level 3 обвляется и там появились наброски про то, чтобы использовать вычисленные стили и состояние контейнера в Container Query. Но по этой части пока лишь открытые тикеты, проработана только часть про размерность контейнеров, которая и доступна в Chromium за флагом.
Вышел Safari Technology Preview 132

https://webkit.org/blog/11971/release-notes-for-safari-technology-preview-132/

В этом релизе традиционно добавлены улучшения и исправления Web Inspector, CSS, различных Web API, WebRTC, рендеринга, медиа. Из интересного:
- Intl.Enumiration API (stage 3)
- Array find from last (stage 3)
- .at() (ES2022)
- Temporal.Calendar (под флагом --useTemporal, полная имплементация Temporal (stage 3) почти завершена)
- Intl.Locale Info (stage 3)
- Intl.DisplayNames v2 (stage 3)
- Extend TimeZoneName Option (stage 3)
- Crypto.randomUUID
ChowJS: AOT JavaScript движок для игровых консолей

ChowJS поддерживает фичи языка вплоть до ES2020, поддерживает AOT-компиляцию в машинный код, inline caching, подмножество рантайма NW.js
⚡️ Вышла iOS 15 с Safari 15 в комплекте. Также вышли версии Safari 15 для macOS Big Sur и Catalina
V8 v9.5

В статусе бета версии зарелижена новая версия JavaScript-движка V8. В ней добавлены:
- Intl.DisplayNames API v2 (stage 3)
- Extend TimeZoneName Option Proposal (stage 3)
- WebAssembly Exception Handling (phase 3)

Релиз Chrome 95 с этой версией V8 запланирован на 19 октября 2021
Я тут вернулся из отпуска, так что сегодня и, возможно, завтра, будет опубликовано много пропущенных новостей. Рекомендую отключить уведомления, чтобы это не сильно раздражало 🙂
Chrome 94

21 сентября вышла новая версия браузера Chrome, в которой:
- добавлен режим HTTPS-first (пока выключен по умолчанию, но позже его собираются сделать основным)
- обращение к WebSQL из сторонних стриптов теперь выдаёт предупреждение (в Chrome 97 такие обращения будут блокироваться, а ещё позже WebSQL планируют совсем убрать)
- WebCodecs
- scheduler.postTask() — метод для управления приоритезацией (с режимами user-blocking, user-visible и background)
- Idle Detection API (встретившее бурную критику со стороны разработчиков Firefox и WebKit)
- поддержка новых цветовых пространств (Display P3)
- Class static initialization blocks (ES2022)
Новые Origin Trial:
- WebGPU
- открытие PWA через обработчик URL
Новое в DevTools: https://developer.chrome.com/blog/new-in-devtools-94/
Исправления безопасности: https://chromereleases.googleblog.com/2021/09/stable-channel-update-for-desktop_21.html
Safari Technology Preview 133

30 сентября вышла новая версия превью версии Safari. В ней из интересного:
- очень много обновлений фич и исправлений CSS
- экспериментальная поддержка CSS Cascade Layers (кстати, вот хорошая статья о них)
- обновление CSS Font Loading API
- базовая поддержка Storage API
- очередные обновления WebRTC
- Object.hasOwn (ES2022)
- Почти завершённая имплементация Temporal (stage 3) под флагом

❗️ И самое интересное: COOP/COEP включены по умолчанию, а с ними SharedArrayBuffer (ES2017) и #WebAssembly потоки (phase 2)!
27 и 28 сентября прошёл WebKit Contributors Meeting. Несколько докладов (от сотрудников Igalia) оттуда доступны публично:
- WebKit 2021/2022 Igalia (слайды, видео)
- OffscreenCanvas in WebKit 2021 update (слайды, видео) + статья от Brian Kardell
Вышел Firefox 93

В нём:
- поддержка формата изображений AVIF
- улучшенная поддержка форм в PDF
- блокировка несекьюрных загрузок
- улучшения приватности
- тип datetime-local для input
- поддержка Intl.supportedValuesOf
- class static initialization blocks (ES2022)
- различные улучшения DOM API
- движок WebRender теперь является основным и его нельзя выключить

Список изменений для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/93
Список исправлений уязвимостей безопасности: https://www.mozilla.org/en-US/security/advisories/mfsa2021-43/