Change8

Migrating to esbuild v0.27.0

Version v0.27.0 introduces 2 breaking changes. This guide details how to update your code.

Released: 11/9/2025

2
Breaking Changes
3
Migration Steps
2
Affected Symbols

⚠️ Check Your Code

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

Uint8Array.fromBase64binary loader

Breaking Changes

Issue #1

Increased minimum operating system requirements due to Go compiler update: Linux now requires kernel 3.2+, and macOS now requires macOS 12 (Monterey) or later.

Issue #2

The 'binary' loader now defaults to using 'Uint8Array.fromBase64' in environments where it is available, which may require explicit 'target' configuration (e.g., --target=node22) for Node.js environments below v25.

Migration Steps

  1. 1
    Pin the exact version of esbuild in package.json or use a patch-only version range (e.g., ^0.26.0) to avoid breaking changes.
  2. 2
    Ensure build environments meet the new OS requirements: Linux kernel 3.2+ or macOS 12+.
  3. 3
    Specify a 'target' (e.g., --target=node22) if using the 'binary' loader in Node.js versions between v22 and v24 to ensure compatibility with base64 decoding.

Release Summary

This release updates the Go compiler to v1.25.4, raising minimum OS requirements for Linux and macOS, and optimizes the 'binary' loader to use native base64 decoding.

Need More Details?

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

View Full Changelog