Telegram Web Link
Super Duper Secure Mode в Edge

В браузере Edge появится новый режим, в котором будет отключен JIT, который является причиной почти половины уязвисостей. Инженеры Microsoft выяснили, что производительность JS при этом падает незначительно, а отключение JIT позволит применить также другие технология для защиты браузера, которые иначе применить сложно. Режим получил название Super Duper Secure Mode и доступен в Edge Canary, Dev и Beta. На данный момент при включённом SDSM недоступен #WebAssembly.

https://microsoftedge.github.io/edgevr/posts/Super-Duper-Secure-Mode/
Сегодня World Wide Web исполняется 30 лет

6 августа 1991 года Сэр Тим Бернерс Ли рассказал миру про Веб.

https://www.w3.org/blog/2021/08/30-years-on-from-introducing-the-web-to-the-world/
⚡️ Структурное клонирование теперь доступно из JS как часть спецификации HTML

https://github.com/whatwg/html/commit/1e610d403f0b608e12aa5286d19fb67d603c94b5

Ожидается, что помимо браузеров его поддержат Node и Deno, после чего можно будет попробовать перенести его в спецификацию ECMAScript (где описания алгоритма структурного клонирования ещё нет). Стоит сказать, что уже давно существуют и другие способы, но все они менее удобные или имеют другие недостатки.
Вышла бета версия V8 9.3

Из нового:
- компилятор Sparkplug научился компилировать функции пачками, что ускоряет процесс компиляции
- Object.hasOwn (stage 3)
- Error cause (stage 3)
- на Android теперь также выключена отдельная кодогенерация, которая защищала от атак Spectre, что позволяет увеличить производительность на этой платформе; вместо неё используется Site Isolation, как и на других платформах.
Вышел Firefox 91

Помимо прочего, эта версия станет новым релизом с расширенной поддержкой (ESR). Поддержка предыдущей версии Firefox 78 ESR прекратится в октябре 2021.

Новое:
- HTTPS-First Policy
- Windows SSO
- Visual Viewport API на всех платформах
- Intl.DateTimeFormat.prototype.formatRange() и Intl.DateTimeFormat.prototype.formatRangeToParts() (ECMA402 2021)
- Error cause (stage 3)
- Gampad API теперь требует защищённого контекста
- улучшения поддержки WebDriver

Изменения для конечного пользователя
Изменения для разработчиков
Forwarded from Deno Fanatic
⚡️ Вышел Deno 1.13

Из крутых фич которых я совсем не ожидал в ближайшее время:
- FFI сразу на следующий релиз после удаления Deno Plugins. Теперь можно выполнять функции либ, Пример
- Deno Http и Deno.core websocket теперь в stable

Теперь удобно читать коммиты по группам extensions (web api, tls, crypto), и в этом релизе это:
- WebSocketStream API
- Web API - structuredClone, только пару дней назад Сережа писал об этом в вебне , а оно уже вот в этом релизе =)
- crypto - add verify(), implement importKey and exportKey for HMAC

В REPL завезли еще немного фич: поддержка exports + eval

Подробнее про Deno.core: tag/1.13

⚡️ Deno/std 0.104.0

- Добавили модуль collections, для удобной работы с коллекциями. Всего 17 API методов (distinct, zip, deepMerge, groupBy и тд)
- wrapper для WebCrypto
- Больше к совместимости к пакетам из node

Подробнее про Deno.std: tag/0.104.0
Вышел Safari Technology Preview 130

https://webkit.org/blog/11958/release-notes-for-safari-technology-preview-130/

В нём:
- Array.prototype.findLast и Array.prototype.findLastIndex под флагом (stage 3)
- улучшения CSS
- исправления и улучшения разных Web API и медиа
Вышел Samsung Internet 15

Он основан на Chromium 90 и добавляет поддержку Stream API, import maps, несколько CSS фич, а также новые фичи, касающиеся приватности пользователей (почитать можно тут).
В Chromium 93 появится поддержка импорта CSS-модулей в JavaScript

https://web.dev/css-module-scripts/

Это станет возможным благодаря поддержке import assertions (stage 3).
Доступна альфа-версия React 18

https://medium.com/stackanatomy/react-18-is-out-this-is-what-you-need-to-know-3a64f443daed

