Skip to content

Releases: jshint/jshint

JSHint 2.11.0

13 Jan 19:38
2.11.0
b7dd7d8
Compare
Choose a tag to compare

2.11.0 (2020-01-13)

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.

JSHint 2.10.3

05 Nov 22:33
2.10.3
Compare
Choose a tag to compare

2.10.3 (2019-11-04)

Bug Fixes

  • Allow more escapes with RegExp u flag (5ac5c46)
  • Correct binding power of AwaitExpression (af04b1e)
  • Correct interpretation of commas (691dbdc)
  • Correct restrictions on class method names (f670aeb)
  • Correctly interpret class method names (82b49c4)
  • Do not crash on invalid program code (b14acca)
  • Interpret "object rest" ident as a binding (c0e9a5b)
  • Relax singleGroups for async functions (c5dcd90)
  • Tolerate static as class method name (9cb3b20)
  • Tolerate valid assignments (0a60c9e)
  • Validate lone arrow function parameter (38285cd)

JSHint 2.10.2

13 Mar 18:15
2.10.2
Compare
Choose a tag to compare

2.10.2 (2019-03-13)

Bug Fixes

  • Allow built-in method names in classes (b0c224b)
  • Correct parsing of exported async fns (64b9dce)
  • Correct parsing of RegExp character sets (668c4a3)
  • Init block bindings in C-style for loop (404c9a0)
  • Require const intlzr in C-style for loop (307e9fc)
  • Track FutureReservedWords as idnts in ES5+ (d697ff4)
  • Warn on reassignment of async functions (14384d3)

JSHint 2.10.1

05 Feb 18:24
Compare
Choose a tag to compare

2.10.1 (2019-02-05)

Bug Fixes

  • Do not add cls method names to env. record (036f085)

JSHint 2.10.0

05 Feb 03:24
Compare
Choose a tag to compare

2.10.0 (2019-02-05)

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)
  • Add global variables introduced in ES2017 (aded551)
  • Add globals for EventTarget interface (b78083a)
  • Add globals for WindowOrWorkerGlobalScope (e0aac94)
  • Allow YieldExpression as computed property (40dca82)
  • Correct implementation of spread/rest (bd0ae0d)
  • Correct invalid function invocation (cda02ae)
  • Correct parsing of let token (030d6b4)
  • Correct parsing of arrow function (8fa6e39)
  • Correct parsing of InExpression (06f54d0)
  • Disallow dups in non-simple parameter list (4a5a4a5)
  • Disallow fn declarations in stmt positions (a0e0305)
  • Disallow YieldExpression in gnrtr params (17ca4e4)
  • Enforce UniqueFormalParameters for methods (280d36b)
  • Honor globals config in JavaScript API (0278731)
  • Report invalid syntax as error (5ca8b1a)
  • Update parsing of object "rest" property (58967ea)

Features

  • Enable object rest/spread via esversion (3fc9c19)
  • Enforce ES2016 restriction on USD (2c2025b)
  • Implement noreturnawait (70ab03d)
  • Implement regexpu option (962dced)
  • Implement ES2019 RegExp "dotall" (457d732)
  • Implement support for async iteration (1af5930)
  • Implement support for ES8 trailing commas (29cab1f)
  • Implement support for object spread/rest (35e1b17)
  • Introduce exponentiation operator (21b8731)
  • Introduce linting option leanswitch (1f008f2)
  • Introduce support for async functions (bc4ae9f)

JSHint 2.9.7

07 Dec 18:43
Compare
Choose a tag to compare

2.9.7 (2018-12-07)

This release corrects a packaging issue. It is not expected to modify JSHint's behavior.

JSHint 2.9.6

30 Jul 20:35
Compare
Choose a tag to compare

2.9.6 (2018-07-30)

