This document chronicles quick-lint-js' releases. This document's format is based on Keep a Changelog.
quick-lint-js' version numbers are arbitrary. quick-lint-js does not adhere to Semantic Versioning.
- Various new errors (implemented by Himanshu).
quick-lint-js.confignow supports the literally-anything global group. Use this option to disable all use-of-undeclared-variable warnings.
- If quick-lint-js crashes, it will link to a page to report crashes.
- VS Code: The plugin now works on Windows on ARM (64-bit).
- VS Code: The plugin now works on Linux on ARM (32-bit and 64-bit).
- The CLI and LSP server now compile on FreeBSD (amd64). However, we don't provide FreeBSD pre-built executables.
- Neovim: nvim-lspconfig is now supported by quick-lint-js' plugin (implemented by tiagovla).
- VS Code: Contributors can now enable performance tracing (implemented by Jimmy Qiu).
- LSP, VS Code: Filesystem change watching failures no longer crash. These failures can happen on Windows for directories on network shares, for example.
- LSP: Unknown messages no longer crash the LSP server. This makes the LSP server compatible with more clients, such as Neovim's built-in client.
break yieldno longer incorrectly reports errors (fixed by Himanshu).
- Vim: The plugin no longer crashes if a filename contains a newline character (or certain other control characters).
- LSP, VS Code: Config file changes are now recognized properly if any path component contains a symbolic link (Linux and macOS).
- quick-lint-js no longer warns about variables named
- Parsing certain code patterns containing
await/no longer takes excessive memory and time.
- Various crashes on invalid code have been fixed.
- LSP, VS Code: Some memory leaks have been fixed.
- Arch Linux: building should no longer fail with "The install of the quick-lint-js target requires changing an RPATH from the build tree".
- CLI: The
-) no longer search for configuration files in the current working directory. Use the
--path-for-config-searchoption to approximate the old behavior.
- Emacs: For scratch buffers, the Flycheck and Flymake plugins no longer search for configuration files.
- Vim: For unnamed buffers, the ALE plugin no longer searches for configuration
files in the current working directory's parent and ancestors. Name the buffer
:filecommand if you want a configuration file to take effect.
- VS Code: The plugin has been rewritten. Performance should be better, but stability and compatibility might suffer. For example, VS Code on Apple silicon (AArch64 CPUs) has not been tested and will likely no longer work. Please report compatibility issues.
- Various new errors (implemented by Himanshu)
--path-for-config-searchallows customizing where configuration files are found for
- Global variables for several popular libraries are now recognized by default, including jQuery, Jasmine, and Jest
- Syntax and schema errors in
- VS Code:
- Building quick-lint-js with AddressSanitizer on Fedora no longer fails in
- Building quick-lint-js no longer fails if a directory called
brewexists anywhere in
for (const x of xs)no longer incorrectly reports E205 (missing initializer in const declaration) (fixed by Himanshu)
quick-lint-js.configfiles are now recognized if the containing directory contains non-ASCII characters
- Fix SSE2 corruption on 32-bit Windows builds with MSVC.
- Vim plugin: Version 0.2.0 executed
node_modules/.bin/quick-lint-jswithout validating that the program is really quick-lint-js. The plugin now conservatively ignores
- New JS syntax:
.?, class fields,
- Translations: Swedish (implemented by Kim "Linden")
- Emacs plugin (implemented by wagner riffel)
- Neovim plugin
- Errors and warnings are now documented on the website
- Various new errors and error message improvements (implemented by AidenThing, Daniel La Rocque, Erlliam Mejia, Himanshu, Lee Wannacott, Matheus Sousa)
- Shell completion for the CLI (Bash, Fish, Zsh) (implemented by Shivam Mehta)
- Partially implemented: Global variables can be configured using a
- Using browser variables such as
windowno longer reports undesired undeclared variable warnings
evalno longer cause spurious undeclared variable warnings (implemented by Himanshu)
++a;no longer reports an assignment-to-const-variable error if
awas declared with
const(implemented by Himanshu)
'undefined' === typeof foo ? 3 : 4no longer reports a warning that
foois undeclared (implemented by Himanshu)
- Building tests with GCC 11.1.1 no longer fails due to
- Building the VS Code plugin now works on Windows (implemented by Jimmy Qiu)