Releases: dense-analysis/ale
Releases · dense-analysis/ale
ALE v1.8.0
Deprecated Features
Support for NeoVim versions below 0.2.0 is deprecated in this version of ALE. Users using older versions of NeoVim will see a warning they can turn off when NeoVim starts. Support for NeoVim versions below 0.2.0 will be removed in ALE v2.0.0, to be released during Spring or Summer 2018. NeoVim 0.2.0 supports closures, which will make development of ALE easier.
The following functions will now emit deprecation warnings, and will be removed in ALE 0.2.0.
ale#statusline#Status()
ALELint()
ALEGetStatusLine()
Bugs Fixed
- tsserver now reports warnings with
'W'
and suggestions with'I'
. #1384 - The
tslint
exectuable is now escaped. #416 - Forward slashes in temporary filenames could cause issue with errors being reported on Windows. This has been fixed. #1431
- Errors returned by
fish -n
are now handled properly on Linux. #1373 - ALE will no longer show balloons when
g:ale_set_balloons
is set to0
while Vim is running. #1404
New Features
- ALE now supports wrapping commands that are run. See
:help g:ale_command_wrapper
. #1115 - ALE will now send
textDocument/didSave
to LSP servers when linting is done as the result of saving a file. #1288 - ALE now increments a variable
b:ale_linted
when buffers are checked, for use in other plugins. #1379 - LSP-like clients can now be stopped with
:ALEStopAllLSPs
. - ALE now runs
ALEFixPre
andALEFixPost
events when fixing files. - Balloons can now be disabled for a buffer by setting
b:ale_set_balloons
to0
. #1404
Other Changes
- If you specify a fixer which is neither in the registry, nor a valid function name, ALE will now print a friendly message telling you your settings are wrong. #1336
New Linters
- Elixir -
dialyxir
#1257 - Erb -
erubi
#1157 - fish -
fish -n
#1252 - Fountain -
proselint
#1243 - Lua -
luac -p
#1272 - Git commit messages -
gitlint
#1233 - Go -
gotype
#1099 - Markdown -
markdownlint
#1394,textlint
#1383 #1448 - PO -
alex
#1321,msgfmt
#1321,proselint
#1321,write-good
#1321 - Pony -
ponyc
#1343 - QML -
qmllint
#1419 - Text -
textlint
#1448
New Fixers
- JSON -
fixjson
#1284,jq
#1303 - C -
flawfinder
#1361 - C++ -
flawfinder
#1361 - PHP -
php-cs-fixer
#1390 - Ruby -
rufo
#1415
Linter Enhancements
- The
gawk
linter now prevents arbitrary execution of code by exiting early. #1411 - The options for
ghc
can now be configured. #1260 - The HTML
tidy
linter will now no longer run the outdated version oftidy
which comes with Mac OSX. Install a modern version via homebrew instead. #1262 htmlhint
will now automatically use the.htmlhintrc
configuration file when checking for problems while you type. #1038- Syntax errors can now be ignored for
mypy
withg:ale_python_mypy_ignore_invalid_syntax
. - The Rust features code will be checked with can now be controlled for the
cargo
linter. #1275 - Options for
protoc
are now configurable. #1268 - The
credo
anddogma
linters now contain a work-around for an obscure hot-reloading issue. #1266 - Error messages will be read from
stderr
for newer versions of ESLint. #1246 - The
hadolint
linter now reports Dockerfile parse errors. #1308 - The
hadolint
linter now outputs hyperlinks with information about errors for:ALEDetail
. #1308 - Some namespace issues for
lintr
have been solved. #1326 - Options can now be set for the
gobuild
linter. #1206 - The
gobuild
linter should now setGOPATH
on Windows. #1206 - The
gobuild
linter should now escape the path forGOPATH
and for changing the directory. #1206 - The
lintr
linter can now be set to lint packages. See:help g:ale_r_lintr_lint_package
#1332 - F401 is now a warning and E112 is now a syntax error for pycodestyle and flake8. #476
- The
go vet
linter now only lints files and checks the entire package, which solves a number of problems, but removes the ability to use it to lint while you type. #1369 #1358 - The
staticcheck
linter for Go can now be set to lint all files in a package, which can solve some problems with linting certain files. See:help g:ale_go_staticcheck_package
- The
perl
linter now reports warnings as warnings. #933 - The
perl
linter now only shows the first problem among many problems one line. #933 - The markdown
mdl
linter options are now configurable. #945 - Whether warnings are errors are displayed for flawfinder can now be controlled with
g:ale_c_flawfinder_error_severity
. #1400 - The
gotype
linter will now only check files on disk, so it can work with vendored-only dependencies. #1392 - The
gotype
andgosimple
linters will now check whole packages, which seems like the only thing that will work properly. #1433 #936 - The
mix
format options are now configurable. #1410 - Errors for Japanese text with Redpen will now be highlighted better. #1416
- Problems with ranges will now be handled for the
remark
linter. #1207
Fixer Enhancements
- The
elm-format
fixer is now available as'elm-format'
, in addition to the old name of'format'
. #1395
ALE v1.7.1
Bugs Fixed
rustfmt
will now apply project settings correctly by using stdin and stdout instead. #1254- The extra arguments are now passed to
clang-check
correctly. #1255 - ALE now supports running commands on Windows when the shell is PowerShell. #1298
- Rust errors will now use the correct column numbers instead of byte offsets. #1322
isort
configuration files will now be detected more accurately by changing the working directory instead of setting the configuration file. #1330
ALE v1.7.0
Bugs Fixed
- ALE will now find files relative to buffers in cygwin. #1180 #1181
- The temporary file for TSLint was being mentioned sometimes in the quickfix list. #1210
- ALE will now suppress trailing whitespace warnings for
ansible-lint
when the option is on. #1216 - Relative and absolute paths are now resolved better on Windows. #1210
- ALE no longer moves the cursor slightly when briefly escaping insert mode and echoing a message. #1228
New Features
- ALE linting can now be toggled for particular buffers. See
:help ALEToggleBuffer
. #817 - Problems reported by ALE can now be removed with
ALEReset
orALEResetBuffer
. #719 b:ale_fix_on_save
can now be used for controlling fixing on save for specific buffers. #857- Fixer functions can now be chained, much like linters. #1086
- Fixer functions can now specify callbacks for post-processing command output.
- Reading the buffer via stdin can now be disabled for fixer commands with
'read_buffer': 0
, just like linters. b:ale_fixers
can now be set to aList
. #1108b:ale_linters
can now be set to aList
. #1108b:ale_linters
can now be set to'all'
. #1108b:ale_linter_aliases
can now be set to aList
. #1108- ALE will now show the echoed severity for type
'I'
problems as'Info'
. - ALE now supports formatting echo messages with error codes. #852
- Several linters have now been updated so the error codes are configurable. #852
- The echo message format can now be configured differently for different buffers. See
:help b:ale_echo_msg_format
- Messages for loclist and the quickfix list can now be formatted like echoed messages. See
:help g:ale_loclist_msg_format
#1069 #852 - ALE linters can now be configured to only be enabled explicitly. See
:help g:ale_linters_explicit
#1128 :ALEDetail
will now show messages in a preview window. #757- Line highlights will now be set when signs are disabled. #741
- ALE now supports jumping to definitions for LSP and tsserver linters. See
:help ale-go-to-definition
. - Warnings about trailing blank lines can be disabled for some linters. See
:help g:ale_warn_about_trailing_blank_lines
. - Failing executable checks may now be cached with
let g:ale_cache_executable_check_failures = 1
#1176 - An autocmd command
ALELintPre
has been added for running code just before ALE starts linting.
Other Changes
- ALE will no longer modify
runtimepath
wheng:ale_emit_conflict_warnings
is set to0
. #1049 - ALE should no longer mess with folds when
ALELint
autocmd commands are set. #1062 - ALE will no longer send an
id
key
for the LSP notification messages at all, instead ofv:null
. #1110 - Output will now be ignored for fixer commands which output only whitespace.
- When ALE deletes lines as the result of fixing files, the deleted lines will be put in the black hole register. #1165
tsserver
completions will now be requested again after completion is done only if the cursor moves, rather than waiting for 100ms. #1041- The
perl
linter is now disabled by default, as it can execute malicious code. #1186 - The
ALELint
autocmd has been renamed toALELintPost
, but the old commands will still be run until version 2.0. On version 2.0,ALELint
commands will probably be removed. - ALE will now look for
mypy.ini
files for finding Python project roots. - ALE will now look for
venv
for finding virtualenv directories by default. #1237 - Cursor messages can now be disabled while Vim is running.
- ALE now cleans up buffer data when buffers are deleted instead of unloaded, so the quickfix list can be maintained.
New Linters
- AsciiDoc -
alex
#1220,redpen
#1142,write-good
#643 #811 - API Blueprint -
drafter
#1152 - Clojure -
joker
#1133 - Dafny -
dafny
#1093 - Dart -
dart_language_server
#1006 - GLSL -
glslls
#1179 - GraphQL -
eslint
#1169 - HTML -
alex
#1220,write-good
#643 #811 - LaTeX -
alex
#1220,redpen
#1142,vale
#1230,write-good
#643 #811 - LESS -
lessc
#1103,stylelint
#510 - mail -
alex
#1220,proselint
#1037,vale
#1044 - Markdown -
alex
#1220,redpen
#1137,write-good
#643 #811 - nroff -
alex
#1220,write-good
#643 #811 - OCaml -
ols
#1110 - PHP -
phan
#1026 - Pod -
alex
#1220,write-good
#643 #811 - proto -
protoc-gen-lint
#1098 - Python -
prospector
#565 #1183,pyflakes
#516,PyLS
#1097 - Solidarity -
solhint
#1192 - ReasonML -
ols
#1110 - reStructuredText -
alex
#1220,redpen
#1142,rstcheck
#1090,vale
#1230,write-good
#643 #811 - Re:VIEW -
redpen
#1142 - Terraform -
tflint
#1046 - Texinfo -
alex
#1220,write-good
#643 #811 - text -
alex
#1220,redpen
#1142,write-good
#643 #811 - Vim help -
alex
#1220,write-good
#643 #811 - XHTML -
alex
#1220,write-good
#643 #811
New Fixers
- Elixir -
mix format
#1017 - Go -
goimports
#1123 - Hack -
hackfmt
#1053 - Haskell -
brittany
#1174,hfmt
#1027 - Java -
google-java-format
#1209 - JavaScript -
importjs
#1191 - ReasonML -
refmt
#1059 - Rust -
rustfmt
#1025 - Shell -
shfmt
#1083
Linter Enhancements
- ALE now captures problems for other files for GCC, clang, and related tools. #1023
- The
rubocop
andhaml-lint
configuration files will be now used forham-lint
automatically. #1047 - The
shellcheck
linter will now use-x
and follow sourced files when checking for errors. #491 - The
shellcheck
linter now uses the type'I'
for notes. #1122 - The
phpcs
linter will now include the error code in the message. #1009 - Errors for missing ESLint configuration files can now be disabled. See
:help g:ale_javascript_eslint_suppress_missing_config
. #971 cargo check
andcargo check --all-targets
will now automatically be used whencargo
is new enough.g:ale_rust_cargo_use_check
org:ale_rust_cargo_check_all_targets
can be set to disable either. #626- The
phpmd
executable can now be configured, and error checking should be more reliable. #1076 - The
flow
linter will now include more information for errors in the:ALEDetail
message. #946 - Error codes can now be configured for messages from ESLint. #852
- Error codes can now be configured for messages from TSLint. #852
- Error codes can now be configured for messages from flake8. #852
- Error codes can now be configured for messages from rubocop. #852
- Error codes can now be configured for messages from ansible-lint. #852
- Error codes can now be configured for messages from cpplint. #852
- Error codes can now be configured for messages from shellcheck. #852
- Error codes can now be configured for messages from pylint. #852
- Error codes can now be configured for messages from checkmake. #852 #1135
- Error codes can now be configured for messages from checkstyle. #852
- Error codes can now be configured for messages from pycodestyle. #852
- Error codes can now be configured for messages from csslint. #852
- Error codes can now be configured for messages from jscs. #852
- Error codes can now be configured for messages from luacheck. #852
- Error codes can now be configured for messages from mcs and mcsc. #852
- Error codes can now be configured for messages from nimcheck. #852
- Error codes can now be configured for messages from reek. #852
- Error codes can now be configured for messages from slim-lint. #852
- Error codes can now be configured for messages from stylelint. #852
- Error codes can now be configured for messages from swaglint. #852
- Error codes can now be configured for messages from swiftlint. #852
- Error codes can now be configured for messages from tflint. #852
- Error codes can now be configured for messages from foodcritic. #852
msgid
values (likeE0103
) are no longer reported for pylint, which aren't human-readable. #852- pycodestyle errors and warnings are now style errors and warnings. #852
- Rails-specific syntax will now automatically be stripped from
erb
files. #580 #1114 - The GCC executable for ASM may now be configured. #1138
- Options can now be configured for
iverilog
. #1143 - The
javac
linter now includes test source paths for test files. #859 - The
javac
linter now includes jaxb source paths when available. #859 - Problems in other files will now appear in lists for the
gobuild
linter. #1154 - The
foodcritic
linter has been overhauled to check only files on disk with better error messages. #1151 flow
will no longer check files with home directory configuration files by default, which can eat all of your CPU and RAM. Setg:ale_javascript_flow_use_home_config
to1
to use home directory configuration files, if you really must. #783- Prettier text will now be saved for detailed messages for Haskell linters. #918
- Different toolchains for
rls
can now be selected. See:help g:ale_rust_rls_toolchain
#1166 - The
ruby
executable is now configurable. #1168 - Warnings about trailing blank lines can be disabled for
flake8
andpycodestyle
. - The
phpcbf
linter should now work properly, apparently. #1188 - The
puppet
linter now parses output which doesn't include column numbers. #1182 - The executable for
perl
is now properly escaped. gometalinter
can now be configured to report problems from other files. See:help g:ale_go_gometalinter_lint_package
#1156- The
php
linter now handles error output from PHP 7.2, which has slightly different output. - The
vale
linter now parses end column numbers, for better highlighting. - The
erb
linter now works on puppet style templates. #1221 - The
mcsc
linter paths and escaping should now work on Windows. - The
ember-template-lint
linter will now parse line and column numbers for fatal errors if they are included. - Some of the options for
rustc
can now be configured, so-Z no-trans
...
ALE v1.6.2
ALE v1.6.1
Bugs Fixed
- ALE will now read
cargo
output from eitherstdout
orstderr
, to support more versions ofcargo
#1045 - ALE will no longer try to lint files named
.
#1048 ash
anddash
are now supported for shell linters #1051- Completions will now not be requested shortly after
CompleteDone
, fixing a bug where the menu kept re-opening #1041 gosimple
andstaticcheck
will now check only the actual files on disk, because that is all they support. #936- Running the
php
linter will no longer write to the PHP error log. #1072 - The
erlc
linter is now supported on Windows. #1071 - Python fixers weren't working on Windows since version 1.6.0. This has been fixed. #1081
- When combined with some other plugins in NeoVim, ALE would sometimes through exceptions when trying to stop jobs. These errors are now silenced. #1058
- The
javac
linter wasn't handling errors from other files correctly. This has been fixed. #1061 - All LSP and
tsserver
messages which include a buffer's text data will now include a final line feed, so tools which complain about missing newline characters will be quiet. #1085 - Message handling for LSP linters wasn't working in NeoVim, due to improper handling of LSP messages. This has been fixed. #1006
- ALE was reporting
no-implicit-dependencies
for most files with in TSLint's latest version, because TSLint does not fully support checking for errors while you type yet. These errors have been silenced for now. #1101
ALE v1.6.0
Bugs Fixed
- ALE wasn't checking buffers on enter in some cases. This has been fixed. #734
- The regular expression for parsing
phpmd
errors has been updated, so errors may be handled better in some cases. #1032
New Features
- The maximum number of signs ALE will set can now be configured. See
:help g:ale_max_signs
#965 - The delay before echoing a message can now be configured. See
:help g:ale_echo_delay
#965
Other Changes
- Linters and some other processing will no longer be run when
v:exiting
is set in NeoVim 0.2.0 and above. #904 - Linters will no longer be run on
:wq
or:x
, which did nothing useful. #904
New Linters
- C -
clang-tidy
#827 - C# -
mcsc
(See:help
ale-cs-mcsc`) #952 - GLSL -
glslang
#914 - LLVM IR - llc #979
- Solidity - solium #929
- Thrift -
thrift
#892 - Markdown -
remark-lint
#1010
New Fixers
prettier
for TypeScript, CSS, SCSS, LESS, and JSON #910 #1018elm-format
#916gofmt
#970trim_whitespace
#991tslint
#1001
Linter Enhancements
- ALE will now prefer to use
prettier_d
forprettier
, if it is installed. #885 - The
javac
linter will now include paths based on gradle build commands. #889 - CM files are now used for smlnj where available. See
:help ale-sml-smlnj
#884 - TSLint output can now be ignored for empty files. See
:help g:ale_typescript_tslint_ignore_empty_files
- The
brakeman
linter will now report problems for other files in quickfix and loclist. - The
slim-lint
linter will now use rubocop configuration files. #903 #942 - The
shellcheck
linter now arranges the arguments in such a way that manually changing the dialect is possible. #949 - The
phpstan
configuration file can now be configured. #969 $VIRTUAL_ENV
will be used for running Python tools when no local directories can be found. #990- The
luacheck
linter will now respect theg:ale_warn_about_trailing_whitespace
option. #968 - ALE will now tell you how to configure
scalastyle
when no configuration file was found. #977
Fixer Enhancements
- Configuration files can now be detected for
prettier
. See:help g:ale_javascript_prettier_use_local_config
#886 - The
prettier-eslint
fixer now uses the eslint configuration file by default, which will yield better results, but may break things for some users.See :help g:ale_javascript_prettier_eslint_legacy
#854 - The
yapf
fixer should now run local virtualenv executables on Windows. - The
standard
fixer can now be used even if the linter is never loaded.
ALE v1.5.2
Bugs Fixed
- ALE was sometimes reporting errors when trying to open empty list windows. This has been fixed. #920
staticcheck
andgosimple
now capture both output streams so they will report errors where they didn't. #921- ALE wasn't changing the sign column color any more when that option was on since 1.5.0. This has been fixed. #924
- ALE stopped removing signs properly when multiple signs ended up lying on a single line, since 1.5.0. This has been fixed. #964
- ALE was using the wrong ESLint configuration files in some cases. This has been fixed. #922
eslint --fix
now uses-c
instead of--config
for specifying the configuration file, which apparently works better in some versions. #951
ALE v1.5.1
Bugs Fixed
- ALE will now detect the shell dialect for
shellcheck
by parsing hashbang (#!
) lines. #869 pycodestyle
is now disabled by default, as it is also installed when you installflake8
. #888- ALE now uses
node.exe
instead ofnode
to execute Node.js scripts on Windows, and the path can be configured if needed. See:help g:ale_windows_node_executable_path
#895 - ALE will no longer lint a file when the filetype is initially set if
g:ale_lint_on_enter
is set to0
. #505 - ALE should no longer show linting results in ctrlp-funky windows. #891
- Since version 1.5.0, ALE wasn't closing the loclist or quickfix windows most of the time. This has been fixed. #899 #912
- Since version 1.5.0,
tsserver
integration was broken due to a bug in NeoVim. A workaround has been added to fix this issue in ALE. #907
ALE v1.5.0
Bugs Fixed
- ALE sometimes didn't remove highlights now and again. This has been fixed. #697
eslint --fix
needed to be executed withnode
on Windows when installed viacreate-react-app
. This has been fixed. #775- The GCC error handler was ignoring errors without column numbers. This has been fixed. #795
scalac
was being run for SBT files with the filetypescala.sbt
. Nowscalac
is not run for SBT files. #804- Many linters which expect JSON output now ignore output which isn't JSON. #810
- ALE was not handling syntax errors from
tsserver
. This has been fixed. #798 - ALE didn't check files some of the time when restoring multiple windows from a saved session. This has been fixed. #734
- When ALE wrote files with
fileformat=dos
, carriage returns were not included. This has been fixed. #823 - Now when selections are active when loclist or quickfix windows are opened, the selection will be reset. #788
flake8
wasn't parsing errors if you configured the format option in configuration files. Now the format is always explicitly set in the command, so it works. #837- The
rubocop
fixer now uses the same options that the linter is configured with. #841 - Jumping through problems didn't work in some cases with blank lines. This has been fixed. #848
- If problems were kept from previous linter runs, like a
lint_file
linter, ALE would not downgrade signs in the sign column. This has been fixed. #825
New Features
- ALE now comes with LSP (Language Server Protocol) support, for checking files with language servers. See
:help ale-lsp-linters
for documentation on how LSP linters can be defined. #517 - ALE now offers support for code completion while you type for TypeScript code via
tsserver
. See:help ale-completion
:ALEFixSuggest
will now suggest tools for fixing problems in a new window, instead of a long echo message.- ALE will now stop checking buffers for a period of time when exceptions are thrown. See
:help ale-cool-down
#468 - ALE now supports running Python executables from virtualenv directories on Windows. #729
- ALE will now remove any problems previously set when linters are disabled, removed, or when the filetype changes.
- Buffer-local settings can now be set with
g:ale_pattern_options
by using names starting with&
. - ALE will now detect Python project roots based on common configuration files, in addition to looking upwards to find the first directory without an
__init__.py
file. #755 - ALE can now be configured to open quickfix or loclist windows only when files are saved. See
:help g:ale_open_list
#271 - Buffer local options
b:ale_open_list
andb:ale_keep_list_window_open
are now supported. #271 ALEInfo
will now print the results of executable checks for linters, which should help you figure out why a linter might not be running.
New Linters
- Dart -
dartanalyzer
#308 - Erlang -
SyntaxErl
#774 - eruby -
erubis
#865 - GraphQL -
gqlint
#863 - Idris -
idris
#838 - PHP -
langserver
#517,phpstan
#772 - Python -
pycodestyle
#872 - R -
lintr
#182 - Ruby -
rails_best_practices
#751 - Rust -
rls
#517 - Scala -
scalastyle
#766 - Stylus -
stylelint
#178 - Tcl -
nagelfar
#821 - YAML -
swaglint
#771
New Fixers
- C, C++ -
clang-format
#873 - CSS, SASS, SCSS, stylus -
stylelint
#657 #813 - JavaScript -
prettier-standard
#702 - JavaScript -
standard
#781 - PHP -
phpcbf
#862 - Puppet -
puppet-lint
#701 - Swift -
swiftformat
#842
Linter Enhancements
- All C and C++ linters executable paths can now be configured. #711
- The
elm-make
linter now includes end line and column numbers for highlights. #699 - The
verilator
linter's options can now be configured. #698 - The
pug-lint
linter now detectsnode_modules
executables, like other linters, and supports the same options as most other linters. 79e8e06 - The
perlcritic
linter now supports more options and will automatically load configuration files. See:help ale-perl-perlcritic-options
#675 - The
luacheck
linter now includes the error codes in the message. #717 - The
hadolint
linter can now be run via a Docker image. #720 stylelint
linters will now print exceptions thrown bystylelint
, including missing configuration files.- The
gometalinter
linter's executable can now be configured. - The
jscs
linter can now be used with older versions of jscs. #737 - The
rubocop
linter now works with older versions of rubocop. #339 #738 - The
rubocop
linter now includes end column numbers for better error highlighting. #738 - The
rubocop
linter now includes the error type in the error messages. #820 - The
clang-check
linter now uses some additional arguments to avoid generating .plist files if no build directory is set. #703 - The
hlint
linter now uses typeI
for suggestions. #710 - The
hlint
linter now includes end line and column numbers for better highlighting. #710 - The
hdevtools
linter's options and executable can now be configured. #799 - The
ghc-mod
linter will now map the temporary file for better error messages. #846 - The rule name is now included in the messages for tslint problems.
- The
SyntaxErl
linter will now include the basename option when available. #860 #861 - Warnings about files ignored by ESLint can now be disabled. #836
- Some
Vint
problems will be highlighted better.
Fixer Enhancements
- The
yapf
fixer now only sets--no-local-style
if a configuration file is detected. #786
ALE v1.4.1
Notes
- From this version and onward, ALE remembers the full output of recent commands by default, which helps with filing bug reports and fixing issues. See
:help g:ale_history_log_output
for more information.
Bugs Fixed
- When fixers like
yapf
failed, they were removing all of the lines in files. This has been fixed. #706 - The
brakeman
linter was throwing errors when no output was returned. This has been fixed. #716 ansible-lint
was reporting errors from other files. This has been fixed. #216- ALE wasn't setting the configuration file when fixing files with
rubocop
. Now it does. #732 - The
ghc
linter was showing warning as errors. This has been fixed. #710 - The
flow
linter didn't support older versions of flow. This has been fixed. #735 - Rust linters should now work on Windows. They didn't before, due to how paths were handled. #736
- ALE wasn't checking files on save if it also tried to fix files on save, and no changes were made. This has been fixed. #730
- When the shell was set to
fish
, some ALE commands didn't work. Now/bin/sh
will be used instead when the shell is set to fish. #749 - Errors when ALE is unable to set signs will now be silenced. #560 #763