1## 3.3.0 (2016-07-25) 2 3### Bug fixes 4 5Fix bug in tokenizing of regexp operator after a function declaration. 6 7Fix parser crash when parsing an array pattern with a hole. 8 9### New features 10 11Implement check against complex argument lists in functions that 12enable strict mode in ES7. 13 14## 3.2.0 (2016-06-07) 15 16### Bug fixes 17 18Improve handling of lack of unicode regexp support in host 19environment. 20 21Properly reject shorthand properties whose name is a keyword. 22 23Don't crash when the loose parser is called without options object. 24 25### New features 26 27Visitors created with `visit.make` now have their base as _prototype_, 28rather than copying properties into a fresh object. 29 30Make it possible to use `visit.ancestor` with a walk state. 31 32## 3.1.0 (2016-04-18) 33 34### Bug fixes 35 36Fix issue where the loose parser created invalid TemplateElement nodes 37for unclosed template literals. 38 39Properly tokenize the division operator directly after a function 40expression. 41 42Allow trailing comma in destructuring arrays. 43 44### New features 45 46The walker now allows defining handlers for `CatchClause` nodes. 47 48## 3.0.4 (2016-02-25) 49 50### Fixes 51 52Allow update expressions as left-hand-side of the ES7 exponential 53operator. 54 55## 3.0.2 (2016-02-10) 56 57### Fixes 58 59Fix bug that accidentally made `undefined` a reserved word when 60parsing ES7. 61 62## 3.0.0 (2016-02-10) 63 64### Breaking changes 65 66The default value of the `ecmaVersion` option is now 6 (used to be 5). 67 68Support for comprehension syntax (which was dropped from the draft 69spec) has been removed. 70 71### Fixes 72 73`let` and `yield` are now “contextual keywords”, meaning you can 74mostly use them as identifiers in ES5 non-strict code. 75 76A parenthesized class or function expression after `export default` is 77now parsed correctly. 78 79### New features 80 81When `ecmaVersion` is set to 7, Acorn will parse the exponentiation 82operator (`**`). 83 84The identifier character ranges are now based on Unicode 8.0.0. 85 86Plugins can now override the `raiseRecoverable` method to override the 87way non-critical errors are handled. 88 89## 2.7.0 (2016-01-04) 90 91### Fixes 92 93Stop allowing rest parameters in setters. 94 95Make sure the loose parser always attaches a `local` property to 96`ImportNamespaceSpecifier` nodes. 97 98Disallow `y` rexexp flag in ES5. 99 100Disallow `\00` and `\000` escapes in strict mode. 101 102Raise an error when an import name is a reserved word. 103 104## 2.6.4 (2015-11-12) 105 106### Fixes 107 108Fix crash in loose parser when parsing invalid object pattern. 109 110### New features 111 112Support plugins in the loose parser. 113 114## 2.6.2 (2015-11-10) 115 116### Fixes 117 118Don't crash when no options object is passed. 119 120## 2.6.0 (2015-11-09) 121 122### Fixes 123 124Add `await` as a reserved word in module sources. 125 126Disallow `yield` in a parameter default value for a generator. 127 128Forbid using a comma after a rest pattern in an array destructuring. 129 130### New features 131 132Support parsing stdin in command-line tool. 133 134## 2.5.2 (2015-10-27) 135 136### Fixes 137 138Fix bug where the walker walked an exported `let` statement as an 139expression. 140 141## 2.5.0 (2015-10-27) 142 143### Fixes 144 145Fix tokenizer support in the command-line tool. 146 147In the loose parser, don't allow non-string-literals as import 148sources. 149 150Stop allowing `new.target` outside of functions. 151 152Remove legacy `guard` and `guardedHandler` properties from try nodes. 153 154Stop allowing multiple `__proto__` properties on an object literal in 155strict mode. 156 157Don't allow rest parameters to be non-identifier patterns. 158 159Check for duplicate paramter names in arrow functions. 160