On June 15, Microsoft officially retired Internet Explorer. Twenty-seven years of pain ended quietly. Every web developer on Earth had the same reaction, in roughly the same order: relief, disbelief, then a long list of things we get to stop doing.

What we get to delete

  • 01 Babel plugins targeting IE-era ECMAScript. The default target can finally be 'modern evergreen'.
  • 02 CSS prefix polyfills, autoprefixer rules tuned for IE, fallback @supports queries written for browsers nobody installs anymore.
  • 03 Conditional comments. Conditional anything.
  • 04 Flexbox bug workarounds — IE 11's flex implementation was a recurring tax.
  • 05 Grid polyfills. Most never really worked anyway.

What we can finally rely on

  • 01 CSS Grid, custom properties, real flexbox, position: sticky.
  • 02 ES2017+ syntax in the actual shipped bundle — no transpilation tax.
  • 03 Async/await, dynamic imports, fetch — without polyfills, without checks.
  • 04 WebP, AVIF, modern image formats by default.

It is the end of an era. The era was not a good era. We're going to be fine.

What to use the headroom on

  • 01 Faster builds. Modern syntax is smaller, smaller is faster.
  • 02 Smaller payloads. The polyfills we shipped 'just in case' added up.
  • 03 Better animations. Browser-grade interpolation is now reliable, not a polyfill battleground.
  • 04 Container queries when they ship in stable Safari (this year, hopefully).

It is the end of an era. The era was not a good era. We're going to be fine.