babel/CHANGELOG.md
2015-01-04 14:41:17 -08:00

12 KiB

Changelog

Tags:

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

Note: Gaps between patch versions are faulty/broken releases.

2.5.0

  • Remove noDuplicateProperties transformer.
  • Better generated UIDs based on nodes.
  • Default parameters now use arguments[i], conditionals and variable declarations instead of using long-form if statements.

2.4.10

  • Upgrade acorn-6to5.

2.4.9

  • Upgrade acorn-6to5.
  • Add optional protoToAssign transformer.
  • Fix missing properties from computed property keys.
  • Make ES7 comprehensions let variables.

2.4.8

  • Make require("6to5/register") work with browserify - #370. Thanks @hughsk!

2.4.7

  • Upgrade acorn-6to5.

2.4.6

  • Move coreAliasing and undefinedToVoid transformers down to catch moduleFormatter transforms.

2.4.5

  • Avoid printing comments if they've already been output.

2.4.4

  • Add module type to browser build <script> handler.
  • Fix some MemberExpression modifying incorrectly setting property to a MemberExpression.

2.4.3

  • Upgrade acorn-6to5.
  • Add support for FunctionDeclarations in bluebirdCoroutines and asyncToGenerators transformers.

2.4.2

  • Upgrade acorn-6to5.
  • Better uids generated for various transformers based on parent node.
  • Alias flat references in coreAliasing transformer.

2.4.1

  • Better whitespace handling of parenthesized expressions due to trailing comments.
  • Fix yield inside of comprehensions.

2.4.0

  • Use a closure always for classes with a super.
  • Always use native loops for array comprehensions.
  • Allow yield inside of comprehensions.
  • Add optional bluebirdCoroutine transformer.
  • Add optional asyncToGenerator transformer.
  • Move useStrict transformer to before _moduleFormatter causing "use strict"; to always be placed the very top.

2.3.2

  • Add parens on expressions with trailing comments.

2.3.1

  • Add undefinedToVoid optional transformer.
  • Use Object.defineProperty for computed properties.

2.3.0

  • Upgrade acorn-6to5.
  • Support circular references and hoist variable declarations in system module formatter.
  • Add optional transformers, including a new coreAliasing transformer that aliases native ES6 static properties to their core-js equivalent.

2.2.0

  • Make system module formatter modules anonymous by default.
  • Fix duplicate comments being output, breaking code.

2.1.0

  • Add cache option to register hook.
  • Update core-js.
  • Fix starting newline not being added on case statements.
  • Fix destructuring VariableDeclarations not inside BlockStatements and Program.

2.0.4

  • Avoid being greedy when destructuring array iterables.

2.0.3

  • Hoist function declarations in system module formatter for circular references.
  • Hoist default function declarations in umd and amd module formatters for circular references.

2.0.2

  • Inherit comments in for-of transformer.
  • Remove interopRequire from system module formatter.

2.0.1

  • Remap UpdateExpression module export binding.
  • Fix automatic closure on PrivateDeclaration in classes.

2.0.0

  • Make string literal generation only escapes unicode that it has to.
  • Internal code generation format options have been exposed.
  • Change playground method binding operator from : to # removing ambiguous syntax with terns.
  • Fix rest parameters in async and generator functions.
  • Export/import declarations replace by the modules transformer now inherit comments.
  • Added playground flag to 6to5-node.
  • 6to5-node now behaves the same as node.
  • 6to5-node now uses kexec to become the forked process to correctly propagate signals on unix.
  • Constants are now block scoped.
  • Exposed ast transformer.
  • Merged commonInterop and common module formatters.
  • Fix generator comprehensions not inheriting arguments, this etc.
  • Object and class mutator shorthand are now enumerable.
  • Remove regenerator Generator has already finished error which isn't spec-compliant.
  • Expose internal spec transformers that nicen up code output.
  • Add export variable declaration default initializers.
  • Propagate export declaration reassignments.
  • Add initializer default to block scoped variable declarations within a loop.
  • Flow type support.
  • Make async/await contextual keywords.
  • Allow yielding of non-objects.
  • Class declarations now lack an IIFE.
  • Support falsy and null super classes.
  • Add support for experimental abstract references private declarations.
  • Leave out IIFE for class declarations.
  • Switched to core-js from es6-symbol and es6-shim for built-in polyfill.
  • amd and umd module formatters now behave the same as common with interopRequire.
  • Micro-optimizations to boost performance by 200%.
  • Rename module formatter methods import to importDeclaration and export to exportDeclaration.
  • Support multiple declarators in export variable declarations.
  • Freeze tagged template literal object.
  • Remove inlined regenerator fork.
  • Remove ParenthesizedExpression.
  • Rename object-spread helper to object-without-properties.
  • Rename class-props helper to prototype-properties.
  • Rename extends helper to inherits.
  • Completely rewritten system module formatter.

1.15.0

  • Don't alias GeneratorFunction and check the name which causes minifiers to remove the name and throw an error later on when we check if it's set.

1.14.18

  • Fix files only containg comments not being output.
  • Fix duplicate comments on property key shorthands.

1.14.17

  • Add default initializer to let variables within loop bodies.
  • Fix excessive break replacement inside of switches in let scoping.

1.14.16

  • Add object getter memos and this shorthand to playground.
  • Fix while loops in let scoping.
  • Upgrade acorn-6to5.

1.14.14

  • Fix template literals escaping.

