CHANGELOG.md 6.1 KB

Changelog

Tags:

  • [Breaking Change]
  • [Spec Compliancy]
  • [New Feature]
  • [Bug Fix]
  • [Documentation]
  • [Internal]
  • [Polish]

Note: Gaps between patch versions are faulty, broken or test releases.

See the Babel Changelog for the pre-6.8.0 version changelog.

6.9.0 (2016-08-16)

New syntax support

(Be aware that React is not going to support this syntax)

<div>
  {...todos.map(todo => <Todo key={todo.id} todo={todo}/>)}
</div>
  • Add support for declare module.exports (#72) @danez
declare module "foo" {
  declare module.exports: {}
}

New Features

  • If supplied, attach filename property to comment node loc. (#80) @divmain
  • Add identifier name to node loc field (#90) @kittens

Bug Fixes

  • Fix exponential operator to behave according to spec (#75) @danez
  • Fix lookahead to not add comments to arrays which are not cloned (#76) @danez
  • Fix accidental fall-through in Flow type parsing. (#82) @xiemaisi
  • Only allow declares inside declare module (#73) @danez
  • Small fix for parsing type parameter declarations (#83) @gabelevi
  • Fix arrow param locations with flow types (#57) @danez
  • Fixes SyntaxError position with flow optional type (#65) @danez

Internal

6.8.4 (2016-07-06)

Bug Fixes

  • Fix the location of params, when flow and default value used (#68) @danez

6.8.3 (2016-07-02)

Bug Fixes

  • Fix performance regression introduced in 6.8.2 with conditionals (#63) @danez

6.8.2 (2016-06-24)

Bug Fixes

  • Fix parse error with yielding jsx elements in generators function* it() { yield <a></a>; } (#31) @eldereal
  • When cloning nodes do not clone its comments (#24) @danez
  • Fix parse errors when using arrow functions with an spread element and return type (...props): void => {} (#10) @danez
  • Fix leading comments added from previous node (#23) @danez
  • Fix parse errors with flow's optional arguments (arg?) => {} (#19) @danez
  • Support negative numeric type literals @kittens
  • Remove line terminator restriction after await keyword @kittens
  • Remove grouped type arrow restriction as it seems flow no longer has it @kittens
  • Fix parse error with generic methods that have the name get or set class foo { get() {} } (#55) @vkurchatkin
  • Fix parse error with arrow functions that have flow type parameter declarations <T>(x: T): T => x; (#54) @gabelevi

Documentation

  • Document AST differences from ESTree (#41) @nene
  • Move ast spec from babel/babel (#46) @hzoo

Internal

6.8.1 (2016-06-06)

New Feature

  • Parse type parameter declarations with defaults like type Foo<T = string> = T

Bug Fixes

  • Type parameter declarations need 1 or more type parameters.
  • The existential type * is not a valid type parameter.
  • The existential type * is a primary type

Spec Compliancy

  • The param list for type parameter declarations now consists of TypeParameter nodes
  • New TypeParameter AST Node (replaces using the Identifier node before)
interface TypeParameter <: Node {
  bound: TypeAnnotation;
  default: TypeAnnotation;
  name: string;
  variance: "plus" | "minus";
}

6.8.0 (2016-05-02)

New Feature

Parse Method Parameter Decorators (#12)

Method Parameter Decorators is now a TC39 stage 0 proposal.

Examples:

class Foo {
  constructor(@foo() x, @bar({ a: 123 }) @baz() y) {}
}

export default function func(@foo() x, @bar({ a: 123 }) @baz() y) {}

var obj = {
  method(@foo() x, @bar({ a: 123 }) @baz() y) {}
};
Parse for-await statements (w/ asyncGenerators plugin) (#17)

There is also a new node type, ForAwaitStatement.

Async generators and for-await are now a stage 2 proposal.

Example:

async function f() {
  for await (let x of y);
}