Bug Fixes

  • Add missing global objects for browser env (badc7a4)
  • Add other Fetch spec globals (07bb596), closes #2582
  • Allow closing over immutable bindings (7091685)
  • Allow computed method names in obj literal (a5ff715)
  • Allow empty export and trailing comma (631327e), closes #2567
  • Avoid infinite loop on invalid for stmt (56a4379)
  • Consistently ignore dot-prefixed dirs (8d4317e)
  • Correct impl of built-in bindings (a11d631)
  • Correct interpretation of whitespace (dd06eea)
  • Correct location of reported error (1c434a3)
  • Correct location reported for W043 (1d04868)
  • Correct reporting of var name in list comprehensions (0ff6644)
  • Correct restriction on function name (55aa54e)
  • Correct spelling of Uint8ClampedArray (8df4a32)
  • Create block scope for switch statements (aa2be10)
  • Disallow default values in rest parameters (b420aed)
  • Do not create binding for illegal syntax (9fe8c94)
  • Do not warn about non-ambiguous linebreaks (ab3ab85)
  • Fix "is is" message typos (7993101)
  • Preserve functionality in "legacy" Node.js (2f6ac13)
  • recognize Jasmine global spyOnProperty (827237f), closes #3183
  • Relax restriction on asgnmnt to arguments (0a66710)
  • Remove warning W100 (ff71d3c)
  • Report error for duplicate arrow params (506c7d5)
  • Report error for redeclared generator fns (8896fa3)
  • Restrict "name" of strict mode functions (a554c89)
  • Restrict super usage to valid forms (8f3f880)
  • Restrict IdentifierNames in ES5 code (5995a9f)
  • Tolerate division following closing brace (3aa02db)
  • Tolerate RegExp as void operand (3f920b5)
  • Tolerate whitespace in inline directives (efeb0f8)

Features

  • List outer scoped variables of W083 (d03662c), closes #3211

JSHint 2.9.5

22 Jun 20:15
Compare
Choose a tag to compare

2.9.5 (2017-06-22)

Bug Fixes

  • Account for hoisting of importing bindings (bd36953)
  • Add onmessage to vars.worker (540ed85)
  • Added missing "Storage" browser variable (8cfe5ad)
  • Avoid crash when peeking past end of prog (c083866)
  • Avoid false positive (44d9e0b)
  • Close synthetic scope for labeled blocks (5f0f789)
  • Fail gracefully on invalid if syntax (#3103) (8c6ac87)
  • Honor "ignore" file when linting STDIN (d4f83a4)
  • Parse for-in/of head LHS as asnmt target (da52ad9)
  • Removed warning message W041 (#3115) (376fa62)
  • Throw W033 instead of E058 when the ; after a do-while stmt is missing (6907cd4)

Features

JSHint 2.9.4

20 Oct 21:25
Compare
Choose a tag to compare

2.9.4 (2016-10-20)

Bug Fixes

  • Allow RegExp literal as yield operand (#3011) (b646aea)
  • Allow W100 to be ignored during lookahead (a2b3881), closes #3013
  • Avoid crashing on invalid input (#3046) (bec152c)
  • Correct interpretation of ASI (#3045) (9803e11)
  • Do not duplicate reported warnings/errors (dc4a4fe)
  • Enforce TDZ within initializer of lexical declaration 8e9d406), closes #2637
  • Enforce TDZ within class heritage definition 8e9d406)
  • Enforce TDZ within for in/of head 8e9d406), closes #2693
  • Offset line no.s of errors from eval code (2a31c94)
  • Remove null value from errors array (#3049) (f7eb3d7)
  • Report error for offending token value (3b06d01)

JSHint 2.9.3

18 Aug 15:39
Compare
Choose a tag to compare

2.9.3 (2016-08-18)

Bug Fixes

  • Add TypedArray globals for ES2015 (ee0acab)
  • Allow Expression within for-in head (56c95d0)
  • Avoid crash when peeking past end of prog (#2937) (330d429)
  • Correct behavior of singleGroups (#2951) (97fefb7)
  • Correct interpretation of ASI (#2977) (3ef7a03)
  • Correctly recognize asi after directives (039ee2e), closes #2714
  • Disallow Import declarations below top lvl (d800e44)
  • Support y RegExp flag in ES2015 code (#2999) (a801433)
  • Support semicolons within arrow fn params (#3003) (179a9d6)

Features

  • Error for literals on rhs of instanceof (e3e745b), closes #2777