| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Flycheck v37.0 source code.tar.gz | 2026-07-18 | 1.1 MB | |
| Flycheck v37.0 source code.zip | 2026-07-18 | 1.2 MB | |
| README.md | 2026-07-18 | 6.5 kB | |
| Totals: 3 Items | 2.3 MB | 0 | |
Flycheck 37 is a large release focused on UX polish, responsiveness, and robustness. Flycheck now requires Emacs 28.1 or newer (Emacs 27 support was dropped).
User experience
- Errors at point are now documented through Eldoc by default, composing with other Eldoc sources (e.g. Eglot) and honoring your Eldoc display settings. Restore the old echo-area behavior with
flycheck-display-errors-functionset toflycheck-display-error-messages. flycheck-indication-modedefaults to the new valueauto: the left fringe on graphical displays and the left margin on text terminals, where the oldleft-fringedefault silently showed nothing. Margins are widened automatically when needed and restored on disable, without clobbering fringe/margin widths set by you or other packages.- The error list pops up in a bottom side window by default (
flycheck-error-list-display-buffer-action), can be filtered by syntax checker (c) and by a message/ID regexp (/) on top of the level filter (f;Fresets all), and sizes its File and ID columns to the errors on display. - The mode-line error counts are clickable:
mouse-1pops up the error list. - Syntax checkers that exceed
flycheck-checker-error-thresholdare no longer silently disabled; Flycheck shows the most severe errors up to the threshold and marks the truncation with a+in the mode line. The*Warnings*popup is gone. Seeflycheck-checker-error-threshold-action. flycheck-verify-setupandflycheck-verify-checkernow ask before saving a modified buffer instead of saving it silently.
Responsiveness
- A new syntax check now interrupts a still-running one instead of waiting for it and showing stale results, so slow checkers (cargo, mypy) feel far more responsive.
flycheck-interrupt-running-checks(default10) interrupts only checks younger than N seconds so long-running checks still complete;talways interrupts,nilrestores the old queueing.C-c ! cnow also restarts a running check. javascript-eslintno longer runs a blocking--print-configprobe before the first check in every buffer, which used to freeze Emacs; a missing or broken configuration is diagnosed from the check's own output and a fallback checker takes over ([#1129]).
For checker authors
- New
flycheck-parse-sarif:error-parserfor the SARIF output format that many analyzers can emit, alongside the existing CheckStyle parser. Prefer structured output over fragile:error-patterns. dockerfile-hadolintnow uses SARIF (--format sarif) and no longer breaks when hadolint changes its text output.- New
:handle-suspiciouscommand-checker property to turn a non-zero exit with no parsable errors into meaningful buffer errors, or to disable the checker when it doesn't apply ([#1787]).
Bugs fixed
- [#2159]: Properly mitigate CVE-2024-53920 in the
emacs-lispchecker on Emacs 30+ by requiring files to be trusted;emacs-lisp-checkdocstays enabled. - [#2161]: Fix the
org-lintchecker erroring out on Emacs 31. - [#2174]: Fix the
haskell-ghc/haskell-stack-ghccheckers inhaskell-ts-mode. - [#2177]: Avoid
\N{...}escapes that break native compilation on Emacs 32. - [#2175]: Compose the error indicator with pre-existing
wrap-prefixtext properties. - [#2164]: Recognize unresolved-identifier errors in the
scheme-chickenchecker. - [#1946]: Fix
flycheck-lintr-lintersbeing ignored by recent lintr versions. - [#2169]: Parse Ruff 0.15.7's severity-tagged output format.
- [#2166]: Fix
awk-gawkreporting a suspicious state for valid scripts. - [#2163]: Disable native compilation in the
emacs-lispchecker subprocess so it no longer writes stray.elnfiles. - [#2170]: Force English checker output with
LC_MESSAGES=Cinstead ofLC_ALL=C, fixing checkers that read UTF-8 input.
Other
- Add
asciidoc-modesupport to theasciidoctorandtextlintcheckers. - Add
neocaml-opam-modesupport to theopamchecker.
What's Changed
- Fix org-lint line number handling by @aaronjensen in https://github.com/flycheck/flycheck/pull/2165
- ghc checkers: add default case for -x option. by @gynamics in https://github.com/flycheck/flycheck/pull/2168
- Drop outdated integration testing instructions by @mavit in https://github.com/flycheck/flycheck/pull/2072
- Preserve wrap-prefix text property on error overlays by @alberti42 in https://github.com/flycheck/flycheck/pull/2175
- Handle unknown identifiers for Chicken Scheme by @soverysour in https://github.com/flycheck/flycheck/pull/2164
- Fix(lintr): make user-defined lintr-linters can be correctly passed to the R process. by @milanglacier in https://github.com/flycheck/flycheck/pull/1946
- Properly mitigate CVE-2024-53920 on Emacs 30+ by @bbatsov in https://github.com/flycheck/flycheck/pull/2160
- Add :handle-suspicious property for command checkers by @bbatsov in https://github.com/flycheck/flycheck/pull/2180
- Truncate excessive errors instead of disabling the checker by @bbatsov in https://github.com/flycheck/flycheck/pull/2181
- Pick the error indication side automatically by @bbatsov in https://github.com/flycheck/flycheck/pull/2182
- Modernize the error list: side window, filters, dynamic columns by @bbatsov in https://github.com/flycheck/flycheck/pull/2184
- Document errors at point through Eldoc by default by @bbatsov in https://github.com/flycheck/flycheck/pull/2183
- Make the mode-line error counts clickable by @bbatsov in https://github.com/flycheck/flycheck/pull/2185
- Ask before saving the buffer in the verify commands by @bbatsov in https://github.com/flycheck/flycheck/pull/2186
- Interrupt a running check when a new one starts by @bbatsov in https://github.com/flycheck/flycheck/pull/2187
- Drop eslint's blocking config probe (fixes [#1129]) by @bbatsov in https://github.com/flycheck/flycheck/pull/2188
- Add a SARIF error parser by @bbatsov in https://github.com/flycheck/flycheck/pull/2189
- Migrate dockerfile-hadolint to the SARIF parser by @bbatsov in https://github.com/flycheck/flycheck/pull/2190
New Contributors
- @gynamics made their first contribution in https://github.com/flycheck/flycheck/pull/2168
- @alberti42 made their first contribution in https://github.com/flycheck/flycheck/pull/2175
- @soverysour made their first contribution in https://github.com/flycheck/flycheck/pull/2164
- @milanglacier made their first contribution in https://github.com/flycheck/flycheck/pull/1946
Full Changelog: https://github.com/flycheck/flycheck/compare/v36.0...v37.0