jshint/jshint (jshint)
### [`v2.13.4`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2134-2022-01-24)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.13.3...2.13.4)
##### Bug Fixes
- Remove shelljs ([eb4609a](https://togithub.com/jshint/jshint/commit/eb4609a))
### [`v2.13.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2133-2022-01-05)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.13.2...2.13.3)
##### Bug Fixes
- Recognize ES2020 globals ([b1426f1](https://togithub.com/jshint/jshint/commit/b1426f1))
### [`v2.13.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2132-2021-12-27)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.13.1...2.13.2)
##### Bug Fixes
- Add missing well-known globals ([#3582](https://togithub.com/jshint/jshint/issues/3582)) ([cc1adf6](https://togithub.com/jshint/jshint/commit/cc1adf6))
- add URL for node in src/vars.js ([#3570](https://togithub.com/jshint/jshint/issues/3570)) ([ca06e6a](https://togithub.com/jshint/jshint/commit/ca06e6a))
- change escape-sequence handler for double quotes (") ([#3566](https://togithub.com/jshint/jshint/issues/3566)) ([75e48b7](https://togithub.com/jshint/jshint/commit/75e48b7))
- Limit "Too many Errors" (E043) to errors only ([#3562](https://togithub.com/jshint/jshint/issues/3562)) ([4a681b9](https://togithub.com/jshint/jshint/commit/4a681b9))
- Tolerate keyword in object shorthand ([057b1c6](https://togithub.com/jshint/jshint/commit/057b1c6))
- Tolerate unterminated nullish coalescing ([ecae54a](https://togithub.com/jshint/jshint/commit/ecae54a))
### [`v2.13.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2131-2021-08-10)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.13.0...2.13.1)
##### Bug Fixes
- Allow invoking result of optional chaining ([71ec395](https://togithub.com/jshint/jshint/commit/71ec395))
- Allow optional chaining call as satement ([11dc0a6](https://togithub.com/jshint/jshint/commit/11dc0a6))
- Tolerate dangling NewExpression ([7c890aa](https://togithub.com/jshint/jshint/commit/7c890aa))
### [`v2.13.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2130-2021-05-30)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.12.0...2.13.0)
##### Bug Fixes
- Allow comma expression in MemberExpression ([f05c8d1](https://togithub.com/jshint/jshint/commit/f05c8d1))
- Consider all exported bindings "used" ([90228b7](https://togithub.com/jshint/jshint/commit/90228b7))
- Correct interpretation of ImportSpecifier ([72a8102](https://togithub.com/jshint/jshint/commit/72a8102))
- Correct location for error ([e831188](https://togithub.com/jshint/jshint/commit/e831188))
- Correct location reported for directive ([ee6aa68](https://togithub.com/jshint/jshint/commit/ee6aa68))
- Detect duplicate exported bindings ([916c230](https://togithub.com/jshint/jshint/commit/916c230))
- Don't warn when Function() is used without 'new'. ([#3531](https://togithub.com/jshint/jshint/issues/3531)) ([c13c5cc](https://togithub.com/jshint/jshint/commit/c13c5cc))
- Don't warn when RegExp() is used without 'new'. ([#3529](https://togithub.com/jshint/jshint/issues/3529)) ([c18a6e4](https://togithub.com/jshint/jshint/commit/c18a6e4))
- Enforce restrictions on `new` operand ([c2719eb](https://togithub.com/jshint/jshint/commit/c2719eb))
- Graduate BigInt support to `esversion: 11` ([553f816](https://togithub.com/jshint/jshint/commit/553f816))
- Improve declaration parsing ([a9bdc93](https://togithub.com/jshint/jshint/commit/a9bdc93))
- Report early reference with warning ([2c1a5f8](https://togithub.com/jshint/jshint/commit/2c1a5f8))
- Support RegExp Unicode property escapes ([e7fa785](https://togithub.com/jshint/jshint/commit/e7fa785))
##### Features
- Add support for "export \* as ns from" ([c46f464](https://togithub.com/jshint/jshint/commit/c46f464))
- Add support for `import.meta` ([73d7e0d](https://togithub.com/jshint/jshint/commit/73d7e0d))
- Add support for dynamic import ([6bfcaed](https://togithub.com/jshint/jshint/commit/6bfcaed))
- Add support for optional chaining ([b125dbe](https://togithub.com/jshint/jshint/commit/b125dbe))
- Implement support for nullish coalescing ([f50b14d](https://togithub.com/jshint/jshint/commit/f50b14d))
### [`v2.12.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2120-2020-08-02)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.11.2...2.12.0)
##### Features
- Update project license ([d65513c](https://togithub.com/jshint/jshint/commit/d65513c))
#### [2.11.2](https://togithub.com/jshint/jshint/compare/2.11.1...v2.11.2) (2020-07-30)
##### Bug Fixes
- Allow "rest" operator in param dstrctrng ([c45d1b2](https://togithub.com/jshint/jshint/commit/c45d1b2))
- Disallow invalid numeric literals ([b02a025](https://togithub.com/jshint/jshint/commit/b02a025))
- Disallow leading zeros in BigInts ([3b2c8cf](https://togithub.com/jshint/jshint/commit/3b2c8cf))
- Improve numeric literal warnings/errors ([370e159](https://togithub.com/jshint/jshint/commit/370e159))
- Limit positions for class declarations ([0f0acd8](https://togithub.com/jshint/jshint/commit/0f0acd8))
- maxcomplexity doesn't take into account `&&` ([047d5af](https://togithub.com/jshint/jshint/commit/047d5af)), closes [#840](https://togithub.com/jshint/jshint/issues/840)
- Update Lodash to latest 4.17.19 ([#3494](https://togithub.com/jshint/jshint/issues/3494)) ([17d8f5a](https://togithub.com/jshint/jshint/commit/17d8f5a))
#### [2.11.1](https://togithub.com/jshint/jshint/compare/2.11.0...v2.11.1) (2020-05-14)
This release includes patches from a number of first-time contributors. James
Owen, Tim Gates, ossdev, stvcisco, and thetric helped to make this the best
JSHint release yet. Thank you all!
##### Bug Fixes
- Correct ASI for `break` and `continue` ([3eb1b02](https://togithub.com/jshint/jshint/commit/3eb1b02))
- Correct ASI for C-style `for` loops ([ac232a5](https://togithub.com/jshint/jshint/commit/ac232a5))
- Improve tokenization of RegExp literals ([#3471](https://togithub.com/jshint/jshint/issues/3471)) ([f786002](https://togithub.com/jshint/jshint/commit/f786002))
- TypeError accessing 'value' of undefined ([8884eb9](https://togithub.com/jshint/jshint/commit/8884eb9)), closes [#3455](https://togithub.com/jshint/jshint/issues/3455)
- Use relative paths with `--filename` when recieving from stdin ([c1b5c2b](https://togithub.com/jshint/jshint/commit/c1b5c2b))
##### Features
- Replacing PhantomJS with Puppeteer ([51963a3](https://togithub.com/jshint/jshint/commit/51963a3))
### [`v2.11.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2112-2020-07-30)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.11.1...2.11.2)
##### Bug Fixes
- Allow "rest" operator in param dstrctrng ([c45d1b2](https://togithub.com/jshint/jshint/commit/c45d1b2))
- Disallow invalid numeric literals ([b02a025](https://togithub.com/jshint/jshint/commit/b02a025))
- Disallow leading zeros in BigInts ([3b2c8cf](https://togithub.com/jshint/jshint/commit/3b2c8cf))
- Improve numeric literal warnings/errors ([370e159](https://togithub.com/jshint/jshint/commit/370e159))
- Limit positions for class declarations ([0f0acd8](https://togithub.com/jshint/jshint/commit/0f0acd8))
- maxcomplexity doesn't take into account `&&` ([047d5af](https://togithub.com/jshint/jshint/commit/047d5af)), closes [#840](https://togithub.com/jshint/jshint/issues/840)
- Update Lodash to latest 4.17.19 ([#3494](https://togithub.com/jshint/jshint/issues/3494)) ([17d8f5a](https://togithub.com/jshint/jshint/commit/17d8f5a))
### [`v2.11.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2111-2020-05-14)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.11.0...2.11.1)
This release includes patches from a number of first-time contributors. James
Owen, Tim Gates, ossdev, stvcisco, and thetric helped to make this the best
JSHint release yet. Thank you all!
##### Bug Fixes
- Correct ASI for `break` and `continue` ([3eb1b02](https://togithub.com/jshint/jshint/commit/3eb1b02))
- Correct ASI for C-style `for` loops ([ac232a5](https://togithub.com/jshint/jshint/commit/ac232a5))
- Improve tokenization of RegExp literals ([#3471](https://togithub.com/jshint/jshint/issues/3471)) ([f786002](https://togithub.com/jshint/jshint/commit/f786002))
- TypeError accessing 'value' of undefined ([8884eb9](https://togithub.com/jshint/jshint/commit/8884eb9)), closes [#3455](https://togithub.com/jshint/jshint/issues/3455)
- Use relative paths with `--filename` when recieving from stdin ([c1b5c2b](https://togithub.com/jshint/jshint/commit/c1b5c2b))
##### Features
- Replacing PhantomJS with Puppeteer ([51963a3](https://togithub.com/jshint/jshint/commit/51963a3))
### [`v2.11.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2110-2020-01-13)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.10.3...2.11.0)
This release was previously published using the "release candidate" pattern. No
regressions were reported in the four weeks that followed, so the change set is
being promoted to a true "minor" release.
The release notes for version 2.11.0-rc1 completely describes the changes
included in this version.
### [`v2.10.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2103-2019-11-04)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.10.2...2.10.3)
##### Bug Fixes
- Allow more escapes with RegExp `u` flag ([5ac5c46](https://togithub.com/jshint/jshint/commit/5ac5c46))
- Correct binding power of AwaitExpression ([af04b1e](https://togithub.com/jshint/jshint/commit/af04b1e))
- Correct interpretation of commas ([691dbdc](https://togithub.com/jshint/jshint/commit/691dbdc))
- Correct restrictions on class method names ([f670aeb](https://togithub.com/jshint/jshint/commit/f670aeb))
- Correctly interpret class method names ([82b49c4](https://togithub.com/jshint/jshint/commit/82b49c4))
- Do not crash on invalid program code ([b14acca](https://togithub.com/jshint/jshint/commit/b14acca))
- Interpret "object rest" ident as a binding ([c0e9a5b](https://togithub.com/jshint/jshint/commit/c0e9a5b))
- Relax `singleGroups` for async functions ([c5dcd90](https://togithub.com/jshint/jshint/commit/c5dcd90))
- Tolerate `static` as class method name ([9cb3b20](https://togithub.com/jshint/jshint/commit/9cb3b20))
- Tolerate valid assignments ([0a60c9e](https://togithub.com/jshint/jshint/commit/0a60c9e))
- Validate lone arrow function parameter ([38285cd](https://togithub.com/jshint/jshint/commit/38285cd))
### [`v2.10.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2102-2019-03-13)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.10.1...2.10.2)
##### Bug Fixes
- Allow built-in method names in classes ([b0c224b](https://togithub.com/jshint/jshint/commit/b0c224b))
- Correct parsing of exported async fns ([64b9dce](https://togithub.com/jshint/jshint/commit/64b9dce))
- Correct parsing of RegExp character sets ([668c4a3](https://togithub.com/jshint/jshint/commit/668c4a3))
- Init block bindings in C-style for loop ([404c9a0](https://togithub.com/jshint/jshint/commit/404c9a0))
- Require const intlzr in C-style for loop ([307e9fc](https://togithub.com/jshint/jshint/commit/307e9fc))
- Track FutureReservedWords as idnts in ES5+ ([d697ff4](https://togithub.com/jshint/jshint/commit/d697ff4))
- Warn on reassignment of async functions ([14384d3](https://togithub.com/jshint/jshint/commit/14384d3))
### [`v2.10.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2101-2019-02-05)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.10.0...2.10.1)
##### Bug Fixes
- Do not add cls method names to env. record ([036f085](https://togithub.com/jshint/jshint/commit/036f085))
### [`v2.10.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2100-2019-02-05)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.7...2.10.0)
This release introduces support for the three most recent editions of
JavaScript: ES7, ES8, and ES9. Users can enable support for any one of these
via the `esversion` linting option.
Perhaps most notably, this includes "async functions." Since their
standardization in ES2017, no feature has been more requested. We're happy to
add support for this powerful new language feature. If the delay is any
indication, extending JSHint's parser was no small task, and we were able to
make many seemingly-unrelated corrections along the way.
That progress is easiest to see in JSHint's performance on Test262 (the
official test suite for the JavaScript programming language). Version 2.9.6
passed 84% of those tests. Version 2.10.0 passes 96%. We're excited to push
that number higher, especially considering that new language features and new
tests are being added every day. If you're curious about what needs to be done,
we maintain an "expectations file" describing every test JSHint is known to
fail today.
This release also includes brand-new parsing logic for classes. We thank Ethan
Dorta and Alex Kritchevsky, the two first-time contributors who made this
possible!
##### Bug Fixes
- Accept new RegExp flag introduced by ES6 ([26b9e53](https://togithub.com/jshint/jshint/commit/26b9e53))
- Add global variables introduced in ES2017 ([aded551](https://togithub.com/jshint/jshint/commit/aded551))
- Add globals for EventTarget interface ([b78083a](https://togithub.com/jshint/jshint/commit/b78083a))
- Add globals for WindowOrWorkerGlobalScope ([e0aac94](https://togithub.com/jshint/jshint/commit/e0aac94))
- Allow YieldExpression as computed property ([40dca82](https://togithub.com/jshint/jshint/commit/40dca82))
- Correct implementation of spread/rest ([bd0ae0d](https://togithub.com/jshint/jshint/commit/bd0ae0d))
- Correct invalid function invocation ([cda02ae](https://togithub.com/jshint/jshint/commit/cda02ae))
- Correct parsing of `let` token ([030d6b4](https://togithub.com/jshint/jshint/commit/030d6b4))
- Correct parsing of arrow function ([8fa6e39](https://togithub.com/jshint/jshint/commit/8fa6e39))
- Correct parsing of InExpression ([06f54d0](https://togithub.com/jshint/jshint/commit/06f54d0))
- Disallow dups in non-simple parameter list ([4a5a4a5](https://togithub.com/jshint/jshint/commit/4a5a4a5))
- Disallow fn declarations in stmt positions ([a0e0305](https://togithub.com/jshint/jshint/commit/a0e0305))
- Disallow YieldExpression in gnrtr params ([17ca4e4](https://togithub.com/jshint/jshint/commit/17ca4e4))
- Enforce UniqueFormalParameters for methods ([280d36b](https://togithub.com/jshint/jshint/commit/280d36b))
- Honor `globals` config in JavaScript API ([0278731](https://togithub.com/jshint/jshint/commit/0278731))
- Report invalid syntax as error ([5ca8b1a](https://togithub.com/jshint/jshint/commit/5ca8b1a))
- Update parsing of object "rest" property ([58967ea](https://togithub.com/jshint/jshint/commit/58967ea))
##### Features
- Enable object rest/spread via esversion ([3fc9c19](https://togithub.com/jshint/jshint/commit/3fc9c19))
- Enforce ES2016 restriction on USD ([2c2025b](https://togithub.com/jshint/jshint/commit/2c2025b))
- Implement `noreturnawait` ([70ab03d](https://togithub.com/jshint/jshint/commit/70ab03d))
- Implement `regexpu` option ([962dced](https://togithub.com/jshint/jshint/commit/962dced))
- Implement ES2019 RegExp "dotall" ([457d732](https://togithub.com/jshint/jshint/commit/457d732))
- Implement support for async iteration ([1af5930](https://togithub.com/jshint/jshint/commit/1af5930))
- Implement support for ES8 trailing commas ([29cab1f](https://togithub.com/jshint/jshint/commit/29cab1f))
- Implement support for object spread/rest ([35e1b17](https://togithub.com/jshint/jshint/commit/35e1b17))
- Introduce exponentiation operator ([21b8731](https://togithub.com/jshint/jshint/commit/21b8731))
- Introduce linting option `leanswitch` ([1f008f2](https://togithub.com/jshint/jshint/commit/1f008f2))
- Introduce support for async functions ([bc4ae9f](https://togithub.com/jshint/jshint/commit/bc4ae9f))
#### [2.9.7](https://togithub.com/jshint/jshint/compare/2.9.6...v2.9.7) (2018-12-07)
This release corrects a packaging issue. It is not expected to modify JSHint's behavior.
#### [2.9.6](https://togithub.com/jshint/jshint/compare/2.9.5...v2.9.6) (2018-07-30)
##### Bug Fixes
- Add missing global objects for browser env ([badc7a4](https://togithub.com/jshint/jshint/commit/badc7a4))
- Add other Fetch spec globals ([07bb596](https://togithub.com/jshint/jshint/commit/07bb596)), closes [#2582](https://togithub.com/jshint/jshint/issues/2582)
- Allow closing over immutable bindings ([7091685](https://togithub.com/jshint/jshint/commit/7091685))
- Allow computed method names in obj literal ([a5ff715](https://togithub.com/jshint/jshint/commit/a5ff715))
- Allow empty export and trailing comma ([631327e](https://togithub.com/jshint/jshint/commit/631327e)), closes [#2567](https://togithub.com/jshint/jshint/issues/2567)
- Avoid infinite loop on invalid `for` stmt ([56a4379](https://togithub.com/jshint/jshint/commit/56a4379))
- Consistently ignore dot-prefixed dirs ([8d4317e](https://togithub.com/jshint/jshint/commit/8d4317e))
- Correct impl of built-in bindings ([a11d631](https://togithub.com/jshint/jshint/commit/a11d631))
- Correct interpretation of whitespace ([dd06eea](https://togithub.com/jshint/jshint/commit/dd06eea))
- Correct location of reported error ([1c434a3](https://togithub.com/jshint/jshint/commit/1c434a3))
- Correct location reported for W043 ([1d04868](https://togithub.com/jshint/jshint/commit/1d04868))
- Correct reporting of var name in list comprehensions ([0ff6644](https://togithub.com/jshint/jshint/commit/0ff6644))
- Correct restriction on function name ([55aa54e](https://togithub.com/jshint/jshint/commit/55aa54e))
- Correct spelling of Uint8ClampedArray ([8df4a32](https://togithub.com/jshint/jshint/commit/8df4a32))
- Create block scope for `switch` statements ([aa2be10](https://togithub.com/jshint/jshint/commit/aa2be10))
- Disallow default values in rest parameters ([b420aed](https://togithub.com/jshint/jshint/commit/b420aed))
- Do not create binding for illegal syntax ([9fe8c94](https://togithub.com/jshint/jshint/commit/9fe8c94))
- Do not warn about non-ambiguous linebreaks ([ab3ab85](https://togithub.com/jshint/jshint/commit/ab3ab85))
- Fix "is is" message typos ([7993101](https://togithub.com/jshint/jshint/commit/7993101))
- Preserve functionality in "legacy" Node.js ([2f6ac13](https://togithub.com/jshint/jshint/commit/2f6ac13))
- recognize Jasmine global `spyOnProperty` ([827237f](https://togithub.com/jshint/jshint/commit/827237f)), closes [#3183](https://togithub.com/jshint/jshint/issues/3183)
- Relax restriction on asgnmnt to arguments ([0a66710](https://togithub.com/jshint/jshint/commit/0a66710))
- Remove warning W100 ([ff71d3c](https://togithub.com/jshint/jshint/commit/ff71d3c))
- Report error for duplicate arrow params ([506c7d5](https://togithub.com/jshint/jshint/commit/506c7d5))
- Report error for redeclared generator fns ([8896fa3](https://togithub.com/jshint/jshint/commit/8896fa3))
- Restrict "name" of strict mode functions ([a554c89](https://togithub.com/jshint/jshint/commit/a554c89))
- Restrict `super` usage to valid forms ([8f3f880](https://togithub.com/jshint/jshint/commit/8f3f880))
- Restrict IdentifierNames in ES5 code ([5995a9f](https://togithub.com/jshint/jshint/commit/5995a9f))
- Tolerate division following closing brace ([3aa02db](https://togithub.com/jshint/jshint/commit/3aa02db))
- Tolerate RegExp as `void` operand ([3f920b5](https://togithub.com/jshint/jshint/commit/3f920b5))
- Tolerate whitespace in inline directives ([efeb0f8](https://togithub.com/jshint/jshint/commit/efeb0f8))
##### Features
- List outer scoped variables of W083 ([d03662c](https://togithub.com/jshint/jshint/commit/d03662c)), closes [#3211](https://togithub.com/jshint/jshint/issues/3211)
#### [2.9.5](https://togithub.com/jshint/jshint/compare/2.9.4...v2.9.5) (2017-06-22)
##### Bug Fixes
- Account for hoisting of importing bindings ([bd36953](https://togithub.com/jshint/jshint/commit/bd36953))
- Add onmessage to vars.worker ([540ed85](https://togithub.com/jshint/jshint/commit/540ed85))
- Added missing "Storage" browser variable ([8cfe5ad](https://togithub.com/jshint/jshint/commit/8cfe5ad))
- Avoid crash when peeking past end of prog ([c083866](https://togithub.com/jshint/jshint/commit/c083866))
- Avoid false positive ([44d9e0b](https://togithub.com/jshint/jshint/commit/44d9e0b))
- Close synthetic scope for labeled blocks ([5f0f789](https://togithub.com/jshint/jshint/commit/5f0f789))
- Fail gracefully on invalid `if` syntax ([#3103](https://togithub.com/jshint/jshint/issues/3103)) ([8c6ac87](https://togithub.com/jshint/jshint/commit/8c6ac87))
- Honor "ignore" file when linting STDIN ([d4f83a4](https://togithub.com/jshint/jshint/commit/d4f83a4))
- Parse `for-in/of` head LHS as asnmt target ([da52ad9](https://togithub.com/jshint/jshint/commit/da52ad9))
- Removed warning message W041 ([#3115](https://togithub.com/jshint/jshint/issues/3115)) ([376fa62](https://togithub.com/jshint/jshint/commit/376fa62))
- Throw W033 instead of E058 when the ; after a do-while stmt is missing ([6907cd4](https://togithub.com/jshint/jshint/commit/6907cd4))
##### Features
- Add enforcing option: `trailingcomma` ([#3090](https://togithub.com/jshint/jshint/issues/3090)) ([42dc572](https://togithub.com/jshint/jshint/commit/42dc572))
- Add MediaRecorder to vars.js ([b075919](https://togithub.com/jshint/jshint/commit/b075919))
#### [2.9.4](https://togithub.com/jshint/jshint/compare/2.9.3...v2.9.4) (2016-10-20)
##### Bug Fixes
- Allow RegExp literal as `yield` operand ([#3011](https://togithub.com/jshint/jshint/issues/3011)) ([b646aea](https://togithub.com/jshint/jshint/commit/b646aea))
- Allow W100 to be ignored during lookahead ([a2b3881](https://togithub.com/jshint/jshint/commit/a2b3881)), closes [#3013](https://togithub.com/jshint/jshint/issues/3013)
- Avoid crashing on invalid input ([#3046](https://togithub.com/jshint/jshint/issues/3046)) ([bec152c](https://togithub.com/jshint/jshint/commit/bec152c))
- Correct interpretation of ASI ([#3045](https://togithub.com/jshint/jshint/issues/3045)) ([9803e11](https://togithub.com/jshint/jshint/commit/9803e11))
- Do not duplicate reported warnings/errors ([dc4a4fe](https://togithub.com/jshint/jshint/commit/dc4a4fe))
- Enforce TDZ within initializer of lexical declaration [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2637](https://togithub.com/jshint/jshint/issues/2637)
- Enforce TDZ within class heritage definition [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406))
- Enforce TDZ within for in/of head [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2693](https://togithub.com/jshint/jshint/issues/2693)
- Offset line no.s of errors from eval code ([2a31c94](https://togithub.com/jshint/jshint/commit/2a31c94))
- Remove `null` value from `errors` array ([#3049](https://togithub.com/jshint/jshint/issues/3049)) ([f7eb3d7](https://togithub.com/jshint/jshint/commit/f7eb3d7))
- Report error for offending token value ([3b06d01](https://togithub.com/jshint/jshint/commit/3b06d01))
#### [2.9.3](https://togithub.com/jshint/jshint/compare/2.9.2...v2.9.3) (2016-08-18)
##### Bug Fixes
- Add TypedArray globals for ES2015 ([ee0acab](https://togithub.com/jshint/jshint/commit/ee0acab))
- Allow Expression within for-in head ([56c95d0](https://togithub.com/jshint/jshint/commit/56c95d0))
- Avoid crash when peeking past end of prog ([#2937](https://togithub.com/jshint/jshint/issues/2937)) ([330d429](https://togithub.com/jshint/jshint/commit/330d429))
- Correct behavior of singleGroups ([#2951](https://togithub.com/jshint/jshint/issues/2951)) ([97fefb7](https://togithub.com/jshint/jshint/commit/97fefb7))
- Correct interpretation of ASI ([#2977](https://togithub.com/jshint/jshint/issues/2977)) ([3ef7a03](https://togithub.com/jshint/jshint/commit/3ef7a03))
- Correctly recognize asi after directives ([039ee2e](https://togithub.com/jshint/jshint/commit/039ee2e)), closes [#2714](https://togithub.com/jshint/jshint/issues/2714)
- Disallow Import declarations below top lvl ([d800e44](https://togithub.com/jshint/jshint/commit/d800e44))
- Support `y` RegExp flag in ES2015 code ([#2999](https://togithub.com/jshint/jshint/issues/2999)) ([a801433](https://togithub.com/jshint/jshint/commit/a801433))
- Support semicolons within arrow fn params ([#3003](https://togithub.com/jshint/jshint/issues/3003)) ([179a9d6](https://togithub.com/jshint/jshint/commit/179a9d6))
##### Features
- Error for literals on rhs of `instanceof` ([e3e745b](https://togithub.com/jshint/jshint/commit/e3e745b)), closes [#2777](https://togithub.com/jshint/jshint/issues/2777)
#### [2.9.2](https://togithub.com/jshint/jshint/compare/2.9.1...v2.9.2) (2016-04-19)
This release contains a number of bug fixes. As always, we thank everyone who
reported issues and submitted patches; those contributions are essential to the
continuing improvement of the project. We hope you'll keep it up!
##### Bug Fixes
- (cli - extract) lines can end with "\r\n", not "\n\r" ([93818f3](https://togithub.com/jshint/jshint/commit/93818f3)), closes [#2825](https://togithub.com/jshint/jshint/issues/2825)
- Account for implied closures ([c3b4d63](https://togithub.com/jshint/jshint/commit/c3b4d63))
- Add CompositionEvent to browser globals ([56515cf](https://togithub.com/jshint/jshint/commit/56515cf))
- Allow destructuring in setter parameter ([97d0ac1](https://togithub.com/jshint/jshint/commit/97d0ac1))
- Allow parentheses around object destructuring assignment. ([7a0bd70](https://togithub.com/jshint/jshint/commit/7a0bd70)), closes [#2775](https://togithub.com/jshint/jshint/issues/2775)
- Allow regex inside template literal ([5dd9c90](https://togithub.com/jshint/jshint/commit/5dd9c90)), closes [#2791](https://togithub.com/jshint/jshint/issues/2791)
- Allow regexp literal after 'instanceof' ([caa30e6](https://togithub.com/jshint/jshint/commit/caa30e6)), closes [#2773](https://togithub.com/jshint/jshint/issues/2773)
- Correct CLI's indentation offset logic ([47daf76](https://togithub.com/jshint/jshint/commit/47daf76)), closes [#2778](https://togithub.com/jshint/jshint/issues/2778)
- Do not crash on invalid input ([2e0026f](https://togithub.com/jshint/jshint/commit/2e0026f))
- Do not fail on valid configurations ([2fb3c24](https://togithub.com/jshint/jshint/commit/2fb3c24))
- Don't throw E056 for vars used in two functions ([fd91d4a](https://togithub.com/jshint/jshint/commit/fd91d4a)), closes [#2838](https://togithub.com/jshint/jshint/issues/2838)
- Emit correct token value from "module" API ([4a43fb9](https://togithub.com/jshint/jshint/commit/4a43fb9))
- Expand forms accepted in dstr. assignment ([8bbd537](https://togithub.com/jshint/jshint/commit/8bbd537))
- Improve binding power for tagged templates ([9cf2ff0](https://togithub.com/jshint/jshint/commit/9cf2ff0))
- Improve reporting of "Bad assignment." ([08df19e](https://togithub.com/jshint/jshint/commit/08df19e))
- Make the 'freeze' option less strict ([b76447c](https://togithub.com/jshint/jshint/commit/b76447c)), closes [#1600](https://togithub.com/jshint/jshint/issues/1600)
- Report "Bad assignment." in destructuring ([fe559ed](https://togithub.com/jshint/jshint/commit/fe559ed))
- Report character position for camelcase errors ([480252a](https://togithub.com/jshint/jshint/commit/480252a)), closes [#2845](https://togithub.com/jshint/jshint/issues/2845)
- Reserve `await` keyword in ES6 module code ([b1c8d5b](https://togithub.com/jshint/jshint/commit/b1c8d5b))
#### [2.9.1](https://togithub.com/jshint/jshint/compare/2.9.1-rc3...v2.9.1) (2016-01-14)
Following the revocation of version 2.9.0, we observed an extended "release
candidate" phase where we encouraged users to vet JSHint for undesirable
changes in behavior. During that time, we identified and resolved a number of
such regressions. This release comprises all changes from the release candidate
phase along with the improvements initially released as version 2.9.0. This
release does not itself contain any changes to the codebase. If you are
upgrading from version 2.8.0 or earlier, please refer to the
previously-published release notes for details on bug fixes and features--these
can be found in the project's `CHANGELOG.md` file and on the project's website.
#### [2.9.1-rc3](https://togithub.com/jshint/jshint/compare/2.9.1-rc2...v2.9.1-rc3) (2016-01-12)
##### Bug Fixes
- Do not require global USD for any envs ([3fa9ece](https://togithub.com/jshint/jshint/commit/3fa9ece))
#### [2.9.1-rc2](https://togithub.com/jshint/jshint/compare/2.9.1-rc1...v2.9.1-rc2) (2015-12-22)
##### Bug Fixes
- Abort in the presence of invalid config ([767c47d](https://togithub.com/jshint/jshint/commit/767c47d))
- Allow ignoring W020 and W021 ([46db923](https://togithub.com/jshint/jshint/commit/46db923)), closes [#2761](https://togithub.com/jshint/jshint/issues/2761)
- Correct `unused` for function-scoped vars ([91fa9fc](https://togithub.com/jshint/jshint/commit/91fa9fc))
- Disallow ambiguous configuration values ([eb54a4c](https://togithub.com/jshint/jshint/commit/eb54a4c))
- Do not disable ES6 when `moz` is set ([97dfd90](https://togithub.com/jshint/jshint/commit/97dfd90))
- Don't throw '(NaN% scanned)' ([903b698](https://togithub.com/jshint/jshint/commit/903b698))
#### [2.9.1-rc1](https://togithub.com/jshint/jshint/compare/2.9.0...v2.9.1-rc1) (2015-11-12)
Version 2.9.0 was revoked shortly after its release due to a number of
regressions. Although the underlying issues have been resolved, we are
sensitive to the possibility that there may be still more; as mentioned in
2.9.0's release notes, the variable tracking system saw a significant
refactoring.
In an effort to minimize friction with a new version, we're publishing a
release candidate and requesting feedback from early adopters. Please give it a
try in your projects and let us know about any surprising behavior!
##### Bug Fixes
- `latedef` shouldn't warn when marking a var as exported ([c630994](https://togithub.com/jshint/jshint/commit/c630994)), closes [#2662](https://togithub.com/jshint/jshint/issues/2662)
- Add `File` and `FileList` to browser global variables ([7f2a729](https://togithub.com/jshint/jshint/commit/7f2a729)), closes [#2690](https://togithub.com/jshint/jshint/issues/2690)
- Allow comments and new lines after /\* falls through \*/ ([3b1c925](https://togithub.com/jshint/jshint/commit/3b1c925)), closes [#2652](https://togithub.com/jshint/jshint/issues/2652) [#1660](https://togithub.com/jshint/jshint/issues/1660)
- Allow let and const to be in a block outside of a block ([84a9145](https://togithub.com/jshint/jshint/commit/84a9145)), closes [#2685](https://togithub.com/jshint/jshint/issues/2685)
- Always warn about missing "use strict" directive ([e85c2a1](https://togithub.com/jshint/jshint/commit/e85c2a1)), closes [#2668](https://togithub.com/jshint/jshint/issues/2668)
- Disallow incompatible option values ([72ba5ad](https://togithub.com/jshint/jshint/commit/72ba5ad))
- Do not enable `newcap` within strict mode ([acaf3f7](https://togithub.com/jshint/jshint/commit/acaf3f7))
- Don't throw W080 when the initializer starts with `undefined` ([0d87919](https://togithub.com/jshint/jshint/commit/0d87919)), closes [#2699](https://togithub.com/jshint/jshint/issues/2699)
- Don't warn that an exported function is used before it is defined. ([d0433d2](https://togithub.com/jshint/jshint/commit/d0433d2)), closes [#2658](https://togithub.com/jshint/jshint/issues/2658)
- Enforce Identifier restrictions lazily ([ceca549](https://togithub.com/jshint/jshint/commit/ceca549))
- Global "use strict" regressions ([04b43d2](https://togithub.com/jshint/jshint/commit/04b43d2)), closes [#2657](https://togithub.com/jshint/jshint/issues/2657) [#2661](https://togithub.com/jshint/jshint/issues/2661)
- Support property assignment when destructure assigning ([b6df1f2](https://togithub.com/jshint/jshint/commit/b6df1f2)), closes [#2659](https://togithub.com/jshint/jshint/issues/2659) [#2660](https://togithub.com/jshint/jshint/issues/2660)
- Throw W119 instead of "Unexpected '\`'" when using templates in ES5 mode. ([87064e8](https://togithub.com/jshint/jshint/commit/87064e8))
##### Features
- Support QUnit's global notOk ([73ac9b8](https://togithub.com/jshint/jshint/commit/73ac9b8))
### [`v2.9.7`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#297-2018-12-07)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.6...2.9.7)
This release corrects a packaging issue. It is not expected to modify JSHint's behavior.
### [`v2.9.6`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#296-2018-07-30)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.5...2.9.6)
##### Bug Fixes
- Add missing global objects for browser env ([badc7a4](https://togithub.com/jshint/jshint/commit/badc7a4))
- Add other Fetch spec globals ([07bb596](https://togithub.com/jshint/jshint/commit/07bb596)), closes [#2582](https://togithub.com/jshint/jshint/issues/2582)
- Allow closing over immutable bindings ([7091685](https://togithub.com/jshint/jshint/commit/7091685))
- Allow computed method names in obj literal ([a5ff715](https://togithub.com/jshint/jshint/commit/a5ff715))
- Allow empty export and trailing comma ([631327e](https://togithub.com/jshint/jshint/commit/631327e)), closes [#2567](https://togithub.com/jshint/jshint/issues/2567)
- Avoid infinite loop on invalid `for` stmt ([56a4379](https://togithub.com/jshint/jshint/commit/56a4379))
- Consistently ignore dot-prefixed dirs ([8d4317e](https://togithub.com/jshint/jshint/commit/8d4317e))
- Correct impl of built-in bindings ([a11d631](https://togithub.com/jshint/jshint/commit/a11d631))
- Correct interpretation of whitespace ([dd06eea](https://togithub.com/jshint/jshint/commit/dd06eea))
- Correct location of reported error ([1c434a3](https://togithub.com/jshint/jshint/commit/1c434a3))
- Correct location reported for W043 ([1d04868](https://togithub.com/jshint/jshint/commit/1d04868))
- Correct reporting of var name in list comprehensions ([0ff6644](https://togithub.com/jshint/jshint/commit/0ff6644))
- Correct restriction on function name ([55aa54e](https://togithub.com/jshint/jshint/commit/55aa54e))
- Correct spelling of Uint8ClampedArray ([8df4a32](https://togithub.com/jshint/jshint/commit/8df4a32))
- Create block scope for `switch` statements ([aa2be10](https://togithub.com/jshint/jshint/commit/aa2be10))
- Disallow default values in rest parameters ([b420aed](https://togithub.com/jshint/jshint/commit/b420aed))
- Do not create binding for illegal syntax ([9fe8c94](https://togithub.com/jshint/jshint/commit/9fe8c94))
- Do not warn about non-ambiguous linebreaks ([ab3ab85](https://togithub.com/jshint/jshint/commit/ab3ab85))
- Fix "is is" message typos ([7993101](https://togithub.com/jshint/jshint/commit/7993101))
- Preserve functionality in "legacy" Node.js ([2f6ac13](https://togithub.com/jshint/jshint/commit/2f6ac13))
- recognize Jasmine global `spyOnProperty` ([827237f](https://togithub.com/jshint/jshint/commit/827237f)), closes [#3183](https://togithub.com/jshint/jshint/issues/3183)
- Relax restriction on asgnmnt to arguments ([0a66710](https://togithub.com/jshint/jshint/commit/0a66710))
- Remove warning W100 ([ff71d3c](https://togithub.com/jshint/jshint/commit/ff71d3c))
- Report error for duplicate arrow params ([506c7d5](https://togithub.com/jshint/jshint/commit/506c7d5))
- Report error for redeclared generator fns ([8896fa3](https://togithub.com/jshint/jshint/commit/8896fa3))
- Restrict "name" of strict mode functions ([a554c89](https://togithub.com/jshint/jshint/commit/a554c89))
- Restrict `super` usage to valid forms ([8f3f880](https://togithub.com/jshint/jshint/commit/8f3f880))
- Restrict IdentifierNames in ES5 code ([5995a9f](https://togithub.com/jshint/jshint/commit/5995a9f))
- Tolerate division following closing brace ([3aa02db](https://togithub.com/jshint/jshint/commit/3aa02db))
- Tolerate RegExp as `void` operand ([3f920b5](https://togithub.com/jshint/jshint/commit/3f920b5))
- Tolerate whitespace in inline directives ([efeb0f8](https://togithub.com/jshint/jshint/commit/efeb0f8))
##### Features
- List outer scoped variables of W083 ([d03662c](https://togithub.com/jshint/jshint/commit/d03662c)), closes [#3211](https://togithub.com/jshint/jshint/issues/3211)
### [`v2.9.5`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#295-2017-06-22)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.4...2.9.5)
##### Bug Fixes
- Account for hoisting of importing bindings ([bd36953](https://togithub.com/jshint/jshint/commit/bd36953))
- Add onmessage to vars.worker ([540ed85](https://togithub.com/jshint/jshint/commit/540ed85))
- Added missing "Storage" browser variable ([8cfe5ad](https://togithub.com/jshint/jshint/commit/8cfe5ad))
- Avoid crash when peeking past end of prog ([c083866](https://togithub.com/jshint/jshint/commit/c083866))
- Avoid false positive ([44d9e0b](https://togithub.com/jshint/jshint/commit/44d9e0b))
- Close synthetic scope for labeled blocks ([5f0f789](https://togithub.com/jshint/jshint/commit/5f0f789))
- Fail gracefully on invalid `if` syntax ([#3103](https://togithub.com/jshint/jshint/issues/3103)) ([8c6ac87](https://togithub.com/jshint/jshint/commit/8c6ac87))
- Honor "ignore" file when linting STDIN ([d4f83a4](https://togithub.com/jshint/jshint/commit/d4f83a4))
- Parse `for-in/of` head LHS as asnmt target ([da52ad9](https://togithub.com/jshint/jshint/commit/da52ad9))
- Removed warning message W041 ([#3115](https://togithub.com/jshint/jshint/issues/3115)) ([376fa62](https://togithub.com/jshint/jshint/commit/376fa62))
- Throw W033 instead of E058 when the ; after a do-while stmt is missing ([6907cd4](https://togithub.com/jshint/jshint/commit/6907cd4))
##### Features
- Add enforcing option: `trailingcomma` ([#3090](https://togithub.com/jshint/jshint/issues/3090)) ([42dc572](https://togithub.com/jshint/jshint/commit/42dc572))
- Add MediaRecorder to vars.js ([b075919](https://togithub.com/jshint/jshint/commit/b075919))
### [`v2.9.4`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#294-2016-10-20)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.3...2.9.4)
##### Bug Fixes
- Allow RegExp literal as `yield` operand ([#3011](https://togithub.com/jshint/jshint/issues/3011)) ([b646aea](https://togithub.com/jshint/jshint/commit/b646aea))
- Allow W100 to be ignored during lookahead ([a2b3881](https://togithub.com/jshint/jshint/commit/a2b3881)), closes [#3013](https://togithub.com/jshint/jshint/issues/3013)
- Avoid crashing on invalid input ([#3046](https://togithub.com/jshint/jshint/issues/3046)) ([bec152c](https://togithub.com/jshint/jshint/commit/bec152c))
- Correct interpretation of ASI ([#3045](https://togithub.com/jshint/jshint/issues/3045)) ([9803e11](https://togithub.com/jshint/jshint/commit/9803e11))
- Do not duplicate reported warnings/errors ([dc4a4fe](https://togithub.com/jshint/jshint/commit/dc4a4fe))
- Enforce TDZ within initializer of lexical declaration [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2637](https://togithub.com/jshint/jshint/issues/2637)
- Enforce TDZ within class heritage definition [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406))
- Enforce TDZ within for in/of head [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2693](https://togithub.com/jshint/jshint/issues/2693)
- Offset line no.s of errors from eval code ([2a31c94](https://togithub.com/jshint/jshint/commit/2a31c94))
- Remove `null` value from `errors` array ([#3049](https://togithub.com/jshint/jshint/issues/3049)) ([f7eb3d7](https://togithub.com/jshint/jshint/commit/f7eb3d7))
- Report error for offending token value ([3b06d01](https://togithub.com/jshint/jshint/commit/3b06d01))
### [`v2.9.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#293-2016-08-18)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.2...2.9.3)
##### Bug Fixes
- Add TypedArray globals for ES2015 ([ee0acab](https://togithub.com/jshint/jshint/commit/ee0acab))
- Allow Expression within for-in head ([56c95d0](https://togithub.com/jshint/jshint/commit/56c95d0))
- Avoid crash when peeking past end of prog ([#2937](https://togithub.com/jshint/jshint/issues/2937)) ([330d429](https://togithub.com/jshint/jshint/commit/330d429))
- Correct behavior of singleGroups ([#2951](https://togithub.com/jshint/jshint/issues/2951)) ([97fefb7](https://togithub.com/jshint/jshint/commit/97fefb7))
- Correct interpretation of ASI ([#2977](https://togithub.com/jshint/jshint/issues/2977)) ([3ef7a03](https://togithub.com/jshint/jshint/commit/3ef7a03))
- Correctly recognize asi after directives ([039ee2e](https://togithub.com/jshint/jshint/commit/039ee2e)), closes [#2714](https://togithub.com/jshint/jshint/issues/2714)
- Disallow Import declarations below top lvl ([d800e44](https://togithub.com/jshint/jshint/commit/d800e44))
- Support `y` RegExp flag in ES2015 code ([#2999](https://togithub.com/jshint/jshint/issues/2999)) ([a801433](https://togithub.com/jshint/jshint/commit/a801433))
- Support semicolons within arrow fn params ([#3003](https://togithub.com/jshint/jshint/issues/3003)) ([179a9d6](https://togithub.com/jshint/jshint/commit/179a9d6))
##### Features
- Error for literals on rhs of `instanceof` ([e3e745b](https://togithub.com/jshint/jshint/commit/e3e745b)), closes [#2777](https://togithub.com/jshint/jshint/issues/2777)
### [`v2.9.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#292-2016-04-19)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.9.1...2.9.2)
This release contains a number of bug fixes. As always, we thank everyone who
reported issues and submitted patches; those contributions are essential to the
continuing improvement of the project. We hope you'll keep it up!
##### Bug Fixes
- (cli - extract) lines can end with "\r\n", not "\n\r" ([93818f3](https://togithub.com/jshint/jshint/commit/93818f3)), closes [#2825](https://togithub.com/jshint/jshint/issues/2825)
- Account for implied closures ([c3b4d63](https://togithub.com/jshint/jshint/commit/c3b4d63))
- Add CompositionEvent to browser globals ([56515cf](https://togithub.com/jshint/jshint/commit/56515cf))
- Allow destructuring in setter parameter ([97d0ac1](https://togithub.com/jshint/jshint/commit/97d0ac1))
- Allow parentheses around object destructuring assignment. ([7a0bd70](https://togithub.com/jshint/jshint/commit/7a0bd70)), closes [#2775](https://togithub.com/jshint/jshint/issues/2775)
- Allow regex inside template literal ([5dd9c90](https://togithub.com/jshint/jshint/commit/5dd9c90)), closes [#2791](https://togithub.com/jshint/jshint/issues/2791)
- Allow regexp literal after 'instanceof' ([caa30e6](https://togithub.com/jshint/jshint/commit/caa30e6)), closes [#2773](https://togithub.com/jshint/jshint/issues/2773)
- Correct CLI's indentation offset logic ([47daf76](https://togithub.com/jshint/jshint/commit/47daf76)), closes [#2778](https://togithub.com/jshint/jshint/issues/2778)
- Do not crash on invalid input ([2e0026f](https://togithub.com/jshint/jshint/commit/2e0026f))
- Do not fail on valid configurations ([2fb3c24](https://togithub.com/jshint/jshint/commit/2fb3c24))
- Don't throw E056 for vars used in two functions ([fd91d4a](https://togithub.com/jshint/jshint/commit/fd91d4a)), closes [#2838](https://togithub.com/jshint/jshint/issues/2838)
- Emit correct token value from "module" API ([4a43fb9](https://togithub.com/jshint/jshint/commit/4a43fb9))
- Expand forms accepted in dstr. assignment ([8bbd537](https://togithub.com/jshint/jshint/commit/8bbd537))
- Improve binding power for tagged templates ([9cf2ff0](https://togithub.com/jshint/jshint/commit/9cf2ff0))
- Improve reporting of "Bad assignment." ([08df19e](https://togithub.com/jshint/jshint/commit/08df19e))
- Make the 'freeze' option less strict ([b76447c](https://togithub.com/jshint/jshint/commit/b76447c)), closes [#1600](https://togithub.com/jshint/jshint/issues/1600)
- Report "Bad assignment." in destructuring ([fe559ed](https://togithub.com/jshint/jshint/commit/fe559ed))
- Report character position for camelcase errors ([480252a](https://togithub.com/jshint/jshint/commit/480252a)), closes [#2845](https://togithub.com/jshint/jshint/issues/2845)
- Reserve `await` keyword in ES6 module code ([b1c8d5b](https://togithub.com/jshint/jshint/commit/b1c8d5b))
### [`v2.9.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#291-2016-01-14)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.8.0...2.9.1)
Following the revocation of version 2.9.0, we observed an extended "release
candidate" phase where we encouraged users to vet JSHint for undesirable
changes in behavior. During that time, we identified and resolved a number of
such regressions. This release comprises all changes from the release candidate
phase along with the improvements initially released as version 2.9.0. This
release does not itself contain any changes to the codebase. If you are
upgrading from version 2.8.0 or earlier, please refer to the
previously-published release notes for details on bug fixes and features--these
can be found in the project's `CHANGELOG.md` file and on the project's website.
### [`v2.8.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#280-2015-05-31)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.7.0...2.8.0)
##### Bug Fixes
- add the "fetch" global for "browser" environment ([b3b41c8](https://togithub.com/jshint/jshint/commit/b3b41c8)), closes [#2355](https://togithub.com/jshint/jshint/issues/2355)
- Allow lexer to communicate completion ([a093f78](https://togithub.com/jshint/jshint/commit/a093f78))
- Distinguish between directive and mode ([51059bd](https://togithub.com/jshint/jshint/commit/51059bd))
- Don't throw "Duplicate class method" with computed method names ([ab12dfb](https://togithub.com/jshint/jshint/commit/ab12dfb)), closes [#2350](https://togithub.com/jshint/jshint/issues/2350)
- Ignore unused arrow-function parameters if unused: vars ([2ea9cb0](https://togithub.com/jshint/jshint/commit/2ea9cb0)), closes [#2345](https://togithub.com/jshint/jshint/issues/2345)
- Move helper methods to `state` object ([678da76](https://togithub.com/jshint/jshint/commit/678da76))
- parse `const` declarations in ForIn/Of loops ([2b673d9](https://togithub.com/jshint/jshint/commit/2b673d9)), closes [#2334](https://togithub.com/jshint/jshint/issues/2334) [#2335](https://togithub.com/jshint/jshint/issues/2335)
- Parse semicolons in class bodies ([58c8e64](https://togithub.com/jshint/jshint/commit/58c8e64))
- Prevent regression in `enforceall` ([6afcde4](https://togithub.com/jshint/jshint/commit/6afcde4))
- Relax singleGroups restrictions: arrow fns ([4a4f522](https://togithub.com/jshint/jshint/commit/4a4f522))
- Relax singleGroups restrictions: IIFEs ([9f55160](https://togithub.com/jshint/jshint/commit/9f55160))
- Reset generator flag for each method definition ([2444a04](https://togithub.com/jshint/jshint/commit/2444a04)), closes [#2388](https://togithub.com/jshint/jshint/issues/2388) [#2389](https://togithub.com/jshint/jshint/issues/2389)
##### Features
- Implement `module` option ([290280c](https://togithub.com/jshint/jshint/commit/290280c))
- support destructuring in ForIn/Of loops, lint bad ForIn/Of LHS ([c0edd9f](https://togithub.com/jshint/jshint/commit/c0edd9f)), closes [#2341](https://togithub.com/jshint/jshint/issues/2341)
### [`v2.7.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#270-2015-04-10)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.6.3...2.7.0)
##### Bug Fixes
- Accept `get` and `set` as ID properties ([2ad235c](https://togithub.com/jshint/jshint/commit/2ad235c))
- allow trailing comma in ArrayBindingPattern ([3477933](https://togithub.com/jshint/jshint/commit/3477933)), closes [#2222](https://togithub.com/jshint/jshint/issues/2222)
- allow typeof symbol === "symbol" ([7f7aac2](https://togithub.com/jshint/jshint/commit/7f7aac2)), closes [#2241](https://togithub.com/jshint/jshint/issues/2241) [#2242](https://togithub.com/jshint/jshint/issues/2242)
- Correctly enforce maxparams:0 ([011364e](https://togithub.com/jshint/jshint/commit/011364e))
- default to empty string in src/cli.js loadIgnores ([0eeba14](https://togithub.com/jshint/jshint/commit/0eeba14))
- disallow 'lone' rest operator in identifier() ([dd08f85](https://togithub.com/jshint/jshint/commit/dd08f85)), closes [#2222](https://togithub.com/jshint/jshint/issues/2222)
- emit I003 more carefully and less annoyingly ([757fb73](https://togithub.com/jshint/jshint/commit/757fb73)), closes [#2251](https://togithub.com/jshint/jshint/issues/2251)
- export all names for var/let/const declarations ([3ce1267](https://togithub.com/jshint/jshint/commit/3ce1267)), closes [#2248](https://togithub.com/jshint/jshint/issues/2248) [#2253](https://togithub.com/jshint/jshint/issues/2253) [#2252](https://togithub.com/jshint/jshint/issues/2252)
- Incorrect 'Unclosed string' when the closing quote is the first character after a newline ([b804e65](https://togithub.com/jshint/jshint/commit/b804e65)), closes [#1532](https://togithub.com/jshint/jshint/issues/1532) [#1532](https://togithub.com/jshint/jshint/issues/1532) [#1319](https://togithub.com/jshint/jshint/issues/1319)
- predefine HTMLTemplateElement in browser ([231557a](https://togithub.com/jshint/jshint/commit/231557a)), closes [#2246](https://togithub.com/jshint/jshint/issues/2246)
- Prevent incorrect warnings for relations ([64f85f3](https://togithub.com/jshint/jshint/commit/64f85f3))
- Relax restrictions on `singleGroups` ([896bf82](https://togithub.com/jshint/jshint/commit/896bf82))
- templates are operands, not operators ([162dee6](https://togithub.com/jshint/jshint/commit/162dee6)), closes [#2223](https://togithub.com/jshint/jshint/issues/2223) [#2224](https://togithub.com/jshint/jshint/issues/2224)
##### Features
- add `varstmt` enforcement option to disallow use of VariableStatements ([59396f7](https://togithub.com/jshint/jshint/commit/59396f7)), closes [#1549](https://togithub.com/jshint/jshint/issues/1549)
#### [2.6.3](https://togithub.com/jshint/jshint/compare/2.6.2...2.6.3) (2015-02-28)
##### Bug Fixes
- parse trailing comma in ObjectBindingPattern ([7a2b713](https://togithub.com/jshint/jshint/commit/7a2b713)), closes [#2220](https://togithub.com/jshint/jshint/issues/2220)
#### [2.6.2](https://togithub.com/jshint/jshint/compare/2.6.1...2.6.2) (2015-02-28)
##### Bug Fixes
- Disable `futurehostile` option by default ([3cbd41f](https://togithub.com/jshint/jshint/commit/3cbd41f))
- Make let variables in the closure shadow predefs ([cfd2e0b](https://togithub.com/jshint/jshint/commit/cfd2e0b))
#### [2.6.1](https://togithub.com/jshint/jshint/compare/2.6.0...2.6.1) (2015-02-27)
##### Bug Fixes
- Allow object-literals within template strings ([4f08b74](https://togithub.com/jshint/jshint/commit/4f08b74)), closes [#2082](https://togithub.com/jshint/jshint/issues/2082)
- Correct behavior of `singleGroups` ([6003c83](https://togithub.com/jshint/jshint/commit/6003c83))
- Correct token reported by `singleGroups` ([bc857f3](https://togithub.com/jshint/jshint/commit/bc857f3))
- Disambiguate argument ([d75ef69](https://togithub.com/jshint/jshint/commit/d75ef69))
- Do not crash on improper use of `delete` ([35df49f](https://togithub.com/jshint/jshint/commit/35df49f))
- ES6 modules respect undef and unused ([438d928](https://togithub.com/jshint/jshint/commit/438d928))
- Fix false positives in 'nocomma' option ([33612f8](https://togithub.com/jshint/jshint/commit/33612f8))
- Handle multi-line tokens after return or yield ([5c9c7fd](https://togithub.com/jshint/jshint/commit/5c9c7fd)), closes [#1814](https://togithub.com/jshint/jshint/issues/1814) [#2142](https://togithub.com/jshint/jshint/issues/2142)
- Miss xdescribe/xit/context/xcontext in mocha ([8fe6610](https://togithub.com/jshint/jshint/commit/8fe6610))
- Parse nested templates ([3da1eaf](https://togithub.com/jshint/jshint/commit/3da1eaf)), closes [#2151](https://togithub.com/jshint/jshint/issues/2151) [#2152](https://togithub.com/jshint/jshint/issues/2152)
- Permit "eval" as object key ([b5f5d5d](https://togithub.com/jshint/jshint/commit/b5f5d5d))
- Prevent beginning array from being confused for JSON ([813d97a](https://togithub.com/jshint/jshint/commit/813d97a))
- Refactor `doFunction` ([06b5d40](https://togithub.com/jshint/jshint/commit/06b5d40))
- Remove quotmark linting for NoSubstTemplates ([7e80490](https://togithub.com/jshint/jshint/commit/7e80490))
- Remove tautological condition ([f0bff58](https://togithub.com/jshint/jshint/commit/f0bff58))
- remove unused var ([e69acfe](https://togithub.com/jshint/jshint/commit/e69acfe)), closes [#2156](https://togithub.com/jshint/jshint/issues/2156)
- Simulate class scope for class expr names ([ac98a24](https://togithub.com/jshint/jshint/commit/ac98a24))
- Support more cases of ES6 module usage ([776ed69](https://togithub.com/jshint/jshint/commit/776ed69)), closes [#2118](https://togithub.com/jshint/jshint/issues/2118) [#2143](https://togithub.com/jshint/jshint/issues/2143)
- Templates can not be directives ([20ff670](https://togithub.com/jshint/jshint/commit/20ff670))
- Unfollowable path in lexer. ([065961a](https://togithub.com/jshint/jshint/commit/065961a))
##### Features
- Implement new option `futurehostile` ([da52aa0](https://togithub.com/jshint/jshint/commit/da52aa0))
- parse and lint tagged template literals ([4816dbd](https://togithub.com/jshint/jshint/commit/4816dbd)), closes [#2000](https://togithub.com/jshint/jshint/issues/2000)
### [`v2.6.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#263-2015-02-28)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.6.2...2.6.3)
##### Bug Fixes
- parse trailing comma in ObjectBindingPattern ([7a2b713](https://togithub.com/jshint/jshint/commit/7a2b713)), closes [#2220](https://togithub.com/jshint/jshint/issues/2220)
### [`v2.6.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#262-2015-02-28)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.6.1...2.6.2)
##### Bug Fixes
- Disable `futurehostile` option by default ([3cbd41f](https://togithub.com/jshint/jshint/commit/3cbd41f))
- Make let variables in the closure shadow predefs ([cfd2e0b](https://togithub.com/jshint/jshint/commit/cfd2e0b))
### [`v2.6.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#261-2015-02-27)
[Compare Source](https://togithub.com/jshint/jshint/compare/2.6.0...2.6.1)
##### Bug Fixes
- Allow object-literals within template strings ([4f08b74](https://togithub.com/jshint/jshint/commit/4f08b74)), closes [#2082](https://togithub.com/jshint/jshint/issues/2082)
- Correct behavior of `singleGroups` ([6003c83](https://togithub.com/jshint/jshint/commit/6003c83))
- Correct token reported by `singleGroups` ([bc857f3](https://togithub.com/jshint/jshint/commit/bc857f3))
- Disambiguate argument ([d75ef69](https://togithub.com/jshint/jshint/commit/d75ef69))
- Do not crash on improper use of `delete` ([35df49f](https://togithub.com/jshint/jshint/commit/35df49f))
- ES6 modules respect undef and unused ([438d928](https://togithub.com/jshint/jshint/commit/438d928))
- Fix false positives in 'nocomma' option ([33612f8](https://togithub.com/jshint/jshint/commit/33612f8))
- Handle multi-line tokens after return or yield ([5c9c7fd](https://togithub.com/jshint/jshint/commit/5c9c7fd)), closes [#1814](https://togithub.com/jshint/jshint/issues/1814) [#2142](https://togithub.com/jshint/jshint/issues/2142)
- Miss xdescribe/xit/context/xcontext in mocha ([8fe6610](https://togithub.com/jshint/jshint/commit/8fe6610))
- Parse nested templates ([3da1eaf](https://togithub.com/jshint/jshint/commit/3da1eaf)), closes [#2151](https://togithub.com/jshint/jshint/issues/2151) [#2152](https://togithub.com/jshint/jshint/issues/2152)
- Permit "eval" as object key ([b5f5d5d](https://togithub.com/jshint/jshint/commit/b5f5d5d))
- Prevent beginning array from being confused for JSON ([813d97a](https://togithub.com/jshint/jshint/commit/813d97a))
- Refactor `doFunction` ([06b5d40](https://togithub.com/jshint/jshint/commit/06b5d40))
- Remove quotmark linting for NoSubstTemplates ([7e80490](https://togithub.com/jshint/jshint/commit/7e80490))
- Remove tautological condition ([f0bff58](https://togithub.com/jshint/jshint/commit/f0bff58))
- remove unused var ([e69acfe](https://togithub.com/jshint/jshint/commit/e69acfe)), closes [#2156](https://togithub.com/jshint/jshint/issues/2156)
- Simulate class scope for class expr names ([ac98a24](https://togithub.com/jshint/jshint/commit/ac98a24))
- Support more cases of ES6 module usage ([776ed69](https://togithub.com/jshint/jshint/commit/776ed69)), closes [#2118](https://
This PR contains the following updates:
^2.5.10
->^2.13.4
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
jshint/jshint (jshint)
### [`v2.13.4`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2134-2022-01-24) [Compare Source](https://togithub.com/jshint/jshint/compare/2.13.3...2.13.4) ##### Bug Fixes - Remove shelljs ([eb4609a](https://togithub.com/jshint/jshint/commit/eb4609a)) ### [`v2.13.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2133-2022-01-05) [Compare Source](https://togithub.com/jshint/jshint/compare/2.13.2...2.13.3) ##### Bug Fixes - Recognize ES2020 globals ([b1426f1](https://togithub.com/jshint/jshint/commit/b1426f1)) ### [`v2.13.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2132-2021-12-27) [Compare Source](https://togithub.com/jshint/jshint/compare/2.13.1...2.13.2) ##### Bug Fixes - Add missing well-known globals ([#3582](https://togithub.com/jshint/jshint/issues/3582)) ([cc1adf6](https://togithub.com/jshint/jshint/commit/cc1adf6)) - add URL for node in src/vars.js ([#3570](https://togithub.com/jshint/jshint/issues/3570)) ([ca06e6a](https://togithub.com/jshint/jshint/commit/ca06e6a)) - change escape-sequence handler for double quotes (") ([#3566](https://togithub.com/jshint/jshint/issues/3566)) ([75e48b7](https://togithub.com/jshint/jshint/commit/75e48b7)) - Limit "Too many Errors" (E043) to errors only ([#3562](https://togithub.com/jshint/jshint/issues/3562)) ([4a681b9](https://togithub.com/jshint/jshint/commit/4a681b9)) - Tolerate keyword in object shorthand ([057b1c6](https://togithub.com/jshint/jshint/commit/057b1c6)) - Tolerate unterminated nullish coalescing ([ecae54a](https://togithub.com/jshint/jshint/commit/ecae54a)) ### [`v2.13.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2131-2021-08-10) [Compare Source](https://togithub.com/jshint/jshint/compare/2.13.0...2.13.1) ##### Bug Fixes - Allow invoking result of optional chaining ([71ec395](https://togithub.com/jshint/jshint/commit/71ec395)) - Allow optional chaining call as satement ([11dc0a6](https://togithub.com/jshint/jshint/commit/11dc0a6)) - Tolerate dangling NewExpression ([7c890aa](https://togithub.com/jshint/jshint/commit/7c890aa)) ### [`v2.13.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2130-2021-05-30) [Compare Source](https://togithub.com/jshint/jshint/compare/2.12.0...2.13.0) ##### Bug Fixes - Allow comma expression in MemberExpression ([f05c8d1](https://togithub.com/jshint/jshint/commit/f05c8d1)) - Consider all exported bindings "used" ([90228b7](https://togithub.com/jshint/jshint/commit/90228b7)) - Correct interpretation of ImportSpecifier ([72a8102](https://togithub.com/jshint/jshint/commit/72a8102)) - Correct location for error ([e831188](https://togithub.com/jshint/jshint/commit/e831188)) - Correct location reported for directive ([ee6aa68](https://togithub.com/jshint/jshint/commit/ee6aa68)) - Detect duplicate exported bindings ([916c230](https://togithub.com/jshint/jshint/commit/916c230)) - Don't warn when Function() is used without 'new'. ([#3531](https://togithub.com/jshint/jshint/issues/3531)) ([c13c5cc](https://togithub.com/jshint/jshint/commit/c13c5cc)) - Don't warn when RegExp() is used without 'new'. ([#3529](https://togithub.com/jshint/jshint/issues/3529)) ([c18a6e4](https://togithub.com/jshint/jshint/commit/c18a6e4)) - Enforce restrictions on `new` operand ([c2719eb](https://togithub.com/jshint/jshint/commit/c2719eb)) - Graduate BigInt support to `esversion: 11` ([553f816](https://togithub.com/jshint/jshint/commit/553f816)) - Improve declaration parsing ([a9bdc93](https://togithub.com/jshint/jshint/commit/a9bdc93)) - Report early reference with warning ([2c1a5f8](https://togithub.com/jshint/jshint/commit/2c1a5f8)) - Support RegExp Unicode property escapes ([e7fa785](https://togithub.com/jshint/jshint/commit/e7fa785)) ##### Features - Add support for "export \* as ns from" ([c46f464](https://togithub.com/jshint/jshint/commit/c46f464)) - Add support for `import.meta` ([73d7e0d](https://togithub.com/jshint/jshint/commit/73d7e0d)) - Add support for dynamic import ([6bfcaed](https://togithub.com/jshint/jshint/commit/6bfcaed)) - Add support for optional chaining ([b125dbe](https://togithub.com/jshint/jshint/commit/b125dbe)) - Implement support for nullish coalescing ([f50b14d](https://togithub.com/jshint/jshint/commit/f50b14d)) ### [`v2.12.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2120-2020-08-02) [Compare Source](https://togithub.com/jshint/jshint/compare/2.11.2...2.12.0) ##### Features - Update project license ([d65513c](https://togithub.com/jshint/jshint/commit/d65513c)) #### [2.11.2](https://togithub.com/jshint/jshint/compare/2.11.1...v2.11.2) (2020-07-30) ##### Bug Fixes - Allow "rest" operator in param dstrctrng ([c45d1b2](https://togithub.com/jshint/jshint/commit/c45d1b2)) - Disallow invalid numeric literals ([b02a025](https://togithub.com/jshint/jshint/commit/b02a025)) - Disallow leading zeros in BigInts ([3b2c8cf](https://togithub.com/jshint/jshint/commit/3b2c8cf)) - Improve numeric literal warnings/errors ([370e159](https://togithub.com/jshint/jshint/commit/370e159)) - Limit positions for class declarations ([0f0acd8](https://togithub.com/jshint/jshint/commit/0f0acd8)) - maxcomplexity doesn't take into account `&&` ([047d5af](https://togithub.com/jshint/jshint/commit/047d5af)), closes [#840](https://togithub.com/jshint/jshint/issues/840) - Update Lodash to latest 4.17.19 ([#3494](https://togithub.com/jshint/jshint/issues/3494)) ([17d8f5a](https://togithub.com/jshint/jshint/commit/17d8f5a)) #### [2.11.1](https://togithub.com/jshint/jshint/compare/2.11.0...v2.11.1) (2020-05-14) This release includes patches from a number of first-time contributors. James Owen, Tim Gates, ossdev, stvcisco, and thetric helped to make this the best JSHint release yet. Thank you all! ##### Bug Fixes - Correct ASI for `break` and `continue` ([3eb1b02](https://togithub.com/jshint/jshint/commit/3eb1b02)) - Correct ASI for C-style `for` loops ([ac232a5](https://togithub.com/jshint/jshint/commit/ac232a5)) - Improve tokenization of RegExp literals ([#3471](https://togithub.com/jshint/jshint/issues/3471)) ([f786002](https://togithub.com/jshint/jshint/commit/f786002)) - TypeError accessing 'value' of undefined ([8884eb9](https://togithub.com/jshint/jshint/commit/8884eb9)), closes [#3455](https://togithub.com/jshint/jshint/issues/3455) - Use relative paths with `--filename` when recieving from stdin ([c1b5c2b](https://togithub.com/jshint/jshint/commit/c1b5c2b)) ##### Features - Replacing PhantomJS with Puppeteer ([51963a3](https://togithub.com/jshint/jshint/commit/51963a3)) ### [`v2.11.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2112-2020-07-30) [Compare Source](https://togithub.com/jshint/jshint/compare/2.11.1...2.11.2) ##### Bug Fixes - Allow "rest" operator in param dstrctrng ([c45d1b2](https://togithub.com/jshint/jshint/commit/c45d1b2)) - Disallow invalid numeric literals ([b02a025](https://togithub.com/jshint/jshint/commit/b02a025)) - Disallow leading zeros in BigInts ([3b2c8cf](https://togithub.com/jshint/jshint/commit/3b2c8cf)) - Improve numeric literal warnings/errors ([370e159](https://togithub.com/jshint/jshint/commit/370e159)) - Limit positions for class declarations ([0f0acd8](https://togithub.com/jshint/jshint/commit/0f0acd8)) - maxcomplexity doesn't take into account `&&` ([047d5af](https://togithub.com/jshint/jshint/commit/047d5af)), closes [#840](https://togithub.com/jshint/jshint/issues/840) - Update Lodash to latest 4.17.19 ([#3494](https://togithub.com/jshint/jshint/issues/3494)) ([17d8f5a](https://togithub.com/jshint/jshint/commit/17d8f5a)) ### [`v2.11.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2111-2020-05-14) [Compare Source](https://togithub.com/jshint/jshint/compare/2.11.0...2.11.1) This release includes patches from a number of first-time contributors. James Owen, Tim Gates, ossdev, stvcisco, and thetric helped to make this the best JSHint release yet. Thank you all! ##### Bug Fixes - Correct ASI for `break` and `continue` ([3eb1b02](https://togithub.com/jshint/jshint/commit/3eb1b02)) - Correct ASI for C-style `for` loops ([ac232a5](https://togithub.com/jshint/jshint/commit/ac232a5)) - Improve tokenization of RegExp literals ([#3471](https://togithub.com/jshint/jshint/issues/3471)) ([f786002](https://togithub.com/jshint/jshint/commit/f786002)) - TypeError accessing 'value' of undefined ([8884eb9](https://togithub.com/jshint/jshint/commit/8884eb9)), closes [#3455](https://togithub.com/jshint/jshint/issues/3455) - Use relative paths with `--filename` when recieving from stdin ([c1b5c2b](https://togithub.com/jshint/jshint/commit/c1b5c2b)) ##### Features - Replacing PhantomJS with Puppeteer ([51963a3](https://togithub.com/jshint/jshint/commit/51963a3)) ### [`v2.11.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2110-2020-01-13) [Compare Source](https://togithub.com/jshint/jshint/compare/2.10.3...2.11.0) This release was previously published using the "release candidate" pattern. No regressions were reported in the four weeks that followed, so the change set is being promoted to a true "minor" release. The release notes for version 2.11.0-rc1 completely describes the changes included in this version. ### [`v2.10.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2103-2019-11-04) [Compare Source](https://togithub.com/jshint/jshint/compare/2.10.2...2.10.3) ##### Bug Fixes - Allow more escapes with RegExp `u` flag ([5ac5c46](https://togithub.com/jshint/jshint/commit/5ac5c46)) - Correct binding power of AwaitExpression ([af04b1e](https://togithub.com/jshint/jshint/commit/af04b1e)) - Correct interpretation of commas ([691dbdc](https://togithub.com/jshint/jshint/commit/691dbdc)) - Correct restrictions on class method names ([f670aeb](https://togithub.com/jshint/jshint/commit/f670aeb)) - Correctly interpret class method names ([82b49c4](https://togithub.com/jshint/jshint/commit/82b49c4)) - Do not crash on invalid program code ([b14acca](https://togithub.com/jshint/jshint/commit/b14acca)) - Interpret "object rest" ident as a binding ([c0e9a5b](https://togithub.com/jshint/jshint/commit/c0e9a5b)) - Relax `singleGroups` for async functions ([c5dcd90](https://togithub.com/jshint/jshint/commit/c5dcd90)) - Tolerate `static` as class method name ([9cb3b20](https://togithub.com/jshint/jshint/commit/9cb3b20)) - Tolerate valid assignments ([0a60c9e](https://togithub.com/jshint/jshint/commit/0a60c9e)) - Validate lone arrow function parameter ([38285cd](https://togithub.com/jshint/jshint/commit/38285cd)) ### [`v2.10.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2102-2019-03-13) [Compare Source](https://togithub.com/jshint/jshint/compare/2.10.1...2.10.2) ##### Bug Fixes - Allow built-in method names in classes ([b0c224b](https://togithub.com/jshint/jshint/commit/b0c224b)) - Correct parsing of exported async fns ([64b9dce](https://togithub.com/jshint/jshint/commit/64b9dce)) - Correct parsing of RegExp character sets ([668c4a3](https://togithub.com/jshint/jshint/commit/668c4a3)) - Init block bindings in C-style for loop ([404c9a0](https://togithub.com/jshint/jshint/commit/404c9a0)) - Require const intlzr in C-style for loop ([307e9fc](https://togithub.com/jshint/jshint/commit/307e9fc)) - Track FutureReservedWords as idnts in ES5+ ([d697ff4](https://togithub.com/jshint/jshint/commit/d697ff4)) - Warn on reassignment of async functions ([14384d3](https://togithub.com/jshint/jshint/commit/14384d3)) ### [`v2.10.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2101-2019-02-05) [Compare Source](https://togithub.com/jshint/jshint/compare/2.10.0...2.10.1) ##### Bug Fixes - Do not add cls method names to env. record ([036f085](https://togithub.com/jshint/jshint/commit/036f085)) ### [`v2.10.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#2100-2019-02-05) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.7...2.10.0) This release introduces support for the three most recent editions of JavaScript: ES7, ES8, and ES9. Users can enable support for any one of these via the `esversion` linting option. Perhaps most notably, this includes "async functions." Since their standardization in ES2017, no feature has been more requested. We're happy to add support for this powerful new language feature. If the delay is any indication, extending JSHint's parser was no small task, and we were able to make many seemingly-unrelated corrections along the way. That progress is easiest to see in JSHint's performance on Test262 (the official test suite for the JavaScript programming language). Version 2.9.6 passed 84% of those tests. Version 2.10.0 passes 96%. We're excited to push that number higher, especially considering that new language features and new tests are being added every day. If you're curious about what needs to be done, we maintain an "expectations file" describing every test JSHint is known to fail today. This release also includes brand-new parsing logic for classes. We thank Ethan Dorta and Alex Kritchevsky, the two first-time contributors who made this possible! ##### Bug Fixes - Accept new RegExp flag introduced by ES6 ([26b9e53](https://togithub.com/jshint/jshint/commit/26b9e53)) - Add global variables introduced in ES2017 ([aded551](https://togithub.com/jshint/jshint/commit/aded551)) - Add globals for EventTarget interface ([b78083a](https://togithub.com/jshint/jshint/commit/b78083a)) - Add globals for WindowOrWorkerGlobalScope ([e0aac94](https://togithub.com/jshint/jshint/commit/e0aac94)) - Allow YieldExpression as computed property ([40dca82](https://togithub.com/jshint/jshint/commit/40dca82)) - Correct implementation of spread/rest ([bd0ae0d](https://togithub.com/jshint/jshint/commit/bd0ae0d)) - Correct invalid function invocation ([cda02ae](https://togithub.com/jshint/jshint/commit/cda02ae)) - Correct parsing of `let` token ([030d6b4](https://togithub.com/jshint/jshint/commit/030d6b4)) - Correct parsing of arrow function ([8fa6e39](https://togithub.com/jshint/jshint/commit/8fa6e39)) - Correct parsing of InExpression ([06f54d0](https://togithub.com/jshint/jshint/commit/06f54d0)) - Disallow dups in non-simple parameter list ([4a5a4a5](https://togithub.com/jshint/jshint/commit/4a5a4a5)) - Disallow fn declarations in stmt positions ([a0e0305](https://togithub.com/jshint/jshint/commit/a0e0305)) - Disallow YieldExpression in gnrtr params ([17ca4e4](https://togithub.com/jshint/jshint/commit/17ca4e4)) - Enforce UniqueFormalParameters for methods ([280d36b](https://togithub.com/jshint/jshint/commit/280d36b)) - Honor `globals` config in JavaScript API ([0278731](https://togithub.com/jshint/jshint/commit/0278731)) - Report invalid syntax as error ([5ca8b1a](https://togithub.com/jshint/jshint/commit/5ca8b1a)) - Update parsing of object "rest" property ([58967ea](https://togithub.com/jshint/jshint/commit/58967ea)) ##### Features - Enable object rest/spread via esversion ([3fc9c19](https://togithub.com/jshint/jshint/commit/3fc9c19)) - Enforce ES2016 restriction on USD ([2c2025b](https://togithub.com/jshint/jshint/commit/2c2025b)) - Implement `noreturnawait` ([70ab03d](https://togithub.com/jshint/jshint/commit/70ab03d)) - Implement `regexpu` option ([962dced](https://togithub.com/jshint/jshint/commit/962dced)) - Implement ES2019 RegExp "dotall" ([457d732](https://togithub.com/jshint/jshint/commit/457d732)) - Implement support for async iteration ([1af5930](https://togithub.com/jshint/jshint/commit/1af5930)) - Implement support for ES8 trailing commas ([29cab1f](https://togithub.com/jshint/jshint/commit/29cab1f)) - Implement support for object spread/rest ([35e1b17](https://togithub.com/jshint/jshint/commit/35e1b17)) - Introduce exponentiation operator ([21b8731](https://togithub.com/jshint/jshint/commit/21b8731)) - Introduce linting option `leanswitch` ([1f008f2](https://togithub.com/jshint/jshint/commit/1f008f2)) - Introduce support for async functions ([bc4ae9f](https://togithub.com/jshint/jshint/commit/bc4ae9f)) #### [2.9.7](https://togithub.com/jshint/jshint/compare/2.9.6...v2.9.7) (2018-12-07) This release corrects a packaging issue. It is not expected to modify JSHint's behavior. #### [2.9.6](https://togithub.com/jshint/jshint/compare/2.9.5...v2.9.6) (2018-07-30) ##### Bug Fixes - Add missing global objects for browser env ([badc7a4](https://togithub.com/jshint/jshint/commit/badc7a4)) - Add other Fetch spec globals ([07bb596](https://togithub.com/jshint/jshint/commit/07bb596)), closes [#2582](https://togithub.com/jshint/jshint/issues/2582) - Allow closing over immutable bindings ([7091685](https://togithub.com/jshint/jshint/commit/7091685)) - Allow computed method names in obj literal ([a5ff715](https://togithub.com/jshint/jshint/commit/a5ff715)) - Allow empty export and trailing comma ([631327e](https://togithub.com/jshint/jshint/commit/631327e)), closes [#2567](https://togithub.com/jshint/jshint/issues/2567) - Avoid infinite loop on invalid `for` stmt ([56a4379](https://togithub.com/jshint/jshint/commit/56a4379)) - Consistently ignore dot-prefixed dirs ([8d4317e](https://togithub.com/jshint/jshint/commit/8d4317e)) - Correct impl of built-in bindings ([a11d631](https://togithub.com/jshint/jshint/commit/a11d631)) - Correct interpretation of whitespace ([dd06eea](https://togithub.com/jshint/jshint/commit/dd06eea)) - Correct location of reported error ([1c434a3](https://togithub.com/jshint/jshint/commit/1c434a3)) - Correct location reported for W043 ([1d04868](https://togithub.com/jshint/jshint/commit/1d04868)) - Correct reporting of var name in list comprehensions ([0ff6644](https://togithub.com/jshint/jshint/commit/0ff6644)) - Correct restriction on function name ([55aa54e](https://togithub.com/jshint/jshint/commit/55aa54e)) - Correct spelling of Uint8ClampedArray ([8df4a32](https://togithub.com/jshint/jshint/commit/8df4a32)) - Create block scope for `switch` statements ([aa2be10](https://togithub.com/jshint/jshint/commit/aa2be10)) - Disallow default values in rest parameters ([b420aed](https://togithub.com/jshint/jshint/commit/b420aed)) - Do not create binding for illegal syntax ([9fe8c94](https://togithub.com/jshint/jshint/commit/9fe8c94)) - Do not warn about non-ambiguous linebreaks ([ab3ab85](https://togithub.com/jshint/jshint/commit/ab3ab85)) - Fix "is is" message typos ([7993101](https://togithub.com/jshint/jshint/commit/7993101)) - Preserve functionality in "legacy" Node.js ([2f6ac13](https://togithub.com/jshint/jshint/commit/2f6ac13)) - recognize Jasmine global `spyOnProperty` ([827237f](https://togithub.com/jshint/jshint/commit/827237f)), closes [#3183](https://togithub.com/jshint/jshint/issues/3183) - Relax restriction on asgnmnt to arguments ([0a66710](https://togithub.com/jshint/jshint/commit/0a66710)) - Remove warning W100 ([ff71d3c](https://togithub.com/jshint/jshint/commit/ff71d3c)) - Report error for duplicate arrow params ([506c7d5](https://togithub.com/jshint/jshint/commit/506c7d5)) - Report error for redeclared generator fns ([8896fa3](https://togithub.com/jshint/jshint/commit/8896fa3)) - Restrict "name" of strict mode functions ([a554c89](https://togithub.com/jshint/jshint/commit/a554c89)) - Restrict `super` usage to valid forms ([8f3f880](https://togithub.com/jshint/jshint/commit/8f3f880)) - Restrict IdentifierNames in ES5 code ([5995a9f](https://togithub.com/jshint/jshint/commit/5995a9f)) - Tolerate division following closing brace ([3aa02db](https://togithub.com/jshint/jshint/commit/3aa02db)) - Tolerate RegExp as `void` operand ([3f920b5](https://togithub.com/jshint/jshint/commit/3f920b5)) - Tolerate whitespace in inline directives ([efeb0f8](https://togithub.com/jshint/jshint/commit/efeb0f8)) ##### Features - List outer scoped variables of W083 ([d03662c](https://togithub.com/jshint/jshint/commit/d03662c)), closes [#3211](https://togithub.com/jshint/jshint/issues/3211) #### [2.9.5](https://togithub.com/jshint/jshint/compare/2.9.4...v2.9.5) (2017-06-22) ##### Bug Fixes - Account for hoisting of importing bindings ([bd36953](https://togithub.com/jshint/jshint/commit/bd36953)) - Add onmessage to vars.worker ([540ed85](https://togithub.com/jshint/jshint/commit/540ed85)) - Added missing "Storage" browser variable ([8cfe5ad](https://togithub.com/jshint/jshint/commit/8cfe5ad)) - Avoid crash when peeking past end of prog ([c083866](https://togithub.com/jshint/jshint/commit/c083866)) - Avoid false positive ([44d9e0b](https://togithub.com/jshint/jshint/commit/44d9e0b)) - Close synthetic scope for labeled blocks ([5f0f789](https://togithub.com/jshint/jshint/commit/5f0f789)) - Fail gracefully on invalid `if` syntax ([#3103](https://togithub.com/jshint/jshint/issues/3103)) ([8c6ac87](https://togithub.com/jshint/jshint/commit/8c6ac87)) - Honor "ignore" file when linting STDIN ([d4f83a4](https://togithub.com/jshint/jshint/commit/d4f83a4)) - Parse `for-in/of` head LHS as asnmt target ([da52ad9](https://togithub.com/jshint/jshint/commit/da52ad9)) - Removed warning message W041 ([#3115](https://togithub.com/jshint/jshint/issues/3115)) ([376fa62](https://togithub.com/jshint/jshint/commit/376fa62)) - Throw W033 instead of E058 when the ; after a do-while stmt is missing ([6907cd4](https://togithub.com/jshint/jshint/commit/6907cd4)) ##### Features - Add enforcing option: `trailingcomma` ([#3090](https://togithub.com/jshint/jshint/issues/3090)) ([42dc572](https://togithub.com/jshint/jshint/commit/42dc572)) - Add MediaRecorder to vars.js ([b075919](https://togithub.com/jshint/jshint/commit/b075919)) #### [2.9.4](https://togithub.com/jshint/jshint/compare/2.9.3...v2.9.4) (2016-10-20) ##### Bug Fixes - Allow RegExp literal as `yield` operand ([#3011](https://togithub.com/jshint/jshint/issues/3011)) ([b646aea](https://togithub.com/jshint/jshint/commit/b646aea)) - Allow W100 to be ignored during lookahead ([a2b3881](https://togithub.com/jshint/jshint/commit/a2b3881)), closes [#3013](https://togithub.com/jshint/jshint/issues/3013) - Avoid crashing on invalid input ([#3046](https://togithub.com/jshint/jshint/issues/3046)) ([bec152c](https://togithub.com/jshint/jshint/commit/bec152c)) - Correct interpretation of ASI ([#3045](https://togithub.com/jshint/jshint/issues/3045)) ([9803e11](https://togithub.com/jshint/jshint/commit/9803e11)) - Do not duplicate reported warnings/errors ([dc4a4fe](https://togithub.com/jshint/jshint/commit/dc4a4fe)) - Enforce TDZ within initializer of lexical declaration [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2637](https://togithub.com/jshint/jshint/issues/2637) - Enforce TDZ within class heritage definition [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)) - Enforce TDZ within for in/of head [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2693](https://togithub.com/jshint/jshint/issues/2693) - Offset line no.s of errors from eval code ([2a31c94](https://togithub.com/jshint/jshint/commit/2a31c94)) - Remove `null` value from `errors` array ([#3049](https://togithub.com/jshint/jshint/issues/3049)) ([f7eb3d7](https://togithub.com/jshint/jshint/commit/f7eb3d7)) - Report error for offending token value ([3b06d01](https://togithub.com/jshint/jshint/commit/3b06d01)) #### [2.9.3](https://togithub.com/jshint/jshint/compare/2.9.2...v2.9.3) (2016-08-18) ##### Bug Fixes - Add TypedArray globals for ES2015 ([ee0acab](https://togithub.com/jshint/jshint/commit/ee0acab)) - Allow Expression within for-in head ([56c95d0](https://togithub.com/jshint/jshint/commit/56c95d0)) - Avoid crash when peeking past end of prog ([#2937](https://togithub.com/jshint/jshint/issues/2937)) ([330d429](https://togithub.com/jshint/jshint/commit/330d429)) - Correct behavior of singleGroups ([#2951](https://togithub.com/jshint/jshint/issues/2951)) ([97fefb7](https://togithub.com/jshint/jshint/commit/97fefb7)) - Correct interpretation of ASI ([#2977](https://togithub.com/jshint/jshint/issues/2977)) ([3ef7a03](https://togithub.com/jshint/jshint/commit/3ef7a03)) - Correctly recognize asi after directives ([039ee2e](https://togithub.com/jshint/jshint/commit/039ee2e)), closes [#2714](https://togithub.com/jshint/jshint/issues/2714) - Disallow Import declarations below top lvl ([d800e44](https://togithub.com/jshint/jshint/commit/d800e44)) - Support `y` RegExp flag in ES2015 code ([#2999](https://togithub.com/jshint/jshint/issues/2999)) ([a801433](https://togithub.com/jshint/jshint/commit/a801433)) - Support semicolons within arrow fn params ([#3003](https://togithub.com/jshint/jshint/issues/3003)) ([179a9d6](https://togithub.com/jshint/jshint/commit/179a9d6)) ##### Features - Error for literals on rhs of `instanceof` ([e3e745b](https://togithub.com/jshint/jshint/commit/e3e745b)), closes [#2777](https://togithub.com/jshint/jshint/issues/2777) #### [2.9.2](https://togithub.com/jshint/jshint/compare/2.9.1...v2.9.2) (2016-04-19) This release contains a number of bug fixes. As always, we thank everyone who reported issues and submitted patches; those contributions are essential to the continuing improvement of the project. We hope you'll keep it up! ##### Bug Fixes - (cli - extract) lines can end with "\r\n", not "\n\r" ([93818f3](https://togithub.com/jshint/jshint/commit/93818f3)), closes [#2825](https://togithub.com/jshint/jshint/issues/2825) - Account for implied closures ([c3b4d63](https://togithub.com/jshint/jshint/commit/c3b4d63)) - Add CompositionEvent to browser globals ([56515cf](https://togithub.com/jshint/jshint/commit/56515cf)) - Allow destructuring in setter parameter ([97d0ac1](https://togithub.com/jshint/jshint/commit/97d0ac1)) - Allow parentheses around object destructuring assignment. ([7a0bd70](https://togithub.com/jshint/jshint/commit/7a0bd70)), closes [#2775](https://togithub.com/jshint/jshint/issues/2775) - Allow regex inside template literal ([5dd9c90](https://togithub.com/jshint/jshint/commit/5dd9c90)), closes [#2791](https://togithub.com/jshint/jshint/issues/2791) - Allow regexp literal after 'instanceof' ([caa30e6](https://togithub.com/jshint/jshint/commit/caa30e6)), closes [#2773](https://togithub.com/jshint/jshint/issues/2773) - Correct CLI's indentation offset logic ([47daf76](https://togithub.com/jshint/jshint/commit/47daf76)), closes [#2778](https://togithub.com/jshint/jshint/issues/2778) - Do not crash on invalid input ([2e0026f](https://togithub.com/jshint/jshint/commit/2e0026f)) - Do not fail on valid configurations ([2fb3c24](https://togithub.com/jshint/jshint/commit/2fb3c24)) - Don't throw E056 for vars used in two functions ([fd91d4a](https://togithub.com/jshint/jshint/commit/fd91d4a)), closes [#2838](https://togithub.com/jshint/jshint/issues/2838) - Emit correct token value from "module" API ([4a43fb9](https://togithub.com/jshint/jshint/commit/4a43fb9)) - Expand forms accepted in dstr. assignment ([8bbd537](https://togithub.com/jshint/jshint/commit/8bbd537)) - Improve binding power for tagged templates ([9cf2ff0](https://togithub.com/jshint/jshint/commit/9cf2ff0)) - Improve reporting of "Bad assignment." ([08df19e](https://togithub.com/jshint/jshint/commit/08df19e)) - Make the 'freeze' option less strict ([b76447c](https://togithub.com/jshint/jshint/commit/b76447c)), closes [#1600](https://togithub.com/jshint/jshint/issues/1600) - Report "Bad assignment." in destructuring ([fe559ed](https://togithub.com/jshint/jshint/commit/fe559ed)) - Report character position for camelcase errors ([480252a](https://togithub.com/jshint/jshint/commit/480252a)), closes [#2845](https://togithub.com/jshint/jshint/issues/2845) - Reserve `await` keyword in ES6 module code ([b1c8d5b](https://togithub.com/jshint/jshint/commit/b1c8d5b)) #### [2.9.1](https://togithub.com/jshint/jshint/compare/2.9.1-rc3...v2.9.1) (2016-01-14) Following the revocation of version 2.9.0, we observed an extended "release candidate" phase where we encouraged users to vet JSHint for undesirable changes in behavior. During that time, we identified and resolved a number of such regressions. This release comprises all changes from the release candidate phase along with the improvements initially released as version 2.9.0. This release does not itself contain any changes to the codebase. If you are upgrading from version 2.8.0 or earlier, please refer to the previously-published release notes for details on bug fixes and features--these can be found in the project's `CHANGELOG.md` file and on the project's website. #### [2.9.1-rc3](https://togithub.com/jshint/jshint/compare/2.9.1-rc2...v2.9.1-rc3) (2016-01-12) ##### Bug Fixes - Do not require global USD for any envs ([3fa9ece](https://togithub.com/jshint/jshint/commit/3fa9ece)) #### [2.9.1-rc2](https://togithub.com/jshint/jshint/compare/2.9.1-rc1...v2.9.1-rc2) (2015-12-22) ##### Bug Fixes - Abort in the presence of invalid config ([767c47d](https://togithub.com/jshint/jshint/commit/767c47d)) - Allow ignoring W020 and W021 ([46db923](https://togithub.com/jshint/jshint/commit/46db923)), closes [#2761](https://togithub.com/jshint/jshint/issues/2761) - Correct `unused` for function-scoped vars ([91fa9fc](https://togithub.com/jshint/jshint/commit/91fa9fc)) - Disallow ambiguous configuration values ([eb54a4c](https://togithub.com/jshint/jshint/commit/eb54a4c)) - Do not disable ES6 when `moz` is set ([97dfd90](https://togithub.com/jshint/jshint/commit/97dfd90)) - Don't throw '(NaN% scanned)' ([903b698](https://togithub.com/jshint/jshint/commit/903b698)) #### [2.9.1-rc1](https://togithub.com/jshint/jshint/compare/2.9.0...v2.9.1-rc1) (2015-11-12) Version 2.9.0 was revoked shortly after its release due to a number of regressions. Although the underlying issues have been resolved, we are sensitive to the possibility that there may be still more; as mentioned in 2.9.0's release notes, the variable tracking system saw a significant refactoring. In an effort to minimize friction with a new version, we're publishing a release candidate and requesting feedback from early adopters. Please give it a try in your projects and let us know about any surprising behavior! ##### Bug Fixes - `latedef` shouldn't warn when marking a var as exported ([c630994](https://togithub.com/jshint/jshint/commit/c630994)), closes [#2662](https://togithub.com/jshint/jshint/issues/2662) - Add `File` and `FileList` to browser global variables ([7f2a729](https://togithub.com/jshint/jshint/commit/7f2a729)), closes [#2690](https://togithub.com/jshint/jshint/issues/2690) - Allow comments and new lines after /\* falls through \*/ ([3b1c925](https://togithub.com/jshint/jshint/commit/3b1c925)), closes [#2652](https://togithub.com/jshint/jshint/issues/2652) [#1660](https://togithub.com/jshint/jshint/issues/1660) - Allow let and const to be in a block outside of a block ([84a9145](https://togithub.com/jshint/jshint/commit/84a9145)), closes [#2685](https://togithub.com/jshint/jshint/issues/2685) - Always warn about missing "use strict" directive ([e85c2a1](https://togithub.com/jshint/jshint/commit/e85c2a1)), closes [#2668](https://togithub.com/jshint/jshint/issues/2668) - Disallow incompatible option values ([72ba5ad](https://togithub.com/jshint/jshint/commit/72ba5ad)) - Do not enable `newcap` within strict mode ([acaf3f7](https://togithub.com/jshint/jshint/commit/acaf3f7)) - Don't throw W080 when the initializer starts with `undefined` ([0d87919](https://togithub.com/jshint/jshint/commit/0d87919)), closes [#2699](https://togithub.com/jshint/jshint/issues/2699) - Don't warn that an exported function is used before it is defined. ([d0433d2](https://togithub.com/jshint/jshint/commit/d0433d2)), closes [#2658](https://togithub.com/jshint/jshint/issues/2658) - Enforce Identifier restrictions lazily ([ceca549](https://togithub.com/jshint/jshint/commit/ceca549)) - Global "use strict" regressions ([04b43d2](https://togithub.com/jshint/jshint/commit/04b43d2)), closes [#2657](https://togithub.com/jshint/jshint/issues/2657) [#2661](https://togithub.com/jshint/jshint/issues/2661) - Support property assignment when destructure assigning ([b6df1f2](https://togithub.com/jshint/jshint/commit/b6df1f2)), closes [#2659](https://togithub.com/jshint/jshint/issues/2659) [#2660](https://togithub.com/jshint/jshint/issues/2660) - Throw W119 instead of "Unexpected '\`'" when using templates in ES5 mode. ([87064e8](https://togithub.com/jshint/jshint/commit/87064e8)) ##### Features - Support QUnit's global notOk ([73ac9b8](https://togithub.com/jshint/jshint/commit/73ac9b8)) ### [`v2.9.7`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#297-2018-12-07) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.6...2.9.7) This release corrects a packaging issue. It is not expected to modify JSHint's behavior. ### [`v2.9.6`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#296-2018-07-30) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.5...2.9.6) ##### Bug Fixes - Add missing global objects for browser env ([badc7a4](https://togithub.com/jshint/jshint/commit/badc7a4)) - Add other Fetch spec globals ([07bb596](https://togithub.com/jshint/jshint/commit/07bb596)), closes [#2582](https://togithub.com/jshint/jshint/issues/2582) - Allow closing over immutable bindings ([7091685](https://togithub.com/jshint/jshint/commit/7091685)) - Allow computed method names in obj literal ([a5ff715](https://togithub.com/jshint/jshint/commit/a5ff715)) - Allow empty export and trailing comma ([631327e](https://togithub.com/jshint/jshint/commit/631327e)), closes [#2567](https://togithub.com/jshint/jshint/issues/2567) - Avoid infinite loop on invalid `for` stmt ([56a4379](https://togithub.com/jshint/jshint/commit/56a4379)) - Consistently ignore dot-prefixed dirs ([8d4317e](https://togithub.com/jshint/jshint/commit/8d4317e)) - Correct impl of built-in bindings ([a11d631](https://togithub.com/jshint/jshint/commit/a11d631)) - Correct interpretation of whitespace ([dd06eea](https://togithub.com/jshint/jshint/commit/dd06eea)) - Correct location of reported error ([1c434a3](https://togithub.com/jshint/jshint/commit/1c434a3)) - Correct location reported for W043 ([1d04868](https://togithub.com/jshint/jshint/commit/1d04868)) - Correct reporting of var name in list comprehensions ([0ff6644](https://togithub.com/jshint/jshint/commit/0ff6644)) - Correct restriction on function name ([55aa54e](https://togithub.com/jshint/jshint/commit/55aa54e)) - Correct spelling of Uint8ClampedArray ([8df4a32](https://togithub.com/jshint/jshint/commit/8df4a32)) - Create block scope for `switch` statements ([aa2be10](https://togithub.com/jshint/jshint/commit/aa2be10)) - Disallow default values in rest parameters ([b420aed](https://togithub.com/jshint/jshint/commit/b420aed)) - Do not create binding for illegal syntax ([9fe8c94](https://togithub.com/jshint/jshint/commit/9fe8c94)) - Do not warn about non-ambiguous linebreaks ([ab3ab85](https://togithub.com/jshint/jshint/commit/ab3ab85)) - Fix "is is" message typos ([7993101](https://togithub.com/jshint/jshint/commit/7993101)) - Preserve functionality in "legacy" Node.js ([2f6ac13](https://togithub.com/jshint/jshint/commit/2f6ac13)) - recognize Jasmine global `spyOnProperty` ([827237f](https://togithub.com/jshint/jshint/commit/827237f)), closes [#3183](https://togithub.com/jshint/jshint/issues/3183) - Relax restriction on asgnmnt to arguments ([0a66710](https://togithub.com/jshint/jshint/commit/0a66710)) - Remove warning W100 ([ff71d3c](https://togithub.com/jshint/jshint/commit/ff71d3c)) - Report error for duplicate arrow params ([506c7d5](https://togithub.com/jshint/jshint/commit/506c7d5)) - Report error for redeclared generator fns ([8896fa3](https://togithub.com/jshint/jshint/commit/8896fa3)) - Restrict "name" of strict mode functions ([a554c89](https://togithub.com/jshint/jshint/commit/a554c89)) - Restrict `super` usage to valid forms ([8f3f880](https://togithub.com/jshint/jshint/commit/8f3f880)) - Restrict IdentifierNames in ES5 code ([5995a9f](https://togithub.com/jshint/jshint/commit/5995a9f)) - Tolerate division following closing brace ([3aa02db](https://togithub.com/jshint/jshint/commit/3aa02db)) - Tolerate RegExp as `void` operand ([3f920b5](https://togithub.com/jshint/jshint/commit/3f920b5)) - Tolerate whitespace in inline directives ([efeb0f8](https://togithub.com/jshint/jshint/commit/efeb0f8)) ##### Features - List outer scoped variables of W083 ([d03662c](https://togithub.com/jshint/jshint/commit/d03662c)), closes [#3211](https://togithub.com/jshint/jshint/issues/3211) ### [`v2.9.5`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#295-2017-06-22) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.4...2.9.5) ##### Bug Fixes - Account for hoisting of importing bindings ([bd36953](https://togithub.com/jshint/jshint/commit/bd36953)) - Add onmessage to vars.worker ([540ed85](https://togithub.com/jshint/jshint/commit/540ed85)) - Added missing "Storage" browser variable ([8cfe5ad](https://togithub.com/jshint/jshint/commit/8cfe5ad)) - Avoid crash when peeking past end of prog ([c083866](https://togithub.com/jshint/jshint/commit/c083866)) - Avoid false positive ([44d9e0b](https://togithub.com/jshint/jshint/commit/44d9e0b)) - Close synthetic scope for labeled blocks ([5f0f789](https://togithub.com/jshint/jshint/commit/5f0f789)) - Fail gracefully on invalid `if` syntax ([#3103](https://togithub.com/jshint/jshint/issues/3103)) ([8c6ac87](https://togithub.com/jshint/jshint/commit/8c6ac87)) - Honor "ignore" file when linting STDIN ([d4f83a4](https://togithub.com/jshint/jshint/commit/d4f83a4)) - Parse `for-in/of` head LHS as asnmt target ([da52ad9](https://togithub.com/jshint/jshint/commit/da52ad9)) - Removed warning message W041 ([#3115](https://togithub.com/jshint/jshint/issues/3115)) ([376fa62](https://togithub.com/jshint/jshint/commit/376fa62)) - Throw W033 instead of E058 when the ; after a do-while stmt is missing ([6907cd4](https://togithub.com/jshint/jshint/commit/6907cd4)) ##### Features - Add enforcing option: `trailingcomma` ([#3090](https://togithub.com/jshint/jshint/issues/3090)) ([42dc572](https://togithub.com/jshint/jshint/commit/42dc572)) - Add MediaRecorder to vars.js ([b075919](https://togithub.com/jshint/jshint/commit/b075919)) ### [`v2.9.4`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#294-2016-10-20) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.3...2.9.4) ##### Bug Fixes - Allow RegExp literal as `yield` operand ([#3011](https://togithub.com/jshint/jshint/issues/3011)) ([b646aea](https://togithub.com/jshint/jshint/commit/b646aea)) - Allow W100 to be ignored during lookahead ([a2b3881](https://togithub.com/jshint/jshint/commit/a2b3881)), closes [#3013](https://togithub.com/jshint/jshint/issues/3013) - Avoid crashing on invalid input ([#3046](https://togithub.com/jshint/jshint/issues/3046)) ([bec152c](https://togithub.com/jshint/jshint/commit/bec152c)) - Correct interpretation of ASI ([#3045](https://togithub.com/jshint/jshint/issues/3045)) ([9803e11](https://togithub.com/jshint/jshint/commit/9803e11)) - Do not duplicate reported warnings/errors ([dc4a4fe](https://togithub.com/jshint/jshint/commit/dc4a4fe)) - Enforce TDZ within initializer of lexical declaration [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2637](https://togithub.com/jshint/jshint/issues/2637) - Enforce TDZ within class heritage definition [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)) - Enforce TDZ within for in/of head [8e9d406](https://togithub.com/jshint/jshint/commit/8e9d406)), closes [#2693](https://togithub.com/jshint/jshint/issues/2693) - Offset line no.s of errors from eval code ([2a31c94](https://togithub.com/jshint/jshint/commit/2a31c94)) - Remove `null` value from `errors` array ([#3049](https://togithub.com/jshint/jshint/issues/3049)) ([f7eb3d7](https://togithub.com/jshint/jshint/commit/f7eb3d7)) - Report error for offending token value ([3b06d01](https://togithub.com/jshint/jshint/commit/3b06d01)) ### [`v2.9.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#293-2016-08-18) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.2...2.9.3) ##### Bug Fixes - Add TypedArray globals for ES2015 ([ee0acab](https://togithub.com/jshint/jshint/commit/ee0acab)) - Allow Expression within for-in head ([56c95d0](https://togithub.com/jshint/jshint/commit/56c95d0)) - Avoid crash when peeking past end of prog ([#2937](https://togithub.com/jshint/jshint/issues/2937)) ([330d429](https://togithub.com/jshint/jshint/commit/330d429)) - Correct behavior of singleGroups ([#2951](https://togithub.com/jshint/jshint/issues/2951)) ([97fefb7](https://togithub.com/jshint/jshint/commit/97fefb7)) - Correct interpretation of ASI ([#2977](https://togithub.com/jshint/jshint/issues/2977)) ([3ef7a03](https://togithub.com/jshint/jshint/commit/3ef7a03)) - Correctly recognize asi after directives ([039ee2e](https://togithub.com/jshint/jshint/commit/039ee2e)), closes [#2714](https://togithub.com/jshint/jshint/issues/2714) - Disallow Import declarations below top lvl ([d800e44](https://togithub.com/jshint/jshint/commit/d800e44)) - Support `y` RegExp flag in ES2015 code ([#2999](https://togithub.com/jshint/jshint/issues/2999)) ([a801433](https://togithub.com/jshint/jshint/commit/a801433)) - Support semicolons within arrow fn params ([#3003](https://togithub.com/jshint/jshint/issues/3003)) ([179a9d6](https://togithub.com/jshint/jshint/commit/179a9d6)) ##### Features - Error for literals on rhs of `instanceof` ([e3e745b](https://togithub.com/jshint/jshint/commit/e3e745b)), closes [#2777](https://togithub.com/jshint/jshint/issues/2777) ### [`v2.9.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#292-2016-04-19) [Compare Source](https://togithub.com/jshint/jshint/compare/2.9.1...2.9.2) This release contains a number of bug fixes. As always, we thank everyone who reported issues and submitted patches; those contributions are essential to the continuing improvement of the project. We hope you'll keep it up! ##### Bug Fixes - (cli - extract) lines can end with "\r\n", not "\n\r" ([93818f3](https://togithub.com/jshint/jshint/commit/93818f3)), closes [#2825](https://togithub.com/jshint/jshint/issues/2825) - Account for implied closures ([c3b4d63](https://togithub.com/jshint/jshint/commit/c3b4d63)) - Add CompositionEvent to browser globals ([56515cf](https://togithub.com/jshint/jshint/commit/56515cf)) - Allow destructuring in setter parameter ([97d0ac1](https://togithub.com/jshint/jshint/commit/97d0ac1)) - Allow parentheses around object destructuring assignment. ([7a0bd70](https://togithub.com/jshint/jshint/commit/7a0bd70)), closes [#2775](https://togithub.com/jshint/jshint/issues/2775) - Allow regex inside template literal ([5dd9c90](https://togithub.com/jshint/jshint/commit/5dd9c90)), closes [#2791](https://togithub.com/jshint/jshint/issues/2791) - Allow regexp literal after 'instanceof' ([caa30e6](https://togithub.com/jshint/jshint/commit/caa30e6)), closes [#2773](https://togithub.com/jshint/jshint/issues/2773) - Correct CLI's indentation offset logic ([47daf76](https://togithub.com/jshint/jshint/commit/47daf76)), closes [#2778](https://togithub.com/jshint/jshint/issues/2778) - Do not crash on invalid input ([2e0026f](https://togithub.com/jshint/jshint/commit/2e0026f)) - Do not fail on valid configurations ([2fb3c24](https://togithub.com/jshint/jshint/commit/2fb3c24)) - Don't throw E056 for vars used in two functions ([fd91d4a](https://togithub.com/jshint/jshint/commit/fd91d4a)), closes [#2838](https://togithub.com/jshint/jshint/issues/2838) - Emit correct token value from "module" API ([4a43fb9](https://togithub.com/jshint/jshint/commit/4a43fb9)) - Expand forms accepted in dstr. assignment ([8bbd537](https://togithub.com/jshint/jshint/commit/8bbd537)) - Improve binding power for tagged templates ([9cf2ff0](https://togithub.com/jshint/jshint/commit/9cf2ff0)) - Improve reporting of "Bad assignment." ([08df19e](https://togithub.com/jshint/jshint/commit/08df19e)) - Make the 'freeze' option less strict ([b76447c](https://togithub.com/jshint/jshint/commit/b76447c)), closes [#1600](https://togithub.com/jshint/jshint/issues/1600) - Report "Bad assignment." in destructuring ([fe559ed](https://togithub.com/jshint/jshint/commit/fe559ed)) - Report character position for camelcase errors ([480252a](https://togithub.com/jshint/jshint/commit/480252a)), closes [#2845](https://togithub.com/jshint/jshint/issues/2845) - Reserve `await` keyword in ES6 module code ([b1c8d5b](https://togithub.com/jshint/jshint/commit/b1c8d5b)) ### [`v2.9.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#291-2016-01-14) [Compare Source](https://togithub.com/jshint/jshint/compare/2.8.0...2.9.1) Following the revocation of version 2.9.0, we observed an extended "release candidate" phase where we encouraged users to vet JSHint for undesirable changes in behavior. During that time, we identified and resolved a number of such regressions. This release comprises all changes from the release candidate phase along with the improvements initially released as version 2.9.0. This release does not itself contain any changes to the codebase. If you are upgrading from version 2.8.0 or earlier, please refer to the previously-published release notes for details on bug fixes and features--these can be found in the project's `CHANGELOG.md` file and on the project's website. ### [`v2.8.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#280-2015-05-31) [Compare Source](https://togithub.com/jshint/jshint/compare/2.7.0...2.8.0) ##### Bug Fixes - add the "fetch" global for "browser" environment ([b3b41c8](https://togithub.com/jshint/jshint/commit/b3b41c8)), closes [#2355](https://togithub.com/jshint/jshint/issues/2355) - Allow lexer to communicate completion ([a093f78](https://togithub.com/jshint/jshint/commit/a093f78)) - Distinguish between directive and mode ([51059bd](https://togithub.com/jshint/jshint/commit/51059bd)) - Don't throw "Duplicate class method" with computed method names ([ab12dfb](https://togithub.com/jshint/jshint/commit/ab12dfb)), closes [#2350](https://togithub.com/jshint/jshint/issues/2350) - Ignore unused arrow-function parameters if unused: vars ([2ea9cb0](https://togithub.com/jshint/jshint/commit/2ea9cb0)), closes [#2345](https://togithub.com/jshint/jshint/issues/2345) - Move helper methods to `state` object ([678da76](https://togithub.com/jshint/jshint/commit/678da76)) - parse `const` declarations in ForIn/Of loops ([2b673d9](https://togithub.com/jshint/jshint/commit/2b673d9)), closes [#2334](https://togithub.com/jshint/jshint/issues/2334) [#2335](https://togithub.com/jshint/jshint/issues/2335) - Parse semicolons in class bodies ([58c8e64](https://togithub.com/jshint/jshint/commit/58c8e64)) - Prevent regression in `enforceall` ([6afcde4](https://togithub.com/jshint/jshint/commit/6afcde4)) - Relax singleGroups restrictions: arrow fns ([4a4f522](https://togithub.com/jshint/jshint/commit/4a4f522)) - Relax singleGroups restrictions: IIFEs ([9f55160](https://togithub.com/jshint/jshint/commit/9f55160)) - Reset generator flag for each method definition ([2444a04](https://togithub.com/jshint/jshint/commit/2444a04)), closes [#2388](https://togithub.com/jshint/jshint/issues/2388) [#2389](https://togithub.com/jshint/jshint/issues/2389) ##### Features - Implement `module` option ([290280c](https://togithub.com/jshint/jshint/commit/290280c)) - support destructuring in ForIn/Of loops, lint bad ForIn/Of LHS ([c0edd9f](https://togithub.com/jshint/jshint/commit/c0edd9f)), closes [#2341](https://togithub.com/jshint/jshint/issues/2341) ### [`v2.7.0`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#270-2015-04-10) [Compare Source](https://togithub.com/jshint/jshint/compare/2.6.3...2.7.0) ##### Bug Fixes - Accept `get` and `set` as ID properties ([2ad235c](https://togithub.com/jshint/jshint/commit/2ad235c)) - allow trailing comma in ArrayBindingPattern ([3477933](https://togithub.com/jshint/jshint/commit/3477933)), closes [#2222](https://togithub.com/jshint/jshint/issues/2222) - allow typeof symbol === "symbol" ([7f7aac2](https://togithub.com/jshint/jshint/commit/7f7aac2)), closes [#2241](https://togithub.com/jshint/jshint/issues/2241) [#2242](https://togithub.com/jshint/jshint/issues/2242) - Correctly enforce maxparams:0 ([011364e](https://togithub.com/jshint/jshint/commit/011364e)) - default to empty string in src/cli.js loadIgnores ([0eeba14](https://togithub.com/jshint/jshint/commit/0eeba14)) - disallow 'lone' rest operator in identifier() ([dd08f85](https://togithub.com/jshint/jshint/commit/dd08f85)), closes [#2222](https://togithub.com/jshint/jshint/issues/2222) - emit I003 more carefully and less annoyingly ([757fb73](https://togithub.com/jshint/jshint/commit/757fb73)), closes [#2251](https://togithub.com/jshint/jshint/issues/2251) - export all names for var/let/const declarations ([3ce1267](https://togithub.com/jshint/jshint/commit/3ce1267)), closes [#2248](https://togithub.com/jshint/jshint/issues/2248) [#2253](https://togithub.com/jshint/jshint/issues/2253) [#2252](https://togithub.com/jshint/jshint/issues/2252) - Incorrect 'Unclosed string' when the closing quote is the first character after a newline ([b804e65](https://togithub.com/jshint/jshint/commit/b804e65)), closes [#1532](https://togithub.com/jshint/jshint/issues/1532) [#1532](https://togithub.com/jshint/jshint/issues/1532) [#1319](https://togithub.com/jshint/jshint/issues/1319) - predefine HTMLTemplateElement in browser ([231557a](https://togithub.com/jshint/jshint/commit/231557a)), closes [#2246](https://togithub.com/jshint/jshint/issues/2246) - Prevent incorrect warnings for relations ([64f85f3](https://togithub.com/jshint/jshint/commit/64f85f3)) - Relax restrictions on `singleGroups` ([896bf82](https://togithub.com/jshint/jshint/commit/896bf82)) - templates are operands, not operators ([162dee6](https://togithub.com/jshint/jshint/commit/162dee6)), closes [#2223](https://togithub.com/jshint/jshint/issues/2223) [#2224](https://togithub.com/jshint/jshint/issues/2224) ##### Features - add `varstmt` enforcement option to disallow use of VariableStatements ([59396f7](https://togithub.com/jshint/jshint/commit/59396f7)), closes [#1549](https://togithub.com/jshint/jshint/issues/1549) #### [2.6.3](https://togithub.com/jshint/jshint/compare/2.6.2...2.6.3) (2015-02-28) ##### Bug Fixes - parse trailing comma in ObjectBindingPattern ([7a2b713](https://togithub.com/jshint/jshint/commit/7a2b713)), closes [#2220](https://togithub.com/jshint/jshint/issues/2220) #### [2.6.2](https://togithub.com/jshint/jshint/compare/2.6.1...2.6.2) (2015-02-28) ##### Bug Fixes - Disable `futurehostile` option by default ([3cbd41f](https://togithub.com/jshint/jshint/commit/3cbd41f)) - Make let variables in the closure shadow predefs ([cfd2e0b](https://togithub.com/jshint/jshint/commit/cfd2e0b)) #### [2.6.1](https://togithub.com/jshint/jshint/compare/2.6.0...2.6.1) (2015-02-27) ##### Bug Fixes - Allow object-literals within template strings ([4f08b74](https://togithub.com/jshint/jshint/commit/4f08b74)), closes [#2082](https://togithub.com/jshint/jshint/issues/2082) - Correct behavior of `singleGroups` ([6003c83](https://togithub.com/jshint/jshint/commit/6003c83)) - Correct token reported by `singleGroups` ([bc857f3](https://togithub.com/jshint/jshint/commit/bc857f3)) - Disambiguate argument ([d75ef69](https://togithub.com/jshint/jshint/commit/d75ef69)) - Do not crash on improper use of `delete` ([35df49f](https://togithub.com/jshint/jshint/commit/35df49f)) - ES6 modules respect undef and unused ([438d928](https://togithub.com/jshint/jshint/commit/438d928)) - Fix false positives in 'nocomma' option ([33612f8](https://togithub.com/jshint/jshint/commit/33612f8)) - Handle multi-line tokens after return or yield ([5c9c7fd](https://togithub.com/jshint/jshint/commit/5c9c7fd)), closes [#1814](https://togithub.com/jshint/jshint/issues/1814) [#2142](https://togithub.com/jshint/jshint/issues/2142) - Miss xdescribe/xit/context/xcontext in mocha ([8fe6610](https://togithub.com/jshint/jshint/commit/8fe6610)) - Parse nested templates ([3da1eaf](https://togithub.com/jshint/jshint/commit/3da1eaf)), closes [#2151](https://togithub.com/jshint/jshint/issues/2151) [#2152](https://togithub.com/jshint/jshint/issues/2152) - Permit "eval" as object key ([b5f5d5d](https://togithub.com/jshint/jshint/commit/b5f5d5d)) - Prevent beginning array from being confused for JSON ([813d97a](https://togithub.com/jshint/jshint/commit/813d97a)) - Refactor `doFunction` ([06b5d40](https://togithub.com/jshint/jshint/commit/06b5d40)) - Remove quotmark linting for NoSubstTemplates ([7e80490](https://togithub.com/jshint/jshint/commit/7e80490)) - Remove tautological condition ([f0bff58](https://togithub.com/jshint/jshint/commit/f0bff58)) - remove unused var ([e69acfe](https://togithub.com/jshint/jshint/commit/e69acfe)), closes [#2156](https://togithub.com/jshint/jshint/issues/2156) - Simulate class scope for class expr names ([ac98a24](https://togithub.com/jshint/jshint/commit/ac98a24)) - Support more cases of ES6 module usage ([776ed69](https://togithub.com/jshint/jshint/commit/776ed69)), closes [#2118](https://togithub.com/jshint/jshint/issues/2118) [#2143](https://togithub.com/jshint/jshint/issues/2143) - Templates can not be directives ([20ff670](https://togithub.com/jshint/jshint/commit/20ff670)) - Unfollowable path in lexer. ([065961a](https://togithub.com/jshint/jshint/commit/065961a)) ##### Features - Implement new option `futurehostile` ([da52aa0](https://togithub.com/jshint/jshint/commit/da52aa0)) - parse and lint tagged template literals ([4816dbd](https://togithub.com/jshint/jshint/commit/4816dbd)), closes [#2000](https://togithub.com/jshint/jshint/issues/2000) ### [`v2.6.3`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#263-2015-02-28) [Compare Source](https://togithub.com/jshint/jshint/compare/2.6.2...2.6.3) ##### Bug Fixes - parse trailing comma in ObjectBindingPattern ([7a2b713](https://togithub.com/jshint/jshint/commit/7a2b713)), closes [#2220](https://togithub.com/jshint/jshint/issues/2220) ### [`v2.6.2`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#262-2015-02-28) [Compare Source](https://togithub.com/jshint/jshint/compare/2.6.1...2.6.2) ##### Bug Fixes - Disable `futurehostile` option by default ([3cbd41f](https://togithub.com/jshint/jshint/commit/3cbd41f)) - Make let variables in the closure shadow predefs ([cfd2e0b](https://togithub.com/jshint/jshint/commit/cfd2e0b)) ### [`v2.6.1`](https://togithub.com/jshint/jshint/blob/HEAD/CHANGELOG.md#261-2015-02-27) [Compare Source](https://togithub.com/jshint/jshint/compare/2.6.0...2.6.1) ##### Bug Fixes - Allow object-literals within template strings ([4f08b74](https://togithub.com/jshint/jshint/commit/4f08b74)), closes [#2082](https://togithub.com/jshint/jshint/issues/2082) - Correct behavior of `singleGroups` ([6003c83](https://togithub.com/jshint/jshint/commit/6003c83)) - Correct token reported by `singleGroups` ([bc857f3](https://togithub.com/jshint/jshint/commit/bc857f3)) - Disambiguate argument ([d75ef69](https://togithub.com/jshint/jshint/commit/d75ef69)) - Do not crash on improper use of `delete` ([35df49f](https://togithub.com/jshint/jshint/commit/35df49f)) - ES6 modules respect undef and unused ([438d928](https://togithub.com/jshint/jshint/commit/438d928)) - Fix false positives in 'nocomma' option ([33612f8](https://togithub.com/jshint/jshint/commit/33612f8)) - Handle multi-line tokens after return or yield ([5c9c7fd](https://togithub.com/jshint/jshint/commit/5c9c7fd)), closes [#1814](https://togithub.com/jshint/jshint/issues/1814) [#2142](https://togithub.com/jshint/jshint/issues/2142) - Miss xdescribe/xit/context/xcontext in mocha ([8fe6610](https://togithub.com/jshint/jshint/commit/8fe6610)) - Parse nested templates ([3da1eaf](https://togithub.com/jshint/jshint/commit/3da1eaf)), closes [#2151](https://togithub.com/jshint/jshint/issues/2151) [#2152](https://togithub.com/jshint/jshint/issues/2152) - Permit "eval" as object key ([b5f5d5d](https://togithub.com/jshint/jshint/commit/b5f5d5d)) - Prevent beginning array from being confused for JSON ([813d97a](https://togithub.com/jshint/jshint/commit/813d97a)) - Refactor `doFunction` ([06b5d40](https://togithub.com/jshint/jshint/commit/06b5d40)) - Remove quotmark linting for NoSubstTemplates ([7e80490](https://togithub.com/jshint/jshint/commit/7e80490)) - Remove tautological condition ([f0bff58](https://togithub.com/jshint/jshint/commit/f0bff58)) - remove unused var ([e69acfe](https://togithub.com/jshint/jshint/commit/e69acfe)), closes [#2156](https://togithub.com/jshint/jshint/issues/2156) - Simulate class scope for class expr names ([ac98a24](https://togithub.com/jshint/jshint/commit/ac98a24)) - Support more cases of ES6 module usage ([776ed69](https://togithub.com/jshint/jshint/commit/776ed69)), closes [#2118](https://