UNPKG

23.6 kBMarkdownView Raw
1# Changelog
2
3> **Tags:**
4> - [New Feature]
5> - [Bug Fix]
6> - [Spec Compliancy]
7> - [Breaking Change]
8> - [Documentation]
9> - [Internal]
10> - [Polish]
11
12_Note: Gaps between patch versions are faulty/broken releases._
13
14See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog.
15
16## 5.2.16
17
18 * **Bug Fix**
19 * Fix plugins being disabled when using the whitelist.
20 * Fix correct function scope being passed to `nameMethod.property` when inferring the function name for class methods.
21 * Fix incorrect extensions reference causing weird issues when using the Babel CLI.
22 * Fix destructuring param reference replacements not inheriting from their original param.
23 * **Spec Compliancy**
24 * Fix order that method decorators are ran in.
25
26## 5.2.15
27
28 * **Bug Fix**
29 * Fix initializer descriptor add attempt if it doesn't exist.
30
31## 5.2.14
32
33 * **Bug Fix**
34 * Fix bug with initializer decorators where the descriptors weren't being defined if there was no `initializer` property.
35 * **Internal**
36 * Expose `retainLines` option to CLI.
37 * Fix `retainLines` option not being taken into consideration when doing multiple variable declaration declarators generation.
38 * Expose minified and unminified copies of dist scripts.
39
40## 5.2.13
41
42 * **Bug Fix**
43 * Fix `ExportDeclaration`s being incorrectly removed when using the `utility.deadCodeElimination` transformer.
44 * Fix position of `utility` transformers.
45 * **New Feature**
46 * Add built-in `esquery` support.
47 * **Internal**
48 * Consolidate notion of "virtual types".
49
50## 5.2.12
51
52 * **Polish**
53 * Make UID generation based on module declarations **much** nicer.
54 * **Internal**
55 * Remove internal check for traversal path replacement of self. This is a pattern that **could** come up in the wild and it could lead to pretty nasty code and may lead to internal regressions as the test coverage isn't 100% :( Instead, just put it in the fast path.
56
57## 5.2.11
58
59 * **Internal**
60 * Rename `getModuleName` option to `getModuleId`, doh.
61
62## 5.2.10
63
64 * **Bug Fix**
65 * Fix numerous issues in `replaceWithSourceString`. Thanks [@pangratz](https://github.com/pangratz)!
66 * **New Feature**
67 * Add `getModuleName` option. Thanks [@jayphelps](https://github.com/jayphelps)!
68
69## 5.2.9
70
71 * **Bug Fix**
72 * Fix `_blockHoist` transformer incorrectly sorting nodes on shitty environments that aren't spec compliant in their key order.
73 * Fix broken `parse` API method reference to an undeclared import.
74
75## 5.2.7
76
77 * **Bug Fix**
78 * Move `utility.deadCodeElimination` transformer up to avoid race conditions.
79 * Fix shorthand property scope binding renaming.
80 * **Polish**
81 * Turn helper variable declarations into function declarations if possible.
82 * **Internal**
83 * Removed native inheritance support from classes.
84 * Added `replaceWithSourceString` path API.
85 * Split up `es3.propertyLiterals` and `es3.memberExpressionLiterals` transformers to `minfication.propertyLiterals` and `es3.memberExpressionLiterals`.
86
87## 5.2.6
88
89 * **Internal**
90 * Fix transformer aliases being accidently set as deprecated ones.
91 * Expose `Pipeline` as `TransformerPipeline` instead.
92
93## 5.2.5
94
95 * **Bug Fix**
96 * Fix `parse` API not adding all the correct pipeline transformers.
97
98## 5.2.4
99
100 * **Bug Fix**
101 * Fix race condition with the Node API being loaded awkwardly and not being able to initialise itself when used in the browser.
102 * **Internal**
103 * Expose `transform.pipeline`.
104
105## 5.2.3
106
107 * **Bug Fix**
108 * Fix plugin containers being called with an undefined import. Thanks [@timbur](https://github.com/timbur)!
109 * Allow Flow object separators to be commas. Thanks [@monsanto](https://github.com/monsanto)!
110 * Add missing `Statement` and `Declaration` node aliases to flow types.
111
112## 5.2.2
113
114 * **Internal**
115 * Allow `util.arrayify` to take arbitrary types and coerce it into an array.
116
117## 5.2.1
118
119 * **Bug Fix**
120 * Fix regression in `node/register` that caused `node_modules` to not be ignored.
121
122## 5.2.0
123
124 * **Bug Fix**
125 * Fix plugin strings splitting arbitrarily on `:` which caused full paths on Windows to fail as they include `:` after the drive letter.
126 * Call class property `initializer`s with their target instead of their descriptor.
127 * Fix `ignore` and `only` not properly working on Windows path separators. Thanks [@stagas](https://github.com/stagas)!
128 * Fix `resolveRc` running on files twice causing issues. Thanks [@lukescott](https://github.com/lukescott)!
129 * Fix shorthand properties not correctly being target for `isReferenced` checks. Thanks [@monsanto](https://github.com/monsanto)!
130 * **Polish**
131 * Allow passing an array of globs to `babel/register` `only` and `ignore` options. Thanks [@Mark-Simulacrum](https://github.com/Mark-Simulacrum)!
132 * When inferring function names that collide with upper bindings, instead of doing the wrapper, instead rename them.
133 * Consider constant-like variable declaration functions to always refer to themselves so TOC can be performed.
134 * Process globs manually when using `$ babel` as some shells such as Windows don't explode them. Thanks [@jden](https://github.com/jden)!
135 * Add alternative way to execute plugins via a closure that's called with the current Babel instance.
136 * **Internal**
137 * Remove multiple internal transformers in favor of directly doing things when we need to. Previously, declarations such as `_ref` that we needed to create in specific scopes were done at the very end via the `_declarations` transformer. Now, they're done and added to the scope **right** when they're needed. This gets rid of the crappy `_declarations` property on scope nodes and fixes the crappy regenerator bug where it was creating a new `BlockStatement` so the declarations were being lost.
138 * Rework transformer traversal optimisation. Turns out that calling a `check` function for **every single node** in the AST is ridiculously expensive. 300,000 nodes timesed by ~30 transformers meant that it took tens of seconds to perform while it's quicker to just do the unnecessary traversal. Seems obvious in hindsight.
139 * **New Feature**
140 * Add `jscript` transformer that turns named function expressions into function declarations to get around [JScript's horribly broken function expression semantics](https://kangax.github.io/nfe/#jscript-bugs). Thanks [@kondi](https://github.com/kondi)!
141 * Add `@@hasInstance` support to objects when using the `es6.spec.symbols` transformer.
142 * Add `retainLines` option that retains the line (but not the columns!) of the input code.
143
144## 5.1.13
145
146 * **Polish**
147 * Remove symbol check from `defineProperty` helper.
148
149## 5.1.12
150
151 * **Bug Fix**
152 * Fix `resolveModuleSource` not being ran on `ExportAllDeclaration`s.
153 * Fix `.babelrc` being resolved multiple times when using the require hook.
154 * Fix parse error on spread properties in assignment position.
155 * Fix `externalHelpers` option being incorrectly listed as type `string`.
156 * **Internal**
157 * Upgrade `core-js` to `0.9.0`.
158 * **Spec Compliancy**
159 * Fix object decorators not using the `initializer` pattern.
160 * Remove property initializer descriptor reflection.
161
162## 5.1.11
163
164 * **Bug Fix**
165 * Memoise and bind member expression decorators.
166 * Move JSX children cleaning to opening element visitor. Fixes elements not being cleaned in certain scenarios.
167 * Consider `SwitchStatement`s to be `Scopable`.
168 * Fix `bluebirdCoroutines` calling `interopRequireWildcard` before it's defined.
169 * Add space to `do...while` code generation.
170 * Validate `super` use before `this` on `super` exit rather than entrance.
171 * **Polish**
172 * Add Babel name to logger.
173
174## 5.1.10
175
176 * **Bug Fix**
177 * Remove `makePredicate` from acorn in favor of an `indexOf`.
178 * Remove statements to expression explosion when inserting a block statement.
179 * **Internal**
180 * Remove runtime compatibility check.
181
182## 5.1.9
183
184 * **Bug Fix**
185 * Fix class property initializers with `undefined` values not being correctly writable.
186 * Fix self inferring generators incorrectly causing a stack error.
187 * Fix default export specifiers not triggering AMD `module` argument inclusion.
188 * Fix assignments not having their module references properly remapped.
189 * **Internal**
190 * Upgrade to latest `acorn`.
191 * **Polish**
192 * Make invalid LHS pattern error messages nicer.
193
194## 5.1.8
195
196 * **Bug Fix**
197 * Only make parenthesized object pattern LHS illegal.
198
199## 5.1.7
200
201 * **Internal**
202 * Add `parse` node API.
203
204## 5.1.6
205
206 * **Bug Fix**
207 * Fix `runtime` built-in catchall not properly checking for local variables.
208
209## 5.1.5
210
211 * **Internal**
212 * Bump `core-js` version.
213
214## 5.1.4
215
216 * **Polish**
217 * Add missing `Reflect` methods to runtime transformer.
218
219## 5.1.3
220
221 * **Internal**
222 * Switch entirely to vanilla regenerator.
223 * Clean up and make the parsing of decorators stateless.
224 * **Bug Fix**
225 * Don't do TCO on generators and async functions.
226 * Add missing `core-js` runtime definitions.
227
228## 5.1.2
229
230 * **Bug Fix**
231 * Add `getIterator` and `isIterable` to `babel-runtime` build script.
232
233## 5.1.1
234
235 * **Bug Fix**
236 * Add missing runtime symbol definitions.
237
238## 5.1.0
239
240 * **Bug Fix**
241 * Fix super reference when using decorators.
242 * Don't do array unpack optimisation when member expressions are present.
243 * Add missing descriptors for undecorated class properties.
244 * Don't consider `arguments` and `eval` valid function names when doing function name inferrence.
245 * Fix scope tracking of constants in loop heads.
246 * Parse `AwaitExpression` as a unary instead of an assignment.
247 * Fix regex evaluation when attempting static evaluation.
248 * Don't emit tokens when doing a lookahead.
249 * Add missing `test` declaration to `utility.deadCodeElimination` transformer.
250 * **Internal**
251 * Upgrade `regenerator` to the latest and use my branch with the hope of eventually switching to vanilla regenerator.
252 * Add support for the replacement of for loop `init`s with statements.
253 * Upgrade dependencies.
254 * **Polish**
255 * When adding the scope IIFE when using default parameters, don't shadow the function expression, just `apply` `this` and `arguments` if necessary.
256 * Use path basename as non-default import fallback.
257 * **New Feature**
258 * Add [trailing function comma proposal](https://github.com/jeffmo/es-trailing-function-commas). Thanks [@AluisioASG](https://github.com/AluisioASG)!
259 * Add support for object literal decorators.
260 * Make core-js modular when using the `runtime` transformer.
261
262## 5.0.12
263
264 * **Bug Fix**
265 * Fix incorrect remapping of module references inside of a function id redirection container.
266
267## 5.0.11
268
269 * **Bug Fix**
270 * Fix new `for...of` loops not properly inheriting their original loop.
271 * **Internal**
272 * Disable scope instance cache.
273 * **Polish**
274 * Allow comments in `.babelrc` JSON.
275
276## 5.0.9
277
278 * **Polish**
279 * Use `moduleId` for UMD global name if available.
280 * **Bug Fix**
281 * Fix UMD global `module` variable shadowing the `amd`/`common` `module` variable.
282 * Fix Flow param type annotation regression.
283 * Fix function name collision `toString` wrapper. Thanks [@alawatthe](https://github.com/alawatthe)!
284
285## 5.0.8
286
287 * **Bug Fix**
288 * Fix falsy static class properties not being writable.
289 * Fix block scoping collisions not properly detecting modules and function clashes.
290 * Skip `this` before `super` for derived constructors on functions.
291
292## 5.0.7
293
294 * **New Feature**
295 * Add `--ignore` and `--only` support to the CLI.
296 * **Bug Fix**
297 * Remove `HOMEPATH` environment variable from home resolution in `babel/register` cache.
298 * **Internal**
299 * Disable WIP path resolution introducing infinite recursion in some code examples.
300 * **Polish**
301 * Add live binding to CommonJS default imports.
302
303## 5.0.6
304
305 * **Bug Fix**
306 * Fix mangling of import references that collide with properties on `Object.prototype`.
307 * Fix duplicate declarations incorrectly being reported for `var`.
308
309## 5.0.5
310
311 * **Internal**
312 * Upgrade `core-js`.
313 * **Bug Fix**
314 * Fix arrays not being supported in `util.list`.
315
316## 5.0.4
317
318 * **Polish**
319 * Check for top level `breakConfig` in `resolveRc`.
320
321## 5.0.3
322
323 * **Bug Fix**
324 * Make relative location absolute before calling `resolveRc`.
325 * **Internal**
326 * Switch to global UID registry.
327 * Add `breakConfig` option to prevent Babel from erroring when hitting that option.
328
329## 5.0.1
330
331 * **Bug Fix**
332 * Fix duplicate declaration regression.
333 * Fix not being able to call non-writable methods.
334
335## 5.0.0
336
337 * **New Feature**
338 * Decorators based on [@wycat's](https://github.com/wycats) [stage 1 proposal](https://github.com/wycats/javascript-decorators).
339 * Class property initializers based on [@jeffmo's](https://github.com/jeffmo) [stage 0 proposal](https://gist.github.com/jeffmo/054df782c05639da2adb).
340 * Export extensions based on [@leebyron's](https://github.com/leebyron) [stage 1 proposal](https://github.com/leebyron/ecmascript-more-export-from).
341 * UMD module formatter now supports globals.
342 * Add `es3.runtime`, `optimisation.react.inlineElements` and `optimisation.react.constantElements` transformers.
343 * Add stage option that replaces the experimental one.
344 * Allow ES7 transformer to be enabled via `optional` instead of only via `stage`.
345 * Infer string quotes to use in the code generator.
346 * Consider `export { foo as default };` to be the same as `export default foo;`.
347 * Add `nonStandard` option that can be set to `false` to remove parser support for JSX and Flow.
348 * Add `jsxPragma` option.
349 * Automatically generate CLI options based on internal API options.
350 * Add support for `.babelrc` on absolute paths.
351 * Plugin API!
352 * **Internal**
353 * Export `options` in browser API.
354 * Rewritten parser.
355 * Don't block hoist when runtime transformer is enabled in system module formatter.
356 * Rewritten the internal traversal and node replacement API to use "paths" that abstracts out node relationships.
357 * **Polish**
358 * JSX output is now more inline with the official JSX transformer.
359 * Hoist block scoping IIFE - this improves memory usage and performance.
360 * Better IIFE detection - references are now checked to see if they're referencing the binding we're searching for.
361 * Check for import reassignments in constants transformer.
362 * Make method definitions with expression bodies illegal.
363 * Save register cache on tick instead of `SIGINT`.
364 * Enable strict mode on babel-node eval flag.
365 * **Bug Fixes**
366 * Add support for live bindings. This change also increases the reliablity of export specifier renaming.
367 * Add support for super update and non equals assignment expressions.
368 * Rename shadow constructor binding in classes.
369 * Seed next iteration bindings with previous fresh bindings when reassinging loop block scoped variables.
370 * Fix new expression spread referencing the wrong constructor.
371 * Call `resolveModuleSource` on dynamic imports.
372 * Added `param` to list of duplicate declaration kinds.
373 * **Breaking Changes**
374 * The Babel playground has been removed.
375 * ES7 Abstract References have been removed.
376 * Experimental option has been removed in favor of a stage option.
377 * Rename `returnUsedHelpers` to `metadataUsedHelpers`.
378
379## 4.7.16
380
381 * **Bug Fix**
382 * Fix constructor spreading of typed arrays.
383 * Fix break/continue/return aliasing of non-loops in block scoping transformer.
384
385## 4.7.15
386
387 * **Bug Fix**
388 * Fix constructor spreading of collections.
389
390## 4.7.14
391
392 * **Bug Fix**
393 * Fix constructor spreading of `Promise`.
394 * **Internal**
395 * Deprecate remaining playground transformers and abstract references.
396
397## 4.7.13
398
399 * **Bug Fix**
400 * Handle comments on use strict directives.
401 * Fix assignment patterns with a left side pattern.
402 * **Polish**
403 * Special case `this` when doing expression memoisation.
404
405## 4.7.12
406
407 * **Bug Fix**
408 * Deprecate `playground.methodBinding`.
409
410## 4.7.11
411
412 * **Bug Fix**
413 * Fix unicode regexes stripping their unicode flag before being passed on two `regexpu`.
414
415## 4.7.10
416
417 * **Internal**
418 * Deprecate `playground.methodBinding` and `playground.objectGetterMemoization`.
419 * **Bug Fix**
420 * Fix `inputSourceMap` option. Thanks [@Rich-Harris](https://github.com/Rich-Harris)!
421
422## 4.7.9
423
424 * **Polish**
425 * Allow `inputSourceMap` to be set to `false` to skip the source map inference.
426 * Infer computed literal property names.
427 * **Bug Fix**
428 * Fix nested labeled for-ofs.
429 * Fix block scoping `break` colliding with the parent switch case.
430 * **Internal**
431 * Upgrade `acorn-babel`.
432
433## 4.7.8
434
435 * **Bug Fix**
436 * Fix computed classes not properly setting symbols.
437
438## 4.7.7
439
440 * **Bug Fix**
441 * Fix `types` API exposure.
442
443## 4.7.6
444
445 * **Bug Fix**
446 * Fix non-Identifier/Literal computed class methods.
447 * **Polish**
448 * Add a fallback if `stack` on an error is unconfigurable.
449 * Hoist `esModule` module declarations to the top of the file to handle circular dependencies better.
450
451## 4.7.5
452
453 * **Bug Fix**
454 * Don't remap` break`s to call the iterator return.
455 * **Polish**
456 * 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.
457
458## 4.7.4
459
460 * **Bug Fix**
461 * Rewrite named function expressions in optional async function transformers.
462 * Hoist directives.
463 * Remove `Number` from the list of valid `runtime` constructors.
464 * **Internal**
465 * `spec.typeofSymbol` transformer has been renamed to `es6.symbols`.
466
467## 4.7.2
468
469 * **New Feature**
470 * `"both"` option for `sourceMap`.
471 * Add output types to external helpers. Thanks [@neVERberleRfellerER](https://github.com/neVERberleRfellerER)!
472 * **Bug Fix**
473 * Fix node duplication sometimes resulting in a recursion error.
474 * Ignore `break`s within cases inside `for...of`.
475 * **Polish**
476 * Split up variable declarations and export declarations to allow easier transformation.
477
478## 4.7.0
479
480 * **Bug Fix**
481 * Add `alternate` to list of `STATEMENT_OR_BLOCK` keys.
482 * Add support for module specifiers to `t.isReferenced`.
483 * **New Feature**
484 * Add `inputSourceMap` option.
485 * **Polish**
486 * Throw an error on different `babel` and `babel-runtime` versions.
487 * Replicate module environment for `babel-node` eval.
488 * Clean up classes output.
489 * **Spec Compliancy**
490 * Make it illegal to use a rest parameter on a setter.
491
492## 4.6.6
493
494 * **Bug Fix**
495 * Fix incorrect method call in `utility.deadCodeElimination` transformer.
496 * Fix `es6.blockScopingTDZ` transformer duplicating binding nodes.
497
498## 4.6.5
499
500 * **Internal**
501 * `useStrict` transformer has been renamed to `strict`.
502
503## 4.6.4
504
505 * **Bug Fix**
506 * Fix `ForOfStatement` not proplery inheriting labels.
507 * When in closure mode in block scoping transformer, properly check for variable shadowing.
508 * **New Feature**
509 * New `utility.inlineEnvironmentVariables` and `utility.inlineExpression` transformers.
510
511## 4.6.3
512
513 * **Bug Fix**
514 * Fix `arguments` being incorrectly aliased in arrow function rest parameter optimisation.
515 * Make deoptimisation trigger safer.
516 * **New Feature**
517 * Flow types are now retained when blacklisting the `flow` transformer.
518
519## 4.6.1
520
521 * **Bug Fix**
522 * Fix generators in template directory being transformed.
523 * Fix exposure of `util` for plugins.
524
525## 4.6.0
526
527 * **New Feature**
528 * Desugar sticky regexes to a new constructor expression so it can be handled by a polyfill.
529 * **Spec Compliancy**
530 * `for...of` now outputs in a lengthy `try...catch` this is to ensure spec compliancy in regards to iterator returns and abrupt completions. See [google/traceur-compiler#1773](https://github.com/google/traceur-compiler/issues/1773) and [babel/babel/#838](https://github.com/babel/babel/issues/838) for more information.
531 * **Polish**
532 * Rest parameters that are only refered to via number properties on member expressions are desugared into a direct `arguments` reference. Thanks [@neVERberleRfellerER](https://github.com/neVERberleRfellerER)!
533 * `$ babel` no longer exits on syntax errors.
534 * **Internal**
535 * Upgrade `browserify`.
536 * Upgrade `source-map`.
537 * Publicly expose more internals.
538
539## 4.5.5
540
541 * **Polish**
542 * Delete old extensions when overriding them in `babel/register`.
543
544## 4.5.3
545
546 * **Bug Fix**
547 * Fix whitelisting logic for helper build script.
548
549## 4.5.2
550
551 * **New Feature**
552 * `returnUsedHelpers` option and add whitelist to `buildHelpers`.
553 * **Bug Fix**
554 * Fix function arity on self referencing inferred named functions.
555 * **Internal**
556 * Bump `acorn-babel`.
557 * Start converting source to ES6...
558
559## 4.5.1
560
561**Babel now compiles itself!**
562
563![holy shit](http://gifsec.com/wp-content/uploads/GIF/2014/03/OMG-GIF_2.gif)
564
565## 4.5.0
566
567 * **New Feature**
568 * Add `.babelrc` support.
569 * **Bug Fix**
570 * Move use strict directives to the module formatter bodies.
571 * **Internal**
572 * Make default `bin/babel` behaviour to ignore non-compilable files and add a `--copy-files` flag to revert to the old behaviour.
573
574## 4.4.6
575
576 * **Bug Fix**
577 * Fix extending a class expression with no methods/only constructor. Thanks [@neVERberleRfellerER](https://github.com/neVERberleRfellerER)!
578 * Allow `MemberExpression` as a valid `left` of `ForOfStatement`.
579 * **Polish**
580 * 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.
581 * Crawl all comments for `@jsx` pragma.
582 * **Internal**
583 * Upgrade `chalk`.
584 * Upgrade `core-js`.
585
586## 4.4.5
587
588 * **Internal**
589 * Remove function self reference optimisation.
590
591## 4.4.4
592
593 * **Bug Fix**
594 * Handle inferred function ids to be reassigned and deopt to a slower but working equivalent.
595 * Don't unpack array patterns that have more elements than their right hand array expression.
596 * **Polish**
597 * Improve syntax highlighting in the code frame. Thanks [@lydell](https://github.com/lydell)!
598 * **Internal**
599 * Upgrade `acorn-babel`.
600
601## 4.4.3
602
603 * **Bug Fix**
604 * Fix `for...of` iterator break returns being duplicated.
605 * Only call `return` on the iterator if it exists.
606 * **Internal**
607 * Rename `selfContained` transformer to `runtime`.
608
609## 4.4.2
610
611 * **New Feature**
612 * Add `moduleId` option for specifying a custom module id.
613
614## 4.4.0
615
616 * **New Feature**
617 * `/*** @jsx NAMESPACE **/` comments are now honored by the `react` transformer.
618 * `getModuleName` option.
619 * Infer function expression names. Thanks [@RReverser](https://github.com/RReverser)!
620 * **Bug Fix**
621 * Add proper control flow for tail recursion optimisation.
622 * **Internal**
623 * Remove useless `format` options and move the `format.compact` option to `format`.
624 * **Polish**
625 * Newline handling of the code generator has been heavily improved.
626 * Code generator now deopts whitespace if the input size is >100KB.
627
628## 4.3.0
629
630 * **Breaking Change**
631 * Remove `commonStandard` module formatter and make it the default behaviour of all the strict module formatters.
632
633## 4.2.1
634
635 * **Polish**
636 * Add auxiliary comment to let scoping closure flow control.
637
638## 4.2.0
639
640 * **Polish**
641 * Use an assignment instead of a define for `__esModule` in loose mode.
642 * **Internal**
643 * Add error for `eval();` usage and enable strict mode for parsing.
644
645## 4.1.0
646
647 * **New Feature**
648 * Add `BABEL_CACHE_PATH` and `BABEL_DISABLE_CACHE` environment variables.
649 * **Internal**
650 * Replace many internal util functions with modules. Thanks [@sindresorhus](https://github.com/sindresorhus)!
651
652## 4.0.2
653
654 * **Bug Fix**
655 * Fix generators not properly propagating their internal declarations.
656 * **Polish**
657 * Update setter param length error message.
658 * Use ranges on dependencies.
659
660## 4.0.0
661
662 * 6to5 is now known as Babel.
663 * Global helpers/runtime has now been given the more descriptive name of "external helpers".