Все новые фичи, представленные на GitHub Universe 2019, в одном посте:
https://github.blog/2019-11-13-universe-day-one/
https://github.blog/2019-11-13-universe-day-one/
The GitHub Blog
New from Universe 2019: GitHub for mobile, GitHub Archive Program, and more
We've made some exciting announcements at GitHub Universe: GitHub Actions and Packages are now out of beta, we launched GitHub for mobile, redesigned the notifications experience, and introduced lots of other features we think you’ll love.
JavaScript движок XS для встраеваемых систем и IoT обзавелся поддержкой top-level await (stage 3) и weak references (stage 3). Помимо этого добавлены улучшения предзагрузки (исполнение части JS приложения во время сборки, что позволет ускорить время старта и уменьшить использование оперативной памяти за счет ПЗУ), а также уменьшено количество результирующего байткода для предзагрузки.
Moddable Tech
XS Update
The latest update to the XS JavaScript engine continues to focus on adapting and optimizing JavaScript for embedded systems. In this release, the majority of these improvements take place during the preload phase, part of the build process. Additionally,…
Похоже #WebAssembly пропозал Reference Types (phase 3), который является основой для многих других (в том числе Interface Types, Typed Function References, Exception Handling, Garbage Collector), скоро перейдет на phase 4.
https://github.com/WebAssembly/reference-types/issues/61
https://github.com/WebAssembly/reference-types/issues/61
В трекере Firefox сегодня (а точнее прямо сейчас) большая активность в тикете Static Class Fields, так что можно надеяться на скорую поддержку этого stage 3 пропозала в ближайших ночных сборках.
bugzilla.mozilla.org
1535804 - Implement the Static class features proposal
RESOLVED (andrebargull) in Core - JavaScript Engine. Last updated 2020-02-23.
Nullish Coalescing (stage 3) и Optional Chaining (stage 3) теперь доступны в JavaScriptCore без флага и скорее всего появятся в Safari Technology Preview 97.
Новости #W3C:
В статусе W3C Recommendation публикована спецификация Verifiable Credentials Data Model 1.0. Эта спецификация предоставляет механизм для использования учетных данных криптографически безопасным и конфиденциальным способом.
Service Workers 1 опубликована в статусе Candidate Recommendation.
В статусе W3C Recommendation публикована спецификация Verifiable Credentials Data Model 1.0. Эта спецификация предоставляет механизм для использования учетных данных криптографически безопасным и конфиденциальным способом.
Service Workers 1 опубликована в статусе Candidate Recommendation.
Список фич, которые могут попасть в TypeScript 3.8 (включает ES Private fields и Top-Level Await):
https://github.com/microsoft/TypeScript/issues/34898
https://github.com/microsoft/TypeScript/issues/34898
GitHub
TypeScript 3.8 Iteration Plan · Issue #34898 · microsoft/TypeScript
This document outlines our focused tasks for TypeScript 3.8, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive t...
Предложение String.prototype.replaceAll (stage 3) заимплементили в JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=202471
https://bugs.webkit.org/show_bug.cgi?id=202471
GitHub
GitHub - tc39/proposal-string-replaceall: ECMAScript proposal: String.prototype.replaceAll
ECMAScript proposal: String.prototype.replaceAll. Contribute to tc39/proposal-string-replaceall development by creating an account on GitHub.
Помимо subgrid в Firefox 71 (по планам релиз выйдет на 3 декабря) появится также Multi-column Layout и
column-span. Об этом в новой статье Рейчел Эндрю на Mozilla Hacks.Вышел V8 7.9 beta. В нём были улучшены производительность JavaScript, а также произведены оптимизации памяти при использовании WebAssembly. Эта версия V8 уже влита в ветку Node.js 13.2, релиз которой планировался вчера, но из-за обновления движка возникли проблемы со сборкой на некоторых платформах. Напомню, что в Node.js 13.2 также планируется поддержка ESM.
v8.dev
V8 release v7.9 · V8
V8 v7.9 features removed deprecation for Double ⇒ Tagged transitions, handling API getters in builtins, OSR caching, and Wasm support for multiple code spaces.
Facebook в партнёрстве с Microsoft переводит свою Nuclide IDE (open source версию которой они перестали развивать еще в 2018) с Atom на Visual Studio Code.
Meta for Developers
Facebook and Microsoft Partnering on Remote Development
Facebook For Developers
Новости #W3C:
Спецификация High Resolution Time Level 2 (предоставление текущего времени с высокой точностью) приобрела статус W3C Recommendation.
CSS Containment Module Level 1 (свойство
Trace Context приобрела статус Proposed Recommendation.
Спецификация High Resolution Time Level 2 (предоставление текущего времени с высокой точностью) приобрела статус W3C Recommendation.
CSS Containment Module Level 1 (свойство
contain, которое указывает, что поддерево элемента независимо от остальной страницы) приобрела статус W3C Recommendation.Trace Context приобрела статус Proposed Recommendation.
Любопытная статья о том, как создать файл, который одновременно будет являться валидным HTML и валидным #WebAssembly бинарником.
https://webassembly-security.com/polyglot-webassembly-module-html-js-wasm/
https://webassembly-security.com/polyglot-webassembly-module-html-js-wasm/
Fuzzing Labs
How To Create Polyglot HTML/JS/WebAssembly Module
Blogpost about WebAssembly and how to create a valid polyglot HTML/Javascript/WebAssembly module by Patrick Ventuzelo - WebAssembly security trainings.
Вчера вышел GraalVM 19.3, который является первой LTS версией GraalVM. В нём поддержка Node.js обновилась до версии 12.10.0, а также были добавлены фича ECMAScript 2020 Promise.allSettled и stage 3 предложение Nullish coalescing.
www.graalvm.org
GraalVM
GraalVM is a high-performance JDK distribution designed to accelerate the execution of applications written in Java and other JVM languages along with suppor...
В Emscripten появилась поддержка standalone mode, что позволит использовать результирующий #WebAssembly байткод в неподдерживающих JavaScript рантаймах, либо использовать собственные JavaScript загрузчики. В этом режиме Emscripten использует WASI API.
v8.dev
Outside the web: standalone WebAssembly binaries using Emscripten · V8
Emscripten now supports standalone Wasm files, which do not need JavaScript.
Новость от Bytecode Alliance — #WebAssembly пропозал Multi-Value (phase 3) теперь поддерживается всеми элементами тулчейна wasmtime.
Bytecode Alliance
Multi-Value All The Wasm!
Multi-value is a proposed extension to core WebAssembly that enables functions to return many values, among other things. It is also a pre-requisite for Wasm interface types.
Вышел Safari Technology Preview 96. Теперь Web Animations API включён по умолчанию. Остальные изменения можно посмотреть в официальном анонсе:
https://webkit.org/blog/9658/release-notes-for-safari-technology-preview-96/
https://webkit.org/blog/9658/release-notes-for-safari-technology-preview-96/
WebKit
Release Notes for Safari Technology Preview 96
Safari Technology Preview Release 96 is now available for download for macOS Catalina and macOS Mojave.
🎉🎉🎉 Node.js 13.2.0 с поддержкой ECMAScript модулей наконец-то здесь! 🎉🎉🎉
https://nodejs.org/en/blog/release/v13.2.0/
https://nodejs.org/en/blog/release/v13.2.0/
nodejs.org
Node.js — Node.js v13.2.0 (Current)
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Вебня
🎉🎉🎉 Node.js 13.2.0 с поддержкой ECMAScript модулей наконец-то здесь! 🎉🎉🎉 https://nodejs.org/en/blog/release/v13.2.0/
Вышла подробная статья о поддержке ECMAScript модулей. В ней также затрагивается тема кастомных загрузчиков и Dual CJS / ESM режима.
https://medium.com/@nodejs/announcing-core-node-js-support-for-ecmascript-modules-c5d6dc29b663
https://medium.com/@nodejs/announcing-core-node-js-support-for-ecmascript-modules-c5d6dc29b663
Medium
Announcing core Node.js support for ECMAScript modules
This article was contributed by the Node.js Module Team.
👍1
Статья Акселя Раушмайера о “гибридных” npm пакетах, которые умеют ESM и CommonJS.
https://2ality.com/2019/10/hybrid-npm-packages.html
https://2ality.com/2019/10/hybrid-npm-packages.html