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.
Unreleased
Beta release.
Fixed
- Nothing yet!
0.4.0 (2021-09-09)
Beta release.
Changed
- CLI: The
--stdin
option (and-
) no longer search for configuration files in the current working directory. Use the--path-for-config-search
option 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
using the
:file
command 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.
Added
- Various new errors (implemented by Himanshu)
- CLI:
--path-for-config-search
allows customizing where configuration files are found for--stdin
- Global variables for several popular libraries are now recognized by default, including jQuery, Jasmine, and Jest
- Syntax and schema errors in
quick-lint-js.config
no longer crash quick-lint-js. Instead, these errors are highlighted similar to errors in JavaScript files. - VS Code:
quick-lint-js.config
is now used when linting opened JavaScript files.
Fixed
- Building quick-lint-js with AddressSanitizer on Fedora no longer fails in
collect-copyright
- Building quick-lint-js no longer fails if a directory called
brew
exists anywhere in$PATH
- Various crashes given invalid JavaScript no longer happen (implemented by wagner riffel and David Vasileff)
for (const x of xs)
no longer incorrectly reports E205 (missing initializer in const declaration) (fixed by Himanshu)- Windows:
quick-lint-js.config
files are now recognized if the containing directory contains non-ASCII characters - Fix SSE2 corruption on 32-bit Windows builds with MSVC.
0.3.0 (2021-07-02)
Beta release.
Security
- Vim plugin: Version 0.2.0 executed
node_modules/.bin/quick-lint-js
without validating that the program is really quick-lint-js. The plugin now conservatively ignoresquick-lint-js
innode_modules
by default.
Added
- New JS syntax:
.?
, class fields,import.meta
, top-levelawait
,#privateProperties
- 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)
--stdin
CLI option allows reading JavaScript from standard input instead of a file (implemented by wagner riffel)- Partially implemented: Global variables can be configured using a
quick-lint-js.config
file
Fixed
- Using browser variables such as
document
andwindow
no longer reports undesired undeclared variable warnings with
statements andeval
no longer cause spurious undeclared variable warnings (implemented by Himanshu)++a[0];
no longer reports an assignment-to-const-variable error ifa
was declared withconst
(implemented by Himanshu)'undefined' === typeof foo ? 3 : 4
no longer reports a warning thatfoo
is undeclared (implemented by Himanshu)- Building tests with GCC 11.1.1 no longer fails due to
-Werror
- Various crashes given invalid JavaScript no longer happen
- Building the VS Code plugin now works on Windows (implemented by Jimmy Qiu)
0.2.0 (2021-04-05)
Beta release.