Skip to content

Releases: flycheck/flycheck

Flycheck 34

14 Feb 18:10
Compare
Choose a tag to compare

New Features

  • New syntax checkers
    • [#2015]: PHP with phpcs-changed
    • [#2017]: HAML with haml-lint
    • [#2030]: Add yaml-actionlint checker for GitHub yaml action
      workflows.
    • [#2052]: Sass with Stylelint
    • [#2013]: Nix with statix
    • [#1935]: Chef (Ruby) with cookstyle
    • [#1915]: Markdown with pymarkdown
  • [#1873]: Add error explainer to perl-perlcritic.
  • [#1875]: Add error-explainer to css-stylelint.
  • [#1876]: Add error-explainer for markdownlint checker.
  • [#2019]: Add support for RELAX NG schema in xmllint.

Bugs Fixed

  • [#1793]: Fix flycheck-ruby-rubocop on buffers with no backing file.

Changes

  • [#2026]:Update the possible locations for yamllint's
    configuration file.
  • (Breaking) [#1697]: Remove the coq checker.
  • (Breaking) [#1935]: Remove the chef-foodcritic checker.
    (it's now replaced by ruby-chef-cookstyle)
  • (Breaking) [#2018]: Remove the golint checker.
  • (Breaking) Remove the ruby-rubylint checker.
  • [#1704]: The tslint checker is deprecated; it will go away in a
    future release.

Flycheck 33

10 Feb 10:15
Compare
Choose a tag to compare

Note: The changelog for this release is incomplete.

New features and improvements

  • The flycheck-verify-setup UI now includes buttons to re-enable manually
    disabled checkers and to try to re-enable automatically disabled checkers
    (command checkers are automatically disabled when their executable cannot be
    found). [GH-1755]
  • Error explainers can now return URLs (to show a webpage) or functions (to
    use custom formatting). For example, the Rust checker now renders
    explanations using markdown-view-mode. [GH-1753]
  • Enable checkers in many newer TreeSitter-based major modes (think *-ts-mode).

New syntax checkers

Breaking changes

  • Drop support for Emacs 25.
  • The variable flycheck-current-errors now contains errors in the order in
    which they were returned by checkers. In previous versions of Flycheck,
    this list was sorted by error position and severity. [GH-1749]

Flycheck 32

28 Mar 15:08
32
Compare
Choose a tag to compare

See the full changelog for more information. The flycheck-32 branch was originally frozen in May 2020.

Highlights

  • Many checkers and compiler, such as ocaml, rust, eslint, and
    others, include end-line and end-column information. Flycheck can now
    highlight the exact region that they report. Authors of checker definitions
    can use the new :end-line and :end-column arguments in
    flycheck-error-new, or the new end-line and end-column fields in
    error patterns. [GH-1400]

  • Errors that checkers return for other files will now be displayed on the
    first line of the current buffer instead of begin discarded. The error list
    indicates which file each error came from, and navigation moves
    automatically moves between files. This change helps with compiled
    languages, where an error in another file may cause the current file to be
    considered invalid. Variables flycheck-relevant-error-other-file-show
    and flycheck-relevant-error-other-file-minimum-level control this
    behavior. [GH-1427]

  • Flycheck can now draw error indicators in margins in addition to fringes.
    Margins can contain arbitrary characters and images, not just monochrome
    bitmaps, allowing for a better experience on high-DPI screens.
    flycheck-indication-mode controls this behavior, and
    flycheck-set-indication-mode can be used to automatically adjust the
    fringes and margins. Additionally, Flycheck's will now use high-resolution
    fringe bitmaps if the fringe is wide enough [GH-1742, GH-1744]

  • Error highlighting is now configurable, using the new
    flycheck-highlighting-style variable: instead of applying
    level-dependent faces (typically with wavy underlines), Flycheck can now
    insert delimiters around errors, or mix styles depending on how many lines
    an error covers. Additionally, stipples are added in the fringes to
    indicate errors that span multiple lines. [GH-1743]

New features and improvements

  • Flycheck can now trigger a syntax check automatically after switching
    buffers, using the idle-buffer-switch option in
    flycheck-check-syntax-automatically. This is useful when errors in a
    file are due to problems in a separate file. Variables
    flycheck-idle-buffer-switch-delay and
    flycheck-buffer-switch-check-intermediate-buffers control the
    functionality. [GH-1297]
  • Flycheck will now use Emacs' native XML parsing when libXML fails. This
    behavior can be changed by customizing flycheck-xml-parser. [GH-1349]
  • flycheck-verify-setup now shows more clearly which checkers
    will run in the buffer, and which are misconfigured. [GH-1478]
  • Flycheck now locates checker executables using a customizable function,
    flycheck-executable-find. The default value of this function allows
    relative paths (set e.g. in file or dir-local variables) in addition to
    absolute paths and executable names. [GH-1485]
  • Checkers that report error positions as a single offset from the start of
    the file can use the new flycheck-error-new-at-pos constructor instead
    of converting that position to a line and a column. [GH-1400]
  • Config-file variables can now be set to a list of file names. This is
    useful for checkers like mypy which don't run correctly when called from a
    subdirectory without passing an explicit config file. [GH-1711]
  • Thanks to algorithmic improvements in error reporting, Flycheck is now much
    faster in large buffers. [GH-1750]

New syntax checkers:

Checker improvements:

  • python-pylint and python-flake8 are now invoked with python -c,
    to make it easier to change between Python 2 and Python 3. [GH-1113]
  • Add flycheck-perl-module-list to use specified modules when
    syntax checking code with the perl checker. [GH-1207]
  • rust-cargo now uses cargo check and cargo test. [GH-1289]
  • Add flycheck-ghc-stack-project-file for the
    haskell-stack-ghc checker. [GH-1316]
  • Add flycheck-cppcheck-suppressions-file to pass a suppressions
    file to cppcheck. [GH-1329]
  • Add --force-exclusion flag to rubocop command. [GH-1348]
  • Flycheck now uses ESLint's JSON output instead of checkstyle XML. [GH-1350]
  • Add flychjeck-eslint-args to pass arguments to javascript-eslint.
    [GH-1360]
  • Flycheck will now execute rubocop from the directory where a Gemfile
    is located. If a Gemfile does not exist, the old behaviour of running
    the command from the directory where .rubocop.yml is found will be
    used. [GH-1368]
  • Add flycheck-sh-bash-args to pass arguments to sh-bash. [GH-1439]
  • haskell-stack-ghc will not try to install GHC anymore. [GH-1443]
  • Add flycheck-ghdl-ieee-library to select which standard IEEE
    library to use for ghdl. [GH-1547]
  • The javascript-eslint checker now supports typescript-mode by
    default.
  • Add flycheck-erlang-rebar3-profile to select which profile to
    use when compiling erlang with rebar3. [GH-1560]
  • Add flycheck-relevant-error-other-file-show to avoid showing errors
    from other files. [GH-1579]
  • The nix-linter checker now has an error explainer. [GH-1586]
  • The Emacs Lisp checker can now run in buffers not backed by files. [GH-1695]

Breaking changes

  • Remove the javascript-jscs checker. [GH-1024]
  • Remove the elixir-dogma checker. [GH-1450]
  • rust-cargo now requires Rust 1.17 or newer. [GH-1289]
  • rust now requires 1.18 or newer. [GH-1501]
  • Rename flycheck-cargo-rustc-args to flycheck-cargo-check-args.
    [GH-1289]
  • rust-cargo does not use the variable flycheck-rust-args anymore.
    [GH-1289]
  • Improve detection of default directory for haskell-ghc to consider
    hpack project files. [GH-1435]
  • Replace go tool vet with go vet. [GH-1548]
  • Remove the deprecated go-megacheck checker, which is replaced by
    go-staticcheck. [GH-1583]

Many thanks to all the people who contributed for this release 🎉

Flycheck 31

07 Oct 07:57
31
Compare
Choose a tag to compare

See the full changelog for more information.

Breaking changes

The rust-cargo checker now requires Rust 1.15 or newer. On the other hand, the checker is now capable to test integration tests, examples and benchmarks.

We have removed the javascript-gjslint checker following the deprecation of the Closure Linter.

Notable changes

We have added 10 new checkers: protobuf-protoc, systemd-analyze, nix-instantiate, dockerfile-hadolint, asciidoctor, less-stylelint, ruby-reek, go-megacheck, llvm-llc, and proselint.

Many thanks to all the people who contributed for this release 🎉

Flycheck 30

12 Oct 11:44
Compare
Choose a tag to compare

Notable changes:

  • Flycheck now checks Elixir with dogma and Sass/SCSS with sass-lint. Jade support is gone in favour of Pug support, following the renaming of the language.
  • Flycheck can now show explanations for the error under point with C-c ! e—currently support for Rust is included, more to come. The command previously bound to C-c ! e is not bound anymore, use M-x flycheck-set-checker-executable.
  • Flycheck now automatically disables syntax checker which are not available in exec-path, and does not longer attempt to find executables before each syntax check. As such you explicitly need to re-enable a syntax checker with C-u C-c ! x if you install the tool after visiting a file.
  • Using the same infrastructure Flycheck now automatically disables eslint if there is no eslint configuration for the current buffer. This introduces a slight delay when visiting Javascript buffers, but prevents errors from invoking eslint with no configuration. As part of this change support for explicit eslint configuration was removed—eslint's own configuration search is far superior.
  • Likewise the explicit configuration for luacheck was removed as well, in favour of luacheck's own configuration file search, for the same reasons.
  • Syntax checker definitions require :modes now; syntax checkers without :modes signal an error.

Further information

29

28 Aug 11:52
Compare
Choose a tag to compare
29

This release adds a new :working-directory property to syntax checkers which lets syntax checkers control the directory they are invoked from. The Haskell syntax checkers use this feature to run from the project directory if possible.

Javascript

This release replaces the option flycheck-eslint-rulesdir with flycheck-eslint-rules-directories which is now a list of rules directories for eslint.

Rust

The Rust syntax checkers now require Rust 1.7 or newer, and support the error format of Rust 1.12 and newer.

Miscellaneous

For more information please read the changelog.

Flycheck 28

05 Jun 20:39
Compare
Choose a tag to compare

This release adds new options for cppcheck and Rust, adds support for Geiser Mode and fixes two bugs.

Take a look at the changelog for more information.

Flycheck 27

08 May 11:24
Compare
Choose a tag to compare

This release brings new syntax checkers for Go, Markdown and TypeScript, and makes the Emacs Lisp Checkdoc syntax checker use any Checkdoc options from your Emacs session.

The PHP Code Sniffer syntax checker now requires PHP Code Sniffer 2.6 or newer, which is the latest release at the time of writing.

See the Changelog for more information.

Flycheck 26

27 Apr 15:20
Compare
Choose a tag to compare

After a longer hiatus it's time for another release which not only brings new languages, features and bug fixes but also is a major step forward for Flycheck as a community project. We now have a Code of Conduct, a new and much improved Contributor's Guide and a Gitter channel for you to ask question and discuss further development of Flycheck.

From now on we'll release more frequently. The version number will just monotonically increase; we'll still not make any guarantees about backwards compatibility.

In another major development we're going back to a Sphinx-based website and manual, because Texinfo is too much effort to maintain and write, and to arcane a format to force it upon our contributors. Unfortunately this means that we'll no longer include an Info manual in Flycheck's packages, so you can't read Flycheck's manual in Emacs' Info viewer anymore.

Please take a look at the Changelog for information about new features and bug fixes.

0.25.1

23 Nov 09:47
Compare
Choose a tag to compare

Flycheck 0.25, with standard input for syntax checkers, improved error display and an API for NixOS integration. Release announcement