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