- Bug Fix
- Fix constructor spreading of typed arrays.
- Fix break/continue/return aliasing of non-loops in block scoping transformer.
- Bug Fix
- Fix constructor spreading of collections.
- Bug Fix
- Fix constructor spreading of
Promise
. - Internal
- Deprecate remaining playground transformers and abstract references.
- Bug Fix
- Handle comments on use strict directives.
- Fix assignment patterns with a left side pattern.
- Polish
- Special case
this
when doing expression memoisation.
- Bug Fix
- Deprecate
playground.methodBinding
.
- Bug Fix
- Fix unicode regexes stripping their unicode flag before being passed on two
regexpu
.
- Internal
- Deprecate
playground.methodBinding
andplayground.objectGetterMemoization
. - Bug Fix
- Fix
inputSourceMap
option. Thanks @Rich-Harris!
- Polish
- Allow
inputSourceMap
to be set tofalse
to skip the source map inference. - Infer computed literal property names.
- Bug Fix
- Fix nested labeled for-ofs.
- Fix block scoping
break
colliding with the parent switch case. - Internal
- Upgrade
acorn-babel
.
- Bug Fix
- Fix computed classes not properly setting symbols.
- Bug Fix
- Fix
types
API exposure.
- Bug Fix
- Fix non-Identifier/Literal computed class methods.
- Polish
- Add a fallback if
stack
on an error is unconfigurable. - Hoist
esModule
module declarations to the top of the file to handle circular dependencies better.
- Bug Fix
- Don't remap
break
s to call the iterator return. - Polish
- Use a different helper for computed classes for much nicer output. Also fixes a bug in symbols being non-enumerable so they wouldn't be set on the class.
- Bug Fix
- Rewrite named function expressions in optional async function transformers.
- Hoist directives.
- Remove
Number
from the list of validruntime
constructors. - Internal
spec.typeofSymbol
transformer has been renamed toes6.symbols
.
- New Feature
"both"
option forsourceMap
.- Add output types to external helpers. Thanks @neVERberleRfellerER!
- Bug Fix
- Fix node duplication sometimes resulting in a recursion error.
- Ignore
break
s within cases insidefor...of
. - Polish
- Split up variable declarations and export declarations to allow easier transformation.
- Bug Fix
- Add
alternate
to list ofSTATEMENT_OR_BLOCK
keys. - Add support for module specifiers to
t.isReferenced
. - New Feature
- Add
inputSourceMap
option. - Polish
- Throw an error on different
babel
andbabel-runtime
versions. - Replicate module environment for
babel-node
eval. - Clean up classes output.
- Spec Compliancy
- Make it illegal to use a rest parameter on a setter.
- Bug Fix
- Fix incorrect method call in
utility.deadCodeElimination
transformer. - Fix
es6.blockScopingTDZ
transformer duplicating binding nodes.
- Internal
useStrict
transformer has been renamed tostrict
.
- Bug Fix
- Fix
ForOfStatement
not proplery inheriting labels. - When in closure mode in block scoping transformer, properly check for variable shadowing.
- New Feature
- New
utility.inlineEnvironmentVariables
andutility.inlineExpression
transformers.
- Bug Fix
- Fix
arguments
being incorrectly aliased in arrow function rest parameter optimisation. - Make deoptimisation trigger safer.
- New Feature
- Flow types are now retained when blacklisting the
flow
transformer.
- Bug Fix
- Fix generators in template directory being transformed.
- Fix exposure of
util
for plugins.
- New Feature
- Desugar sticky regexes to a new constructor expression so it can be handled by a polyfill.
- Spec Compliancy
for...of
now outputs in a lengthytry...catch
this is to ensure spec compliancy in regards to iterator returns and abrupt completions. See google/traceur-compiler#1773 and babel/babel/#838 for more information.- Polish
- Rest parameters that are only refered to via number properties on member expressions are desugared into a direct
arguments
reference. Thanks @neVERberleRfellerER! $ babel
no longer exits on syntax errors.- Internal
- Upgrade
browserify
. - Upgrade
source-map
. - Publicly expose more internals.
- Polish
- Delete old extensions when overriding them in
babel/register
.
- Bug Fix
- Fix whitelisting logic for helper build script.
- New Feature
returnUsedHelpers
option and add whitelist tobuildHelpers
.- Bug Fix
- Fix function arity on self referencing inferred named functions.
- Internal
- Bump
acorn-babel
. - Start converting source to ES6...
Babel now compiles itself!
- New Feature
- Add
.babelrc
support. - Bug Fix
- Move use strict directives to the module formatter bodies.
- Internal
- Make default
bin/babel
behaviour to ignore non-compilable files and add a--copy-files
flag to revert to the old behaviour.
- Bug Fix
- Fix extending a class expression with no methods/only constructor. Thanks @neVERberleRfellerER!
- Allow
MemberExpression
as a validleft
ofForOfStatement
. - Polish
- Throw an error when people try and transpile code with the
@jsx React.DOM
pragma as it conflicts with the custom jsx constructo method detection. - Crawl all comments for
@jsx
pragma. - Internal
- Upgrade
chalk
. - Upgrade
core-js
.
- Internal
- Remove function self reference optimisation.
- Bug Fix
- Handle inferred function ids to be reassigned and deopt to a slower but working equivalent.
- Don't unpack array patterns that have more elements than their right hand array expression.
- Polish
- Improve syntax highlighting in the code frame. Thanks @lydell!
- Internal
- Upgrade
acorn-babel
.
- Bug Fix
- Fix
for...of
iterator break returns being duplicated. - Only call
return
on the iterator if it exists. - Internal
- Rename
selfContained
transformer toruntime
.
- New Feature
- Add
moduleId
option for specifying a custom module id.
- New Feature
/*** @jsx NAMESPACE **/
comments are now honored by thereact
transformer.getModuleName
option.- Infer function expression names. Thanks @RReverser!
- Bug Fix
- Add proper control flow for tail recursion optimisation.
- Internal
- Remove useless
format
options and move theformat.compact
option toformat
. - Polish
- Newline handling of the code generator has been heavily improved.
- Code generator now deopts whitespace if the input size is >100KB.
- Breaking Change
- Remove
commonStandard
module formatter and make it the default behaviour of all the strict module formatters.
- Polish
- Add auxiliary comment to let scoping closure flow control.
- Polish
- Use an assignment instead of a define for
__esModule
in loose mode. - Internal
- Add error for
eval();
usage and enable strict mode for parsing.
- New Feature
- Add
BABEL_CACHE_PATH
andBABEL_DISABLE_CACHE
environment variables. - Internal
- Replace many internal util functions with modules. Thanks @sindresorhus!
- Bug Fix
- Fix generators not properly propagating their internal declarations.
- Polish
- Update setter param length error message.
- Use ranges on dependencies.
- 6to5 is now known as Babel.
- Global helpers/runtime has now been given the more descriptive name of "external helpers".