Download Latest Version Flycheck v38.3 source code.zip (2.2 MB)
Email in envelope

Get an email when there's a new version of Flycheck

Home / v37.0
Name Modified Size InfoDownloads / 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-function set to flycheck-display-error-messages.
  • flycheck-indication-mode defaults to the new value auto: the left fringe on graphical displays and the left margin on text terminals, where the old left-fringe default 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; F resets all), and sizes its File and ID columns to the errors on display.
  • The mode-line error counts are clickable: mouse-1 pops up the error list.
  • Syntax checkers that exceed flycheck-checker-error-threshold are 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. See flycheck-checker-error-threshold-action.
  • flycheck-verify-setup and flycheck-verify-checker now 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 (default 10) interrupts only checks younger than N seconds so long-running checks still complete; t always interrupts, nil restores the old queueing. C-c ! c now also restarts a running check.
  • javascript-eslint no longer runs a blocking --print-config probe 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-parser for the SARIF output format that many analyzers can emit, alongside the existing CheckStyle parser. Prefer structured output over fragile :error-patterns.
  • dockerfile-hadolint now uses SARIF (--format sarif) and no longer breaks when hadolint changes its text output.
  • New :handle-suspicious command-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-lisp checker on Emacs 30+ by requiring files to be trusted; emacs-lisp-checkdoc stays enabled.
  • [#2161]: Fix the org-lint checker erroring out on Emacs 31.
  • [#2174]: Fix the haskell-ghc/haskell-stack-ghc checkers in haskell-ts-mode.
  • [#2177]: Avoid \N{...} escapes that break native compilation on Emacs 32.
  • [#2175]: Compose the error indicator with pre-existing wrap-prefix text properties.
  • [#2164]: Recognize unresolved-identifier errors in the scheme-chicken checker.
  • [#1946]: Fix flycheck-lintr-linters being ignored by recent lintr versions.
  • [#2169]: Parse Ruff 0.15.7's severity-tagged output format.
  • [#2166]: Fix awk-gawk reporting a suspicious state for valid scripts.
  • [#2163]: Disable native compilation in the emacs-lisp checker subprocess so it no longer writes stray .eln files.
  • [#2170]: Force English checker output with LC_MESSAGES=C instead of LC_ALL=C, fixing checkers that read UTF-8 input.

Other

  • Add asciidoc-mode support to the asciidoctor and textlint checkers.
  • Add neocaml-opam-mode support to the opam checker.

What's Changed

New Contributors

Full Changelog: https://github.com/flycheck/flycheck/compare/v36.0...v37.0

Source: README.md, updated 2026-07-18