Skip to content

Releases: grafana/flint

v0.22.6

Choose a tag to compare

@github-actions github-actions released this 25 Jun 14:06
Immutable release. Only release title and notes can be modified.
1e6551b

Added

  • check all links in CI (#365)

Fixed

  • (renovate-deps) normalize tracked snapshot ordering (#364)

Other

  • (deps) update node.js to v24.17.0 (#356)
  • link to Flint blog post (#368)
  • (deps) update taiki-e/install-action action to v2.82.2 (#367)
  • (deps) update taiki-e/install-action action to v2.82.1 (#366)
  • (deps) pin dependencies (#363)
  • (deps) lock file maintenance (#362)
  • (deps) update mise to v2026.6.11 (#361)
  • (deps) update taiki-e/install-action action to v2.82.0 (#358)
  • (deps) update dependency actions/checkout to v7 (#359)
  • (deps) update dependency jdx/mise-action to v4.2.0 (#357)
  • (deps) update taiki-e/install-action action to v2.81.11 (#355)
  • update permissions (#354)
  • (deps) lock file maintenance (#353)
  • (deps) update mise to v2026.6.3 (#352)
  • (deps) update taiki-e/install-action action to v2.81.10 (#351)
  • (deps) update grafana/shared-workflows/lint-pr-title action to v1.2.3 (#350)
  • (deps) update taiki-e/install-action action to v2.81.9 (#349)
  • (deps) update taiki-e/install-action action to v2.81.8 (#347)
  • (deps) update taiki-e/install-action action to v2.81.7 (#346)
  • (deps) update taiki-e/install-action action to v2.81.6 (#345)
  • (deps) lock file maintenance (#342)
  • (deps) update dependency mise to v2026.6.0 (#341)
  • (deps) update taiki-e/install-action action to v2.81.5 (#343)
  • (deps) update dependency jdx/mise-action to v4.1.0 (#340)
  • (deps) update taiki-e/install-action action to v2.81.4 (#339)
  • (deps) update taiki-e/install-action action to v2.81.3 (#338)
  • (deps) update dependency go to v1.26.4 (#337)
  • (deps) update dependency actions/checkout to v6.0.3 (#336)
  • (deps) update taiki-e/install-action action to v2.81.2 (#335)
  • use shared workflow for PR title lint (#318)
  • note zizmor drift from upstream tag movement (#334)
  • (deps) update taiki-e/install-action action to v2.81.1 (#333)
  • (deps) update taiki-e/install-action action to v2.81.0 (#332)
  • (deps) update taiki-e/install-action action to v2.80.0 (#331)

v0.22.5

Choose a tag to compare

@github-actions github-actions released this 02 Jun 15:18
Immutable release. Only release title and notes can be modified.
31f1449

Fixed

  • trigger full lint when node runtime updates (#328)
  • normalize renovate-deps version and manager shapes (#326)

Other

  • clarify Flint check model (#317)
  • (deps) update taiki-e/install-action action to v2.79.15 (#329)
  • (deps) update taiki-e/install-action action to v2.79.14 (#327)
  • (deps) update dependency mise to v2026.5.16 (#324)
  • (deps) lock file maintenance (#325)
  • (deps) update taiki-e/install-action action to v2.79.11 (#322)
  • (deps) update dependency rust to v1.96.0 (#323)
  • (deps) update taiki-e/install-action action to v2.79.10 (#321)
  • (deps) update taiki-e/install-action action to v2.79.9 (#319)
  • (deps) update taiki-e/install-action action to v2.79.8 (#316)

v0.22.4

Choose a tag to compare

@github-actions github-actions released this 28 May 18:00
Immutable release. Only release title and notes can be modified.
3917356

Fixed

  • accept normalized Renovate currentVersion (#313)
  • quiet and batch zizmor runs (#314)

Other

  • remove deprecated setting (#312)
  • (deps) update rust crate similar to v3.1.1 (#309)
  • (deps) update node.js to v24.16.0 (#310)
  • (deps) update rust crate serde_json to v1.0.150 (#308)
  • (deps) update taiki-e/install-action action to v2.79.6 (#311)

v0.22.3

Choose a tag to compare

@github-actions github-actions released this 27 May 18:09
Immutable release. Only release title and notes can be modified.
675765b

Added

  • Fix renovate-deps extractVersion handling (#304)
  • skip generated git-tracked files during linting (#305)
  • add zizmor as GitHub Actions security linter (#302)

Fixed

  • (init) improve interactive init feedback (#295)

Other

  • remove v1 assets and compatibility (#297)
  • document quiet-by-default output (#303)
  • (deps) update taiki-e/install-action digest to 184183c (#299)
  • simplify positioning copy (#298)
  • (deps) update taiki-e/install-action digest to 3235f89 (#294)
  • replace archived serde-yaml with serde-yaml-bw (#296)

v0.22.2

Choose a tag to compare

@github-actions github-actions released this 11 May 14:27
Immutable release. Only release title and notes can be modified.
8b70821

Fixed

  • (release) dispatch renamed release workflow (#291)

v0.22.0

Choose a tag to compare

@github-actions github-actions released this 11 May 11:30
Immutable release. Only release title and notes can be modified.
c3fc3fa

Added

  • replace codespell with typos (#269)
  • (lychee) add local cache for local runs (#268)

Fixed

  • (renovate-deps) surface real renovate failure in error output (#278)
  • (ci) drop double release-plz update from release:pr (#276)
  • (init) normalize node runtime before linters (#267)
  • (renovate) support block-scalar mise sha256 values (#266)
  • (mise) migrate flint-managed tools to supported backends (#258)
  • validate renovate dependency rule coverage (#263)
  • make flint-setup state-based (#252)
  • (init) let rustfmt own Rust line length (#250)
  • run renovate-deps for deleted tracked files (#247)
  • validate CI env and isolate check types (#253)
  • (init) remove stale head sha from CI snippets (#248)
  • (init) enable yamllint indentation rule (#251)

Other

  • streamline README getting started (#280)
  • (deps) update taiki-e/install-action digest to fa0dd4c (#282)
  • (deps) lock file maintenance (#285)
  • (deps) update dependency mise to v2026.5.2 (#284)
  • (deps) update dependency go to v1.26.3 (#283)
  • (deps) update taiki-e/install-action digest to e3134ec (#281)
  • pass git-token and forge to release-plz (#274)
  • (deps) update taiki-e/install-action digest to 3fa6878 (#275)
  • (deps) bump renovate to 43.150.0 (#273)
  • [breaking] drop --fast-only flag and tighten renovate-deps timing (#270)
  • (deps) update rust crate tokio to v1.52.2 (#272)
  • upgrade lychee to v0.24.2 (#265)
  • (deps) update taiki-e/install-action digest to cca35ed (#254)
  • (deps) update dependency aqua:owenlamont/ryl to v0.8.0 (#261)
  • (deps) update dependency mise to v2026.4.28 (#262)
  • (deps) update dependency golangci-lint to v2.12.1 (#264)
  • (deps) update dependency aqua:owenlamont/ryl to v0.7.0 (#259)
  • (renovate) simplify quickstart and batch weekly linter updates (#257)
  • (deps) update dependency npm:renovate to v43.141.6 (#255)
  • expand positioning and comparisons (#239)
  • (deps) update taiki-e/install-action digest to 1f2425c (#246)
  • move release-plz flow into mise tasks (#234)
  • (deps) update taiki-e/install-action digest to 481c34c (#231)
  • (deps) update dependency ruff to v0.15.12 (#245)
  • (deps) update dependency npm:renovate to v43.141.5 (#244)

v0.21.0

Choose a tag to compare

@github-actions github-actions released this 27 Apr 12:36
Immutable release. Only release title and notes can be modified.
feab606

Added

  • add flint setup preflight migrations (#233)
  • support managed linter configs and aqua-backed tool keys (#228)
  • switch xmloxide to github backend (#229)
  • add taplo formatter check (#224)
  • (init) configure line length during init (#218)

Fixed

  • support renovate v43.136.3 (#223)
  • switch yaml-lint to ryl (#226)
  • (ruff) install via github releases (#227)
  • resolve init rollout regressions (#220)

Other

  • reduce fake-bin fixture coverage (#240)
  • (deps) update dependency npm:renovate to v43.141.1 (#221)
  • guard fixture case groups (#238)
  • (deps) update dependency grafana/flint to v0.20.4 (#235)
  • (deps) lock file maintenance (#237)
  • (deps) update dependency mise to v2026.4.19 (#236)
  • (deps) update rust crate json5 to v1 (#232)
  • (deps) update taiki-e/install-action digest to 787505c (#219)
  • (deps) update dependency grafana/flint to v0.20.3 (#225)

v0.20.4

Choose a tag to compare

@github-actions github-actions released this 23 Apr 15:55
Immutable release. Only release title and notes can be modified.
e1e6345

Added

  • group linter renovate updates (#209)

Fixed

  • expand baseline guards for config and flint changes (#215)
  • remove stale exclude_paths init placeholder (#211)
  • baseline lint coverage changes (#214)
  • align biome init and formatter ownership (#205)

Other

  • (deps) update dependency npm:renovate to v43.133.0 (#216)
  • (deps) update dependency npm:renovate to v43.132.2 (#212)
  • (deps) update taiki-e/install-action digest to 5f57d6c (#204)
  • clarify that flint init works with existing mise.toml (#208)
  • guard against overlapping fixer ownership (#206)

v0.20.3

Choose a tag to compare

@github-actions github-actions released this 21 Apr 09:52
Immutable release. Only release title and notes can be modified.
9de186b

Added

  • (registry) switch shfmt to aqua backend (#175)

Fixed

  • treat cargo-clippy as a partial fixer (#197)
  • (registry) add --tests to cargo-clippy, add test coverage (#176)

Other

  • (deps) update taiki-e/install-action digest to 055f5df (#180)
  • (deps) update dependency npm:@biomejs/biome to v2.4.12 (#191)
  • (deps) update rust crate clap to v4.6.1 (#196)
  • (deps) update rust crate tokio to v1.52.1 (#192)
  • (deps) update dependency pipx:ruff to v0.15.11 (#198)
  • (deps) update node.js to v24.15.0 (#194)
  • (deps) update dependency npm:prettier to v3.8.3 (#193)
  • exclude mise install dir from Windows Defender (#188)
  • (deps) update dependency npm:renovate to v43.129.0 (#200)
  • restructure README/docs and split registry module (#187)
  • (deps) update dependency mise to v2026.4.15 (#199)

v0.20.2

Choose a tag to compare

@github-actions github-actions released this 17 Apr 07:18
eded4cd

flint v2 — first binary release

Full rewrite from bash scripts wrapping super-linter to a native Rust binary orchestrating mise-installed tools directly. Last v1 release was v0.9.2; this is the first working v2 binary release.

Why

  • Speed: no container pull, no full-repo scan — diff-aware by default (--from-ref / --to-ref), parallel check execution across files.
  • Native tools: each linter installed via mise from its upstream source (github:, ubi:, npm:, cargo:) — no bundled versions, transparent to Renovate.
  • One entry point: flint run / flint run --fix replaces lint:super-linter, lint:links, lint:renovate-deps, setup:native-lint-tools.
  • Cross-platform: Linux x86_64/arm64, macOS x86_64/arm64, Windows x86_64 binaries.

Install

# mise.toml
[tools]
"github:grafana/flint" = "0.20.2"

[env]
FLINT_CONFIG_DIR = ".github/config"

[tasks.lint]
run = "flint run"

[tasks."lint:fix"]
run = "flint run --fix"

Bootstrap a repo with flint init (interactive config scaffold).
Install a pre-commit hook with flint hook install.

Linters supported

Category Linters
Shell shellcheck, shfmt
Config / docs editorconfig-checker, actionlint, prettier, markdownlint-cli2, codespell
Links lychee (GitHub anchor remap, fragment support, rate-limit resilience)
Renovate renovate-deps (tracks indirect deps pinned in .github/ workflows)
Rust cargo-fmt, cargo-clippy
Go gofmt
Java / Kotlin google-java-format, ktlint, license-header
JS / TS biome, prettier
Python ruff, ruff-format
.NET dotnet-format
Docker hadolint
XML xmllint (via xmloxide, pure-Rust)

Highlights

  • Formatter category — formatters marked with .formatter() are automatically excluded from editorconfig-checker, preventing double-reporting.
  • Special checks — link checking and renovate-deps are first-class, not shell-outs. license-header is a pure-Rust check (reads first N lines, substring-matches configured text).
  • Fix modeflint run --fix runs per-linter fix commands in-place.
  • Diff mode — without flags, runs only on files changed since merge base with origin/main. --full for full-repo, --from-ref/--to-ref for arbitrary ranges.
  • Obsolete key detectionflint update non-interactively migrates mise.toml entries when a linter's upstream key changes (e.g. npm:markdownlint-clinpm:markdownlint-cli2).
  • Windows.windows_java_jar() registry flag for JAR-backed tools (ktlint); quote_path + shell_words for double-quote path handling.

Documentation

  • README.md — getting started, configuration reference
  • AGENTS-V2.md — architecture and contribution guide

Consumer rollout

Open migration PRs replacing super-linter: grafana/mox, grafana/oats, grafana/otel-checker, grafana/grafana-opentelemetry-java, grafana/docker-otel-lgtm, prometheus/client_java, open-telemetry/opentelemetry-java-instrumentation.


Changelog (aggregated v0.9.2..v0.20.2)

Added

  • flint v2 Rust binary (#139)
  • flint update command, explicit JAR flag (#146)
  • native linting mode and version mapping infrastructure (#93)
  • NATIVE env var for container-free linting (#107)
  • Renovate shareable preset for consuming repos (#17)
  • consolidated link checking and autofix flags (#7)
  • line-number anchors and issue-comment handling in link checks (#56)
  • GitHub URL remaps for line-number and fragment anchors (#28)
  • auto-remap base-branch GitHub URLs to PR branch (#18)
  • SHA-pinned URL support in Renovate preset (#21)
  • slim super-linter image default (#24)
  • migrate from release-please to release-plz (#171)

Fixed

  • release-pr runs after release to avoid changelog race (#184)
  • workflow_dispatch retrigger for existing tags (#167)
  • suppress component prefix in release tags (#166)
  • correct template variable in pr_body (#178)
  • activate mise environment in native lint mode (#123)
  • include staged files in native lint file list (#135)
  • native lint in worktrees, trust toml, use ec binary, drop isort (#134)
  • fail native lint when enabled tools are missing (#111)
  • decouple version mapping generation from pinned super-linter version (#112)
  • renovate-deps forwards GITHUB_TOKEN as GITHUB_COM_TOKEN (#132)
  • improve link checker reliability against GitHub rate limiting (#95)
  • strip Scroll-to-Text-Fragment anchors (#86)
  • remap same-repo GitHub URLs to local file paths (#100)
  • exclude GitHub compare links from lychee (#10)
  • use remap instead of exclude for issue-comment anchors (#58)
  • 'mise run fix' hint on lint failure (#90)
  • regex anchors in remap patterns (#19)
  • run shellcheck on .bats files in native mode (#137)
  • tighten markdownlint config for native mode (#106)
  • replace broken release-please PR comment with docs (#12)
  • release-please footer on release PRs (#40)

Dependencies

  • move icon to assets/ to fix release-plz (#177)
  • npm:renovate → v43.102.11 (security) (#174)
  • similar → v3.1.0 (#173)
  • github:mvdan/sh → v3.13.1 (#163)
  • crossterm → 0.29 (#156)
  • similar → v3 (#160)
  • toml → v1 (#161)
  • toml_edit → 0.25 (#158)