1.14.13

  • Fix let scoping of while loops.
  • Make class methods enumerable.

1.14.12

  • Fix duplicate dynamic expressions in call spread.

1.14.10

  • Fix let scoping unneccesary override.

1.14.6

  • Avoid ensuring a block on non-array node replacements.

1.14.5

  • Upgrade acorn-6to5.
  • Fix JSON recursion error for unknown code generator node types.
  • Ensure that a statement is a block on block/statement types when replacing them with multiple nodes.

1.14.4

  • Merge pretzel maps and method binding.

1.14.3

  • Add playground pretzel maps.

1.14.2

  • Fix commonInterop default export handling.
  • Fix keyworded property key identifiers being turned into computed property key literals.

1.14.1

  • Inherit comments from ClassDeclaration.

1.14.0

1.13.13

  • Fix --debug in bin/6to5-node. Thanks @timoxley.

1.13.12

  • Ignore XJSEmptyExpressions in react transformer output.

1.13.11

  • Fix util.regexify on falsy values.
  • Fix _aliasFunction with rest parameters.
  • Export as module.exports instead of exports.default if there are no other ExportDeclarations in commonInterop module formatter.
  • Add system module formatter. Thanks @douglasduteil.

1.13.10

  • Add support for AssignmentExpression destructuring outside of ExpressionStatement.

1.13.9

  • Fix VirtualPropertyExpression visitor keys.

1.13.8

  • Only use a single reference in abstract references.

1.13.7

  • Upgrade acorn-6to5.
  • Add experimental exponentiation operator support.

1.13.6

  • Fix experimental object spread/rest helper.

1.13.5

  • Upgrade acorn-6to5.
  • Add experimental support for object spread/rest.
  • Change arguments to array to an additional helper method.

1.13.4

  • Fix single spread element returning itself.

1.13.3

  • Upgrade acorn-6to5.
  • Add experimental support for abstract references.

1.13.2

  • Optimise Array.from usage by adding a helper method.
  • Upgrade acorn-6to5.

1.13.1

  • Fix constructor spread optimisation. Thanks @zloirock.

1.13.0

  • Put experimental ES7 features behind a flag --experimental and experimental option.
  • Constructor spread performance increase. Thanks @RReverser.
  • Use self instead of window in the optional 6to5 runtime. Thanks @RReverser.

1.12.26

  • Support computed property destructuring.

1.12.25

  • Update acorn-6to5, ast-types, es6-shim, chokidar, estraverse and private.

1.12.24

  • Collect references that haven't been declared in scope.

1.12.23

  • Fix generator function export hoisting.

1.12.22

  • Update fs-readdir-recursive and chokidar.
  • Support array destructuring on iterables.
  • Make amd module id optional. Thanks @webpro.

1.12.21

  • Fix unneccesary let scoping replacement.
  • Add commonInterop module formatter. Thanks @Naddiseo.
  • Fix return outside of function body bug. Thanks @brentburg.
  • Add more flexible option types.

1.12.20

  • Append sourceMappingURL when using bin/6to5 and output sourcemaps.

1.12.19

  • Add comments option and --remove-comments flag. Thanks @webpro.
  • Embed regenerator.

1.12.18

  • Use global reference instead of window.

1.12.17

  • Add moduleName, sourceRoot and filenameRelative options. Thanks @darvelo.
  • Traversal optimisations.

1.12.16

  • Fix comments not being retained from MethodDefinition in classes.
  • Add temporal dead zone in default parameters.

1.12.15

  • Update acorn-6to5.

1.12.14

  • Fix duplicate let scoping in functions.
  • Make JSX whitespace more React-compliant.
  • Add _memberExpressionKeywords transformer that turns keyword identifiers to computed literals.
  • Upgrade regenerator-6to5.

1.12.13

  • Support duplicate constants within different block scopes.
  • Fix for-head duplication testing and replacement.
  • Support raw property on tagged template literals.

1.12.12

  • Make scope tracker more reliable to handle all edgecases.

1.12.11

  • Block scope classes.
  • Fix generation of integer Literals in MemberExpression.

1.12.10

  • Fix let scoping var hoisting.

1.12.9

  • Escape unicode characters when generating string Literals.
  • Fix semicolons being output for statements in ExportDeclaration.
  • Fix WithStatement missing parenthesis.

1.12.8

  • Temporarily forbid AssignmentExpression destructuring outside of ExpressionStatement.

1.12.7

  • Update to latest acorn-6to5.

1.12.6

  • Update to latest acorn-6to5.

1.12.5

  • Fix excessive whitespace trimming resulting in innaccurate sourcemap line.

1.12.4

  • Add doc folder for documentation.

1.12.3

  • Support generator comprehensions.
  • Use Array.from instead of Array.prototype.slice in spread transformer.
  • Support spread in NewExpressions.

1.12.2

  • Upgrade matcha to 0.6.0 and browserify to 6.3.2.
  • Add own trimRight helper instead of relying on the string instance method.
  • Support JSX spreads that aren't the first.

1.12.1

  • Fix this and arguments mapping in the _aliasFunctions transformer.

1.12.0

  • Combine jsx and react transformers to react.
  • Update react syntax output to React v0.12.

1.11.15

  • Fix JSX literal whitespace generation.

1.11.14

  • Avoid using a switch for let-scoping continue and break statements and use an if statement instead.
  • Remove excess whitespace and newlines from JSX literals.

1.11.13

  • Update regenerator-6to5
  • Add support for most escodegen formatting options