← Back to all sparks
L

lintr

INFRA · APIS
Velocity0.0

Static code analysis for R that flags style and correctness problems

lintr makes the native pipe the default rule and clears out a decade of deprecations

static-analysislintingcode-stylenative-pipedeprecations
Current state
lintr is the static analysis standard for R packages, and its 3.3.0 release does two things at once: it changes pipe_consistency_linter() to require the native pipe, following the Tidyverse Style Guide, and it completes a long deprecation program — six linters fully deprecated, several arguments defunct, and a batch of functions removed outright. The 3.1.x line before it was accuracy work and a maintainer handoff to Michael Chirico.
Where it's heading
The package has been consolidating: overlapping linters renamed and merged, configuration validated up front, and an experimental R-script config offered as a possible replacement for the DCF format. Alongside that, a sustained campaign against false positives and false negatives in individual linters, which is where most contributor effort goes.
Prediction
Expect the six warning-deprecated linters to be removed in the next release as announced, and continued movement on the R-script configuration format if feedback supports it.

Recent moves

  1. 8mo ago

    Native pipe required by default; six linters deprecated

    ⚡ SPARK

    The release that turns a style preference into a default rule. Requiring the native pipe puts lintr behind the Tidyverse Style Guide's position, and the accompanying deprecation wave narrows the linter catalog toward the general-purpose replacements.

    View source ↗
  2. 2y ago

    False positive and negative fixes; new CRAN maintainer

    A precision-focused release across unreachable_code_linter(), unnecessary_lambda_linter() and several assertion linters, plus the handoff of CRAN maintenance from Jim Hester after more than ten years.

    View source ↗
  3. 2y ago

    Experimental R-script configs; up-front config validation

    Offers .lintr.R as an alternative to the DCF config format — with the maintainers openly saying the DCF approach may eventually be deprecated — and starts validating configs so invalid settings surface as warnings instead of silence.

    View source ↗
  4. 3y ago

    Linter renames for consistency; Super-Linter config discovery

    Deprecates four linters in favor of more general or consistently named replacements and adds .github/linters as a config location. The start of the consolidation that 3.3.0 finishes.

    View source ↗
  5. 3y ago

    Test no longer leaves cache files behind

    A single test hygiene fix with no effect on linting.

    View source ↗
  6. 3y ago

    function_argument_linter() added; seq_linter() covers dplyr and data.table

    Adds a linter for default-argument ordering and extends seq_linter() to 1:n() and 1:.N idioms, showing lintr tracking how R is actually written rather than only base syntax.

    View source ↗