Новое:
- batch update состояний везде (не только в DOM)
- улучшения Strict Mode (Strict Effects + поддержка Offscreen API)
- новое Root API как замена React.render
- Concurrent Mode
- startTransition и useTransition для продвинутого управления приоритетом изменения состояния
- хук useDeferredValue для отложенных значений
- SuspenseList
- Suspense теперь является стабильным API
- потоковый Server-Side Rendering

Стабильная версия React 18 выйдет в конце 2021 - первой половине 2022.
Forwarded from Deno Fanatic
⚡️Deno появился на страницах MDN

Недавно Deno начал проходить большинство тестов WPT, и теперь можно смело обновлять browser-compat-data

https://deno.com/blog/deno-on-mdn
До ближайшей встречи #TC39 ещё неделя, а тем для обсуждения уже набралось на 12 часов (из восьми доступных), так что агенда достаточно плотная. В ней присутствуют как новые пропозалы, так и некоторые долгожданные для многих.
React render tracker

Новый инструмент React render tracker помогает обнаруживать в React приложениях непреднамеренные (лишние) ререндеры и отмонтирование компонент, что может быть причиной багов и проблем с производительностью. Проект в стадии MVP/proof of concept, но кое-что уже умеет. В будущем ождается возможность записывать логи рендеров на CI для анализа, получать отчеты для прикладывая в задачи/PR и технические документы, и др. (туду лист)
Forwarded from Wild Wild Web
🎉 Релиз TypeScript 4.4 🎉

Вы можете подумать, а чего я тут фейерверки устраиваю? А потому что они таки улучшили то, с чем я уже довольно долго воюю. Надеюсь, они и дальше будут улучшать эти моменты. А какие именно, давайте обсудим в комментариях позже 🙂

Вчера команда TypeScript выпустила новую версию компилятора, в которой есть несколько интересных мест. Давайте подчеркнём самые интересные, по моему мнению:

- Улучшили Control Flow Analysis. Теперь, так называемые type guards, можно выносить в отдельные переменные и TypeScript не потеряет эту информацию по пути. Например, вы хотите проверить что что-то строка const isString = typeof someParam === 'string' и дальше вы можете писать просто if(isString) {}, TypeScript такое скушает (раньше это было ошибкой компиляции). И таких примеров побольше, можете почитать у них в посте.

- Все catch блоки по умолчанию приводятся к unknown типу (за флагом strict). Unknown тип это более безопасный вариант неизвестного типа, по сравнению с any. Я об этих типах, как раз, недавно писал. С этим релизом, TypeScript будет ошибки в catch блоках неявно приводить к unknown. И вам, собственно, нужно будет проверить что ошибка это та ошибка, которую вы ожидаете или нет.

- С этим релизом добавилась возможность иметь "inlay hints". Я с таким часто встречаюсь при разработке на Rust и, если честно, меня это немного бесит. Но, знаю людей, которым это очень даже заходит. Речь идёт о том, что в IDE у вас будут добавляться имена параметров к вашим аргументам или выведенный тип возврата функции будет добавлен как "inlay hint" возле вашей функции и так далее. Насколько я знаю, такое есть давно в Intelliji и им активно пользуются. А в этом релизе они добавили это на уровне компилятора.

Все остальные моменты, по моему мнению, не такие уж и большие, но, безусловно, интересные и для кого-то могут оказаться нововведением "вовремя". Вы можете почитать более подробно об изменениях в этой версии в их блог посте.
React Native 0.65 и Hermes 0.8.1

17 августа вышел React Native 0.65, в котором JavaScript движок Hermes обновлён до версии 0.8.1. Новая версия движка поддерживаем процессоры Apple M1, добавляет улучшенную компрессию SMI и новый конкурентный сборщик мусора Hades, а также добавляет поддержку ECMAScript Internationalization API прямо в движок, что позволяет избавиться от локальных полифиллов.
Новое в Chrome 94 Beta

Главные изменения:
- WebCodecs
- WebGPU (под origin trail), о котором также появилась статья на web.dev; планируется, что в Chrome 97 (релиз намечен на 4 января 2022) новый API будет включен по умолчанию
- scheduler.postTask() — метод для управления приоритезацией (с режимами user-blocking, user-visible и background)

Остальные изменения можно посмотреть вот тут. Релиз ожидается 21 сентября.
⚡️ Первая новость с 85й встречи #TC39 (идёт прямо сейчас): метод .at() отправляется на stage 4
⚡️ Object.hasOwn() также отправляется на stage 4!
2025/06/30 09:14:10
Back to Top
HTML Embed Code: