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

Я как всегда буду рассказывать об итогах каждого дня, о каких-либо важных событиях сразу же онлайн, и напишу общие итоги январской встречи одним большим постом. Честно говоря, я не ожидал такого количества тем для обсуждения. Казалось, что какие-то основные изменения в плане синтаксиса уже пришли в язык, но в повестке можно найти много нового (и хорошо забытого старого), что может значительно поменять синтаксис. Будем следить вместе вечерами с понедельника по четверг, присоединяйтесь!
В Chromium перестанет работать синхронизация через API от Google

Google собирается ограничить доступ к своим API для сторонних браузеров на базе Chromium 15 марта 2021. Ранее пользователи таких браузеров могли синхронизировать свои данные с аккаунтом Google. В результате авторы дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE подняли вопрос о том, чтобы убрать Chromium из поставки в своих дистрибутивах. Разработчики браузеров на основе Chromium пока никак не прокомментировали грядущие изменения, но очевидно, что такой шаг может перевести их пользователей в ряды пользователей Google Chrome.
Важные новости CSS с прошлой недели

Опубликованы W3C Accessibility Guidelines (WCAG 3) в статусе First Public Working Draft. Новая версия документа имеет переработанную структуру, соответствие гайдлайнам теперь применяется не к страницам, а к сайтам или продуктам, 100% соответствие теперь не обязательно (достаточно отсутствие критических ошибок).

Опубликованы CSS Cascading and Inheritance Level 5 также в статусе First Public Working Draft. В новой версии добавлен концепт слоёв каскадности.
Разработчики Chromium из Google в очередной раз отчитались о результатах тестирования технологий приватности, которые должны заменить куки

В блоге рассказывается о нескольких технологиях. Federated Learning of Cohorts поможет избавиться от персонализированных данных, заменив группами людей по интересам. Другие технологии, такие как Trust Tokens, First Party Sets, Conversion Measurement помогут бороться с фродом, указать, что разные домены относятся к одной и той же компании, и подсчитывать конверсию от веб-рекламы без использования 3rd party cookies.
Open Web Docs

Google, Microsoft, Mozilla, Coil, W3C, Samsung и Igalia публично объявили о создании коллективного проекта Open Web Docs для поддержания технических писателей, которые пишут документацию для технологий веб платформы. В первую очередь проект нацелен на поддержание проектов вроде MDN (сейчас основной фокус), но не ограничивается этим.

Пост на Mozilla Hacks
Пост на web.dev
Пост на W3C
Пост на OpenCollective
⚡️Пропозал JSON modules отправляется на stage 3
⚡️ Пропозал JS Module Blocks переходит на stage 2
⚡️ Пропозал Class static Initialization Blocks переходит на Stage 3 (с некоторыми изменениями)
Итоги первого дня 80й встречи #TC39

Отчёт секретариата Ecma (слайды)
Тут особо ничего интересного нет. Интересно разве что (и о чём я уже писал) то, что в 2021 вместо 6 встреч TC39 проведёт 8. 4 встречи будут длиться по 4 дня, а ещё 4 между ними по 2 дня.

Отчёты редакторов
- ECMA262 — тут редакторы отметили, что в конце текущего пленарного заседания произойдёт фича фриз ES2021, то есть уже в пятницу мы узнаем полный список фич, которые попадут в эту версию спецификации
- ECMA402 — то же самое, готовятся к фича фризу 2021
Рекомендую полистать и сами слайды.
А ещё TC53 (комитет, занимающийся ECMAScript модулями для встраиваемых систем) готовится представить черновик спеки в феврале и выпустить первую версию спецификации в июне.

Нормативные изменения
Runtime Semantics for MemberExpression do not conform to web reality — было принято, но комитет собирается ещё обсудить возможные последствия этого изменения, чтобы учесть это в будущем. В поддержку изменения высказались все имплементоры.

