JavaScript движок XS от Moddable обзавёлся поддержкой Nullish Coalescing (ES2020), Optional Chaining (ES2020), String.prototype.replaceAll (stage 3), Promise.any (stage 3), RegExp match indices (stage 3). Также движок старается использовать целочисленную математику для Number когда это возможно для увеличения производительности.
Новая версия XS проходит набор тестов Test262 от TC39 на 99.9% (39039 из 39065 тестов)
Новая версия XS проходит набор тестов Test262 от TC39 на 99.9% (39039 из 39065 тестов)
Moddable Tech
XS Engine Updates for ECMAScript 2020
The XS JavaScript engine brings the many benefits of modern JavaScript to embedded systems like those that power IoT products. The latest release of XS is a major step forward. It delivers new language features, performance optimizations, improved conformance…
Сегодня выйдет Chrome 81. Браузер получит обновлённый внешний вид форм, WebXR hit testing, Badging API. В рамках Origin Trail добавлено API Web NFC. Добавлена поддержка Intl.DisplayNames (stage 3).
Новое в DevTools Chrome 81
Новые фичи Chrome 81 на Chrome Platform Status
Новое в V8 8.1
Новое в DevTools Chrome 81
Новые фичи Chrome 81 на Chrome Platform Status
Новое в V8 8.1
GitHub
GitHub - tc39/proposal-intl-displaynames: Get localized display names for languages, scripts, regions and others. https://tc39…
Get localized display names for languages, scripts, regions and others. https://tc39.github.io/proposal-intl-displaynames/ - tc39/proposal-intl-displaynames
Началась двухдневная конференция EmberConf 2020, которая в этот раз проводится онлайн.
https://www.youtube.com/watch?v=1vZGPJHYcOA
https://www.youtube.com/watch?v=1vZGPJHYcOA
YouTube
EmberConf 2020 - Tuesday March 17th - Part 1
EmberConf is the best place to meet the folks behind the magic.
You’ll hear from members of the Ember Core Team, top community contributors and users, and help shape the future of Ember.
You’ll hear from members of the Ember Core Team, top community contributors and users, and help shape the future of Ember.
Несколько дней назад число подписчиков превысило 5000 человек! Это очень мотивирует не останавливаться и постить интересные новости и статьи и дальше. Оказывается, я занимаюсь этим уже более полутора лет 😮. Большое спасибо всем читателям! Если Вам нравится, то делитесь с коллегами и друзьями :)
Напомню, что я принципиально отказываюсь постить здесь всякую рекламу. Если хочется поддержать канал, то это можно сделать на Patreon.
Напомню, что я принципиально отказываюсь постить здесь всякую рекламу. Если хочется поддержать канал, то это можно сделать на Patreon.
Mathias Bynens из Google представил свой проект Can I Unicode?, с помощью которого можно проверить какая версия Unicode поддерживается в разных браузерах для идентификаторов (имен переменных, функций и классов) и в регулярных выражениях.
Twitter
Mathias Bynens
Did you know that every new version of the Unicode Standard potentially affects the JavaScript language? 🤯 Here’s some examples + a Unicode version support table across environments: https://t.co/FpuikMZWj8
Обновления Chrome и ChromeOS до версии 81 были отложены из-за перевода сотрудников к работе из дома и изменения их графика работы.
Chrome Releases
Upcoming Chrome and Chrome OS releases
Due to adjusted work schedules at this time, we are pausing upcoming Chrome and Chrome OS releases. Our primary objectives are to ensure the...
В репозитории нового предложения в #WebAssembly Memory64 (phase 1) появилось описание.
https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md
https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md
GitHub
memory64/proposals/memory64/Overview.md at master · WebAssembly/memory64
Memory with 64-bit indexes. Contribute to WebAssembly/memory64 development by creating an account on GitHub.
Вебня
Новый релиз Safari Technology Preview 101 включает новые фичи Web Inspector, улучшения Web Animations, исправления для Media, обновления различных Web API.
Ого! Никто и не обратил внимание (и в релизных записях этого тоже нет), а между тем, в Safari Technology Preview 101 появилась поддержка публичных полей экземпляра класса под флагом
https://trac.webkit.org/changeset/254653/webkit
useClassFields!https://trac.webkit.org/changeset/254653/webkit
В V8 собираются вытащить приватные методы и аксессоры из-под флага.
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/HLpO-HC8aKc/TT32fUNPBAAJ
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/HLpO-HC8aKc/TT32fUNPBAAJ
Вышел Babel 7.9.0 с поддержкой TypeScript 3.8, обновлённым JSX transform, поддержкой новых типов Record и Tuple (stage 1), а также обновлением
preset-env, в который добавились оптимизации размера бандла благодаря preset-modules.babeljs.io
7.9.0 Released: Smaller preset-env output, Typescript 3.8 support and a new JSX transform · Babel
While preparing the Babel 8.0.0 release (in the next months), we just finished working on a new minor release which includes updates related to @babel/preset-env, TypeScript 3.8, Flow, and JSX!
Кажется люди стали забывать про фреймворк Aurelia, преемник традиций Angular.js. GitHub напомнил о его существовании, по ошибке заблокировав возможность управления организацией у создателя фреймворка.
https://www.opennet.ru/opennews/art.shtml?num=52575
https://www.opennet.ru/opennews/art.shtml?num=52575
www.opennet.ru
GitHub по ошибке ограничил доступ к репозиторию Aurelia из-за торговых санкций
Роб Айзенберг (Rob Eisenberg), создатель web-фреймворка Aurelia, сообщил о блокировке компанией GitHub репозиториев, сайта и доступа к настройкам администратора проекта Aurelia. Роб получил от GitHub письмо, в котором сообщалось, что блокировка произведена…
В Google решили пропустить выпуск Chrome 82. Графики выпусков версий также будут скорректированы. Напомню, что ранее был отложен выпуск Chrome 81, который так до сих пор и не выпущен. Он должен был быть выпущен 17 марта. Версии Google Chrome привязаны к соответствующим версиям движка V8 (например, в версии Chrome 83 будет V8 8.3), так что скорее всего Chrome просто пытается догнать свой движок, который смог продолжать регулярные релизы. Выпуск Chrome 83 пока что намечен на 9 июня.
Вышел Prettier 2.0 aka Prettier 2020 с очень большим количеством изменений и нововведений в форматировании JavaScript, TypeScript, Flow, CSS, SCSS, Less, HTML, Vue, Angular, Handlebars, GraphQL, Markdown и MDX. Релиз содержит breaking changes, на которые стоит обратить внимение перед обновлением.
https://prettier.io/blog/2020/03/21/2.0.0.html
https://prettier.io/blog/2020/03/21/2.0.0.html
prettier.io
Prettier 2.0 “2020” · Prettier
Better defaults, a better CLI and better heuristics. Oh, and TypeScript 3.8.
Несколько часов назад в SpiderMonkey (JavaScript движок, используемый в Firefox) добавили поддержку флага s (dotAll) для регулярных выражений (ES2018). В течение дня поддержка фичи должна появиться в Firefox Nightly 76.
bugzilla.mozilla.org
1361856 - Implement RegExp s (dotAll) flag
RESOLVED (iireland) in Core - JavaScript Engine. Last updated 2020-03-23.
Microsoft и Google вместе работают над тем, чтобы движок V8, используемый в Edge и Chrome, догнал в тестах JetStream 2 и Octane движок JavaScriptCore, используемый в WebKit. Для этого ведётся работа над промежуточным JIT-компилятором TurboProp, который по сути является заимствованием из архитектуры JavaScriptCore.
На скриншоте приведён тест двухфазовой компиляции проекта TypeScript. Сначала компилируется более старая (предыдущая) версия комилятора TypeScript (TSC), которая затем компилирует последнюю версию TSC. JavaScriptCore на этих тестах примерно в 1.32-1.42 раза быстрее V8.
На скриншоте приведён тест двухфазовой компиляции проекта TypeScript. Сначала компилируется более старая (предыдущая) версия комилятора TypeScript (TSC), которая затем компилирует последнюю версию TSC. JavaScriptCore на этих тестах примерно в 1.32-1.42 раза быстрее V8.
Ой, что-то я пропустил новость о том, что месяц назад (25 февраля), вышел релиз Scala.js 1.0.0 (а 10 марта уже и патч 1.0.1 с багфиксами). Как и предполагалось ранее, RC2 стал финальной версией. Изменений довольно много, осовные из них:
- улучшенный интероп с JavaScript бибилиотеками
- улучшено портирование кода со Scala/JVM
- улучшенная производительность
- улучшенный интероп с JavaScript бибилиотеками
- улучшено портирование кода со Scala/JVM
- улучшенная производительность
Scala.js
Announcing Scala.js 1.0.0
Harness the Scala and JavaScript ecosystems to develop robust apps for browsers, serverless, and Node.js.
Вышли macOS 10.15.4 и iOS 13.4, а с ними и Safari 13.1. По этому случаю в блоге WebKit вышла статья Full Third-Party Cookie Blocking And More о приватности в новой версии браузера.
Движок JavaScriptCore получил поддержку Promise.allSettled (ES2020), Numeric Separators (stage 3). Кроме того появилась поддержка фунций CSS фукций max, min и clamp, значения свойства
Движок JavaScriptCore получил поддержку Promise.allSettled (ES2020), Numeric Separators (stage 3). Кроме того появилась поддержка фунций CSS фукций max, min и clamp, значения свойства
display: contents. Ещё из нового: Picture-in-Picture, отключение TLS 1.0/1.1, поддержка ResizeObserver, MediaRecorder API и частичная реализация Web Animations API.WebKit
Full Third-Party Cookie Blocking and More
This blog post covers several enhancements to Intelligent Tracking Prevention (ITP) in iOS and iPadOS 13.4 and Safari 13.1 on macOS to address our latest discoveries in the industry around tracking.
Также вышел LLVM 10.0.0. Нас конечно же больше всего интересует что там с #WebAssembly:
- Multivalue function signatures теперь поддерживаются в объектных файлах WebAssembly
- новая инструкция
- поддержка Thread-Local Storage (TLS)
- значительное улучшение поддержки SIMD
Кроме того, Clang 10.0.0 научился использовать wasm-opt для уменьшения размера, если тот есть в PATH.
Полный список релизных записей LLVM и тулинга:
https://llvm.org/releases/10.0.0/docs/ReleaseNotes.html
- Multivalue function signatures теперь поддерживаются в объектных файлах WebAssembly
- новая инструкция
atomic.fence- поддержка Thread-Local Storage (TLS)
- значительное улучшение поддержки SIMD
Кроме того, Clang 10.0.0 научился использовать wasm-opt для уменьшения размера, если тот есть в PATH.
Полный список релизных записей LLVM и тулинга:
https://llvm.org/releases/10.0.0/docs/ReleaseNotes.html
https://llvm.org/releases/10.0.0/tools/clang/docs/ReleaseNotes.html
https://llvm.org/releases/10.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://llvm.org/releases/10.0.0/tools/lld/docs/ReleaseNotes.html
https://llvm.org/releases/10.0.0/tools/polly/docs/ReleaseNotes.html
https://llvm.org/releases/10.0.0/projects/libcxx/docs/ReleaseNotes.htmlВсе 3 находящиеся на phase 4 пропозала в #WebAssembly, а именно Non-trapping float-to-int conversions, Sign-extension operators и Multi-value, будут переведены на phase 5 (добавлены в стандарт) на встрече wasm WG 8го апреля.