# Babel changelog > The compiler for writing next-generation JavaScript. - Vendor: Babel - Category: Frameworks & Libraries - Official site: https://babeljs.io - Tracked by: What's New (https://whatsnew.fyi/product/babel) - Harvested from: GitHub (babel/babel) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v8.0.4 - Date: 2026-07-09 - Version: v8.0.4 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.4 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.4 - **fixed** — Disallow `declare module M {}` in TypeScript - **fixed** — Forbid `let x!` and `let x! =` syntax in TypeScript - **fixed** — `replaceWith` in `Visitor#exit` should not stop traversal ##### v8.0.4 (2026-07-09) ###### :eyeglasses: Spec Compliance * `babel-parser`, `babel-plugin-transform-typescript` * [#18120](https://github.com/babel/babel/pull/18120) fix(parser): disallow `declare module M {}` ([@JLHwung](https://github.com/JLHwung)) * `babel-generator`, `babel-parser`, `babel-plugin-transform-typescript` * [#18100](https://github.com/babel/babel/pull/18100) fix(parser): forbid let x! and let x! = ([@JLHwung](https://github.com/JLHwung)) ###### :bug: Bug Fix * `babel-traverse` * [#18122](https://github.com/babel/babel/pull/18122) fix: `replaceWith` in `Visitor#exit` should not stop traversal ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### :house: Internal * `babel-helper-validator-identifier` * [#18084](https://github.com/babel/babel/pull/18084) refactor: Shrink validator identifier size ([@JLHwung](https://github.com/JLHwung)) ###### Committers: 4 - Babel Bot ([@babel-bot](https://github.com/babel-bot)) - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - [@liuxingbaoyu](https://github.com/liuxingbaoyu) ### v8.0.3 - Date: 2026-06-27 - Version: v8.0.3 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.3 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.3 - **fixed** — Remove `isTSX` from `babel-plugin-syntax-typescript` types - **fixed** — Use `runtime: 'classic'` in the browser for React in babel-standalone ##### v8.0.3 (2026-06-27) ###### :bug: Bug Fix * `babel-core`, `babel-plugin-syntax-typescript` * [#18089](https://github.com/babel/babel/pull/18089) fix: Remove `isTSX` from `babel-plugin-syntax-typescript` types ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) * `babel-standalone` * [#18086](https://github.com/babel/babel/pull/18086) fix: Use `runtime: 'classic'` in the browser for React ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### Committers: 2 - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - [@liuxingbaoyu](https://github.com/liuxingbaoyu) ### v8.0.2 - Date: 2026-06-20 - Version: v8.0.2 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.2 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.2 - **fixed** — Use the @babel/core version when asserting version in @babel/standalone - **fixed** — Avoid double escaping slash in identifier validation ##### v8.0.2 (2026-06-18) ###### :bug: Bug Fix * Other * [#18083](https://github.com/babel/babel/pull/18083) Use the `@babel/core` version when asserting version in `@babel/standalone` ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-helper-validator-identifier` * [#18075](https://github.com/babel/babel/pull/18075) fix(identifier): avoid double escaping slash ([@JLHwung](https://github.com/JLHwung)) ###### :house: Internal * `babel-plugin-proposal-decorators`, `babel-plugin-transform-regenerator`, `babel-preset-env` * [#18081](https://github.com/babel/babel/pull/18081) Update `@babel/preset-modules` and polyfill packages ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ###### Committers: 2 - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ### v8.0.1 - Date: 2026-06-17 - Version: v8.0.1 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.1 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.1 - **removed** — Remove preset-env's useBuiltIns option ##### v8.0.1 (2026-06-17) This release includes a breaking change that was in the Babel 8 migration guide's [Getting ready](https://babeljs.io/docs/v8-migration/#getting-ready) section and [in the release post](https://babeljs.io/blog/2026/06/16/8.0.0/#extract-polyfill-injection-to-separate-packages), but the actual removal of the feature from the codebase was accidentally not complete. ###### :boom: Breaking Change * `babel-core`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-runtime`, `babel-preset-env`, `babel-standalone` * [#18079](https://github.com/babel/babel/pull/18079) Actually remove `preset-env`'s `useBuiltIns` ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ###### Committers: 2 - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ### v8.0.0 - Date: 2026-06-16 - Version: v8.0.0 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.0 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.0 - **changed** — Only extract source map comments at the end of the file for improved performance - **changed** — Fallback to assuming ESM support with `modules: auto` - **removed** — Remove corejs exports for `@babel/runtime-corejs3` - **removed** — Remove `locations: "packed"` from babel-parser - **fixed** — Improve new callee parens check in generator - **fixed** — Support __proto__ as an export name in systemjs plugin ##### v8.0.0 (2026-06-16) **NOTE:** The changelog below is relative to v8.0.0-rc.6. You can find a summary of all the breaking changes shipped in the Babel 8 release line in the [migration guide for users](https://babeljs.io/docs/v8-migration) and [migration guide for plugin developers](https://babeljs.io/docs/v8-migration-api). Read the release blog post at http://babeljs.io/blog/2026/06/16/8.0.0! ###### :eyeglasses: Spec Compliance * `babel-core` * [#18039](https://github.com/babel/babel/pull/18039) perf: Only extract source map comments at the end of the file ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### :boom: Breaking Change * `babel-cli`, `babel-node`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-classes`, `babel-plugin-transform-function-name`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-parameters`, `babel-plugin-transform-react-constant-elements`, `babel-plugin-transform-regenerator`, `babel-preset-env`, `babel-register` * [#18069](https://github.com/babel/babel/pull/18069) Fallback to assuming ESM support with `modules: auto` ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-plugin-transform-runtime`, `babel-runtime-corejs3`, `babel-runtime` * [#18036](https://github.com/babel/babel/pull/18036) Remove corejs exports for `@babe/runtime-corejs3` ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) * `babel-parser` * [#18034](https://github.com/babel/babel/pull/18034) Remove `locations: "packed"` ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### :bug: Bug Fix * `babel-generator` * [#18046](https://github.com/babel/babel/pull/18046) fix(generator): improve new callee parens check ([@JLHwung](https://github.com/JLHwung)) * `babel-plugin-transform-modules-systemjs` * [#18032](https://github.com/babel/babel/pull/18032) fix(systemjs): support __proto__ as an export name ([@JLHwung](https://github.com/JLHwung)) ###### :memo: Documentation * [#18070](https://github.com/babel/babel/pull/18070) Add EOL date for Babel 7 (end of June 2027) to SECURITY.md ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ###### :house: Internal * [#18018](https://github.com/babel/babel/pull/18018) ci: enforce yarn integrity ([@JLHwung](https://github.com/JLHwung)) ###### :running_woman: Performance * `babel-core` * [#18039](https://github.com/babel/babel/pull/18039) perf: Only extract source map comments at the end of the file ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### Committers: 6 - Babel Bot ([@babel-bot](https://github.com/babel-bot)) - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - James Garbutt ([@43081j](https://github.com/43081j)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - Sandy Chen ([@sandy2008](https://github.com/sandy2008)) - [@liuxingbaoyu](https://github.com/liuxingbaoyu) ### v7.29.7 - Date: 2026-05-25 - Version: v7.29.7 - Original notes: https://github.com/babel/babel/releases/tag/v7.29.7 - Permalink: https://whatsnew.fyi/product/babel/releases/v7.29.7 ##### v7.29.7 (2026-05-25) Re-release all packages with npm provenance attestations ### v7.29.6 - Date: 2026-05-25 - Version: v7.29.6 - Original notes: https://github.com/babel/babel/releases/tag/v7.29.6 - Permalink: https://whatsnew.fyi/product/babel/releases/v7.29.6 - **fixed** — Catch up source map position in preserveFormat mode - **fixed** — Improve input source map handling - **fixed** — Preserve original identifier names from input sourcemaps ##### v7.29.6 (2026-05-25) ###### :bug: Bug Fix * `babel-generator` * [#18014](https://github.com/babel/babel/pull/18014) Catchup source map position in preserveFormat ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-core` * [#18001](https://github.com/babel/babel/pull/18001) [7.x packport]Improve input source map handling ([@JLHwung](https://github.com/JLHwung)) * `babel-core`, `babel-generator` * [#17998](https://github.com/babel/babel/pull/17998) Preserve original identifier names from input sourcemaps (#17992) ([@Andarist](https://github.com/Andarist)) ###### Committers: 3 - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - Mateusz Burzyński ([@Andarist](https://github.com/Andarist)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ### v8.0.0-rc.6 - Date: 2026-05-25 - Version: v8.0.0-rc.6 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.0-rc.6 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.0-rc.6 - Labels: Pre-release - **fixed** — Catch up source map position in preserveFormat - **fixed** — Improve inputSourceMap URL handling - **fixed** — Preserve original identifier names from input sourcemaps - **changed** — Do not emit source map names for identical names ##### v8.0.0-rc.6 (2026-05-25) Re-release all packages with npm provenance attestations ###### :bug: Bug Fix * `babel-generator` * [#18011](https://github.com/babel/babel/pull/18011) Catchup source map position in preserveFormat ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-core` * [#17999](https://github.com/babel/babel/pull/17999) fix: improve inputSourceMap URL handling ([@JLHwung](https://github.com/JLHwung)) * `babel-core`, `babel-generator` * [#17992](https://github.com/babel/babel/pull/17992) Preserve original identifier names from input sourcemaps ([@Andarist](https://github.com/Andarist)) ###### :house: Internal * `babel-core` * [#17970](https://github.com/babel/babel/pull/17970) Always use native Node.js TS support for config files ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-compat-data`, `babel-register` * [#17993](https://github.com/babel/babel/pull/17993) chore: use bundled dts for register and eslint-* ([@JLHwung](https://github.com/JLHwung)) * `babel-helper-transform-fixture-test-runner`, `babel-node` * [#17989](https://github.com/babel/babel/pull/17989) Test Node.js 26 on CI ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-build-external-helpers`, `babel-cli`, `babel-generator`, `babel-helper-fixtures`, `babel-helper-plugin-test-runner`, `babel-helper-transform-fixture-test-runner`, `babel-node`, `babel-parser`, `babel-plugin-transform-modules-systemjs`, `babel-types` * [#18002](https://github.com/babel/babel/pull/18002) Add file URL support for test runners ([@JLHwung](https://github.com/JLHwung)) ###### :microscope: Output optimization * `babel-cli`, `babel-core`, `babel-generator`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-destructuring`, `babel-plugin-transform-explicit-resource-management`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-react-jsx`, `babel-traverse` * [#18005](https://github.com/babel/babel/pull/18005) Do not emit source map names for identical names ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ###### Committers: 5 - Babel Bot ([@babel-bot](https://github.com/babel-bot)) - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - Mateusz Burzyński ([@Andarist](https://github.com/Andarist)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - [@liuxingbaoyu](https://github.com/liuxingbaoyu) ### v8.0.0-rc.5 - Date: 2026-05-12 - Version: v8.0.0-rc.5 - Original notes: https://github.com/babel/babel/releases/tag/v8.0.0-rc.5 - Permalink: https://whatsnew.fyi/product/babel/releases/v8.0.0-rc.5 - Labels: Pre-release - **changed** — Use 0-based columns in code-frame to match Babel AST locations - **removed** — Disallow decorators on abstract/declare fields in parser - **removed** — Remove `transform-object-set-prototype-of-to-assign` plugin - **removed** — Remove noop plugins from `@babel/standalone` - **changed** — Require Node.js `^22.18.0 || >=24.11.0` - **deprecated** — Deprecate `spec` and `loose` plugin options in transform plugins - **fixed** — Update browser-upper.json in helper-globals - **fixed** — Improve module string name support in systemjs plugin ##### v8.0.0-rc.5 (2026-05-12) ###### :eyeglasses: Spec Compliance * `babel-parser` * [#17949](https://github.com/babel/babel/pull/17949) Disallow decorators on abstract/declare fields ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ###### :boom: Breaking Change * `babel-code-frame`, `babel-core`, `babel-parser`, `babel-traverse` * [#17849](https://github.com/babel/babel/pull/17849) fix(code-frame): use 0-based columns to match Babel AST locations (#1… ([@nehemiyawicks](https://github.com/nehemiyawicks)) * _All packages_ * [#17969](https://github.com/babel/babel/pull/17969) Require Node.js `^22.18.0 || >=24.11.0` ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-plugin-transform-object-set-prototype-of-to-assign`, `babel-standalone` * [#17958](https://github.com/babel/babel/pull/17958) Remove `transform-object-set-prototype-of-to-assign` ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) * `babel-standalone` * [#17963](https://github.com/babel/babel/pull/17963) Remove noop plugins from `@babel/standalone` ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### :loudspeaker: Deprecation * `babel-plugin-transform-arrow-functions`, `babel-plugin-transform-classes`, `babel-plugin-transform-computed-properties`, `babel-plugin-transform-destructuring`, `babel-plugin-transform-for-of`, `babel-plugin-transform-modules-amd`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-modules-umd`, `babel-plugin-transform-nullish-coalescing-operator`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-optional-chaining`, `babel-plugin-transform-parameters`, `babel-plugin-transform-private-methods`, `babel-plugin-transform-private-property-in-object`, `babel-plugin-transform-spread`, `babel-plugin-transform-template-literals` * [#17972](https://github.com/babel/babel/pull/17972) Deprecate `spec` and `loose` plugin options ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) ###### :bug: Bug Fix * `babel-helper-globals` * [#17981](https://github.com/babel/babel/pull/17981) fix(helper-globals): Update browser-upper.json ([@JLHwung](https://github.com/JLHwung)) * `babel-plugin-transform-modules-systemjs` * [#17973](https://github.com/babel/babel/pull/17973) fix(systemjs): improve module string name support ([@JLHwung](https://github.com/JLHwung)) ###### :memo: Documentation * [#17977](https://github.com/babel/babel/pull/17977) Add threat model to SECURITY.md ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ###### :house: Internal * `babel-core`, `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-async-to-generator`, `babel-plugin-transform-class-static-block`, `babel-plugin-transform-flow-strip-types`, `babel-plugin-transform-modules-amd`, `babel-plugin-transform-modules-systemjs`, `babel-plugin-transform-typescript`, `babel-preset-env`, `babel-preset-flow`, `babel-preset-react`, `babel-preset-typescript` * [#17957](https://github.com/babel/babel/pull/17957) Add testing for plugin options ([@liuxingbaoyu](https://github.com/liuxingbaoyu)) * Other * [#17950](https://github.com/babel/babel/pull/17950) refactor(ts): migrate babel-eslint-plugin-* to TS ([@JLHwung](https://github.com/JLHwung)) ###### Committers: 6 - Babel Bot ([@babel-bot](https://github.com/babel-bot)) - Huáng Jùnliàng ([@JLHwung](https://github.com/JLHwung)) - Nehemiya Wickramasinghe ([@nehemiyawicks](https://github.com/nehemiyawicks)) - Nicolò Ribaudo ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - [@liuxingbaoyu](https://github.com/liuxingbaoyu) - [@orbisai0security](https://github.com/orbisai0security) ### v7.29.5 - Date: 2026-05-05 - Version: v7.29.5 - Original notes: https://github.com/babel/babel/releases/tag/v7.29.5 - Permalink: https://whatsnew.fyi/product/babel/releases/v7.29.5 - **changed** — Update @babel/* dependencies in babel-preset-env ##### v7.29.5 (2026-05-05) ###### :house: Internal * `babel-preset-env` * Update `@babel/*` dependencies