Skip to content

2.11.0 (2023-01-31)

Choose a tag to compare

@strager strager released this 04 Apr 03:45
· 1562 commits to master since this release

Downloads

Changed

  • Debian: The apt repository signing key expired on (2023-01-21). This causes
    apt-get update to fail. To fix this issue, add the latest signing key by
    running the following command:

    $ curl https://c.quick-lint-js.com/quick-lint-js-release.key | sudo apt-key add -
    
  • LSP: The quick-lint-js LSP server no longer accepts JSON-RPC 2.0 batch
    messages. In practice, LSP clients don't use this feature, so this breaking
    change should do no harm. The LSP specification recently started
    prohibiting batch
    messages
    to
    match the status quo.

Added

  • LSP: The LSP server now recognizes and lints TypeScript and TypeScript JSX
    code. However, the editor plugins currently do not use this feature by
    default.
  • Vim: You can opt into TypeScript support. Search for EXPERIMENTAL in
    :help quick-lint-js. (Disabled by default.)
  • VS Code: You can now opt into experimental TypeScript support. Set the
    quick-lint-js.experimental-typescript setting to true. (Disabled by
    default.)
  • switch (c) { case A: break; case A: break; } now reports E0347
    ("duplicated case clause in switch statement") (implemented by Rebraws).
  • Translations: Brazilian Portuguese (implemented by Guilherme Vasconcelos).
  • Mixing up the order of the export, async, and function keywords now
    reports E0326 or E0327 (implemented by Alek Lefebvre).
  • TypeScript types like string? now report E0348 (implemented by
    Alek Lefebvre).
  • Extra parentheses in function parameters now report E0349 (function
    parameter cannot be parenthesized) (implemented by Harshit Aghera).
  • QuickJS's global variables are now recognized by default via the new quickjs
    global group (implemented by wagner riffel).
  • E0190 is now reported if the literal is undefined, not only null,
    strings, and numbers (implemented by Harshit Aghera).

Fixed

  • Variables can be named according to Unicode 15 (previously Unicode 14).
  • In tracing files, the thread IDs in the file headers are now correct if
    tracing was enabled after startup.
  • E0325 is now an error rather than a warning.
  • 0o123.toString(), 0x123.toString(), 0b101.toString(), and
    0123.toString() no longer incorrectly report E0046, E0047, or
    E0048.
  • Using a variable called async, then exporting something, no longer reports
    an unexpected token error (implemented by Alek Lefebvre).
  • class C { x = 0, y; } now reports E0330 ("',' should be ';' instead")
    instead of E0057 ("use of undeclared variable: y") (implemented by
    clegoz).