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);
}