Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Firefox 73 принесёт некоторые изменения для cros-origin <iframe>. Геолокация, полноэкранный режим, запись экрана, доступ к камере и микрофону теперь выключены по умолчанию для айфреймов для сохранения приватности и безопасности пользователя. Если Вы хотите разрешить третьей стороне что-то из этих API, Вам необходимо добавить allow атрибут с указанием нужных API.
Вышел Firefox 72 с различными улучшениями DevTools, CSS, Web API. Из новых фич JS появилась поддержка Nullish Coalescing (ES2020).


Дополнительный материал
Релизные записи для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/72
Совместимость: https://www.fxsitecompat.com/en-CA/versions/72/
Релизные записи для конечного пользователя: https://www.mozilla.org/en-US/firefox/72.0/releasenotes/
Chromium борется с навязчивым использованием Notifications API. В следующей версии Chromium (и соответственно в Chrome 80) UI запроса разрешения от пользователя для нотификаций будет переработан.

https://blog.chromium.org/2020/01/introducing-quieter-permission-ui-for.html
10 декабря состоялась 118я встреча Генеральной Ассамблеи Ecma International. Теперь членами этой организации также являются Alibaba, Dell Technologies, Huawei Technologies, Sony Interactive Entertainment, MetaMask, Sujitech. Как видим, большой интерес к участию в работе над стандартами Ecma проявляют китайские компании, и в первую очередь это, конечно, работа в составе технического комитета 39. Также на этой встрече co-chair #TC39 от компании Mozilla Юлия Старцев получила награду Ecma recognition award.
Вышел Safari Technology Preview 98. В нём:
- улучшения и исправления Web Inspector
- Web Animations CSS integration включена по умолчанию
- Generic Text Track Cue API
- OffscreenCanvas.convertToBlob
- различные улучшения и исправления некоторых Web API, CSS, Web RTC,
- TLS 1.0 и 1.1 выключены по умолчанию
- валидация и генерация WebAssembly байткода за один проход

https://webkit.org/blog/9689/release-notes-for-safari-technology-preview-98/
Также TLS 1.0 и 1.1 будут отключены по умолчанию для всех версий, начиная с Firefox 74 (до этого они были отключены только в Firefox Nightly, начиная с версии 71).

https://www.fxsitecompat.dev/en-CA/docs/2020/tls-1-0-1-1-support-has-been-removed/
С конца июля TypeScript опережает Babel по количеству скачиваний в npm и эта разница стремительно растёт

https://www.npmtrends.com/typenoscript-vs-babel-core
Как справедливо заметил @pterolex, на графике в предыдущем сообщении учитывается Babel 6. Совсем забыл, что мы давно перешли под неймспейс 😅🤦‍♂️.

Правильный график вот тут и Babel всё ещё лидирует.
@maxgraey предлагает вычесть из скачиваний @babel/core скачивания @babel/preset-typenoscript, и в этом случае TS и Babel практически сравниваются. На этом про TS vs Babel на сегодня всё :)

https://www.npmtrends.com/typenoscript-vs-@babel/core-vs-@babel/preset-typenoscript
Создана новая Unicode Working Group — Message Formatting. Рабочая группа представлена сотрудниками Amazon, Dropbox, Facebook, Google, IBM, Mozilla, OpenJSF и Paypal и будет заниматься разработкой нового стандарта для форматирования текста. Текущая версия ICU Message Format сложна для различных форм слова (таких как род, число и др), поэтому было решено создать новую с учётом всех проблем ICU.

https://github.com/unicode-org/message-format-wg
Статья о том, как команда Chrome сотрудничает с опенсорс фреймворками, библиотеками и инструментами.

https://web.dev/advancing-framework-ecosystem-cds-2019/
Во всех последних версиях версиях Firefox и Thunderbird найдена критическая уязвимость, позволяющая получить контроль над системой атакуемого. Уязвимость была обнаружена в оптимизирующем JIT компиляторе JavaScript IonMonkey и уже широко использовалась.
WICG предлагает добавить Compression Streams API для использования gzip и deflate (в будущем планируются и другие алгоритмы, например brotli) для прикладных задач в веб платформе. Уже сейчас можно попробовать новое API в Chrome Canary в демо, которое так же демонстрирует использование Native File System API
Вышел TypeScript 3.8 Beta. Очень класссный релиз, в котором:
- Type-Only Imports and Export
- приватные поля классов (stage 3)
- export * as ns
- top-level await (stage 3)
- поддержка @public, @private и @protected в JSDoc
- продвинутая поддержка file-watching
- дополнительная настройка для быстрого тайпчекинга
Вышел Babel 7.8.0. Тоже классный релиз, в котором:
- поддержка ES2020 фич по умолчанию (nullish coalescing и optional chaining)
- поддержка разных форматов файлов конфигурации
- новые параметры CLI для конфигурации вывода

Также в статье новости о будущем релизе Babel 8, о котором можно почитать подробнее вот тут.
Оказывается команда SpiderMonkey (JavaScript движок, используемый в Firefox) недавно завела блог, в котором публикует новости об изменениях в движке. В последней новостной рассылке есть много всего интересного:
- обновление Intl.DateTimeFormat.prototype.formatToParts до актуальной версии, соответствующей последним изменениям в спецификаци
- Project Visage — новый фронтенд (парсер и эмиттер байткода) для JavaScript, написанный на языке Rust
- улучшения парсера
- Project Stencil — новый формат данных, генерируемых парсером
- движок для регулярных выражений будет заменён на тот, что используется в V8
- упрощение байткода
- устаревшие toSource и uneval убраны из движка
- улучшения дебаггера
- улучшения производительности Array.prototype.reverse и BigInt
- в Nightly появился флаг, включающий поддержку JS BigInt <-> wasm I64 conversion
- продолжается работа над уже добавленными #WebAssembly пропозалами Reference types и bulk memory
- много улучшений Cranelift — кодогенератора, который в будущем будет использоваться для оптимизирующего компилятора WebAssembly
- ведётся работа на WebAssembly пропозалом multi-value
- ведётся работа над включением SharedArrayBuffer по умолчанию
- начата работа по добавлению WebAssembly пропозала exception handling
Завтра, 14 января, завершается период расширенной поддержки Windows 7. После этого техническая поддержка и обновления перестанут предоставляться. Windows 7 до сих пор является второй по популярности операционной системой из семейства Windows (по StatCounter) с 25% пользователей. Internet Explorer 11 всё ещё будет поддерживаться на Windows 8.1 до 10 января 2023 (примерно 5% пользователей ОС семейства Windows) и Windows 10 (на которой браузером по умолчанию является Edge).

А уже 15 января состоится релиз новой версии браузера Edge на основе Chromium.
Если Вам очень надо по какой-либо причине заблокировать автоматическое обновление старой версии Edge (которая, к слову, получила официальное название — Edge Legacy) до новой (основанной на Chromium), то есть официальная инструкция от Microsoft. Если Вам нужно тестировать свои веб приложения на обеих версиях Edge, то есть инструкция и для этого.
Разработчики Chromium собираются заморозить и унифицировать строку User Agent. Safari уже сделали это в Safari Technolgy Preview 46, Firefox и Edge собираются в сделать то же самое. Взамен предлагается использовать спецификацию User-Agent Client Hints, которая в данный момент развивается от лица компании Google в икубаторе W3C WICG.