All Versions
Latest Version
Avg Release Cycle
84 days
Latest Release
52 days ago

Changelog History
Page 1

  • v2.11.1

    May 14, 2020

    2.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)
    • 💅 Correct ASI for C-style for loops (ac232a5)
    • 👌 Improve tokenization of RegExp literals (#3471) (f786002)
    • TypeError accessing 'value' of undefined (8884eb9), closes #3455
    • 👉 Use relative paths with --filename when recieving from stdin (c1b5c2b)

    🔋 Features

    • Replacing PhantomJS with Puppeteer (51963a3)
  • v2.11.0

    January 13, 2020

    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.

  • v2.11.0-rc1

    December 11, 2019

    🚀 In addition to bug fixes and new features, this release candidate includes a ♻️ few refactorings which are not expected to influence JSHint's behavior.

    🐛 Bug Fixes

    • 🔦 Expose new typeof value experimentally (dcef79a)
    • 👌 Improve parsing of yield (6fdb4f6)
    • 👌 Improve parsing of comma operator (897e035)
    • Support spaces in /*global ... */ (e542f67)

    🔋 Features

    • ➕ Add support for "bigint" typeof value (ce0b7b3)
    • ➕ Add support for BigInt literals (c340e55)
    • ➕ Add support for ES2019 opt. catch param (43b6354)
  • v2.10.3

    November 04, 2019

    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)
  • v2.10.2

    March 13, 2019

    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)
  • v2.10.1

    February 05, 2019

    2.10.1 (2019-02-05)

    🐛 Bug Fixes

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

    February 05, 2019

    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

    🐛 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)
  • v2.9.7

    December 07, 2018

    2.9.7 (2018-12-07)

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

  • v2.9.6

    July 30, 2018

    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)
    • 0️⃣ 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
  • v2.9.5

    June 22, 2017

    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

    • ➕ Add enforcing option: trailingcomma (#3090) (42dc572)
    • ➕ Add MediaRecorder to vars.js (b075919)