Babel 8 moves to release candidate; final Babel 7 minor ships (Jan 31, 2026)
Summary
On January 31, 2026 the Babel team published 7.29.0 (marked as the last minor release on the Babel 7 line) and simultaneously published Babel 8.0.0-rc.1 — the first release candidate for Babel 8. The RC finalizes a set of breaking changes aimed at removing long-standing technical debt (notably shipping Babel 8 as ESM-only), and includes migration resources to help plugin authors and build-tool integrators upgrade safely. (babeljs.io)
Why this matters for full‑stack teams
- Babel remains a central piece of modern JavaScript/TypeScript build pipelines. A stable Babel 8 (ESM-only) changes how tooling, plugins, and server-side integrations are published and consumed.
- ESM-only packaging affects any consumer that requires Babel packages via CommonJS require() calls; build-time and runtime code that import Babel internals (for transforms, plugins, or custom build steps) will need to move to ESM import or use interop shims.
- Plugin and preset authors must publish ESM‑compatible packages and validate their APIs against the Babel 8 RC. CI pipelines that pin versions or rely on CommonJS artifacts will need adjustments during migration.
- The Babel blog highlights specific build-tool improvements for the standalone distribution (data-target attribute for @babel/standalone) and an async API to better integrate in-browser transpilation and tooling flows. These can simplify some dev-server and in-browser transforms but also require updated callers. (babeljs.io)
Key changes to know (practical view)
- Babel 8 is ESM-only: core packages will be shipped as ESM, no CommonJS build output by default. Expect import-style usage and modern module resolution to be the supported path. (babeljs.io)
- Migration resources: the Babel team published a migration guide and a docs site for Babel 8 (hosted on the "next" docs domain) and surfaced codemods / guidance to ease the transition. Read those before upgrading build images or CI runners. (babeljs.io)
- @babel/standalone updates: new data-target attribute allows specifying transpilation targets in HTML script tags; @babel/core now exposes an async API usable in browser-based tooling scenarios — useful for live coding tools and embedded editors. (babeljs.io)
- Last Babel 7 minor: 7.29.0 is being published as the final minor in the 7.x line; teams that must avoid breaking changes can remain on the 7.x branch while planning migration. The Babel team explicitly positioned this as the last small-step release before the 8.x baseline. (babeljs.io)
Immediate checklist for engineering teams (recommended, prioritized)
-
Inventory
- Find any direct runtime or build-time imports of @babel/* packages (including plugins, preset internals, transpile wrappers).
- Identify code that calls require('@babel/core') or relies on CommonJS interop for Babel internals.
-
Test with the RC (in a fork/branch and CI)
- Add a job that installs 8.0.0-rc.1 and runs full builds and test suites.
- Check server-side runtimes and build images (Node versions, bundler configs) for ESM support in CI containers.
-
Update plugin libraries and internal tools
- For open-source or internal Babel plugins/presets, publish ESM entrypoints and validate examples.
- If a package must remain CommonJS, add explicit interop shims or a small compatibility wrapper (short-term only).
-
Adjust CI and runtime images
- Ensure Node images and toolchains used in CI support the ESM patterns you plan to adopt (import syntax, package.json "type": "module", or compatible loaders).
- Pin Babel 7.x in urgent-production channels until you validate the RC in staging.
-
Communicate and schedule
- Coordinate upgrades for downstream consumers (frontend, SSR, server tooling).
- Allocate time for plugin authors and infra to test and publish fixes; expect a handful of incompatible ecosystem pieces early in the RC cycle.
Risk and migration notes
- Most major bundlers and frameworks have been preparing for ESM-first ecosystems; however, smaller or older internal tools may break. Test early and prioritize high-traffic pipelines (CD, SSR builds).
- Because Babel has introduced many breaking changes behind flags in earlier 7.x releases, the team has tried to reduce shock — still, expect minor API surface differences and the need for republishing in ESM format. Use the provided migration guide and codemods where available. (babeljs.io)
Bottom line
Babel 8 reaching RC1 is a major tooling milestone: it finalizes the long‑planned cleanup toward an ESM-first ecosystem and begins the practical migration window for plugin authors, bundlers, and full‑stack teams. Treat the RC as a real test target: run it in CI, upgrade critical plugins early, and keep a pinned Babel 7.x lane for production until you've validated performance and compatibility across your build and server environments. (babeljs.io)
Source: Babel blog — 7.29.0 (last Babel 7 minor) and Babel 8.0.0-rc.1 (Jan 31, 2026). (babeljs.io)
Source
Read Next
Svelte 5.52.0 adds TrustedHTML support for {@html}, enabling safer Trusted Types integration
February 21, 2026Svelte 5.52.0 (Feb 18, 2026) adds TrustedHTML support to {@html} expressions so apps can interoperate with browser Trusted Types without string coercion—important for XSS-hardening in SSR and client-rendered apps.
Next.js 16 makes Turbopack stable and the default for dev and build
February 20, 2026Next.js 16 moves Turbopack to stable/default, raises the Node.js minimum, and ships production-facing caching primitives — what full‑stack teams must change now.
Vite 8.0.0‑beta.14 adds server‑side .wasm?init (WASM SSR) and updates Rolldown to 1.0.0‑rc.4
February 19, 2026Vite's Feb 12, 2026 beta introduces SSR support for pre-initialized WebAssembly modules and upgrades its bundler integration to Rolldown 1.0.0‑rc.4 — a practical change that reduces client hydration work and improves tooling stability for Wasm-heavy server renders.