Features Timeline
Which major new features did we introduce in each Babel version? This page includes a very short summary for each minor release, or you can read the full changelog on GitHub! Additionally, use this timeline to track some other important efforts, such as the babel-polyfills project.
Babel 7.23.0
- Support for the Decorator Metadata Stage 3 proposal
- Support for the Source Phase Import Stage 3 proposal
- Support for the Deferred Import Evaluation Stage 2 proposal
- Support for the Optional Chaining Assignment proposal
- Support for rewriting
.ts
extensions in imports
Babel 7.22.0
- Enable the Stage 4 RegExp
v
flag proposal by default - Support for the explicit resource management proposal Stage 3 proposal, including the async version
JavaScript
{
await using db = connect(databaseURL);
let user = await db.getUserById(userId);
await db.createPost(user.name, "Hi! :)");
} // Automatically close the db - Support for the updates of the decorators proposal that reached consensus in the March 2023 and May 2023 TC39 meetings
- Parsing support for the Stage 3 import attributes proposal, previously known as "import assertions"
JavaScript
import data from "./data.json" with { type: "json" };
- Enable the Stage 4 RegExp
Babel 7.21.0
- TypeScript 5.0 support
- Support for the updates of the decorators proposal that reached consensus in the January 2023 TC39 meeting
- Support for the inline RegExp modifiers Stage 3 proposal
JavaScript
/(?i-m:a.)/m.exec("a\nAb"); // ["Ab"]
Babel 7.20.0
- TypeScript 4.9 support
- Parser support for the explicit resource management Stage 2 proposal
JavaScript
{
using handle = openFile(name, "w+");
write(handle, "Hi!\n");
write(handle, ":)\n");
} // Automatically close the file - Parser support for the import reflection Stage 2 proposal
JavaScript
import module mod from "./mod.js";
// later ...
import(mod);
babel-loader 9.0.0
Babel 7.19.0
- Support for the Stage 3 version of the decorators proposal
- Transform support for the duplicate named capturing groups Stage 3 proposal
JavaScript
/(?<year>\d\d\d\d)-(?<month>\d\d)|(?<month>\d\d)-(?<year>\d\d\d\d)/
Babel 7.18.0
- TypeScript 4.7 support
- Transform support for the Private destructuring Stage 2 proposal
JavaScript
class A {
#x = 2;
method() {
const { #x: x } = this;
}
} - No more need to manually include the
regenerator-runtime
helper when compiling generators
Babel 7.17.0
- Support for the new version of the decorators Stage 2 proposal
JavaScript
class A {
@reactive #x = 2;
@logger
method() {
this.#x++;
}
} - Support for the RegExp set notation and properties of strings Stage 2 proposal
JavaScript
/[\p{RGI_Emoji}&&[\0-\uFFFF]]/v;
- Parser support for the private destructuring Stage 2 proposal
JavaScript
class A {
#x = 2;
method() {
const { #x: x } = this;
}
}
- Support for the new version of the decorators Stage 2 proposal
Babel 7.16.0
- Enable the class static blocks Stage 4 proposal by default
JavaScript
class A {
static {
initialize(A);
}
} - TypeScript 4.5 support
- Support ESLint 8 in
@babel/eslint-parser
.
- Enable the class static blocks Stage 4 proposal by default
Babel 7.15.0