Вебня
5.21K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Apple объявили о том, что iOS 14 и iPadOS 14 с браузером Safari 14 выйдут завтра.

Обо всех новых фичах в этой версии я ранее писал тут.

Upd:
GM seed этих операционных систем уже доступны разработчикам.
Также можно скачать Safari 14 beta 5 для Mojave и Catalina.
А ещё сегодня вышел JDK 15, в котором полностью убран JavaScript движок Nashorn (до этого был помечен как deprecated ещё с версии JDK 11). В качестве замены рекомендуется использовать GraalVM, котороая поддерживает самые свежие фичи ECMAScript.
Ещё одна важная новость — начиная с сегодня, популярная библиотека moment.js будет получать только обновления, связанные с исправлениями багов и улучшением стабильности, а её активная разработка и дальнейшее развитие прекращаются. Разработчики moment.js не рекомендуют использовать её в новых проектах. В качестве альтернативных вариантов предлагаются библиотеки Luxon, Day.js, date-fns, js-Joda. Также в #TC39 ведётся работа над пропозалом Temporal (stage 2), который должен упростить работу с датами и временем в JavaScript. Кстати, Вы можете помочь с его разработкой.
С 15 сентября начали действовать некоторые изменения в документе процесса W3C и патентой политике.

Главные изменения в документе процесса стандартизации:
- улучшения процесса ревью и проверки совместимости разных спецификаций
- улучшение рабочих процессов, документации и технических отчетов
- режим непрерывной разработки, который фактически позволит сделать любую спецификацию живым стандартом.

Изменения в патентной политике позволят уменьшик риски проведения экспериментов и упростить доступ к веб-технологиям как общедоступной инфраструктуре.
Вебня
Apple объявили о том, что iOS 14 и iPadOS 14 с браузером Safari 14 выйдут завтра. Обо всех новых фичах в этой версии я ранее писал тут. Upd: GM seed этих операционных систем уже доступны разработчикам. Также можно скачать Safari 14 beta 5 для Mojave и Catalina.
Публичные релизы iOS 14 и iPadOS 14 с Safari 14 вышли. Можно обновляться (по воздуху). Версия для macOS всё ещё значится как Safari beta 5.

Напомню также, что теперь альтернативные браузеры можно сделать браузерами по умолчанию (важно помнить, что их сборки для мобильных операционных систем Apple всё ещё основаны на WebKit).

Upd: Safari 14 вышел для macOS Catalina и Mojave.
Стали доступны слайды обновлённого пропозала декораторов к ближайшей встрече #TC39, которая пройдёт уже на следующей неделе.

https://slides.com/pzuraq/decorators-a-new-proposal-2020-09

Кажется эта (уже 3я) версия имеет все шансы попасть далее на stage 3.
В Mozilla продолжаются оптимизации. В этот раз решили закрыть несколько сервисов: Firefox Send и Firefox Notes. В отчёте указывается, что это поможет сосредоточиться на других сервисах, таких как Mozilla VPN, Firefox Monitor и Firefox Private Network.
В блоге Samsung Internet появилась статья о существующих API для устройств со складными экранами и о том, как правильно под них верстать.

https://medium.com/samsung-internet-dev/folding-the-web-90952c925d52
Вышел Vue 3 — новая версия популярного фронтенд фреймворка с улучшенной поддержкой TypeScript, улучшениями производительности, лучшей модульностью, которая позволяет делать более эффективный tree-shaking, Composition API.

https://github.com/vuejs/vue-next/releases/tag/v3.0.0
Unicode Consortium утвердил Emoji 13.1. Это минорное обновление, предшествующее отложенному из-за COVID-19 релизу Unicode 14.0. В нём добавлено 217 новых эмоджи, из которых 210 — это варианты оттенков кожи и 7 совершенно новых (на изображении).

Более подробный обзор от Emojipedia: https://blog.emojipedia.org/217-new-emojis-in-final-list-for-2021/
Вышел V8 версии 8.6. Что нового:
- в кодовую базу добавлен фаззер, который подходит для тестирования разных движков и основан на Babel
- отдельная оптимизация для Number.prototype.toString, применяемого к небольшим целым числам
- Atomics.wake окончательно убран (он был заменён Atomics.notify ранее)
- небольшие изменения для соответствия нормативным изменениям, принятым в спецификацию
- #WebAssembly SIMD (phase 3 пропозал, доступный в V8 под origin trial) теперь работает и в компиляторе Liftoff
- ускорены вызовы из wasm в JS
- Isolate::HasPendingBackgroundTasks — новый API, который позволит эмбеддерам определить существуют ли в инстансе Isolate незавершенные фоновые задачи

