В HTTP появился метод QUERY — Комитет наконец одобрил запросную семантику для GET-подобных тел. Теперь можно отправить сложный поисковый фильтр в теле запроса, не притвораясь что это POST — метод явно safe и idempotent, в отличие от POST который инфраструктура воспринимает как потенциально_side-effectful. Браузерный fetch пока не поддерживает, но это вопрос времени.
Статьи, мнения, туториалы
JS/TS
AbortController в production Node.js: сквозные дедлайны и cleanup ресурсов — AbortSignal — это контракт жизненного цикла операции, а не просто таймаут для fetch. В продакшене типичная ошибка — клиент уходит, а сокеты, стримы и tempfile’ы продолжают жить. Автор показывает pattern: один сквозной signal + AbortSignal.any() для локальных бюджетов + гарантированный cleanup в finally. Независимые timeout’ы в каждом слое приводят к тому, что запрос живёт втрое дольше SLA.
WeakRef, FinalizationRegistry и утечки в нативных коллбэках V8 — Когда в дело входят N-API аддоны на C++, автоматический GC V8 перестаёт быть вашим другом. WeakRef не продлевает жизнь объектам, FinalizationRegistry не гарантирует вызова, а napi_ref без cleanup — вечная утечка. Разбор реальных паттернов утечек и почему дисциплина явного cleanup надёжнее слабых ссылок.
React Compiler 1.0: закрытие эры useMemo/useCallback ручной мемоизации — React Compiler 1.0 стабилен в Next.js 16 и Vite. Компайлер сам строит граф зависимостей и подставляет эквивалент useMemo, useCallback и React.memo на этапе билда — никакой runtime overhead. Главное изменение: идентичность ссылок перешла в детали компилятора, и обсуждать её на code review больше не имеет смысла. В существующих кодовых базах порядок: ESLint-плагин → фикс нарушений Rules of React → включение флага → постепенная зачистка избыточных мемо.
Фикс Ghost Gap пустых слотов в Shadow DOM через @scope — :host(:has([slot])) работает в Safari и Firefox, но сломан в Chromium — пустой slot создаёт ghost gap в flex/grid. Решение: @scope без scope-root заставляет :scope совпадать с shadow-host, ломая изоляцию стилей именно туда, где нужно. Чистый CSS, ноль runtime, все три движка довольны.
CSS
Фиксированная высота карточек: хрупкость, о которой легко забыть — Выравнивание карточек в grid по высоте кажется тривиальным, но фиксированная height быстро ломается при разном контенте, переносах слов и разных шрифтовых метриках. Статья разбирает почему и показывает более гибкие подходы к поддержанию визуальной консистентности без хардкода размеров.
HTML/Accessibility
headingoffset — контекстно-зависимые уровни заголовков — Мануэль Матузович proposing новый HTML-атрибут headingoffset, который сдвигает уровни заголовков в accessibility tree, не меняя самих тегов. Обёртываешь секцию в div с headingoffset="1" — и h1 внутри становятся h2 для скринридеров. Идеально для веб-компонентов с Shadow DOM, которые рендерят свои собственные h1-h6 независимо от контекста использования. Уже в Firefox Nightly за флагом.
Инструменты
MDN выпускает MCP-сервер для LLM-инструментов — Теперь можно напрямую спрашивать ваш LLM: работает ли этот метод в Safari? Команда MDN выпустила компактный MCP-сервер, который возвращает документацию и браузерную поддержку сразу в Markdown. Мало токенов, много пользы. Фидбек принимаются прямо в репозитории.
revdiff — просмотр диффов прямо в консоли — Полезный тул от Umputun для просмотра git diff без выхода из терминала. Ответ на вопрос «как вы там в консоли диффы смотрите».