Эрик Лоуренс (Microsoft Edge) о включении Same-Site Cookies по умолчанию в Chrome 80, а также о том:
- как эта директива (а также
- что может пойти не так
- каков план отката
- как проверить свой сайт на готовность к
- других возможных проблемах (Safari 12, .NET Framework)
- что об этом думают другие вендоры браузеров
Бонус:
- статья о SameSite cookies от Google
- поддержка SameSite в браузерах на CanIUse
- как эта директива (а также
secure и httponly) поможет с приватностью и безопасностью: запретит куки от третьих лиц, предотвратит CSRF, MiTM атаки, XSS атаки- что может пойти не так
- каков план отката
- как проверить свой сайт на готовность к
SameSite используя Chrome DevTools- других возможных проблемах (Safari 12, .NET Framework)
- что об этом думают другие вендоры браузеров
Бонус:
- статья о SameSite cookies от Google
- поддержка SameSite в браузерах на CanIUse
text/plain
Same-Site Cookies By Default
The Chrome team is embarking on a clever and bold plan to change the recipe for cookies. It’s one of the most consequential changes to the web platform in almost a decade, but with any luck, …
🎂 Сегодня исполняется 25 лет Консорциуму Всемирной Паутины (W3C)!
https://www.w3.org/blog/2019/10/happy-25th-anniversary-world-wide-web-consortium/
https://www.w3.org/blog/2019/10/happy-25th-anniversary-world-wide-web-consortium/
www.w3.org
Happy 25th anniversary, World Wide Web Consortium!
Today we celebrate the 25th anniversary of the World Wide Web Consortium. Sir Tim Berners-Lee, our Director and the inventor of the World Wide Web, founded the Web Consortium on this day, 1 October 1994 to ensure the long-term growth of the Web.
Вот уже час как идёт первый день октябрьской встречи #TC39 в Нью-Йорке. Сегодня из возможных продвижений пропозалов в повестке только Records & Tuples (со stage 0 на stage 1), в остальном апдейты и нормативные изменения, так что результаты опубликую по окончанию встречи (а скорее всего уже завтра). Пока что предлагаю ознакомиться со слайдами к презентации Records & Tuples, которая пройдёт практически в самом конце этого дня встречи.
GitHub
GitHub - tc39/proposal-record-tuple: ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!
ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change! - GitHub - tc39/proposal-record-tuple: ECMAScript proposal for the Record and Tuple value types. | Stage 2: it w...
Вебня
Стал известен roadmap TypeScript 3.7. Стабильная версия выйдет 5 ноября, а бету можно будет опробовать уже 1 октября. Эта версия примечательна тем, что помимо улучшений тайп чекера и компилятора будет включать поддержку новых stage 3 пропозалов Optional Chaining…
Бета вышла по расписанию.
https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/
Optional Chaining и Nullish Coalescing приехали, а вот Private Class Properties и Top-level Await пока еще в работе и, кажется, уже так и не попадут в финальный релиз.
https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/
Optional Chaining и Nullish Coalescing приехали, а вот Private Class Properties и Top-level Await пока еще в работе и, кажется, уже так и не попадут в финальный релиз.
Microsoft News
Announcing TypeScript 3.7 Beta
We’re pleased to announce TypeScript 3.7 Beta, a feature-complete version of TypeScript 3.7. Between now and the final release, we’ll be fixing bugs and further improving performance and stability. To get started using the beta, you can get it through NuGet…
Итоги первого дня октябрьской встречи #TC39:
- 📌 апдейт ECMA262 от редактора (который, кстати, остался один, т.к. Кевин Смит из Microsoft от своей роли редактора отказался)
- 📌 апдейт ECMA402, в котором можно узнать о создании подгруппы для работой над FormatMessage
- 📌 апдейт TEST262
- ❌ консенсус по нормативному изменению Evaluate all computed names before any values in object literals не был достигнут
- ✅ консенсус по нормативному изменению Remove ToUint32 from array literal evaluation был достигнут и PR уже влит в спецификацию
- ✅ консенсус по нормативному изменению Prevent DFS invariants from being broken был достигнут
- ❌ консенсус по нормативному изменению Redefine CatchParameter as FormalParameter не был достигнут, было оформить перенести данное нормативное как отдельное предложение в спецификацию
- ✅ консенсус по нормативному изменению Strengthening Atomics.wait and Atomics.notify был достигнут
- 📌 апдейт по Optional Chaining и Nullish Coalescin — оба будут представлены для перехода на stage 4 на декабрьской встрече #TC39
- 🚀предложение Object.map переходит со stage 0 на stage 1, но скорее всего не будет методом в
- 🚀предложение Records & Tuples переходит со stage 0 на stage 1
- 📌 был представлен доклад Grammar Validity
- 📌 апдейт по Top-level await, у него всё хорошо
- 🚀предложение globalThis, которое уже давно реализовано во всех движках, отправляется на stage 4, а значит попадёт в ES2020
- 🚀 предложение for-in order переходит со stage 2 на stage 3
Очень продуктивный день, комитет сделал гораздо больше, чем изначально планировалось.
- 📌 апдейт ECMA262 от редактора (который, кстати, остался один, т.к. Кевин Смит из Microsoft от своей роли редактора отказался)
- 📌 апдейт ECMA402, в котором можно узнать о создании подгруппы для работой над FormatMessage
- 📌 апдейт TEST262
- ❌ консенсус по нормативному изменению Evaluate all computed names before any values in object literals не был достигнут
- ✅ консенсус по нормативному изменению Remove ToUint32 from array literal evaluation был достигнут и PR уже влит в спецификацию
- ✅ консенсус по нормативному изменению Prevent DFS invariants from being broken был достигнут
- ❌ консенсус по нормативному изменению Redefine CatchParameter as FormalParameter не был достигнут, было оформить перенести данное нормативное как отдельное предложение в спецификацию
- ✅ консенсус по нормативному изменению Strengthening Atomics.wait and Atomics.notify был достигнут
- 📌 апдейт по Optional Chaining и Nullish Coalescin — оба будут представлены для перехода на stage 4 на декабрьской встрече #TC39
- 🚀предложение Object.map переходит со stage 0 на stage 1, но скорее всего не будет методом в
Object- 🚀предложение Records & Tuples переходит со stage 0 на stage 1
- 📌 был представлен доклад Grammar Validity
- 📌 апдейт по Top-level await, у него всё хорошо
- 🚀предложение globalThis, которое уже давно реализовано во всех движках, отправляется на stage 4, а значит попадёт в ES2020
- 🚀 предложение for-in order переходит со stage 2 на stage 3
Очень продуктивный день, комитет сделал гораздо больше, чем изначально планировалось.
GitHub
agendas/10.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Все 3 спецификации #WebAssembly перешли из статуса Candidate Recommendation в статус Proposed Recommendation:
- WebAssembly Core Specification
- WebAssembly JavaScript Interface
- WebAssembly Web API
Все последние правки в эти спецификации принимаются до 27 октября, после чего будет инициирован их переход в (финальный) статус W3C Recommendation.
- WebAssembly Core Specification
- WebAssembly JavaScript Interface
- WebAssembly Web API
Все последние правки в эти спецификации принимаются до 27 октября, после чего будет инициирован их переход в (финальный) статус W3C Recommendation.
Разработчики Chromium рассказали о своих планах по выключению TLS 1.0 и 1.1. Напомню, что в Safari Technology Preview и Firefox Nightly устаревшие небезопасные версии протокола уже отключены. Ранее я также публиковал тут новость со статьёй о том, как проверить свои сайты на поддержку TLS 1.2 и 1.3.
Chromium Blog
Chrome UI for Deprecating Legacy TLS Versions
Update (April 6, 2020): The removal of legacy TLS versions was originally scheduled for Chrome 81, but is being delayed until at least Chr...
Через 2 часа начнётся второй день #TC39. Сегодня повестка дня выглядит вот так (в часовой зоне EDT):
Первым же будет обсуждаться пропозал Promise.any, над текстом спецификации которого я работал, и как раз исправил в ней (надеюсь что) последний баг. 😬
Результаты предыдущего дня встречи комитета читайте тремя сообщениями выше.
• 10:00-11:00
◦ 15m Promise.any for Stage 3 Mathias Bynens
◦ 15m Reduce the amount of implementation-defined behavior in Array.prototype.sort (comment) Mathias Bynens
◦ 30m String.prototype.replaceAll for Stage 3 Mathias Bynens
• [optional] break (5 minutes)
• 11:05-12:05
◦ 30m Update on sequence property escapes in Unicode regular expressions Mathias Bynens
◦ 30m Proposal Disclosure Policy Michael Saboff
• lunch (60 minutes)
• 13:05-14:35
◦ 30m Revisit ECMA-402 casing conventions Shane Carr
◦ 30m Map#upsert , previously Map#insertOrUpdate for Stage 2 Erica Pramer
◦ 30m Update on Temporal Philipp Dunkel
• break (10 minutes)
• 14:45-15:45
◦ 30m Declarations in Conditionals for Stage 1 Devin Rousso
◦ 30m Intl.DisplayNames for Stage 3 Frank Tang
• break (15 minutes)
• 16:00-17:00
◦ 15m Update on RegExp Match Indices Ron Buckton
Первым же будет обсуждаться пропозал Promise.any, над текстом спецификации которого я работал, и как раз исправил в ней (надеюсь что) последний баг. 😬
Результаты предыдущего дня встречи комитета читайте тремя сообщениями выше.
Спустя примерно год разработки, вышел Preact X. Среди новых фич:
- Фрагменты
-
-
-
-
- полная совместимость с React из коробки (ранее требовался слой совместимости в виде preact/compat)
При этом размер библиотеки остался так же 3кб.
- Фрагменты
-
componentDidCatch-
preact/hooks addon-
preact/test-utils addon-
createContext API- полная совместимость с React из коробки (ранее требовался слой совместимости в виде preact/compat)
При этом размер библиотеки остался так же 3кб.
Preactjs
What's new in Preact X – Preact Guide
New features and changes in Preact X
Итоги второго дня октябрьской встречи #TC39:
- ❓предложение Promise.any пока остаётся на stage 2 (сегодня будет дополнительное обсуждение)
- ✅ консенсус по нормативному изменению Reduce the amount of implementation-defined behavior in Array.prototype.sort достигнут
- 🚀 String.prototype.replaceAll переходит со stage 2 на stage 3
- апдейт sequence property escapes in Unicode regular expressions (stage 2) — есть прогресс, нужно решить еще некоторые вопросы
- 📌 Proposal Disclosure Policy — не очень понятно как это сделать и кто именно должен этим заниматься (явно не сам TC39, возможно ExeCom или GA)
- ✅ Revisit ECMA-402 casing conventions — документ заапрувлен
- 🚀 Map.prototype.upsert переходит со stage 2 на stage 3
- 📌 апдейт Temporal (stage 2) — всё идёт по плану
- 🚀 Declarations in Conditionals переходит на stage 1
- 🚀 Intl.DisplayNames переходит со stage 2 на stage 3
- 📌 RegExp Match Indices в декабре будет пытаться взять stage 4, ожидает имплементации в JavaScriptCore (движке WebKit/Safari) или SpiderMonkey (движке Firefox)
- ✅ Unifying private field errors — имена, начинающиеся с решётки будут всплывать (hoist), чтобы не было TDZ и
Итоги первого дня можно найти тут.
- ❓предложение Promise.any пока остаётся на stage 2 (сегодня будет дополнительное обсуждение)
- ✅ консенсус по нормативному изменению Reduce the amount of implementation-defined behavior in Array.prototype.sort достигнут
- 🚀 String.prototype.replaceAll переходит со stage 2 на stage 3
- апдейт sequence property escapes in Unicode regular expressions (stage 2) — есть прогресс, нужно решить еще некоторые вопросы
- 📌 Proposal Disclosure Policy — не очень понятно как это сделать и кто именно должен этим заниматься (явно не сам TC39, возможно ExeCom или GA)
- ✅ Revisit ECMA-402 casing conventions — документ заапрувлен
- 🚀 Map.prototype.upsert переходит со stage 2 на stage 3
- 📌 апдейт Temporal (stage 2) — всё идёт по плану
- 🚀 Declarations in Conditionals переходит на stage 1
- 🚀 Intl.DisplayNames переходит со stage 2 на stage 3
- 📌 RegExp Match Indices в декабре будет пытаться взять stage 4, ожидает имплементации в JavaScriptCore (движке WebKit/Safari) или SpiderMonkey (движке Firefox)
- ✅ Unifying private field errors — имена, начинающиеся с решётки будут всплывать (hoist), чтобы не было TDZ и
ReferenceError.Итоги первого дня можно найти тут.
GitHub
agendas/10.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Вышел Safari Technology Preview 93. Включает в основном правки багов. Ознакомиться со списком изменений можно тут:
https://webkit.org/blog/9600/release-notes-for-safari-technology-preview-93/
https://webkit.org/blog/9600/release-notes-for-safari-technology-preview-93/
WebKit
Release Notes for Safari Technology Preview 93
Safari Technology Preview Release 93 is now available for download for macOS Mojave and the macOS Catalina beta.
Итоги третьего дня октябрьской встречи #TC39:
- ❌ UUID не смог взять stage 1
- 🚀 Readonly Collections переходит на stage 1
- 🚀 Eventual-Send: Support for distributed promise pipelining переходит на stage 1
- 🚀 Wavy Dot syntax for promise pipelining переходит на stage 1
- 🚀 OOM Fails Fast переходит на stage 1
Итоги первого дня можно найти тут.
Итоги второго дня можно найти там.
- ❌ UUID не смог взять stage 1
- 🚀 Readonly Collections переходит на stage 1
- 🚀 Eventual-Send: Support for distributed promise pipelining переходит на stage 1
- 🚀 Wavy Dot syntax for promise pipelining переходит на stage 1
- 🚀 OOM Fails Fast переходит на stage 1
Итоги первого дня можно найти тут.
Итоги второго дня можно найти там.
GitHub
agendas/10.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Джейк Арчибальд о результатах встречи #W3C на TPAC в Фукуоке относительно Service workers. В посте он рассказывает про новые добавленные, а также убранные из стандарта фичи.
https://jakearchibald.com/2019/service-workers-tpac/
https://jakearchibald.com/2019/service-workers-tpac/
Jakearchibald
Service workers at TPAC
Last month we had a service worker meeting at TPAC. Here's a summary…
Опубликованы 4 видео с прошедшей встречи #TC39 с докладами-презентациями новых предложений в ECMAScript от Марка Миллера из компании Agoric. Все эти предложения перешли на stage 1:
- Readonly Collections
- Eventual Send
- Wavy Dot syntax
- OOM Fails Fast
- Readonly Collections
- Eventual Send
- Wavy Dot syntax
- OOM Fails Fast
Instance Class Fields (stage 3) проходят очередное ревью в JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=174212#c140
Напомню, что Public Instance Class Fields поддерживаются в Firefox 69+ и Chrome 72+, а Private Instance Class Fields в только в Chrome 74+.
https://bugs.webkit.org/show_bug.cgi?id=174212#c140
Напомню, что Public Instance Class Fields поддерживаются в Firefox 69+ и Chrome 72+, а Private Instance Class Fields в только в Chrome 74+.
GitHub
GitHub - tc39/proposal-class-fields: Orthogonally-informed combination of public and private fields proposals
Orthogonally-informed combination of public and private fields proposals - tc39/proposal-class-fields
Майлс Боринс рассказывает о своём пропозале Top-level await (stage 3), который уже поддерживается в REPL Chrome, Node.js и Safari:
https://v8.dev/features/top-level-await
https://v8.dev/features/top-level-await
v8.dev
Top-level await · V8
Top-level `await` is coming to JavaScript modules! You’ll soon be able to use `await` without needing to be in an async function.
Совсем забыл рассказать. Несколько дней назад был открыт репозиторий с исходным кодом грядущего Vue 3.
https://github.com/vuejs/vue-next
https://github.com/vuejs/vue-next
GitHub
GitHub - vuejs/core: 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. - vuejs/core
Unicode Consortium создали страницу с частотой использования различных emoji. Анализ частоты использования текущих emoji позволяет принять решение о включении новых предложений в стандарт.
https://home.unicode.org/emoji/emoji-frequency/
https://home.unicode.org/emoji/emoji-frequency/
Unicode
Emoji Frequency
Emoji Frequency ARCHIVE THIS SECTION CONTAINS EMOJI DATA FROM PREVIOUS YEARS The Most Frequent Emoji -- 2019How does the Unicode Consortium choose which new emoji to add to
Как известно, Mozilla собирается добавить в Firefox встроенный VPN. В данный момент он доступен только пользователям США. Сервис предоставляется в партнерстве с Cloudflare. Как выяснилось, согласно private police, Cloudflare собирает IP пользователя и сайта, время запроса и уникальный идентификатор пользователя, который хранится 24 часа или более в случае необходимости. Помимо этого, Mozilla также собирает информацию об устройстве, операционной системе, а также уникальный идентификатор пользователя и другую информацию. Всё это ставит под некоторое сомнение гарантии приватности при использовании Firefox Private Network. В любом случае, это неплохая альтернатива другим бесплатным VPN, у которых с приватность зачастую ещё хуже.
https://restoreprivacy.com/firefox-vpn-private-network/
https://restoreprivacy.com/firefox-vpn-private-network/
RestorePrivacy
Best VPN for Firefox
This guide examines the best VPN for Firefox. We test and analyze the top Firefox VPN services that work with the browser.
Отличный доклад от Антона Хлыновского — Самый низкий уровень: пишем на WebGL и #WebAssembly без фреймворков и транскомпиляторов.
https://www.youtube.com/watch?v=hTeMaNKNWxo
https://www.youtube.com/watch?v=hTeMaNKNWxo
YouTube
Самый низкий уровень: пишем на WebGL и WebAssembly без фреймворков и транскомпиляторов/ А.Хлыновский
РИТ++ 2019
FrontendConf
Тезисы и презентация:
http://frontendconf.ru/moscow-rit/2019/abstracts/4492
Говоря о WebGL, часто имеют в виду three.js или другие похожие фреймворки. Новичок на поле веб-технологий WebAssembly уже начинает ассоциироваться с языками…
FrontendConf
Тезисы и презентация:
http://frontendconf.ru/moscow-rit/2019/abstracts/4492
Говоря о WebGL, часто имеют в виду three.js или другие похожие фреймворки. Новичок на поле веб-технологий WebAssembly уже начинает ассоциироваться с языками…