<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Vyacheslav Naumenko · Frontend Engineer</title><description>Notes on frontend engineering, thoughtful interfaces, and the open web.</description><link>https://vnaumenko.ru/</link><language>en</language><item><title>Interop 2027</title><link>https://vnaumenko.ru/en/blog/interop-2027-developer-voting/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/interop-2027-developer-voting/</guid><description>Developer Signals and Firefox’s ranking tool let you influence browser priorities and feature selection for Interop 2027.</description><pubDate>Tue, 13 Oct 2026 00:00:00 GMT</pubDate></item><item><title>⚡️ The Remix Way: how the framework’s new approach changes engineering thinking</title><link>https://vnaumenko.ru/en/blog/the-remix-way/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/the-remix-way/</guid><description>The philosophy of Remix 3: modular libraries, interfaces as contracts and native web primitives.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate></item><item><title>JavaScript’s midlife crisis</title><link>https://vnaumenko.ru/en/blog/javascript-midlife-crisis/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/javascript-midlife-crisis/</guid><description>JavaScript won the browser, but its infrastructure is moving to Rust, Go and Zig: what this means for developers.</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate></item><item><title>State of Devs 2026 results</title><link>https://vnaumenko.ru/en/blog/state-of-devs-2026-results/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-devs-2026-results/</guid><description>Salaries, burnout, attitudes toward AI and work arrangements in the State of Devs 2026 survey.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate></item><item><title>GitHub shares its experience moving away from CSS-in-JS</title><link>https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/github-moving-away-from-css-in-js/</guid><description>How GitHub replaced runtime CSS-in-JS with utility classes and improved bundle sizes, INP and LCP.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate></item><item><title>⚡️ Offline-first and real-time sync are essentially the same problem</title><link>https://vnaumenko.ru/en/blog/offline-and-realtime-sync/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/offline-and-realtime-sync/</guid><description>The shared foundation of offline support and real-time synchronization in local-first applications.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate></item><item><title>How to make Claude Design use a real design system instead of generating lookalike components</title><link>https://vnaumenko.ru/en/blog/claude-design-system-sync/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/claude-design-system-sync/</guid><description>Syncing a design system with Claude Design through /design-sync: bundles, exports, types and render checks.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate></item><item><title>One SVG, nine posters: the link-parameters property</title><link>https://vnaumenko.ru/en/blog/svg-linked-parameters/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/svg-linked-parameters/</guid><description>CSS Linked Parameters lets you pass parameters into a single SVG file from HTML and CSS without duplication.</description><pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate></item><item><title>🐼 Panda CSS v2 is out: the engine has been rewritten in Rust</title><link>https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/panda-css-v2-rust-compiler/</guid><description>Panda CSS v2 introduces a Rust compiler built on Oxc, faster parsing and a WebAssembly build.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate></item><item><title>📌 Sidenotes with CSS Anchor Positioning</title><link>https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-anchor-positioned-sidenotes/</guid><description>Sidenotes without JavaScript: typed attr(), anchor(), max() and a fallback for narrow screens.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Aligning icons in lists 🎯</title><link>https://vnaumenko.ru/en/blog/aligning-list-icons/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/aligning-list-icons/</guid><description>How to align an icon with the first line of text using the lh unit and CSS calc().</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>The root scroller and how not to lose it 📜</title><link>https://vnaumenko.ru/en/blog/preserving-the-root-scroller/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/preserving-the-root-scroller/</guid><description>Why you should preserve the page’s root scroller and avoid losing native scrolling features.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Thinking for yourself 🥲</title><link>https://vnaumenko.ru/en/blog/thinking-for-yourself/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/thinking-for-yourself/</guid><description>For a second, I was afraid I would have to think for myself.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Modern types for the web 💡</title><link>https://vnaumenko.ru/en/blog/modern-web-types/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/modern-web-types/</guid><description>modern-web-types adds TypeScript types for web APIs implemented in at least one browser engine.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Finally, sensible iframes: Chrome 154 adds frame-sizing support</title><link>https://vnaumenko.ru/en/blog/responsive-iframes-chrome/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/responsive-iframes-chrome/</guid><description>Native iframe resizing with frame-sizing, meta tags and window.requestResize() in Chrome 154.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Forget localhost:3000: meet Portless 🔌</title><link>https://vnaumenko.ru/en/blog/portless-local-development/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/portless-local-development/</guid><description>Portless replaces local ports with stable .localhost domains and supports HTTPS and Git Worktrees.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Jev: System 1 models for instant answers ⚡️🧠</title><link>https://vnaumenko.ru/en/blog/jev-system-one-models/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/jev-system-one-models/</guid><description>Jev from Typesafe AI: fast probabilistic models for classification, interfaces, games and search.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Local syntax highlighting with WebGPU and a micromodel 🧠⚡️</title><link>https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/webgpu-micromodel-syntax-highlighting/</guid><description>gpu-lexer uses a local WebGPU micromodel to tokenize code and highlight syntax without server-side computation.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>The browser’s main thread is a limited resource</title><link>https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/browser-main-thread-limited-resource/</guid><description>Managing Main Thread load through task splitting, yielding, event batching and moving computations into workers.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>GPU Time: parsing dates with AI ⏱️🧠</title><link>https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/gpu-time-local-ai-date-parsing/</guid><description>gpu-time is a roughly 24.8K-parameter micromodel for locally parsing dates and relative time expressions.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>React code on top of Zed’s GPU UI: meet GPUIX ⚡️</title><link>https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/gpuix-react-on-zed-gpu-framework/</guid><description>GPUIX lets you write React interfaces for Zed’s GPU-accelerated GPUI without Electron or Chromium.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>React 19.3 is out: stable View Transitions, Fragment Refs and a few more useful features ⚛️⚡️</title><link>https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-19-3-stable-view-transitions/</guid><description>React 19.3 stabilizes View Transitions and Fragment Refs, with browser-only components, Trusted Types and context in RSC.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate></item><item><title>You no longer need initial-scale=1.0 in the viewport meta tag 📱</title><link>https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/viewport-initial-scale-no-longer-needed/</guid><description>Why modern mobile browsers no longer need initial-scale=1.0, and the viewport meta tag you can keep instead.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Container style queries + advanced attr(): rethinking component architecture in CSS 🎨🧩</title><link>https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-container-style-queries-advanced-attr/</guid><description>Advanced attr() and Container Style Queries pass typed HTML attributes into CSS and make components more autonomous.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>pnpm 12 is out, powered by Rust 🚀</title><link>https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/pnpm-12-rust-installation-engine/</guid><description>pnpm 12 moves its installation engine to Rust, with faster startup and installs, deterministic cycles and breaking changes.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Zod 4.5 is out: schema precompilation and almost a tenfold memory reduction 🚀</title><link>https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/zod-4-5-schema-compilation/</guid><description>Zod 4.5 brings new APIs, faster safeParse, lazy method binding and JIT schema compilation through z.compile().</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Making long lists fast: Content Visibility versus Virtualization 📜⚡️</title><link>https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/content-visibility-versus-list-virtualization/</guid><description>Content Visibility and virtualization address different bottlenecks: choosing based on Layout, Paint, DOM size and memory.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Proper SSR for time zones: solving the problem with @epic-web/client-hints 🌍⏰</title><link>https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/server-side-timezone-rendering-client-hints/</guid><description>How @epic-web/client-hints passes time zones through cookies for correct server-rendered dates without flashes or hydration errors.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Understanding the Performance panel in Chrome DevTools ⏱️</title><link>https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/chrome-devtools-performance-profiling-guide/</guid><description>An interactive Chrome DevTools Performance guide covering colors, network requests, flamecharts, metrics and Main Thread bottlenecks.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item><item><title>TanStack drops RSC: when the solution became more complicated than the problem</title><link>https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/tanstack-drops-react-server-components/</guid><description>Why TanStack dropped RSC after replacing heavy dependencies, and what it changed for complexity, navigation and traffic.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>What if referential stability became part of TypeScript’s type system?</title><link>https://vnaumenko.ru/en/blog/typescript-referential-stability-types/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/typescript-referential-stability-types/</guid><description>The stableref concept uses branded Stable types, strict props and wrapper hooks to check stable references at compile time.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Generating OG cards without Headless Chrome: a fast Rust generator 🖼⚡️</title><link>https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/takumi-og-images-without-headless-chrome/</guid><description>Takumi renders JSX to PNG, WebP, SVG and JPEG without a browser, with modern styling and support for multiple runtimes.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Octane: another “fast React” without Virtual DOM or strict hook rules ⚡️</title><link>https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/octane-react-without-virtual-dom/</guid><description>Octane offers a React-like API without Virtual DOM or hook restrictions, with ports of popular ecosystem tools.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Infinity in CSS</title><link>https://vnaumenko.ru/en/blog/css-infinity-use-cases/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-infinity-use-cases/</guid><description>Practical CSS infinity techniques for rounded corners, z-index, Boolean logic, backgrounds, animations and one-sided clamp.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>State of CSS 2026: the year of anchor positioning ⚓️</title><link>https://vnaumenko.ru/en/blog/state-of-css-2026-results/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-css-2026-results/</guid><description>State of CSS 2026 results: interest in Anchor Positioning, AI adoption in styling and shifts in tooling.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The React composition ladder: avoiding prop overload and overengineering 🧗‍♂️</title><link>https://vnaumenko.ru/en/blog/react-composition-ladder/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-composition-ladder/</guid><description>Orus’s four React composition levels: plain props, compound components, Composer with Providers and state behind a contract.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The ultimate tutorial on building forms in React 📝</title><link>https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-forms-complete-tutorial/</guid><description>A detailed React forms tutorial covering HTML, useActionState, TanStack Form with Zod, multistep forms and field arrays.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>React2Shell: how the React Flight protocol became an RCE attack vector 🚨</title><link>https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react2shell-flight-protocol-security/</guid><description>React2Shell and CVE-2025-55182 explained: React Flight deserialization, the exploit chain and defensive measures.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate></item><item><title>A tournament bracket with CSS Subgrid. A masterclass from Ahmad Shadeed ⚽️</title><link>https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-subgrid-tournament-bracket/</guid><description>Ahmad Shadeed shows how to build a CSS Subgrid tournament bracket with aligned matches and connecting lines.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Nectar: a WebAssembly language for fans of extreme performance ⚡</title><link>https://vnaumenko.ru/en/blog/nectar-webassembly-language/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/nectar-webassembly-language/</guid><description>Nectar is a Rust-based language compiling to WebAssembly, trading developer experience for minimal size and speed.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Experimenting with text-fit: native text autoscaling in CSS</title><link>https://vnaumenko.ru/en/blog/css-text-fit-experiments/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-text-fit-experiments/</guid><description>The experimental CSS text-fit property: grow and shrink modes, fitting strategies and scaling limits.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Custom Invoker Commands in React: cross-component communication without context or prop drilling? ⚡️</title><link>https://vnaumenko.ru/en/blog/react-custom-invoker-commands/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-custom-invoker-commands/</guid><description>Native Custom Invoker Commands in React: command and onCommand examples, benefits and limitations.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The State of Devs 2026 survey is live! 🧠</title><link>https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-devs-2026-survey/</guid><description>State of Devs 2026 explores developers’ health, salaries, careers, hobbies and community.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Do not trust React Compiler blindly: production experience and pitfalls ⚛️</title><link>https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-compiler-production-pitfalls/</guid><description>React Compiler adoption lessons: React Hook Form, stale callbacks, the Memo badge and a safer migration checklist.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>How ChatGPT Web serves a billion users: reverse-engineering OpenAI’s stack 🧠</title><link>https://vnaumenko.ru/en/blog/chatgpt-web-architecture/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/chatgpt-web-architecture/</guid><description>ChatGPT Web’s stack and evolution: React Router 7, Vite, streaming SSR, anonymous access, feature flags and bot protection.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>ECMAScript 2026 is officially approved: what is new in the JavaScript standard? 🚀</title><link>https://vnaumenko.ru/en/blog/ecmascript-2026-standard/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/ecmascript-2026-standard/</guid><description>ES2026 adds precise summation, Map upsert, Base64 and hex, Error.isError, JSON.parse improvements and Iterator.concat.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>CSS Anchor Positioning: goodbye to JS workarounds for tooltips and dropdowns ⚓️</title><link>https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-anchor-positioning-guide/</guid><description>Josh Comeau explains CSS Anchor Positioning: element anchors, automatic fallbacks and popover integration.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate></item><item><title>HTTP QUERY becomes a Proposed Standard: goodbye to POST for complex queries? 🌐</title><link>https://vnaumenko.ru/en/blog/http-query-proposed-standard/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/http-query-proposed-standard/</guid><description>HTTP QUERY combines a request body with safe, idempotent GET semantics for complex queries.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>TypeScript 7.0 RC is out: a stable API and the final stretch before release 🛠</title><link>https://vnaumenko.ru/en/blog/typescript-7-release-candidate/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/typescript-7-release-candidate/</guid><description>TypeScript 7.0 RC stabilizes the API, with a Go compiler, TS 6 coexistence and improved type inference.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Why I&apos;ve Started Understanding Recruiters: Nearly a Hundred Résumés and the Biggest Red Flags 📑🤦‍♂️</title><link>https://vnaumenko.ru/en/blog/resume-red-flags/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/resume-red-flags/</guid><description>After reviewing nearly a hundred résumés for Uplatform: ignored instructions, heavy CVs, and anonymous files from a referrer&apos;s perspective.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Looking for a Job? We&apos;re Hiring at Uplatform! 💼🚀</title><link>https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/uplatform-hiring-referrals/</guid><description>Uplatform is looking for DevOps engineers, analysts, developers, and designers: how to send your résumé for an internal referral.</description><pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Experimenting with Native random() in CSS: From Theory to Real Use Cases 🎲</title><link>https://vnaumenko.ru/en/blog/css-random-experiments/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-random-experiments/</guid><description>Practical CSS random() examples: bokeh, northern lights, cherry blossom petals, a stack of photos, and random poetry.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate></item><item><title>SVG&apos;s Biggest Pain Points in 2026 🎨</title><link>https://vnaumenko.ru/en/blog/svg-pain-points-2026/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/svg-pain-points-2026/</guid><description>What SVG is missing: styling external assets, CSS support, responsive typography, and a reliable foreignObject.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Vite 8.1: Introducing Bundled Dev Mode ⚡️</title><link>https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/vite-8-1-bundled-dev/</guid><description>Vite 8.1 adds experimental dev-mode bundling, Chunk Import Map, native Wasm imports, and Lightning CSS improvements.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>React Router 8 Released: Cleanup, a New Baseline Stack, and EOL for v6</title><link>https://vnaumenko.ru/en/blog/react-router-8-release/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-router-8-release/</guid><description>React Router 8 requires Node 22, Vite 7, and React 19, removes react-router-dom, and ends support for v6 and Remix v2.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item><item><title>What JS Knows, CSS Now Knows Too</title><link>https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/prop-for-that-css-runtime/</guid><description>prop-for-that exposes browser and element state as CSS variables: pointers, media colors, battery levels, scrolling, and form validation.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>💸 A $200 Subscription, but $14,000 in Tokens: How Developers Bankrupt AI Labs</title><link>https://vnaumenko.ru/en/blog/ai-subscription-token-economics/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/ai-subscription-token-economics/</guid><description>SemiAnalysis compared OpenAI and Anthropic subscriptions with API pricing: intensive coding tasks revealed huge losses for the labs.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate></item><item><title>A Universal Specification for Website Technical Quality 🌐</title><link>https://vnaumenko.ru/en/blog/website-quality-specification/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/website-quality-specification/</guid><description>Website Specification brings together requirements for semantics, SEO, accessibility, security, performance, i18n, and AI readiness.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>VoidZero Joins Cloudflare. What Does This Mean for the Ecosystem? 🥺</title><link>https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/voidzero-joins-cloudflare/</guid><description>Why VoidZero is joining Cloudflare and what the deal means for Vite, Oxc, Vite+, the Void platform, and AI agents.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>CSS Centering in 2026 🎯</title><link>https://vnaumenko.ru/en/blog/css-centering-2026/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-centering-2026/</guid><description>Modern CSS centering techniques: Flexbox, Grid, text-box, anchor positioning, and safe alignment.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Native Gap Styling in CSS with Gap Decorations</title><link>https://vnaumenko.ru/en/blog/css-gap-decorations/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-gap-decorations/</guid><description>Gap Decorations lets you draw and animate dividing lines in Grid and Flexbox without extra DOM nodes or pseudo-elements.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>We Aren&apos;t Praying Hard Enough: An Emoji CSS Framework ☠️</title><link>https://vnaumenko.ru/en/blog/bemoji-css-framework/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/bemoji-css-framework/</guid><description>BEMoji turns emoji and the BEM methodology into a CSS framework with design tokens, utility classes, and a CLI.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>An Apple Silicon Killer from Nvidia? Meet RTX Spark</title><link>https://vnaumenko.ru/en/blog/nvidia-rtx-spark/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/nvidia-rtx-spark/</guid><description>Nvidia introduces RTX Spark ARM chips for laptops and mini PCs: specs, battery life, and the outlook for Windows on ARM.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Deno Overtakes Bun in the Race to Be a Drop-in Node.js Replacement 🦕</title><link>https://vnaumenko.ru/en/blog/deno-node-compatibility/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/deno-node-compatibility/</guid><description>Deno 2.8 improves Node.js compatibility, npm integration, cryptography, and dependency management tools.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate></item><item><title>Stepped Fluid Sizing in CSS with round() 📐</title><link>https://vnaumenko.ru/en/blog/css-round-fluid-sizing/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-round-fluid-sizing/</guid><description>How round() and clamp() turn fluid sizes into precise steps that stay consistent with a strict design system.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>Declarative partial page updates: goodbye to heavy streaming JavaScript? ⚡️</title><link>https://vnaumenko.ru/en/blog/declarative-partial-html-updates/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/declarative-partial-html-updates/</guid><description>Declarative Partial Updates: out-of-order HTML streaming, markers, templates and new APIs for updates without extra JavaScript.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>The State of CSS 2026 survey is open 🎨</title><link>https://vnaumenko.ru/en/blog/state-of-css-2026-survey/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-css-2026-survey/</guid><description>The State of CSS survey helps shape browser priorities and introduces unfamiliar properties and selectors.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>Liquid glass on the web: Canvas, WebGPU and no CSS blur 💧</title><link>https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/liquid-dom-webgpu-glass/</guid><description>The experimental liquid-dom library creates liquid-glass effects over HTML using Canvas and WebGPU/WebGL.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item><item><title>The browser’s built-in HTML Sanitizer API: goodbye, DOMPurify? 🛡</title><link>https://vnaumenko.ru/en/blog/native-html-sanitizer-api/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/native-html-sanitizer-api/</guid><description>Native HTML sanitization: safe and unsafe methods, use cases, the backend’s role and browser support.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Improving browser caching with No-Vary-Search 🚀</title><link>https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/no-vary-search-browser-caching/</guid><description>No-Vary-Search avoids cache fragmentation from URL parameters: examples, browser support and debugging caveats.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate></item><item><title>Browsers on crutches: why Safari and Firefox contain thousands of lines of code for major sites 🩼</title><link>https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/browser-compatibility-site-workarounds/</guid><description>How Safari and Firefox apply site-specific hacks for major websites, and what Chrome’s dominance means for other engines.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Mobile-safe layouts: taming notches and cutouts 📱</title><link>https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/mobile-safe-area-layouts/</guid><description>Using viewport-fit, safe-area-inset and safe-area-max-inset to keep interfaces clear of cutouts and system UI.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate></item><item><title>Controlling infinite CSS animations on the fly 🕹</title><link>https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/controlling-infinite-css-animations/</guid><description>How animation-composition: add changes the speed and direction of infinite animations without jumps or JavaScript.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Remix 3 Beta: heading toward zero dependencies 🧩</title><link>https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/remix-three-zero-dependencies/</guid><description>Remix 3 moves toward small packages and server-driven state: more control, but still limited documentation.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate></item><item><title>Streaming in React: what actually happens</title><link>https://vnaumenko.ru/en/blog/react-out-of-order-streaming/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-out-of-order-streaming/</guid><description>How React streams UI out of component-tree order using Suspense, markers and hydration scripts.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>Zed 1.0: a fast editor built in Rust 🚀</title><link>https://vnaumenko.ru/en/blog/zed-one-rust-editor/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/zed-one-rust-editor/</guid><description>Zed’s first stable release: performance, collaboration, AI, extensions and a native interface.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>Image preloading: it is not all straightforward 🖼</title><link>https://vnaumenko.ru/en/blog/image-preloading-priorities/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/image-preloading-priorities/</guid><description>Eight ways to control image loading: fetchpriority, preload, responsive images and common workarounds.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Native masonry is almost here</title><link>https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/native-first-masonry-grid-lanes/</guid><description>Masonry Grid Lanes uses native layout when the browser supports it, with a JavaScript fallback elsewhere.</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate></item><item><title>IPv8: a new internet?</title><link>https://vnaumenko.ru/en/blog/ipv8-internet-draft/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/ipv8-internet-draft/</guid><description>The IPv8 draft proposes extending IPv4 with an ASN prefix: address structure, deployment ideas and other changes.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>CSS Containment: an underrated performance boost 🚀</title><link>https://vnaumenko.ru/en/blog/css-containment-performance/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-containment-performance/</guid><description>How contain isolates the DOM to reduce layout, paint and style recalculations, and the limitations to watch for.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>A lightweight library for building web components ⚡️</title><link>https://vnaumenko.ru/en/blog/elena-progressive-web-components/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/elena-progressive-web-components/</guid><description>Elena builds lightweight web components with progressive enhancement, lazy hydration, and SSR support.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>How MDN Web Docs moved from React to Lit</title><link>https://vnaumenko.ru/en/blog/mdn-react-to-lit/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/mdn-react-to-lit/</guid><description>MDN’s move to web components: a two-second development startup, fewer dependencies and simpler maintenance.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The great CSS expansion 🚀</title><link>https://vnaumenko.ru/en/blog/great-css-expansion/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/great-css-expansion/</guid><description>New CSS capabilities replace JavaScript libraries, shrink bundles, and improve Core Web Vitals.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Cloudflare introduces a WordPress “killer” ⚡️</title><link>https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/emdash-wordpress-alternative/</guid><description>Cloudflare’s EmDash is an open-source CMS on TypeScript and Astro, with serverless architecture and isolated plugins.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Saturday reading ☕️ How one engineering team got a feature into a web standard</title><link>https://vnaumenko.ru/en/blog/html-media-lazy-loading/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/html-media-lazy-loading/</guid><description>How Squarespace took lazy loading for video and audio from an idea to the HTML standard, working with browser teams.</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate></item><item><title>CSS or BS: test your CSS knowledge</title><link>https://vnaumenko.ru/en/blog/css-or-bs-game/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-or-bs-game/</guid><description>The CSS or BS game challenges you to tell real CSS properties from made-up ones and test your knowledge of modern CSS.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Meet Cursor 3 🤖</title><link>https://vnaumenko.ru/en/blog/cursor-3-agents/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/cursor-3-agents/</guid><description>Cursor 3 moves agents into a dedicated window, adds parallel execution, and improves agent-first workflows.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate></item><item><title>🧠 Browsers now have AI.css</title><link>https://vnaumenko.ru/en/blog/ai-css-in-browsers/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/ai-css-in-browsers/</guid><description>AI.css lets the browser choose layout, typography, responsive behavior, and a user-friendly interface for you.</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate></item><item><title>🚨 Axios has been compromised</title><link>https://vnaumenko.ru/en/blog/axios-supply-chain-attack/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/axios-supply-chain-attack/</guid><description>Malicious Axios versions, a Trojan installed through postinstall, and what to do if your environment was compromised.</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Pretext: text layout without the browser 🤯</title><link>https://vnaumenko.ru/en/blog/pretext-text-layout/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/pretext-text-layout/</guid><description>Pretext measures and lays out text in JavaScript without the DOM, from chat bubbles to Canvas and server-side rendering.</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Name your effects</title><link>https://vnaumenko.ru/en/blog/name-your-react-effects/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/name-your-react-effects/</guid><description>Named functions in useEffect make code clearer, simplify testing, and make stack traces easier to read.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate></item><item><title>You don’t need data-testid for testing</title><link>https://vnaumenko.ru/en/blog/test-ids-accessibility/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/test-ids-accessibility/</guid><description>Why frequent use of data-testid signals accessibility problems, and how to test interfaces using roles and accessible names.</description><pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Bippy: React DevTools for grown-ups 😈</title><link>https://vnaumenko.ru/en/blog/bippy-react-internals/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/bippy-react-internals/</guid><description>Bippy provides direct access to React’s fiber tree and render events for building your own tools.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate></item><item><title>A video series on microfrontends</title><link>https://vnaumenko.ru/en/blog/microfrontends-video-series/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/microfrontends-video-series/</guid><description>A video series from IT Sinyak covering microfrontends, independent hosting, and building your first application.</description><pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate></item><item><title>You don’t know HTML tables</title><link>https://vnaumenko.ru/en/blog/html-tables-deep-dive/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/html-tables-deep-dive/</guid><description>A deeper look at HTML tables: the Table Object Model, header semantics, structure, and accessibility.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Vite 8</title><link>https://vnaumenko.ru/en/blog/vite-8-release/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/vite-8-release/</guid><description>Vite 8 moves to Rolldown, bringing a unified Rust toolchain, built-in DevTools, and new platform capabilities.</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Visually hidden: all about the web’s oldest workaround</title><link>https://vnaumenko.ru/en/blog/visually-hidden-accessibility/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/visually-hidden-accessibility/</guid><description>Why visually-hidden keeps content accessible to screen readers, and the browser quirks behind this CSS pattern.</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate></item><item><title>SVG Optimization: Less Weight, Less DOM, Faster Rendering</title><link>https://vnaumenko.ru/en/blog/svg-optimization/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/svg-optimization/</guid><description>Practical SVG optimization: cleaning with SVGO, simplifying paths, reusing symbol and use, and reducing DOM size.</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CodePen 2.0</title><link>https://vnaumenko.ru/en/blog/codepen-2-beta/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/codepen-2-beta/</guid><description>The new CodePen beta brings files and folders, Blocks, custom defaults, visual configuration, collaboration, Omnibar, and privacy controls.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Web Haptics: Haptic Feedback on the Web</title><link>https://vnaumenko.ru/en/blog/web-haptics/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/web-haptics/</guid><description>Web Haptics provides device vibration patterns, intensity controls, presets, and React, Vue, and Svelte wrappers, with an iOS workaround.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>🎲 Native Randomness in CSS: What&apos;s It Even For?</title><link>https://vnaumenko.ru/en/blog/native-css-random/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/native-css-random/</guid><description>Experimental CSS random() and random-item() functions: ranges, random selection, synchronization, and ideas for generative interfaces.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>A Practical Guide to &lt;img&gt;: From the Basics to LCP</title><link>https://vnaumenko.ru/en/blog/practical-img-performance-guide/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/practical-img-performance-guide/</guid><description>A practical image guide covering dimensions, srcset and sizes, formats, lazy loading, loading priorities, and their impact on LCP and CLS.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>🛡 How to Build a Bulletproof React Component</title><link>https://vnaumenko.ru/en/blog/bulletproof-react-components/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/bulletproof-react-components/</guid><description>Design resilient React components that handle SSR, hydration, portals, composition, and future changes to rendering.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate></item><item><title>⚓️ Anchor Positioning: An In-Depth Guide from Doka</title><link>https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/doka-anchor-positioning-guide/</guid><description>Doka&apos;s detailed guide to CSS Anchor Positioning covers terminology, properties, functions, and interactive graph and animation examples.</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate></item><item><title>👩‍💻 csskit: A High-Performance CSS Toolchain in Rust</title><link>https://vnaumenko.ru/en/blog/csskit-rust-toolchain/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/csskit-rust-toolchain/</guid><description>The csskit alpha combines CSS parsing, minification, formatting, transformations, and LSP support in a high-performance Rust toolchain.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate></item><item><title>👩‍💻 State of React 2025 Results</title><link>https://vnaumenko.ru/en/blog/state-of-react-2025-results/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-react-2025-results/</guid><description>State of React 2025 results: React 19, the Compiler, server functions, lighter ecosystem tools, and independent React Foundation governance.</description><pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Friday Links: Modern CSS, Prism Tools, and NPMX</title><link>https://vnaumenko.ru/en/blog/friday-developer-links/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/friday-developer-links/</guid><description>Useful developer resources: modern CSS snippets, client-side utilities in Prism Tools, and the fast NPMX npm registry browser.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate></item><item><title>🔥 TanStack Releases Hotkeys: Type-Safe Keyboard Shortcut Management</title><link>https://vnaumenko.ru/en/blog/tanstack-hotkeys/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/tanstack-hotkeys/</guid><description>TanStack Hotkeys brings type-safe shortcuts, sequences, scoped hotkeys, DevTools, and React hooks in a new pre-alpha library.</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate></item><item><title>TypeScript 6 Beta: A Transitional Release on the Road to the Go Version</title><link>https://vnaumenko.ru/en/blog/typescript-6-beta/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/typescript-6-beta/</guid><description>TypeScript 6 prepares the ecosystem for TS 7&apos;s Go compiler with new language features, better type inference, and the removal of old settings.</description><pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate></item><item><title>ESLint 10: An Uninteresting Major Update</title><link>https://vnaumenko.ru/en/blog/eslint-10-major-update/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/eslint-10-major-update/</guid><description>ESLint 10 removes legacy configuration and outdated APIs, a useful architectural cleanup without a noticeable speed boost.</description><pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate></item><item><title>ESLint or Rust Tools: Poll Results</title><link>https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/eslint-rust-tools-poll/</guid><description>A snapshot of a Telegram poll about ESLint, Biome, and Oxlint, with four answer options and 15 voters.</description><pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Grid Lanes: The Masonry Layout Saga Is Coming to an End</title><link>https://vnaumenko.ru/en/blog/css-grid-lanes/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-grid-lanes/</guid><description>WebKit reimagines masonry as Grid Lanes, with stable syntax, a Safari Technology Preview implementation, and fallback strategies.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Container scroll-state queries: detect scroll state with pure CSS</title><link>https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-container-scroll-state-queries/</guid><description>CSS container scroll-state queries handle scroll arrows, sticky headers, and hints without JavaScript, though browser support remains limited</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title>State of JavaScript TypeScript 2025 Results</title><link>https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-javascript-2025-results/</guid><description>State of JS 2025 results: TypeScript dominates, Vite and Vitest keep growing, and VoidZero and TanStack tools look promising.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Rolldown reaches Release Candidate</title><link>https://vnaumenko.ru/en/blog/rolldown-release-candidate/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/rolldown-release-candidate/</guid><description>Rust-based Rolldown reaches RC and becomes Vite 8 Beta&apos;s default bundler, with Rollup compatibility, code splitting, and Oxc transforms</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate></item><item><title>🔎 Text scaling in mobile browsers</title><link>https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/mobile-browser-text-scaling/</guid><description>Chrome Canary experiments with system text scaling on mobile operating systems through the text-scale meta tag behind a flag</description><pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Yarn 6 moves to Rust: a first look at the next major release</title><link>https://vnaumenko.ru/en/blog/yarn-6-rust-preview/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/yarn-6-rust-preview/</guid><description>The Yarn 6 preview rethinks installs and version management with Rust, a faster install pipeline, Yarn Switch, and Lazy Install</description><pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate></item><item><title>React best practices</title><link>https://vnaumenko.ru/en/blog/vercel-react-best-practices/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/vercel-react-best-practices/</guid><description>Vercel publishes rules and patterns for React applications, aimed at AI agents and useful for developers too</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Modern context menus with anchor positioning, popover, and invokers, without a line of JavaScript</title><link>https://vnaumenko.ru/en/blog/css-popover-context-menus/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/css-popover-context-menus/</guid><description>Chris Coyier builds a context menu in HTML and CSS, while I await broad Anchor Positioning support for tooltips and dropdowns</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate></item><item><title>JavaScript&apos;s Date is officially obsolete, at least conceptually</title><link>https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/javascript-temporal-replaces-date/</guid><description>An article on Date&apos;s problems, mutability, and time zones explains how Temporal addresses them at the architectural level</description><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate></item><item><title>jQuery 4 is out after all</title><link>https://vnaumenko.ru/en/blog/jquery-4-release/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/jquery-4-release/</guid><description>Twenty years after its first release, jQuery 4 drops IE below 11, adds Trusted Types and CSP, adopts ES modules, and fixes focus order</description><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate></item><item><title>A complete guide to the new useEffectEvent hook</title><link>https://vnaumenko.ru/en/blog/use-effect-event-guide/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/use-effect-event-guide/</guid><description>Peter Kellner explores useEffectEvent, useEffect problems, stale closures, and dependencies through practical cases and his own implementation</description><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate></item><item><title>How an obscure HTML tag can help with debugging</title><link>https://vnaumenko.ru/en/blog/plaintext-html-debugging/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/plaintext-html-debugging/</guid><description>The plaintext tag stops HTML parsing and can help find broken markup, unexpected injections, and strange server output</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>JavaScript Rising Stars 2025</title><link>https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/javascript-rising-stars-2025/</guid><description>The tenth JavaScript Rising Stars ranks the ecosystem by GitHub star growth amid the rise of AI and supply-chain attacks</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Production-ready boilerplate for web components</title><link>https://vnaumenko.ru/en/blog/web-component-starter-template/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/web-component-starter-template/</guid><description>Aaron Gustafson&apos;s web component starter template includes Google&apos;s best practices, Vitest, CI, and secure npm publishing</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Per-request throttling in Chrome DevTools</title><link>https://vnaumenko.ru/en/blog/devtools-request-throttling/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/devtools-request-throttling/</guid><description>Chrome DevTools can slow down individual network requests to test loading states, race conditions, retries, and timeouts</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate></item><item><title>State of React 2025</title><link>https://vnaumenko.ru/en/blog/state-of-react-2025/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/state-of-react-2025/</guid><description>The annual React community survey is open: take part and give developers direct feedback on the ecosystem</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate></item><item><title>CSS in Chrome: the 2025 roundup</title><link>https://vnaumenko.ru/en/blog/chrome-css-2025/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/chrome-css-2025/</guid><description>Chrome DevRel rounds up 17 new CSS features from 2025, including customizable select, scroll-state queries, and corner-shape</description><pubDate>Tue, 09 Dec 2025 00:00:00 GMT</pubDate></item><item><title>TanStack AI: an open toolkit for AI models</title><link>https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/tanstack-ai-toolkit/</guid><description>TanStack introduces a free, open-source SDK for AI chats and features with no ties to a server, framework, or provider</description><pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Oxfmt Alpha Release</title><link>https://vnaumenko.ru/en/blog/oxfmt-alpha-release/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/oxfmt-alpha-release/</guid><description>Oxc&apos;s Oxfmt formatter is now in alpha: a fast Prettier alternative to pair with Oxlint</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate></item><item><title>React Server Components in React Router</title><link>https://vnaumenko.ru/en/blog/react-server-components-in-react-router/</link><guid isPermaLink="true">https://vnaumenko.ru/en/blog/react-server-components-in-react-router/</guid><description>React Router adds experimental support for React Server Components</description><pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate></item></channel></rss>