Пропозалы
RegExp match indices (слайды) — консенсус достигнут, но предложение не смогло взять stage 4 из-за того, что разработчики движков не успели заимплементить последнее обновление — добавление флага d (что позволит избежать проблем производительности для регулярок в целом, с чем ранее столкнулись Google и Apple).
JSON Modules (слайды) — stage 3 взят! Ждём в браузерах и Node.js.
Array.isTemplateObject (слайды) — консенсус не достигнут, пропозал не смог взять stage 3. Интересно, что чемпион этого предложения работает в Google, но критика была в значительной степени и от его коллег.
JS Module blocks (слайды) — консенсус и stage 2
Class static Initialization Blocks (слайды) — консенсус по stage 3 получен, но с условием, что в текст спецификации будут внесены некоторые изменения (самое значительное из которых — возможность добавлять несколько статических блоков), после чего ревьеры пропозала и редакторы спецификации должны будут заапрувить их.
Вебня pinned «Итоги первого дня 80й встречи #TC39 Отчёт секретариата Ecma (слайды) Тут особо ничего интересного нет. Интересно разве что (и о чём я уже писал) то, что в 2021 вместо 6 встреч TC39 проведёт 8. 4 встречи будут длиться по 4 дня, а ещё 4 между ними по 2 дня.…»
Спецификация WebRTC 1.0 получила статус W3C Recommendation

Пресс-релиз: https://www.w3.org/2021/01/pressrelease-webrtc-rec.html.en
Вышел Firefox 85

В нём:
- включен <link rel="preload">
- элемент <menuitem> убран под флаг
- добавлено CSS свойство :focus-visible
- добавлено значение pinch-zoom для touch-action
- улучшения Intl.Collator()
- окончательно отключен Flash
- продвинутая приватность (защита от supercookies)

Релизные записи для разработчиков
Релизные записи для конечных пользователей
Изменения в API расширений
⚡️Пропозал Intl.DateTimeFormat.prototype.formatRange отправляется на stage 4 и попадёт в ECMA402 2021. Фича уже добавлена в V8, JavaScriptCore и Spidermonkey
⚡️Пропозал Intl Locale Info попадает на stage 2
⚡️Пропозал Intl DisplayNames v2 попадает на stage 2
Просто небольшой факт — если релизы Chrome и Firefox будут идти по плану, то 5 октября 2021 года Firefox обгонит Chrome в нумерации. Firefox 94 выйдет в эту дату, а Chrome 94 неделей позже. На данный момент актуальными версиями являются Chrome 88 и Firefox 85.
Итоги второго дня 80й встречи #TC39

Итоги первого дня тут.

Пропозалы
Intl.DateTimeFormat.prototype.formatRange (слайды) отправляется на stage 4.
ResizableArrayBuffer and GrowableSharedArrayBuffer (слайды) — апдейт по stage 2. Было много обсуждений, в том числе о возможном использовании в интеропе с WebAssembly, чемпион откроет много новых issue для дальнейшего обсуждения.
Dynamic code brand checks (слайды) — не нашёл консенсуса и остаётся на stage 1.
Realms — stage 2 апдейт. Дискуссии продолжатся на GitHub и внутри команды Chrome.
Intl Locale Info (слайды) — отправляется на stage 2.
Intl DisplayNames v2 (слайды) — также отправляется на stage 2.
Do Expressions (слайды) — к сожалению, я пропустил этот доклад, пропозал не продвинулся и остаётся на stage 1, но вроде, если позволит время, к этому вопросу ещё вернутся в третий или четвёртый ден.

Другие темы
Создание рабочей группы по безопасности — вроде бы рабочая группа будет создана, но необходимо решить бюрократические формальности с Ecma.
Вебня pinned «Итоги второго дня 80й встречи #TC39 Итоги первого дня тут. Пропозалы Intl.DateTimeFormat.prototype.formatRange (слайды) отправляется на stage 4. ResizableArrayBuffer and GrowableSharedArrayBuffer (слайды) — апдейт по stage 2. Было много обсуждений, в том…»
Налоговая служба Южно-Африканской Республики выпустила свой браузер

Сделала она это из-за того, что на их сайте используются Flash-формы, а все современные браузеры уже убрали поддержку Flash.

https://twitter.com/sarstax/status/1353699405912797184
⚡️Пропозал async do expressions взял stage 1
⚡️Пропозал Ergonomic brand checks for private fields взял stage 3