Fuck me, the build speed thing was getting embarrassing. Like 45-50 seconds to see a button color change, maybe longer on bad days. I was literally alt-tabbing to Twitter between saves because what else am I gonna do?
v4.0 knocked our dashboard build down to somewhere around 10-15 seconds. Still not blazing fast, but fast enough that I stopped looking at UnoCSS migration guides during lunch.
The official v4.0 performance benchmarks show 3.5x faster full builds and up to 100x faster incremental builds. Our results align with the daily.dev analysis showing 10x performance improvements in real projects.
UnoCSS is still a bit faster on our stuff, but that's "whatever" territory now instead of "I'm gonna lose my mind" territory. UnoCSS benchmarks still look good on paper but honestly who cares about a few second difference at this point. The comprehensive performance comparison shows v4.0 completing some builds in microseconds.
If build speed was your main beef with Tailwind, you can probably stop reading. But if you wanted to bail because of the utility class spam or the giant bundle sizes or the complete lack of TypeScript support... well, keep reading.
CSS Config: No More JavaScript Fuckery
Thank god they ditched the JavaScript config nightmare. The new @theme
thing is way cleaner:
@import "tailwindcss";
@theme {
--color-brand: #6366f1;
--font-display: "Inter", sans-serif;
}
No more tailwind.config.js
vs CSS file confusion. I can't count how many times I updated colors in the wrong place and spent 20 minutes wondering why nothing changed. The v4.0 config docs actually make sense now.
One thing that bit me: the OKLCH color stuff works fine on modern browsers but if you have users on Safari 14 or older Chrome versions, colors just don't show up. QA caught this on some random old iPads we forgot about - spent like 2 hours debugging why buttons looked fine on my laptop but were invisible on their devices. Fun times explaining to the PM why half the buttons just... weren't there. Can I Use OKLCH shows the browser support gaps, and The New Stack's v4.0 review covers this limitation.
What v4.0 Didn't Fix
Bundle size is still garbage for simple shit. Made a basic landing page last week and even after purging everything, still shipping 9KB of CSS. For three buttons and a header. Feels stupid. The LogRocket bundle size analysis shows this is still a common complaint, and Bundlephobia confirms the overhead.
TypeScript support is still a joke. No autocomplete, no validation, nothing. I watch people using Panda CSS with their full IntelliSense and I get legitimately jealous. The VS Code extension helps a bit but it's not the same as actual type safety. Telerik's Panda CSS analysis shows what real TypeScript support looks like, and the LogRocket migration guide explains why v4.0 still doesn't address this.
And your HTML still looks like this nightmare:
<div class=\"flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg shadow-sm hover:shadow-md transition-shadow duration-200\">
If seeing that makes you want to delete everything and become a farmer, faster builds aren't gonna help.