Новая версия движка V8 перешла в стадию бета. В ней добавилось много интересного, например, возможность отключения JIT, поддержка потоков в WebAssembly (phase 2) по умолчанию на всех платформах, поддержка приватных полей классов (stage 3), Intl.Locale (stage 3) и оптимизации по производительности и использованию памяти.
https://v8.dev/blog/v8-release-74
https://v8.dev/blog/v8-release-74
А вот тут можно почитать что добавилось бете Chrome 74 помимо вышеперечисленных фич.
https://blog.chromium.org/2019/03/chrome-74-beta-reducing-unwanted-motion.html
https://blog.chromium.org/2019/03/chrome-74-beta-reducing-unwanted-motion.html
Chromium Blog
Chrome 74 beta: reducing unwanted motion, private class fields, and feature policy API
Unless otherwise noted, changes described below apply to the newest Chrome Beta channel release for Android, Android WebView, Chrome OS, Lin...
В Firefox включили BigInt (stage 3) подефолту в Nightly сборках (но сама Nightly сборка с этим изменением еще не готова и ожидается позже сегодня).
upd: сборка уже доступна, можно обновляться
https://bugzilla.mozilla.org/show_bug.cgi?id=1531293
upd: сборка уже доступна, можно обновляться
https://bugzilla.mozilla.org/show_bug.cgi?id=1531293
GitHub
GitHub - tc39/proposal-bigint: Arbitrary precision integers in JavaScript
Arbitrary precision integers in JavaScript. Contribute to tc39/proposal-bigint development by creating an account on GitHub.
Toon Verwaest написал в блог V8 статью о том, как он добавлял оптимизации парсера.
https://v8.dev/blog/scanner
https://v8.dev/blog/scanner
Наконец-то есть новости с первого дня мартовской встречи #TC39, которая проходит сейчас в Нью-Йоркском офисе Google.
String.prototype.matchAll (stage 3) уходит на stage 4, благодаря чему попадает в ES2020.
String.prototype.matchAll (stage 3) уходит на stage 4, благодаря чему попадает в ES2020.
GitHub
GitHub - tc39/proposal-string-matchall: ES Proposal, specs, tests, reference implementation, and polyfill/shim for String.prototype.matchAll
ES Proposal, specs, tests, reference implementation, and polyfill/shim for String.prototype.matchAll - tc39/proposal-string-matchall
ECMA402 предложение DateTimeFormat dateStyle & timeStyle (stage 2) переходит на stage 3
GitHub
tc39/proposal-intl-datetime-style
dateStyle and timeStyle options for DateTimeFormat - tc39/proposal-intl-datetime-style
Вебня
ECMA402 предложение DateTimeFormat dateStyle & timeStyle (stage 2) переходит на stage 3
Слайды с этой презентации
https://docs.google.com/presentation/d/17Xsw43vHocojTXisuTfpIv37JHKqwWtvrXcL-7VrJQ8/edit#slide=id.p
https://docs.google.com/presentation/d/17Xsw43vHocojTXisuTfpIv37JHKqwWtvrXcL-7VrJQ8/edit#slide=id.p
Google Docs
dateStyle/timeStyle For Stage 3
dateStyle/timeStyle For Stage 3 Presenter: Daniel Ehrenberg, Igalia Original author: Zibi Braniecki, Mozilla January 2019 TC39 meeting
Еще один ECMA402 пропозал, Intl.DateTimeFormat.prototype.formatRange (stage 2) отправляется на stage 3.
Слайды: https://docs.google.com/presentation/d/e/2PACX-1vRiHjIBX74841Hf2vyeqMm9jbb-pzQoFwh4Ecdvz8JISAGXuV_jGv_3Id_jOXxP3SWjF9z9lcyL9NPX/pub?slide=id.p
Слайды: https://docs.google.com/presentation/d/e/2PACX-1vRiHjIBX74841Hf2vyeqMm9jbb-pzQoFwh4Ecdvz8JISAGXuV_jGv_3Id_jOXxP3SWjF9z9lcyL9NPX/pub?slide=id.p
GitHub
tc39/proposal-intl-DateTimeFormat-formatRange
ECMA 402 proposal for DateTimeFormat.prototype.{formatRange,formatRangeToParts} - tc39/proposal-intl-DateTimeFormat-formatRange
Promise.allSettled (stage 2) отправляется на stage 3.
Слайды: https://docs.google.com/presentation/d/1A5kGO-YF0imcltyQYZIsCDGHG_k-9IZ6CPMfWlFl85s/edit
Слайды: https://docs.google.com/presentation/d/1A5kGO-YF0imcltyQYZIsCDGHG_k-9IZ6CPMfWlFl85s/edit
GitHub
GitHub - tc39/proposal-promise-allSettled: ECMAScript Proposal, specs, and reference implementation for Promise.allSettled
ECMAScript Proposal, specs, and reference implementation for Promise.allSettled - tc39/proposal-promise-allSettled
Позавчера вышли 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
Изменения, связанные с 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
https://mailarchive.ietf.org/arch/msg/doh/po6GCAJ52BAKuyL-dZiU91v6hLw
Через несколько минут начнется второй день мартовской встречи #TC39, а пока держите слайды предложения Uniform parsing of quasi-standard Date.parse input (stage 1), по которому комитет вчера не пришел к консенсусу и оставил на 1 стейдже.
Google Docs
Parsing quasi-standard date-time strings (March 2019)
Parsing quasi-standard date-time strings Richard Gibson https://github.com/tc39/proposal-uniform-interchange-date-parsing Proposal: https://github.com/tc39/proposal-uniform-interchange-date-parsing
Новая статья Lin Clark о #WebAssembly: Standardizing WASI: A system interface to run WebAssembly outside the web.
Mozilla Hacks – the Web developer blog
Standardizing WASI: A system interface to run WebAssembly outside the web
WebAssembly is an assembly language for a conceptual machine, not a physical one. This is why it can be run across a variety of different machine architectures. WebAssembly needs a ...
Apple обновили набор тестов производительности JetStream до второй версии. Набор включает тесты JavaScript и WebAssembly. Одним из конкурирующих наборов тестов был Octane 2.0, но его развитие было прекращено компанией Google. Кстати, это произошло практически сразу же после того, как Edge 15 победил в нём Chrome 57. JetStream 2 частично состоит из других наборов тестов, например, того же Octane, а также Web Tooling Benchmark от Google, и Kraken от Mozilla.
WebKit
Introducing the JetStream 2 Benchmark Suite
Today we are announcing a new version of the JetStream JavaScript benchmark suite, JetStream 2.
@ilifeart поделился находкой — статьей Maximiliano Firtman об изменениях PWA в новой версии Safari из iOS 12.2
https://medium.com/@firt
https://medium.com/@firt
Medium
Maximiliano Firtman (firt.dev) – Medium
Read writing from Maximiliano Firtman (firt.dev) on Medium. mobile+web developer, author, trainer, speaker | Check firt.dev for more articles and learning experiences | PWAs, Web Performance, JavaScript, Mobile Apps.
Из главного за вчера на #TC39:
- Function implementation hiding пока что остается на stage 2
- Достигнут консенсус по нормативному изменению BigInt function parameter overloading and Intl.NumberFormat.prototype.format
- Были презентованые недавние изменения в пропозале декораторов
- а также пропозале Temporal
- Promise.any стал stage 1 предложением
Также комитет обсуждал замену мейллиста es-discuss на модерируемый форум. Если мне не изменяет память, то подобные попытки уже предпринимались, но все они были не совсем удачными. Интересно, получится ли в этот раз.
- Function implementation hiding пока что остается на stage 2
- Достигнут консенсус по нормативному изменению BigInt function parameter overloading and Intl.NumberFormat.prototype.format
- Были презентованые недавние изменения в пропозале декораторов
- а также пропозале Temporal
- Promise.any стал stage 1 предложением
Также комитет обсуждал замену мейллиста es-discuss на модерируемый форум. Если мне не изменяет память, то подобные попытки уже предпринимались, но все они были не совсем удачными. Интересно, получится ли в этот раз.
Вебня
Новая статья Lin Clark о #WebAssembly: Standardizing WASI: A system interface to run WebAssembly outside the web.
Чтобы Вы понимали важность этого события, прочитайте реакцию кофаундера Docker и инженеров Google Cloud, а также представителей других компаний, занимающихся Edge Computing и не только https://twitter.com/search?q=wasi
X (formerly Twitter)
Solomon Hykes (@solomonstre) on X
If WASM+WASI existed in 2008, we wouldn't have needed to created Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task!
Слайды доклада про обновления предложения top-level await (stage 2): https://docs.google.com/presentation/d/1Jz86ztxFnNVwch50GEjmTPt1IrA0ZVBqkpzMsiSLF20/edit#slide=id.p
Google Docs
Top-level Await
Top-level await: With a Vengeance March 2019 TC39 meeting
Динамические импорты так и не нашли консенсуса и всё ещё не попадают на stage 4
Google Docs
Dynamic import() towards Stage 4
Dynamic import() Towards Stage 4 Presenter: Daniel Ehrenberg Author: Domenic Denicola March 2019 TC39 meeting