Computing with types in TypeScript — статья от Axel Rauschmayer о вычисляемых типах.
https://2ality.com/2020/06/computing-with-types.html
https://2ality.com/2020/06/computing-with-types.html
Подгруппе #TC39, которая занимается разработкой пропозала Temporal (stage 2), требуется помощь в тестировании полифилла, работа над которым закончена:
https://www.npmjs.com/package/proposal-temporal
Temporal предоставит более продвинутую и эргономичную альтернативу Date API, который имеет некоторые неочевидные части и в котором не хватает многих часто используемых функций. Temporal покрывает основную часть функциональности таких библиотек как moment.js, date-fns, luxon и т.д. Пожалуйста, попробуйте этот полифилл для своих примеров использования. Если какая-то часть API покажется вам неудобной, то обязательно напишите об этом в issue tracker на GitHub.
⚠️ Не рекомендуется использовать этот полифилл в продакшне как минимум до stage 3.
https://www.npmjs.com/package/proposal-temporal
Temporal предоставит более продвинутую и эргономичную альтернативу Date API, который имеет некоторые неочевидные части и в котором не хватает многих часто используемых функций. Temporal покрывает основную часть функциональности таких библиотек как moment.js, date-fns, luxon и т.д. Пожалуйста, попробуйте этот полифилл для своих примеров использования. Если какая-то часть API покажется вам неудобной, то обязательно напишите об этом в issue tracker на GitHub.
⚠️ Не рекомендуется использовать этот полифилл в продакшне как минимум до stage 3.
GitHub
GitHub - tc39/proposal-temporal: Provides standard objects and functions for working with dates and times.
Provides standard objects and functions for working with dates and times. - tc39/proposal-temporal
macOS 10.12 (Sierra) станет минимальной необходимой версией операционной системы для работы Firefox 79 (выйдет 28 июля).
https://bugzilla.mozilla.org/show_bug.cgi?id=1634765
https://bugzilla.mozilla.org/show_bug.cgi?id=1634765
bugzilla.mozilla.org
1634765 - Drop support for macOS < 10.12
RESOLVED (spohl.mozilla.bugs) in Core - Widget: Cocoa. Last updated 2020-06-17.
Вебня
⚡️ На 77й встрече #TC39, которая пройдёт 20-23 июля, уже как минимум два пропозала будут представлены к переходу на stage 4. Это Promise.any & AggregateError и WeakRefs 🔥 Вероятнее всего к ним присоединится также Logical Assignment Operators Обновление от…
GitHub
GitHub - tc39/proposal-intl-list-format: `Intl.ListFormat` specification [draft]
`Intl.ListFormat` specification [draft]. Contribute to tc39/proposal-intl-list-format development by creating an account on GitHub.
⚡️Официально: Генеральная Ассамблея Ecma International одобрила спецификации
ECMA262 (ECMAScript® 2020 Language Specification)
ECMA402 (ECMAScript® 2020 Internationalization API Specification)
Новое в ECMA262:
- String.prototype.matchAll
- import()
- BigInt
- Promise.allSettled
- globalThis
- for-in mechanics
- Optional chaining
- Nullish coalescing operator
- import.meta
Новое в ECMA402:
- Intl.RelativeTimeFormat
- Intl.NumberFormat Unified API
- Intl.Locale
С новым джаваскриптом! 😄
ECMA262 (ECMAScript® 2020 Language Specification)
ECMA402 (ECMAScript® 2020 Internationalization API Specification)
Новое в ECMA262:
- String.prototype.matchAll
- import()
- BigInt
- Promise.allSettled
- globalThis
- for-in mechanics
- Optional chaining
- Nullish coalescing operator
- import.meta
Новое в ECMA402:
- Intl.RelativeTimeFormat
- Intl.NumberFormat Unified API
- Intl.Locale
С новым джаваскриптом! 😄
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 - GitHub - tc39/proposal-string-matchall: ES Proposal, specs, tests, reference implementation, a...
Разработчики Chromium обещают поработать над совместимостью в 2020. Конкретно упомянуты Flexbox, CSS Grid, формы, скроллинг, а также обещают обращать большее внимание на совместимость новых фич. Такие изменения мотивированы результатами опроса веб разработчиков от MDN в 2019 году.
Chromium Blog
Improving Chromium's browser compatibility in 2020
Last year, MDN ran the 2019 Web Developer Needs Assessment (DNA) survey . The DNA survey drew responses from over 28,000 developers from aro...
Yulia Startsev опубликовала на Mozilla Hacks анонс своих стримов о работе над движком SpiderMonkey. Я уже размещал тут ссылки на трансляции, но теперь можно и самостоятельно следить за ними в календаре.
Mozilla Hacks – the Web developer blog
Compiler Compiler: A Twitch series about working on a JavaScript engine
Yulia Startsev, a JavaScript engineer on Firefox's SpiderMonkey team, introduces her new Twitch stream called Compiler Compiler. In the three opening interactive episodes, we get an inside look at how ...
⚡️ В результате совместной работы WHATWG и W3C, черновик спецификации HTML от 29 января 2020 года становится W3C Candidate Recommendation!
Forwarded from OpenNews
111 Chrome-дополнений, загруженных 32 млн раз, уличены в загрузке конфиденциальных данных
Компания Awake Security сообщила о выявлении 111 дополнений к Google Chrome, отправляющих на внешние серверы конфиденциальные сведения о действиях пользователя, в том числе дополнения имели доступ к созданию скриншотов, чтению содержимого буфера обмена, анализу наличия токенов доступа в Cookie и перехвату ввода в web-формах. В сумме выявленные вредоносные дополнения насчитывали 32.9 млн загрузок в Chrome Web Store, а самое популярное (Sеarch Manager), a было загружено 10 млн раз и включает 22 тысячи отзывов (напоминает накрутку ботом).
Компания Awake Security сообщила о выявлении 111 дополнений к Google Chrome, отправляющих на внешние серверы конфиденциальные сведения о действиях пользователя, в том числе дополнения имели доступ к созданию скриншотов, чтению содержимого буфера обмена, анализу наличия токенов доступа в Cookie и перехвату ввода в web-формах. В сумме выявленные вредоносные дополнения насчитывали 32.9 млн загрузок в Chrome Web Store, а самое популярное (Sеarch Manager), a было загружено 10 млн раз и включает 22 тысячи отзывов (напоминает накрутку ботом).
⚡️На прошлой неделе Microsoft разослали обновление KB4567409 для операционных систем Windows 7 (поддержка которой уже полностью прекращена с 14 января) и Windows 8.1, которое заменяет старый Edge новым, основанным на Chromium, у неэнтерпрайз пользователей.
https://support.microsoft.com/en-us/help/4567409/update-for-the-new-microsoft-edge
https://support.microsoft.com/en-us/help/4567409/update-for-the-new-microsoft-edge
Microsoft
Update for the new Microsoft Edge for Windows 7 SP1 and Windows 8.1: June 17, 2020
Describes that the new Microsoft Edge is available for Windows 7 SP1 and Windows 8.1.
В зарелиженой вчера бете Safari 14 на самом деле довольно много нового. Я её уже установил и опробовал. Итак, вот часть того, что упомянуто в релизных записях от Apple (с моими комментариями и дополнениями):
- WebExtensions API на macOS, что позволит портировать расширения с Chromium и Firefox (устанавливаются через App Store)
- переводы страниц на ращные языки (в т.ч. русский)
- поддержка HTTP/3 (экспериментальная, включается из меню Develop или флагом)
- улучшения совместимости WebDriver, XHR+Fetch, Service Workers, CSS и SVG
- поддержки Flash больше нет
- улучшения производительности JavaScript, CSS, доступа к cookie и IndexedDB, инкрементальная загрузка PDF
- Privacy Report, который показывает, что удалось заблокировать благодаря Intelligent Tracking Prevention
- Face ID и Touch ID через WebAuthn
- оповещение об утечке пароля из Keychain
- привязанные к доменам коды безопасности
- поддержка BigInt (ES2020) — на самом деле поддерживается только как скалярные значения, BigInt TypedArrays всё ещё не поддерживаются
- кастомные EventTarget
- logical assignment operators (stage 3)
- public class fields (stage 3) — на самом деле поддерживаются только поля инстансов, но не статические
- поддержка формата изображений WebP
- поддержка HDR видео
- :is(), :where(), image-orientation
- улучшения Web Inspector
Кроме того, в релизных записях это не указано, но добавилась также поддержка Promise.any и AggregateError (stage 3)
- WebExtensions API на macOS, что позволит портировать расширения с Chromium и Firefox (устанавливаются через App Store)
- переводы страниц на ращные языки (в т.ч. русский)
- поддержка HTTP/3 (экспериментальная, включается из меню Develop или флагом)
- улучшения совместимости WebDriver, XHR+Fetch, Service Workers, CSS и SVG
- поддержки Flash больше нет
- улучшения производительности JavaScript, CSS, доступа к cookie и IndexedDB, инкрементальная загрузка PDF
- Privacy Report, который показывает, что удалось заблокировать благодаря Intelligent Tracking Prevention
- Face ID и Touch ID через WebAuthn
- оповещение об утечке пароля из Keychain
- привязанные к доменам коды безопасности
- поддержка BigInt (ES2020) — на самом деле поддерживается только как скалярные значения, BigInt TypedArrays всё ещё не поддерживаются
- кастомные EventTarget
- logical assignment operators (stage 3)
- public class fields (stage 3) — на самом деле поддерживаются только поля инстансов, но не статические
- поддержка формата изображений WebP
- поддержка HDR видео
- :is(), :where(), image-orientation
- улучшения Web Inspector
Кроме того, в релизных записях это не указано, но добавилась также поддержка Promise.any и AggregateError (stage 3)
MDN Web Docs
BigInt - JavaScript | MDN
BigInt values represent integer values which are too high or too low to be represented by the number primitive.
Кстати, с сегодня и по 26 июня ожидается ещё несколько WWDC сессий о Safari 14.
https://developer.apple.com/news/?id=e4u1mtfu
https://developer.apple.com/news/?id=e4u1mtfu
Apple
Safari, Web, and Authentication - Discover - Apple Developer
Что-то я мало постил обновлений по #WebAssembly в последнее время. Исправляюсь.
Garbage Collection
- доклад от Andreas Rossberg из Dfinity From References to GC
- доклад от команды V8
- доклад от команды Kotlin
Обновления пропозалов
- Typed Function References перешёл на phase 2 (26 мая)
- JavaScript BigInt to WebAssembly i64 integration перешёл на phase 4 (9 июня)
Сегодня пройдёт встреча WebAssembly CG, на которой Reference Types и Bulk Memory Operations могут продвинуться на phase 4
Garbage Collection
- доклад от Andreas Rossberg из Dfinity From References to GC
- доклад от команды V8
- доклад от команды Kotlin
Обновления пропозалов
- Typed Function References перешёл на phase 2 (26 мая)
- JavaScript BigInt to WebAssembly i64 integration перешёл на phase 4 (9 июня)
Сегодня пройдёт встреча WebAssembly CG, на которой Reference Types и Bulk Memory Operations могут продвинуться на phase 4
Также совсем забыл написать о том, что Ингвар Степанян из Google составил таблицу фич #WebAssembly, которые находятся в разработке браузерами и другими рантаймами.
https://webassembly.org/roadmap/
https://webassembly.org/roadmap/
Кстати, на iOS/iPadOS 14 можно будет выбрать браузер по умолчанию (но во вчерашней бете для разработчиков я не нашёл где это сделать).