Change8

Migrating to esbuild v0.25.3

Version v0.25.3 introduces 1 breaking change. This guide details how to update your code.

Released: 4/23/2025

1
Breaking Changes
2
Migration Steps
5
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

serve--serve--watchcliCSS

Breaking Changes

Issue #1

CSS nesting expansion now has a hard-coded limit (65536 selectors). If your CSS exceeds this limit when targeting older browsers, esbuild will now fail with an error instead of attempting to generate the output.

Migration Steps

  1. 1
    If using a custom domain for development, update your --serve flag or serve() API call to include the specific host (e.g., --serve=local.example.com:8000).
  2. 2
    If your build fails with 'CSS nesting is causing too much expansion', refactor your CSS to reduce nesting depth or selector complexity.

Release Summary

This release fixes a memory leak in watch mode, adds support for custom hosts in the development server, and improves CSS and JavaScript lowering. It also introduces a safety limit for CSS nesting expansion to prevent resource exhaustion.

Need More Details?

View the full release notes and all changes for esbuild v0.25.3.

View Full Changelog