Вебня – Telegram
Вебня
4.7K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Уже на следующей неделе состоится мартовская встреча #TC39 в Google. Дедлайн для предложений, которые собираются переходить на следующий stage уже прошёл, поэтому список таких предложений в документе можно считать окончательным.
Что интересно, Daniel Ehrenberg собирается пробовать продвигать динамические импорты на stage 4. Напомню, что некоторые члены комитета против этого продвижения, даже не смотря на то, что динамические импорты уже доступны во всех браузерах.
Среди предложений, которые будут обсуждаться, есть 3 новых:
- Private Declarations
- Promise.result
- Promise.any
Кстати, я являюсь соавтором Promise.any и пишу текст спецификации для него.
Делюсь с вами экслюзивом. Это предложение было показано Дениелом Эренбергом на JS Kongress Deep-Track. Его видели всего около 20 человек, и у него еще нет репозитория на гитхабе, только гист. В нём вы можете увидеть новые иммутабельные типы Record и Tuple. Предлагается реализовать их через обновленный пропозал декораторов (об этом обновлении я скорее всего еще расскажу позже подробнее).

https://gist.github.com/littledan/eb10cabc39e884c4a5fd6bbaa60afec0
Вышел Firefox 66, в котором особо ничего интересного не добавили.
https://www.mozilla.org/en-US/firefox/66.0/releasenotes/
Денис Пушкарев выпустил новую мажорную версию core-js 3.0, которая используется в Babel и, пожалуй, является самой популярной библиотекой полифиллов. В этой версии очень много изменений, посмотрите ченджлог и поддержите разработку библиотеки на Open Collective или Patreon.
Также вышел релиз Babel 7.4.0 с поддержкой TypeScript 3.4, core-js 3 и другими фичами
https://babeljs.io/blog/2019/03/19/7.4.0
Вышел LLVM 8, в котором target #WebAssembly включен по умолчанию и больше не является экспериментальным
http://lists.llvm.org/pipermail/llvm-announce/2019-March/000082.html
http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-webassembly-target
Вышел Safari Technology Preview 78. Из главного: в нём Pointer Events включены по умолчанию + добавлена их поддержка в macOS.

Остальные изменения здесь: https://webkit.org/blog/8676/release-notes-for-safari-technology-preview-78/
Новая версия движка V8 перешла в стадию бета. В ней добавилось много интересного, например, возможность отключения JIT, поддержка потоков в WebAssembly (phase 2) по умолчанию на всех платформах, поддержка приватных полей классов (stage 3), Intl.Locale (stage 3) и оптимизации по производительности и использованию памяти.

https://v8.dev/blog/v8-release-74
В Firefox включили BigInt (stage 3) подефолту в Nightly сборках (но сама Nightly сборка с этим изменением еще не готова и ожидается позже сегодня).

upd: сборка уже доступна, можно обновляться

https://bugzilla.mozilla.org/show_bug.cgi?id=1531293
Toon Verwaest написал в блог V8 статью о том, как он добавлял оптимизации парсера.
https://v8.dev/blog/scanner
Наконец-то есть новости с первого дня мартовской встречи #TC39, которая проходит сейчас в Нью-Йоркском офисе Google.
String.prototype.matchAll (stage 3) уходит на stage 4, благодаря чему попадает в ES2020.
Позавчера вышли Safari 12.1 для дескопа и iOS 12.2, к которым до сих пор нет релизных записей, поэтому я составлю свои.

Изменения, связанные с JavaScript:
- Поддержка ES2019 фичи Object.fromEntries
- Поддержка ES2019 фичи Well-formed JSON.stringify (описывается в конце статьи MDN про JSON.stringify)
- Поддержка stage 3 предложения globalThis

Другое:
- Поддержка CSS Logical Properties and Values
- Полная поддержка Payment Request API
- Поддержка AbortController & AbortSignal (да, теперь можно отменять Fetch и в Safari)
- CSS Conical Gradients
- Тип color для input элементов в HTML
- HTML элемент Datalist
- Web Share API
- IntersectionObserver
- TLS 1.3
- Убрали поддержку устаревшего Do Not Track API, который чаще используется для дополнительного отслеживания пользователя, чем по назначению
- Добавили Intelligent Tracking Prevention 2.1
В Mozilla реализовали DNS через HTTPS (DoH) для Firefox для повышения приватности. Компанией будут выбраны Trusted Recursive Resolvers, которые обязуются следовать полиси о приватности. Первым их TTR партнером станет CloudFlare. Для разных регионов возможны свои наборы TTR, а в некоторых регионах DoH возможно не будет включен по умолчанию.

https://mailarchive.ietf.org/arch/msg/doh/po6GCAJ52BAKuyL-dZiU91v6hLw
Через несколько минут начнется второй день мартовской встречи #TC39, а пока держите слайды предложения Uniform parsing of quasi-standard Date.parse input (stage 1), по которому комитет вчера не пришел к консенсусу и оставил на 1 стейдже.