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.

  1. Babel 7.17.0

    blog post

  2. Babel 7.16.0

    blog post

  3. Babel 7.15.0

    blog post

    • Enable parsing for the top-level await Stage 4 proposal by default

      1. import db from "db";
      2. await db.connect();
    • Enable the Private Brand Checks Stage 4 proposal by default

      1. class A {
      2. static { initialize(A); } // static block
      3. #field;
      4. is(obj) {
      5. return #field in obj; // private brand check
      6. }
      7. }
    • Support the “Hack-style” pipeline operator Stage 2 proposal

      1. const result = "World" |> `Hello, ${%}!` |> alert(%);
    • TypeScript 4.4 support

  4. Babel 7.14.0

    blog post

  5. Babel 7.13.0

    blog post

  6. Babel 7.12.0

    blog post

  7. Babel 7.11.0

    blog post

  8. @babel/eslint-parser

    blog post

  9. Babel 7.10.0

    blog post

  10. babel-polyfills

    repository

  11. Babel 7.9.0

    blog post

    • bugfixes option in @babel/preset-env, to workaround browsers bugs rather than compiling whole Features
    • TypeScript 3.8 support
    • Support for Flow declare class fields
    • Support for the automatic JSX runtime
  12. Babel 7.8.0

    blog post

  13. Babel 7.7.0

    blog post

    • Parser support for the top-level await proposal

      1. import db from "./database.js";
      2. await db.connect();
    • Add error recovery support for Early Errors in @babel/parser

    • Support .json and .cjs configuration files
    • TypeScript 3.7 support
  14. Babel 7.6.0

    blog post

    • Support for static private accessors, part of the static class features proposal

      1. class Dog {
      2. static get #className() { return "Dog"; }
      3. }
  15. Babel 7.5.0

    blog post

  16. Babel 7.4.0

    blog post

  17. Babel 7.3.0

    blog post

    • Support for instance private accessors, part of the private methods proposal

      1. class Dog {
      2. get #randomId() { return Math.random(); }
      3. }
    • Support for the smart pipeline operator proposal

      1. num |> add(2, #) |> double
    • Support for named capturing groups in regular expressions

      1. str.match({String.raw`/^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/`})
    • TypeScript 3.2 and 2.9 support

  18. Babel 7.2.0

    blog post

    • Support for instance private methods, part of the private methods proposal

      1. class Dog {
      2. #bark() { console.log("Mew!") }
      3. }
  19. Babel 7.1.0

    blog post

    • Support for the decorators proposal, as it was specified in September 2018

      1. class Person {
      2. @autoIncrement age;
      3. }
    • Support for static private fields, part of the static class features proposal

      1. class Person {
      2. static #classId = 3;
      3. }
  20. Babel 7

    blog post

    This has a lot more changes since it was 2 years of pre-releases.