Все 3 спецификации #WebAssembly перешли из статуса Candidate Recommendation в статус Proposed Recommendation:
- WebAssembly Core Specification
- WebAssembly JavaScript Interface
- WebAssembly Web API
Все последние правки в эти спецификации принимаются до 27 октября, после чего будет инициирован их переход в (финальный) статус W3C Recommendation.
- WebAssembly Core Specification
- WebAssembly JavaScript Interface
- WebAssembly Web API
Все последние правки в эти спецификации принимаются до 27 октября, после чего будет инициирован их переход в (финальный) статус W3C Recommendation.
Разработчики Chromium рассказали о своих планах по выключению TLS 1.0 и 1.1. Напомню, что в Safari Technology Preview и Firefox Nightly устаревшие небезопасные версии протокола уже отключены. Ранее я также публиковал тут новость со статьёй о том, как проверить свои сайты на поддержку TLS 1.2 и 1.3.
Chromium Blog
Chrome UI for Deprecating Legacy TLS Versions
Update (April 6, 2020): The removal of legacy TLS versions was originally scheduled for Chrome 81, but is being delayed until at least Chr...
Через 2 часа начнётся второй день #TC39. Сегодня повестка дня выглядит вот так (в часовой зоне EDT):
Первым же будет обсуждаться пропозал Promise.any, над текстом спецификации которого я работал, и как раз исправил в ней (надеюсь что) последний баг. 😬
Результаты предыдущего дня встречи комитета читайте тремя сообщениями выше.
• 10:00-11:00
◦ 15m Promise.any for Stage 3 Mathias Bynens
◦ 15m Reduce the amount of implementation-defined behavior in Array.prototype.sort (comment) Mathias Bynens
◦ 30m String.prototype.replaceAll for Stage 3 Mathias Bynens
• [optional] break (5 minutes)
• 11:05-12:05
◦ 30m Update on sequence property escapes in Unicode regular expressions Mathias Bynens
◦ 30m Proposal Disclosure Policy Michael Saboff
• lunch (60 minutes)
• 13:05-14:35
◦ 30m Revisit ECMA-402 casing conventions Shane Carr
◦ 30m Map#upsert , previously Map#insertOrUpdate for Stage 2 Erica Pramer
◦ 30m Update on Temporal Philipp Dunkel
• break (10 minutes)
• 14:45-15:45
◦ 30m Declarations in Conditionals for Stage 1 Devin Rousso
◦ 30m Intl.DisplayNames for Stage 3 Frank Tang
• break (15 minutes)
• 16:00-17:00
◦ 15m Update on RegExp Match Indices Ron Buckton
Первым же будет обсуждаться пропозал Promise.any, над текстом спецификации которого я работал, и как раз исправил в ней (надеюсь что) последний баг. 😬
Результаты предыдущего дня встречи комитета читайте тремя сообщениями выше.
Спустя примерно год разработки, вышел Preact X. Среди новых фич:
- Фрагменты
-
-
-
-
- полная совместимость с React из коробки (ранее требовался слой совместимости в виде preact/compat)
При этом размер библиотеки остался так же 3кб.
- Фрагменты
-
componentDidCatch-
preact/hooks addon-
preact/test-utils addon-
createContext API- полная совместимость с React из коробки (ранее требовался слой совместимости в виде preact/compat)
При этом размер библиотеки остался так же 3кб.
Preactjs
What's new in Preact X – Preact Guide
New features and changes in Preact X
Итоги второго дня октябрьской встречи #TC39:
- ❓предложение Promise.any пока остаётся на stage 2 (сегодня будет дополнительное обсуждение)
- ✅ консенсус по нормативному изменению Reduce the amount of implementation-defined behavior in Array.prototype.sort достигнут
- 🚀 String.prototype.replaceAll переходит со stage 2 на stage 3
- апдейт sequence property escapes in Unicode regular expressions (stage 2) — есть прогресс, нужно решить еще некоторые вопросы
- 📌 Proposal Disclosure Policy — не очень понятно как это сделать и кто именно должен этим заниматься (явно не сам TC39, возможно ExeCom или GA)
- ✅ Revisit ECMA-402 casing conventions — документ заапрувлен
- 🚀 Map.prototype.upsert переходит со stage 2 на stage 3
- 📌 апдейт Temporal (stage 2) — всё идёт по плану
- 🚀 Declarations in Conditionals переходит на stage 1
- 🚀 Intl.DisplayNames переходит со stage 2 на stage 3
- 📌 RegExp Match Indices в декабре будет пытаться взять stage 4, ожидает имплементации в JavaScriptCore (движке WebKit/Safari) или SpiderMonkey (движке Firefox)
- ✅ Unifying private field errors — имена, начинающиеся с решётки будут всплывать (hoist), чтобы не было TDZ и
Итоги первого дня можно найти тут.
- ❓предложение Promise.any пока остаётся на stage 2 (сегодня будет дополнительное обсуждение)
- ✅ консенсус по нормативному изменению Reduce the amount of implementation-defined behavior in Array.prototype.sort достигнут
- 🚀 String.prototype.replaceAll переходит со stage 2 на stage 3
- апдейт sequence property escapes in Unicode regular expressions (stage 2) — есть прогресс, нужно решить еще некоторые вопросы
- 📌 Proposal Disclosure Policy — не очень понятно как это сделать и кто именно должен этим заниматься (явно не сам TC39, возможно ExeCom или GA)
- ✅ Revisit ECMA-402 casing conventions — документ заапрувлен
- 🚀 Map.prototype.upsert переходит со stage 2 на stage 3
- 📌 апдейт Temporal (stage 2) — всё идёт по плану
- 🚀 Declarations in Conditionals переходит на stage 1
- 🚀 Intl.DisplayNames переходит со stage 2 на stage 3
- 📌 RegExp Match Indices в декабре будет пытаться взять stage 4, ожидает имплементации в JavaScriptCore (движке WebKit/Safari) или SpiderMonkey (движке Firefox)
- ✅ Unifying private field errors — имена, начинающиеся с решётки будут всплывать (hoist), чтобы не было TDZ и
ReferenceError.Итоги первого дня можно найти тут.
GitHub
agendas/10.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Вышел Safari Technology Preview 93. Включает в основном правки багов. Ознакомиться со списком изменений можно тут:
https://webkit.org/blog/9600/release-notes-for-safari-technology-preview-93/
https://webkit.org/blog/9600/release-notes-for-safari-technology-preview-93/
WebKit
Release Notes for Safari Technology Preview 93
Safari Technology Preview Release 93 is now available for download for macOS Mojave and the macOS Catalina beta.
Итоги третьего дня октябрьской встречи #TC39:
- ❌ UUID не смог взять stage 1
- 🚀 Readonly Collections переходит на stage 1
- 🚀 Eventual-Send: Support for distributed promise pipelining переходит на stage 1
- 🚀 Wavy Dot syntax for promise pipelining переходит на stage 1
- 🚀 OOM Fails Fast переходит на stage 1
Итоги первого дня можно найти тут.
Итоги второго дня можно найти там.
- ❌ UUID не смог взять stage 1
- 🚀 Readonly Collections переходит на stage 1
- 🚀 Eventual-Send: Support for distributed promise pipelining переходит на stage 1
- 🚀 Wavy Dot syntax for promise pipelining переходит на stage 1
- 🚀 OOM Fails Fast переходит на stage 1
Итоги первого дня можно найти тут.
Итоги второго дня можно найти там.
GitHub
agendas/10.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Джейк Арчибальд о результатах встречи #W3C на TPAC в Фукуоке относительно Service workers. В посте он рассказывает про новые добавленные, а также убранные из стандарта фичи.
https://jakearchibald.com/2019/service-workers-tpac/
https://jakearchibald.com/2019/service-workers-tpac/
Jakearchibald
Service workers at TPAC
Last month we had a service worker meeting at TPAC. Here's a summary…
Опубликованы 4 видео с прошедшей встречи #TC39 с докладами-презентациями новых предложений в ECMAScript от Марка Миллера из компании Agoric. Все эти предложения перешли на stage 1:
- Readonly Collections
- Eventual Send
- Wavy Dot syntax
- OOM Fails Fast
- Readonly Collections
- Eventual Send
- Wavy Dot syntax
- OOM Fails Fast
Instance Class Fields (stage 3) проходят очередное ревью в JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=174212#c140
Напомню, что Public Instance Class Fields поддерживаются в Firefox 69+ и Chrome 72+, а Private Instance Class Fields в только в Chrome 74+.
https://bugs.webkit.org/show_bug.cgi?id=174212#c140
Напомню, что Public Instance Class Fields поддерживаются в Firefox 69+ и Chrome 72+, а Private Instance Class Fields в только в Chrome 74+.
GitHub
GitHub - tc39/proposal-class-fields: Orthogonally-informed combination of public and private fields proposals
Orthogonally-informed combination of public and private fields proposals - tc39/proposal-class-fields
Майлс Боринс рассказывает о своём пропозале Top-level await (stage 3), который уже поддерживается в REPL Chrome, Node.js и Safari:
https://v8.dev/features/top-level-await
https://v8.dev/features/top-level-await
v8.dev
Top-level await · V8
Top-level `await` is coming to JavaScript modules! You’ll soon be able to use `await` without needing to be in an async function.
Совсем забыл рассказать. Несколько дней назад был открыт репозиторий с исходным кодом грядущего Vue 3.
https://github.com/vuejs/vue-next
https://github.com/vuejs/vue-next
GitHub
GitHub - vuejs/core: 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. - vuejs/core
Unicode Consortium создали страницу с частотой использования различных emoji. Анализ частоты использования текущих emoji позволяет принять решение о включении новых предложений в стандарт.
https://home.unicode.org/emoji/emoji-frequency/
https://home.unicode.org/emoji/emoji-frequency/
Unicode
Emoji Frequency
Emoji Frequency ARCHIVE THIS SECTION CONTAINS EMOJI DATA FROM PREVIOUS YEARS The Most Frequent Emoji -- 2019How does the Unicode Consortium choose which new emoji to add to
Как известно, Mozilla собирается добавить в Firefox встроенный VPN. В данный момент он доступен только пользователям США. Сервис предоставляется в партнерстве с Cloudflare. Как выяснилось, согласно private police, Cloudflare собирает IP пользователя и сайта, время запроса и уникальный идентификатор пользователя, который хранится 24 часа или более в случае необходимости. Помимо этого, Mozilla также собирает информацию об устройстве, операционной системе, а также уникальный идентификатор пользователя и другую информацию. Всё это ставит под некоторое сомнение гарантии приватности при использовании Firefox Private Network. В любом случае, это неплохая альтернатива другим бесплатным VPN, у которых с приватность зачастую ещё хуже.
https://restoreprivacy.com/firefox-vpn-private-network/
https://restoreprivacy.com/firefox-vpn-private-network/
RestorePrivacy
Best VPN for Firefox
This guide examines the best VPN for Firefox. We test and analyze the top Firefox VPN services that work with the browser.
Отличный доклад от Антона Хлыновского — Самый низкий уровень: пишем на WebGL и #WebAssembly без фреймворков и транскомпиляторов.
https://www.youtube.com/watch?v=hTeMaNKNWxo
https://www.youtube.com/watch?v=hTeMaNKNWxo
YouTube
Самый низкий уровень: пишем на WebGL и WebAssembly без фреймворков и транскомпиляторов/ А.Хлыновский
РИТ++ 2019
FrontendConf
Тезисы и презентация:
http://frontendconf.ru/moscow-rit/2019/abstracts/4492
Говоря о WebGL, часто имеют в виду three.js или другие похожие фреймворки. Новичок на поле веб-технологий WebAssembly уже начинает ассоциироваться с языками…
FrontendConf
Тезисы и презентация:
http://frontendconf.ru/moscow-rit/2019/abstracts/4492
Говоря о WebGL, часто имеют в виду three.js или другие похожие фреймворки. Новичок на поле веб-технологий WebAssembly уже начинает ассоциироваться с языками…
Bingbot, который кроулит сайты для Bing, теперь вечнозелёный, как и Googlebot (и тоже основан на Chromium).
https://blogs.bing.com/webmaster/october-2019/The-new-evergreen-Bingbot-simplifying-SEO-by-leveraging-Microsoft-Edge
https://blogs.bing.com/webmaster/october-2019/The-new-evergreen-Bingbot-simplifying-SEO-by-leveraging-Microsoft-Edge
Bing
The new evergreen Bingbot simplifying SEO by leveraging Microsoft Edge
Bing is adopting Microsoft Edge as the Bing engine to run JavaScript and render web pages. Doing so will create less fragmentation of the web and ease Search Engines Optimization (SEO) for all web developers. Bingbot will be evergreen as we are committing…
Вышла новая бета версия браузера Samsung Internet 10.2 Beta. Под капотом теперь Chromium 71 (был 67), а значит добавились такие JS фичи, как:
- разделяемая память
- Array.prototype.flat
- Array.prototype.flatMap
- globalThis
- Symbol.prototype.description
- разделяемая память
- Array.prototype.flat
- Array.prototype.flatMap
- globalThis
- Symbol.prototype.description
Medium
Samsung Internet 10.2 Beta
Broken ring error screen, new tab presentation & reining in spammy apps are all part of the story. Plus: video assistant is reborn!
#W3C Immersive Web Working Group опубликовала два новых черновика спецификаций WebXR Augmented Reality Module – Level 1 и WebXR Gamepads Module – Level 1 в статусе First Public Working Draft. Вообще надо заметить, что группа очень активна, и развитие VR и AR в вебе идёт очень быстро.
Интереснейший документ из рассылки V8 прислал @bmsdave (респект). Команда Chrome DevTools предлагает внедрить DevTools Language Servers для анализа и отладки кода. В данный момент для этого везде используются source maps, но они не всегда являются достаточно удобным инструментом (и не очень активно развиваются как стандарт), а также плохо подходят для отладки #WebAssembly. В документе описаны два возможных пути реализации идеи Language Servers.
https://docs.google.com/document/d/1o_oGolGKkcrQP3RcXvU8lxM71OcosK49Wz4E9HVc-Pk/edit#
https://docs.google.com/document/d/1o_oGolGKkcrQP3RcXvU8lxM71OcosK49Wz4E9HVc-Pk/edit#
Google Docs
DevTools Language Components
DevTools Language Components Attention: Externally visible, non-confidential Canonical Link: bit.ly/devtools-language-components Author: bmeurer@chromium.org Status: Inception | Draft | Accepted | Done Created: 2019-10-09 / Last Updated: 2020-01-28 One-page…
Ещё один документ с планами развития DevTools Protocol V8 в отношении #WebAssembly — WebAssembly Inspector Interface. Он описывает планы по упрощению этого интерфейса и переноса разных захардкоженных в V8 частей в DevTools Frontend.
https://docs.google.com/document/d/1zi5LLKwWMRdIIWN4Vgyy7RgcM0f4Xi3Ffn27QO1iMGU/edit?ts=5da06e9e#heading=h.gzqdatwcjvhg
https://docs.google.com/document/d/1zi5LLKwWMRdIIWN4Vgyy7RgcM0f4Xi3Ffn27QO1iMGU/edit?ts=5da06e9e#heading=h.gzqdatwcjvhg
Google Docs
WebAssembly Inspector Interface
WebAssembly Inspector Interface Attention: Externally visible, non-confidential Canonical Link: bit.ly/devtools-wasm-interface Author: rreverser@google.com, leese@chromium.org, bmeurer@chromium.org Status: Inception | Draft | Accepted | Done Created: 2019…
Вышла первая бета webpack 5 (а точнее 5.0.0-beta.0). В ней:
- персистентное кэширование
- упрощённое и улучшенное долгосрочное кэширование
- улучшенный tree-shaking
- уменьшенный рантайм
- top-level await (stage 3)
- WebAssembly как асинхронный модуль
- аутпут в модуль
- новый тип модулей - asset
Если решились попробовать, то свой фидбэк можно оставлять здесь:
https://github.com/webpack/webpack/issues/9802
- персистентное кэширование
- упрощённое и улучшенное долгосрочное кэширование
- улучшенный tree-shaking
- уменьшенный рантайм
- top-level await (stage 3)
- WebAssembly как асинхронный модуль
- аутпут в модуль
- новый тип модулей - asset
Если решились попробовать, то свой фидбэк можно оставлять здесь:
https://github.com/webpack/webpack/issues/9802
GitHub
webpack 5 beta feedback · Issue #9802 · webpack/webpack
🎉 Thanks for being brave and donating your valuable time to testing unfinished beta software 🎉 webpack 5 is in beta phase now. This means major changes and features are done. Major breaking changes...