3 min read

🔥 Framework Updates

Vue.js

  • (👀) Vue 3.4: onWatcherCleanup API

    Finally, cleanup logic inside watchers. No more forgotten cleanup functions haunting your components at 2am.

  • (🎬) Motion for Vue

    Framer Motion has entered the Vue chat. <motion.div>, layout transitions, scroll animations — React devs can stop feeling smug now.

  • (💚) Nuxt 3.16 + Nuxt UI v3

    npm create nuxt is here and Nuxt UI v3 brings Tailwind v4 support. The DX just keeps getting better.

Next.js

  • (▲) Next.js 15.2 + Security Patch

    New metadata system, error overlays, and React view transitions. Oh, and they patched a critical middleware bypass (CVE-2025-29927). Maybe update before your weekend, yeah?

Svelte

  • (🧡) SvelteKit 2.17 + Svelte 5.20

    WebSocket support in SvelteKit and $props.id() for SSR-friendly IDs. Svelte keeps making the small things feel effortless.

🛠️ Developer Tools & Libraries

  • (🦀) Oxlint Beta

    Rust-based linter that’s 50–100× faster than ESLint. Your CI pipeline just shed a tear of joy.

  • (📝) ESLint 9 Flat Config

    eslint.config.js is the new hotness. RIP .eslintrc, you were… complicated.

  • (🔬) Rsdoctor 1.0

    Rspack/Webpack visual analyzer. Finally understand why your bundle is the size of a small country.

  • (🦫) TypeScript Compiler in Go

    Microsoft rewrote the TypeScript compiler in Go. 10× faster. Your IDE might actually keep up with your typing now.

🌐 Web Standards & Browser Updates

  • (🌐) Chrome Q1 2025 APIs

    text-box, node.moveBefore(), File System Access. Chrome keeps shipping like it’s Black Friday.

  • (🎨) CSS Gap Decorations Proposal

    Native gap styling is coming. No more pseudo-element hacks for simple dividers. Finally.

  • (🦊) Firefox 136

    :open, :has-slotted(), Intl.DurationFormat. Firefox staying relevant one release at a time.

  • (🧭) Safari 18.3

    :has() and ::view-transition fixes. Safari fixing bugs? 2025 really is different.

🎤 Events

🎮 Bonus

💻 CSS for Dummies

Sass-flation:

.egg-carton {
  eggs: 12;
  price: $2;

  &.eggflation {
    eggs: 4;
    price: $10;
    wallet: null;
    opacity: 0.4;
    justify-content: space-around;

    &:hover {
      cursor: not-allowed;
      content: "Maybe next month...";
    }
  }
}

Cited Sources:

  • JavaScript Plain English
  • Motion.dev
  • Nuxt Blog
  • Medium
  • Svelte Blog
  • Socket.dev
  • Rsdoctor
  • LogRocket
  • Daily.dev
  • Microsoft Edge Dev Blog
  • MDN
  • WebKit Blog
  • Smashing Magazine
  • Clagnut
  • Cloud Four
  • JSWorld Conference
  • Frontrunners
  • React Miami
  • CityJS London
  • Codrops