https://v8.dev/blog/v8-release-86
Вышел Firefox 81. Изменений, интересных нам как разработчикам, очень мало, они касаются усиления безопасности при использовании айфреймов и воркеров, выпиливания специфичных только для Mozilla нестандартных фич.

Изменения для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/81
Изменения для пользователей: https://www.mozilla.org/en-US/firefox/81.0/releasenotes/
Изменения совместимости: https://www.fxsitecompat.dev/en-CA/releases/81/
Выпущен отчет совместимости браузеров MDN 2020, выпущенный совместно компаниями Google и Mozilla (также при участии сотрудников Samsung, Microsoft и некоторых других). В нём опубликованы результаты опросов разработчиков относительно совместимости браузеров, удовлетворенности, “болевых точках”, проблемах конкретных разделов веб платформы и проблемах браузеров и платформ, на которых они работают.

https://mdn-web-dna.s3-us-west-2.amazonaws.com/MDN-Browser-Compatibility-Report-2020.pdf
Katie Hempenius о том, как CDN помогают улучшить производительность сайтов и сэкономить стоимость их обслуживания.

https://web.dev/content-delivery-networks/
На втором дне текущего #TC39 пропозал .item() method on all the built-in indexables взял stage 3. О том, в чём польза этого предложения для JavaScript разработчиков, а также как этот метод позволит улучшить DOM API, в статье Axel Raushcmayer.

https://2ality.com/2020/09/item-method.html

P.S. в этот раз я не веду лайвы с TC39 из-за крайне неудобной таймзоны проведения, поэтому все окончательные результаты выложу одним сообщением (скорее всего уже завтра).
Извиняюсь за то, что целую неделю не было новостей. Было очень много других дел. А новостей накопилось очень много. Главная из них, пожалуй, это то, что на прошлой неделе была встреча #TC39, о результатах которой стоит рассказать.

Результаты 78 встречи TC39 (21 - 24 сентября)

🚀 ECMA402 пропозал Intl.DisplayNames переходит на stage 4 (слайды)
пропозал .item() переходит на stage 3 (слайды)
Import Assertions переходят на stage 3 (слайды)
🐥 ECMA402 Intl Enumeration API переходит на stage 2 (слайды)
🐥 Class static initialization block переходит на stage 2 (слайды)
🐥 Resizable and growable ArrayBuffers переходит на stage 2 (слайды)
🐣 новое предложение String.dedent переходит на stage 1 (слайды)
🐣 новое предложение ECMA402 Intl.DisplayNames V2 переходит на stage 1 (слайды)
🐣 новое предложение ECMA402 Intl.Locale info переходит на stage 1 (слайды)
🐣 новое предложение Error Cause переходит на stage 1 (слайды)
🐣 новое предложение Double-Ended Iterator and Destructuring переходит на stage 1 (слайды)
🐣 новое предложение Standardized Debug переходит на stage 1 (слайды)
🐣 новое предложение Modulus and Additional Integer Math переходит на stage 1 (слайды)

Не продвинулись на следующий stage по результатам встречи:
- Class Access Expressions остаётся на stage 2 (слайды)
- Ergonomic Brand Checks for Private Fields остаётся на stage 2 (слайды)
- Builtin Modules остаётся на stage 1 (слайды)
- Unused Function Parameters не смог продвинуться на stage 1 (слайды)

Обновления по пропозалам:
- Numeric literal suffixes stage 1 обновление (слайды)
- Withdrawing TypedArray stride stage 1 обновление — пропозал снимается и не будет дальше развиваться
- JSON Modules stage 2 обновление (слайды)
- Records & Tuples stage 2 обновление (слайды)
- Decorators stage 2 обновление (слайды)
- Temporal stage 2 обновление (слайды)
- Status update for class fields, private methods, static class features (слайды) — все 3 эти stage 3 пропозала будут объединены перед продвижением на stage 4

Принятые нормативные изменения:
- Explicitly specify order of operations in MakeTime
- Move proto out of annex B
- Align detached buffer semantics with web reality
- Specify order of name and length for built-in functions
- Arbitrary Strings as export/import names

Другие обсуждения:
- F.p.bind with infinite-length functions
- Date arithmetic (слайды)
- Move outreach groups to the TC39 org
- GetOption in ECMA-262
- Process document clarifications
- Conformance for enumerable options in 262 and 402 (слайды)
А по результатам вчерашней встречи #WebAssembly Community Group, продвинулись следующие пропозалы:
- Memory 64 отправляется на phase 2
- Relaxed dead code validation будет отправлен на phase 1 как только будет создан репозиторий под организацией WebAssembly на GitHub
На прошлой неделе вышел Tor Browser 10, который теперь основан на Firefox ESR 78.3.0 (самая свежая ESR ветка, в Tor Browser 10 использовалась ESR 68) и Tor 0.4.4.5.

https://blog.torproject.org/new-release-tor-browser-100