v2 generated responsive stubs; v3 filled them.
How the engine does it#
v2's media queries existed but were empty for many utilities — classes parsed but did nothing at breakpoints. v3 generates real declarations for every utility × screen.
Example#
@media (min-width: 768px) { /* v2: empty */ }
@media (min-width: 768px) { .md\:p-4 { padding: 1rem } /* v3 */ }From v2 to v3#
Everything in this article survives the upgrade — the v2 → v3 migration guide keeps the generator API stable while fixing spacing and responsive bugs.
