Changes¶
master (unreleased)¶
37.0 (2026-07-18)¶
Drop support for Emacs 27; Flycheck now requires Emacs 28.1 or newer.
The
dockerfile-hadolintchecker now parses hadolint’s SARIF output (--format sarif) viaflycheck-parse-sarifinstead of matching its text output with error patterns, so it no longer breaks when hadolint tweaks its human-readable format.flycheck-parse-sarifnow treats a zero-width SARIF region (where the start and end positions coincide, as some tools emit for line-level findings) as spanning the whole line, instead of producing an empty highlight.Add
flycheck-parse-sarif, a ready-made:error-parserfor the SARIF output format that many analyzers can emit. Like the existingflycheck-parse-checkstyle, checker definitions can point:error-parserat it instead of matching output text with:error-patterns.[#1129]:
javascript-eslintno longer probes for a configuration file with a blocking--print-configcall before the first check in every buffer, which used to freeze Emacs for its duration (the interactiveflycheck-verify-setupstill probes). A fatal eslint failure (a missing or broken configuration) is now diagnosed from the check’s own exit status: the checker disables itself in the buffer with an echo-area notice naming the reason, and a fallback checker takes over on the next automatic check. Checker authors can use the same mechanism by returningdisableor(disable . reason)from:handle-suspicious.A new syntax check now interrupts a still-running one and starts immediately, instead of waiting for it to finish and displaying its stale results in the meantime. This makes slow checkers (cargo, mypy and friends) feel much more responsive. The new option
flycheck-interrupt-running-checkscontrols this: with the default value of10, only checks younger than ten seconds are interrupted, so long-running checks still complete and publish their results instead of being restarted forever;talways interrupts andnil(also usable file- or directory-locally) restores the old queueing behavior. Checks triggered on every keystroke (thenew-linecondition) always coalesce behind a running check, and checkers without an:interruptfunction are never interrupted. Interactive checks (C-c ! c) now also restart a running check instead of doing nothing, without the age limit; Lisp calls toflycheck-bufferkeep the old do-nothing-while-running behavior.The error list pops up in a bottom side window by default, a quarter of the frame tall. Customize the new option
flycheck-error-list-display-buffer-actionto change that;display-buffer-alistentries still take precedence. Note that side windows are unaffected byC-x 1; dismiss the list withq.The error list can now also be filtered by syntax checker (
c) and by a regexp matching the error message or ID (/), in addition to the existing minimum-level filter (f);Fresets all filters.The File and ID columns of the error list adapt their width to the errors on display instead of truncating at fixed widths.
Errors at point are now documented through Eldoc by default, composing with other Eldoc sources (e.g. Eglot) and honoring Eldoc display customizations. The previous behavior remains available by setting
flycheck-display-errors-functiontoflycheck-display-error-messages; custom display functions and extensions like flycheck-posframe keep working unchanged.The error counts in the mode line are clickable:
mouse-1pops up the error list.flycheck-verify-setupandflycheck-verify-checkernow ask before saving a modified buffer instead of saving it silently.[#1787]: Add the
:handle-suspiciousproperty to command checkers. It lets a checker translate a “suspicious state” (a non-zero exit status with no parsable errors, e.g. a missing dependency) into regular errors shown in the buffer, instead of the generic suspicious-state warning.Syntax checkers that exceed
flycheck-checker-error-thresholdare no longer silently disabled. Flycheck now shows the most severe errors up to the threshold and signals the truncation in the mode line (e.g.FlyC:400|12|3+) and the error list. Set the new optionflycheck-checker-error-threshold-actiontodisableto get the old behavior, minus the*Warnings*popup: the notification is now a plain echo-area message that says how to re-enable the checker. Note that with the new default, level-conditioned:next-checkerssee the kept errors and behave as they would in any buffer with that many real errors; previously they ran unconditionally because the whole result was discarded.flycheck-indication-modedefaults to the new valueauto, which picks the left fringe on graphical displays and the left margin on text terminals. Previously the default wasleft-fringe, which silently displayed nothing in terminal Emacs. When the chosen margin isn’t visible, Flycheck now widens it automatically and restores it when the mode is disabled.flycheck-set-indication-modeno longer overrides fringe and margin widths configured by you or other packages.[#2161]: Fix the
org-lintchecker erroring out on Emacs 31, whereorg-lintreports line numbers as strings.[#2174]: Fix the
haskell-ghcandhaskell-stack-ghccheckers passing a broken-xflag inhaskell-ts-mode.[#2177]: Avoid
\N{...}character escapes, which break native compilation on Emacs 32.[#2175]: Compose the error indicator with pre-existing
wrap-prefixtext properties (e.g. fromvisual-wrap-prefix-mode), so error overlays no longer reset the indentation of soft-wrapped lines.[#2164]: Recognize unresolved-identifier errors in the
scheme-chickenchecker.[#1946]: Fix
flycheck-lintr-lintersbeing ignored by recent lintr versions, which require linters to be passed as a named argument.Add
asciidoc-modesupport to theasciidoctorandtextlintcheckers, alongside the existingadoc-mode.Add
neocaml-opam-modesupport to theopamchecker.[#2169]: Parse the severity-tagged output format introduced by Ruff 0.15.7 in preview mode (e.g.
error[F401]instead ofF401).[#2166]: Fix
awk-gawkreporting a suspicious checker state for valid scripts.[#2163]: Disable native compilation in the
emacs-lispchecker subprocess so it no longer writes stray.elnfiles to the native-comp cache.[#2170]: Force English checker output with
LC_MESSAGES=Cinstead ofLC_ALL=C, so the character encoding is left untouched.LC_ALL=Cbroke checkers reading UTF-8 input, such ashledger.[#2159]: Properly mitigate CVE-2024-53920 in the
emacs-lispchecker by requiring files to be marked as trusted (viatrusted-content) on Emacs 30+. Byte-compilation triggers macro expansion which can execute arbitrary code, so the checker is now disabled for untrusted files.emacs-lisp-checkdocdoesn’t expand macros and stays enabled.
36.0 (2026-02-19)¶
New Features¶
[#2047]: Add
javascript-oxlintchecker for JavaScript and TypeScript using oxlint.[#1757]: Add
org-lintchecker for Org mode files. The checker uses Emacs’ built-inorg-lintcommand to detect issues such as invalid links, dead links, and duplicate IDs.[#2132]: Add the
flycheck-shellcheck-infer-shelloption to thesh-shellcheckchecker.[#1977]: Add
flycheck-shellcheck-argsfor passing extra command-line arguments to ShellCheck.[#1854]: Add
flycheck-shellcheck-enabled-checksoption to enable optional ShellCheck checks via the--enableflag.[#2139]: Add compatibility with Proselint 0.16.
[#1574]: Enable
proselintchecker for reStructuredText mode and chain it after therstandrst-sphinxcheckers.[#1874]: Add
flycheck-error-list-after-jump-hook, run after jumping from the error list to an error location.[#2137]: Allow
flycheck-command-mapto be used as a prefix command withkeymap-setand similar functions.[#1833]: Automatically re-check the buffer after
revert-buffer(e.g. when usingglobal-auto-revert-mode).[#1134]: Add error explainer for the
python-ruffchecker.[#1979]: Show pyright rule names (e.g.
reportGeneralTypeIssues) as error IDs.[#2134]: Include info-level errors in the mode-line indicator (format:
errors|warnings|infos).
Bugs fixed¶
[#2131]: Mitigate CVE-2024-53920 in the
emacs-lispchecker subprocess by disabling local eval directives and restricting local variables to safe values during byte-compilation.[#2144]: Rewrite
org-lintchecker to run in the current Emacs process instead of a-Q --batchsubprocess. This eliminates false “Unknown source block language” warnings for languages from external packages.[#2043]: Fix
rustchecker temp directory error by using--emit=metadata --out-dirinstead of--emit=mir -o /dev/null. Also fixes the checker on Windows where/dev/nulldoes not exist.[#1859]: Force C locale (
LC_ALL=C) for checker processes to ensure English output. Fixes error pattern matching in non-English locales.[#1919]: Isolate bidi characters in error message snippets using Unicode directional isolates to prevent formatting corruption.
[#1856]: Strictly enforce
flycheck-navigation-minimum-level. Previously, setting the minimum level would still navigate to lower-severity errors when no errors at the minimum level existed.[#1918]: Exclude the
*Flycheck error messages*buffer fromglobal-flycheck-mode.[#1908]: Increase error list File column width from 6 to 12 characters.
[#1882]: Fix Go build tags to use comma-separated format instead of repeated
-tagsflags.[#2098]: Fix
tex-chktexerror parsing with--inputfiles.[#2143]: Fix compilation warnings on Emacs 30 (obsolete
rx-constituentsand missingdefcustomtype spec).[#2089]: Make
flycheck-protoc-import-pathbuffer-local so different protobuf projects can have different import paths.[#2032]: Guard Tools menu operations for Emacs configurations that remove the Tools menu (e.g. Doom Emacs).
[#1805]: Preserve match data in idle trigger timer handler.
[#1170]: Skip error list highlighting when the error list buffer is not visible, improving performance on every
post-command-hook.[#1153]: Handle
puppet-parsererrors without line numbers (e.g. “Syntax error at end of file”).[#1886]: Fix continuation indicator appearing on non-wrapped lines by using
wrap-prefixinstead ofline-prefix.[#2062]: Fall back to
pythonexecutable whenpython3is unavailable (e.g. Windows with Anaconda/Miniforge).[#2127]: Preserve pre-existing
line-prefixtext properties (e.g. fromorg-indent-mode) when adding flycheck overlays.[#2086]: Fix the name of the PyMarkdown config.
[#2036]: Fix
awk-gawkchecker passing spurious quotes togawk --source.[#2092]: Detect parse errors (unbalanced parentheses, invalid read syntax) in
emacs-lispbyte compilation.[#2090]: Fix
python-ruffchecker to useconciseoutput format instead of removedtextformat (renamed in ruff 0.2).Fix
python-rufferror ID regex andinvalid-syntaxerror handling.Fix
rpm-rpmlinterror filter returning unfiltered errors (the(none)filename filter was not applied).Add
php-ts-modeto thephp-phpcs-changedchecker.[#1926]: Fix
flycheck-cuda-gencodescustomize type (wasfile, nowstring).Guard
buffer-file-nameagainst nil inyaml-actionlintpredicate,erlangenabled check, andflycheck-rebar3-project-root.Fix
python-pycompileto verifypython3actually works instead of just checking it exists.Fix proselint version detection breaking checker validation.
Removed¶
Remove
typescript-tslintchecker. TSLint has been deprecated since 2019 in favor of ESLint with typescript-eslint.Remove
sassandscsscheckers. Ruby Sass reached end-of-life in March 2019. Usesass-stylelintandscss-stylelintinstead.Remove
sass/scss-sass-lintchecker. sass-lint has been abandoned for over 4 years. Usesass-stylelintorscss-stylelintinstead.Remove
scss-lintchecker. scss-lint depends on the dead Ruby Sass engine and is no longer maintained. Usescss-stylelintinstead.Remove
eruby-erubisanderuby-ruumbacheckers. Erubis has been abandoned since 2011 and Ruumba since 2020. ERuby support is removed.Remove
css-csslintchecker. CSSLint has been abandoned since ~2017. Usecss-stylelintinstead.Remove
protobuf-prototoolchecker. Prototool was archived by Uber in March 2022.Remove
nix-linterchecker. nix-linter has been abandoned by its author, who recommends statix instead.Remove
coffee-coffeelintchecker. CoffeeLint has been effectively inactive with known security vulnerabilities.Remove
asciidocchecker. The legacy Python AsciiDoc processor is superseded by Asciidoctor. Useasciidoctorinstead.Remove
json-jsonlintchecker. The original jsonlint has been abandoned since ~2017. Usejson-python-jsonorjson-jqinstead.Remove
xml-xmlstarletchecker. XMLStarlet has not had a release since 2014. Usexml-xmllintinstead.Remove
javascript-jshintchecker. JSHint has been largely superseded by ESLint. Usejavascript-eslintinstead.Remove
yaml-rubychecker. Ruby’s YAML parser provides the same functionality as js-yaml. Useyaml-jsyamloryaml-yamllintinstead.Remove
ruby-jrubychecker. JRuby is extremely niche for linting. Useruby-rubocoporrubyinstead.
Changes¶
Remove dead code:
flycheck-option-symbol,flycheck-flake8--find-project-root,flycheck-string-or-nil-p,flycheck-chunked-process-inputand associated chunking functions.Replace deprecated
seq-containswithseq-contains-p.Replace
flycheck-string-or-nil-pwith built-instring-or-null-p.Use
json-parse-bufferunconditionally (available since Emacs 27.1), removing thejson-readfallback and thejsonlibrary dependency.Use
libxml-available-p(available since Emacs 27.1) instead offboundpcheck.Use
seq-sort-by(available since Emacs 27.1) instead of workaround.Use
seq-mapcatinstead of(apply #'append (seq-map ...)).Minor code style improvements:
when (not ...)→unless,reverse→nreversefor locally-built lists.[#2152]: Point package
URLheader to GitHub repository instead of the website.
35.0 (2025-04-23)¶
New Features¶
[#2105]: Add options for configuring the
jsonnetchecker.[#1975]: Add support for
--expt-relaxed-constexprflag tocudachecker.[#2055]: Add support for
--expt-extended-lambdaflag tocudachecker.[#1987]: Add a flag
flycheck-auto-display-errors-after-checkingcontrol whether to display errors automatically after checking.[#2035]: Add colors to FlyC mode line and update mode line menu. Introduce
flycheck-mode-success-indicator.[#2059]: Enable checkers for new AUCTeX 14 modes.
[#2070]: Add a new syntax checker
rfor R with the builtinparsefunction.[#2073]: Add new syntax checker
salt-lintfor the salt infrastructure-as-code language.[#2071]: Add a new checker
perl-perlimports, for cleaning up Perl import statements.[#1972]: New defcustom
flycheck-clear-displayed-errors-functionto customize how error messages are to be cleared.[#2075]: Add the
flycheck-chktex-extra-flagsoption to thetex-chktexchecker.[#2107]: Add
-Xcompileroption forcuda-nvcc.Add new
markdownlint-cli2checker.
Bugs fixed¶
Changes¶
34.1 (2024-02-18)¶
Bugs fixed¶
[#2054]: Remove explicit dep on the built-in package
seq.el.
34.0 (2024-02-14)¶
New Features¶
Bugs Fixed¶
[#1793]: Fix
flycheck-ruby-rubocopon buffers with no backing file.
Changes¶
[#2026]: Update the possible locations for
yamllint’s configuration file.(Breaking) [#1697]: Remove the
coqchecker.(Breaking) [#1935]: Remove the
chef-foodcriticchecker. (it’s now replaced byruby-chef-cookstyle)(Breaking) [#2018]: Remove the
golintchecker.(Breaking) Remove the
ruby-rubylintchecker.[#1704]: The
tslintchecker is deprecated; it will go away in a future release.
33.1 (2024-02-04)¶
Bugs Fixed
Fixed an usage of the removed
flycheck--format-messagefunction.
33.0 (2024-02-04)¶
Note
The changelog for this release is incomplete.
New features and improvements
The
flycheck-verify-setupUI 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
Python with
ruff. [GH-2033]
Breaking changes
Drop support for Emacs 25.
The variable
flycheck-current-errorsnow 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]
32 (frozen on May 3rd, 2020, released Mar 28, 2022)¶
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-lineand:end-columnarguments inflycheck-error-new, or the newend-lineandend-columnfields 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-showandflycheck-relevant-error-other-file-minimum-levelcontrol 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-modecontrols this behavior, andflycheck-set-indication-modecan 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-stylevariable: 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-switchoption inflycheck-check-syntax-automatically. This is useful when errors in a file are due to problems in a separate file. Variablesflycheck-idle-buffer-switch-delayandflycheck-buffer-switch-check-intermediate-bufferscontrol 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-setupnow 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-posconstructor 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:
Awk with
gawk[GH-1708]Bazel with
buildifier[GH-1613]CUDA with
cuda-nvcc[GH-1508]CWL with
schema-salad-tool[GH-1361]Elixir with
credo[GH-1062]JSON with
json-jq[GH-1568]Jsonnet with
jsonnet[GH-1345]MarkdownLint CLI with
markdownlint[GH-1366]mypy with
python-mypy[GH-1354]Nix with
nix-linter[GH-1530]Opam with
opam lint[GH-1532]protobuf-prototool with
prototool[GH-1591]Rust with
rust-clippy[GH-1385]Ruumba with
eruby-ruumba[GH-1616]Staticcheck with
go-staticcheck[GH-1541]terraform with
terraform fmt,tflint[GH-1586]Tcl with
nagelfar[GH-1365]Text prose with
textlint[GH-1534]VHDL with
ghdl[GH-1160]
Checker improvements:
python-pylintandpython-flake8are now invoked withpython -c, to make it easier to change between Python 2 and Python 3. [GH-1113]Add
flycheck-perl-module-listto use specified modules when syntax checking code with theperlchecker. [GH-1207]rust-cargonow usescargo checkandcargo test. [GH-1289]Add
flycheck-ghc-stack-project-filefor thehaskell-stack-ghcchecker. [GH-1316]Add
flycheck-cppcheck-suppressions-fileto pass a suppressions file to cppcheck. [GH-1329]Add
--force-exclusionflag torubocopcommand. [GH-1348]Flycheck now uses ESLint’s JSON output instead of checkstyle XML. [GH-1350]
Add
flycheck-eslint-argsto pass arguments tojavascript-eslint. [GH-1360]Flycheck will now execute
rubocopfrom the directory where aGemfileis located. If aGemfiledoes not exist, the old behaviour of running the command from the directory where.rubocop.ymlis found will be used. [GH-1368]Add
flycheck-sh-bash-argsto pass arguments tosh-bash. [GH-1439]haskell-stack-ghcwill not try to install GHC anymore. [GH-1443]Add
flycheck-ghdl-ieee-libraryto select which standard IEEE library to use for ghdl. [GH-1547]The
javascript-eslintchecker now supportstypescript-modeby default.Add
flycheck-erlang-rebar3-profileto select which profile to use when compiling erlang with rebar3. [GH-1560]Add
flycheck-relevant-error-other-file-showto avoid showing errors from other files. [GH-1579]The
nix-linterchecker 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-jscschecker. [GH-1024]Remove the
elixir-dogmachecker. [GH-1450]rust-cargonow requires Rust 1.17 or newer. [GH-1289]rustnow requires 1.18 or newer. [GH-1501]Rename
flycheck-cargo-rustc-argstoflycheck-cargo-check-args. [GH-1289]rust-cargodoes not use the variableflycheck-rust-argsanymore. [GH-1289]Improve detection of default directory for
haskell-ghcto considerhpackproject files. [GH-1435]Replace
go tool vetwithgo vet. [GH-1548]Remove the deprecated
go-megacheckchecker, which is replaced bygo-staticcheck. [GH-1583]
31 (Oct 07, 2017)¶
Breaking changes
rust-cargonow requires Rust 1.15 or newer [GH-1201]Remove javascript-gjslint checker
New syntax checkers:
Protobuf with
protoc[GH-1125]systemd-analyze with
systemd-analyze[GH-1135]Nix with
nix-instantiate[GH-1164]Dockerfile with
hadolint[GH-1194]AsciiDoc with
asciidoctor[GH-1167]CSS/SCSS/LESS with
stylelint[GH-903]Ruby with
reek[GH-1244]Go with
megacheck[GH-1290]LLVM IR with
llc[GH-1302]Text prose with
proselint[GH-1304]
New features:
Add
flycheck-xml-xmlstarlet-xsd-pathandflycheck-xml-xmllint-xsd-pathto specify an XSD schema to validate XML documents against [GH-1272]Add
flycheck-tslint-argsto pass additional arguments to tslint [GH-1186]Add an error explainer to the
rpm-rpmlintchecker usingrpmlint -I[GH-1235]Add
flycheck-emacs-lisp-check-declareto check function declaration in theemacs-lispchecker [GH-1286]Add
flycheck-shellcheck-follow-sourcesto check included files when using thesh-shellcheckchecker [GH-1256]
Improvements:
Use option
flycheck-go-build-tagsforgo-test,go-vetandgo-errcheckas well.Add a revert function to
flycheck-verify-setup, so hittinggreloads the buffer.Make sure the erlang compiler is only run on compilable files.
flycheck-tslintdoes not crash any more on deprecation notices [GH-1174]rust-cargonow checks integration tests, examples and benchmarks [GH-1206]rust-cargodoes not useflycheck-rust-library-pathanymore, as dependencies are taken care of by Cargo [GH-1206]c/c++-gccchecker now works from GCC 4.4 and up [GH-1226]
30 (Oct 12, 2016)¶
Breaking changes
Flycheck now requires flake8 3.0 or newer
Remove
--configoption inlua-luacheckin favour ofluacheck’s own.luacheckrcdetection. Thereforeflycheck-luacheckrcis no longer used [GH-1057]:modesis now mandatory for syntax checker definitions [GH-1071]Remove
javascript-eslintrcand instead rely on eslint’s own configuration file search [GH-1085]C-c ! eexplains errors now [GH-1122]
New syntax checkers:
New features:
Add
flycheck-cargo-rustc-argsto pass multiple arguments to cargo rustc subcommand [GH-1079]Add
:error-explainertoflycheck-define-checkerandflycheck-explain-error-at-pointto display explanations of errors [GH-1122]Add an error explainer to the
rustandrust-cargocheckers usingrustc --explain[GH-1122]Add
:enabledproperty toflycheck-define-checker[GH-1089]
Improvements:
29 (Aug 28, 2016)¶
Breaking changes
New syntax checkers:
New features:
Improvements:
Add default directory for
haskell-stack-ghcandhaskell-ghccheckers [GH-1007]rustandrust-cargocheckers now support the new error format of rust 1.12 [GH-1016]flycheck-verify-checkerandflycheck-verify-setupnow include information about configuration files of syntax checkers [GH-1021] [GH-1038]
28 (Jun 05, 2016)¶
27 (May 08, 2016)¶
Breaking changes
Require PHP Code Sniffer 2.6 or newer for
php-phpcs[GH-921]
New syntax checkers:
Improvements:
Pass checkdoc settings from Emacs to
emacs-lisp-checkdoc[GH-741] [GH-937]
Bug fixes:
26 (Apr 27, 2016)¶
Flycheck now has a Code of Conduct which defines the acceptable behaviour and the moderation guidelines for the Flycheck community. [GH-819]
Flycheck also provides a Gitter channel now for questions and discussions about development. [GH-820]
The native Texinfo manual is again replaced with a Sphinx based documentation. We hope that this change makes the manual easier to edit and to maintain and more welcoming for new contributors. The downside is that we can not longer include a Info manual in Flycheck’s MELPA packages.
From this release onward Flycheck will use a single continuously increasing version number. Breaking changes may occur at any point.
Breaking changes:
Remove
flycheck-copy-messages-as-kill, obsolete since Flycheck 0.22Remove
flycheck-perlcritic-verbosity, obsolete since Flycheck 0.22Replace
flycheck-completion-systemwithflycheck-completing-read-function[GH-870]JSON syntax checkers now require
json-modeand do not check in Javascript Mode anymorePrefer eslint over jshint for Javascript
Obsolete
flycheck-infoin favour of the newflycheck-manualcommand
New syntax checkers:
New features:
Add
flycheck-puppet-lint-rcto customise the location of the puppetlint configuration file [GH-846]Add
flycheck-puppet-lint-disabled-checksto disable specific checks of puppetlint [GH-824]New library
flycheck-buttercupto support writing Buttercup specs for FlycheckAdd
flycheck-perlcriticrcto set a configuration file for Perl::Critic [GH-851]Add
flycheck-jshint-extract-javascriptto extract Javascript from HTML [GH-825]Add
flycheck-cppcheck-language-standardto set the language standard for cppcheck [GH-862]Add
flycheck-mode-line-prefixto customise the prefix of Flycheck’s mode line lighter [GH-879] [GH-880]Add
flycheck-go-vet-shadowto check for shadowed variables withgo vet[GH-765] [GH-897]Add
flycheck-ghc-stack-use-nixto enable Nix support for Stack GHC [GH-913]
Improvements:
Map error IDs from flake8-pep257 to Flycheck error levels
Explicitly display errors at point with
C-c ! h[GH-834]Merge message and checker columns in the error list to remove redundant ellipsis [GH-828]
Indicate disabled checkers in verification buffers [GH-749]
Do not enable Flycheck Mode in
fundamental-modebuffers [GH-883]Write
go testoutput to a temporary files [GH-887]Check whether
lintris actually installed [GH-911]
Bug fixes:
Fix folding of C/C++ errors from included files [GH-783]
Fix verification of SCSS-Lint checkstyle reporter
Don’t fall back to
rustifrust-cargoshould be used [GH-817]Don’t change current buffer when closing the error message buffer [GH-648]
Never display error message buffer in current window [GH-822]
Work around a caching issue in Rubocop [GH-844]
Fix checkdoc failure with some Emacs Lisp syntax [GH-833] [GH-845] [GH-898]
Correctly parse Haskell module name with exports right after the module name [GH-848]
Don’t hang when sending buffers to node.js processes on Windows [GH-794][GH-850]
Parse suggestions from
hlint[GH-874]Go errcheck handles multiple
$GOPATHentries correctly now [GH-580][GH-906]Properly handle Go build failing in a directory with multiple packages [GH-676] [GH-904]
Make cppcheck recognise C++ header files [GH-909]
Don’t run phpcs on empty buffers [GH-907]