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 |
|
14 | See [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".
|