PackageTrack
Sign in Get early access

dart_code_linter

Dart Code Linter is a software analytics tool that helps developers analyse and improve software quality. Dart Code Linter is based on a fork of Dart Code Metrics.

4.2.1 137K downloads/mo #996 most downloaded on pub.dev bancolombia/dart-code-linter

What this package is like to depend on

Last release 5 days ago

18 Aug 2026

Ships unpredictably

gaps range from 2 weeks to 4 months

Nearly every release is documented

notes for 35 of 36 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

41 releases · first in 2023

27 releases in the last 12 months

see the full history below

Release timeline

41 releases · Sep 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 41
  1. 4.2.1 18 Aug 2026
    Release notes

    What's Changed

    Full Changelog: v4.2.0...v4.2.1

    Open source →
    Release notes
    • Fix prefer-dot-shorthands to also flag unnamed constructor calls (suggesting .new(...)) and enum/static member access used as a switch statement/expression case pattern matched against the switch's scrutinee type — both were previously left unflagged.
    Open source →
    Release notes

    v4.2.1 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. 4.2.0 11 Aug 2026
    Release notes

    What's Changed

    Full Changelog: v4.1.9...v4.2.0

    Open source →
    Release notes
    • Add the avoid-non-configurable-callbacks-in-init-state rule, which flags a State.initState that configures a widget-supplied object (e.g. widget.controller.setNavigationDelegate(...)) with a callback object whose named callbacks never reference the widget's own fields — a sign the behavior is fully hardcoded with no way for callers of the widget to customize it.
    • Add the avoid-non-exhaustive-switch-on-sealed-classes rule, which flags a default/wildcard (_) case in a switch statement or expression over a sealed type. Relying on a fallback case defeats the compiler's exhaustiveness checking for sealed hierarchies, so newly added subtypes can silently fall through instead of forcing an explicit decision at each call site.
    • Add the prefer-dot-shorthands rule (with auto-fix), which flags enum/static member access, static method calls, and named constructor calls that repeat a type name already inferable from context (a call argument's declared parameter type, or an explicitly typed variable's initializer) — Dart 3.10's dot-shorthand syntax lets these collapse to .value instead of Type.value. The rule only fires on files whose language version is 3.10 or later, since the shorthand syntax does not compile below that.
    Open source →
    Release notes

    v4.2.0

    Compare

    Choose a tag to compare

    Open source →
  3. 4.1.9 29 Jul 2026
    Release notes

    What's Changed

    • feat(unused-code): detect unused private class members behind a flag (#176) by @Akhrameev in #259

    Full Changelog: v4.1.8...v4.1.9

    Open source →
    Release notes
    • Add opt-in detection of unused private members in type declarations (methods, fields, getters, setters and named constructors) to check-unused-code. Private members cannot be referenced from outside the declaring library, which rules out the reflection and cross-library false positives that make public members unreliable to analyze. Mirroring the SDK's unused_element semantics, a sole private constructor is never reported: it is the intentional prevent-instantiation/extension pattern (an entirely unused class is still reported by the class-level check). Enabled via the --analyze-private-members CLI flag or the unused-code.analyze-private-members analysis-options key; disabled by default.
    Open source →
    Release notes

    v4.1.9

    Compare

    Choose a tag to compare

    Open source →
  4. 4.1.8 22 Jul 2026
    Release notes

    What's Changed

    • chore: support analyzer 14 (dart_style 3.1.11 unblocked the bump) by @Akhrameev in #257

    Full Changelog: v4.1.7...v4.1.8

    Open source →
    Release notes
    • Raise the analyzer ceiling to <15.0.0, enabling analyzer 14.x support now that dart_style 3.1.11 added compatibility with it. Add 14.0.0 and 14.1.0 rows to the scripts/test_analyzer_compat.py matrix (analyzer_plugin 0.14.13/0.14.14, analysis_server_plugin 0.3.19/0.3.20).
    Open source →
    Release notes

    v4.1.8

    Compare

    Choose a tag to compare

    Open source →
  5. 4.1.7 15 Jul 2026
    Release notes

    What's Changed

    • fix(analyzer-plugin): replace deprecated getChildAssumingFile with getFile (#250) by @Akhrameev in #254
    • fix(avoid-unused-parameters): remove deprecated MethodDeclaration.isAbstract flagged by pana (#251) by @Akhrameev in #253

    Full Changelog: v4.1.6...v4.1.7

    Open source →
    Release notes
    • Replace the deprecated Folder.getChildAssumingFile with ResourceProvider.getFile in the analyzer plugin's UUID bootstrap, resolving the pana static-analysis deprecation warning on analyzer 13.x. The call stays compatible across the full >=10.0.0 <14.0.0 range (Folder.getFile only exists in analyzer 13.3.0+).
    • Replace the deprecated MethodDeclaration.isAbstract with a structural ast_compat.isAbstractMethod() helper in avoid-unused-parameters, keeping the call non-deprecated across the full >=10.0.0 <14.0.0 range (isComplete only exists in analyzer 13.2+).
    Open source →
    Release notes

    v4.1.7

    Compare

    Choose a tag to compare

    Open source →
  6. 4.1.6 02 Jul 2026
    Release notes

    What's Changed

    • feat(prefer-enums-by-name): add guarded auto-fix to convert firstWhere to values.byName (4.1.6) by @Akhrameev in #248
    • fix(lint-analyzer): resolve ExtensionTypeDeclaration.primaryConstructor deprecation via ast_compat helper (#249) by @Akhrameev in #252

    Full Changelog: v4.1.5...v4.1.6

    Open source →
    Release notes
    • Add an auto-fix to the prefer-enums-by-name rule that converts Enum.values.firstWhere((e) => e.name == x) to Enum.values.byName(x). The fix is offered only when the call is safely convertible: a single-parameter == name arrow closure, no orElse, and a lookup that does not reference the closure parameter.
    • Fix a deprecation warning for ExtensionTypeDeclaration.primaryConstructor (deprecated on analyzer 13.1+ in favor of namePart, which doesn't exist before 13.1) by reading the extension type's name structurally through a new ast_compat helper instead of the version-specific getter.
    Open source →
    Release notes

    v4.1.6

    Compare

    Choose a tag to compare

    Open source →
  7. 4.1.5 19 Jun 2026
    Release notes

    What's Changed

    • fix(lint-analyzer): apply fixes back-to-front to avoid RangeError on multiple fixes (#188) by @Akhrameev in #246
    • feat(avoid-duplicate-exports): add auto-fix to delete the duplicate export directive by @Akhrameev in #247

    Full Changelog: v4.1.4...v4.1.5

    Open source →
    Release notes
    • Add an auto-fix to the avoid-duplicate-exports rule that deletes the duplicate export directive (the earlier export already covers the same URI, so the removal is behavior-preserving).
    • Fix a RangeError crash in the fix command when a file had multiple auto-fixable issues; fixes are now applied from the end of the file towards the start so earlier edits no longer invalidate later offsets.
    Open source →
    Release notes

    v4.1.5

    Compare

    Choose a tag to compare

    Open source →
  8. 4.1.4 16 Jun 2026
    Release notes

    What's Changed

    • feat(no-blank-line-before-single-return): add auto-fix and fix trailing-brace false positive by @Akhrameev in #245

    Full Changelog: v4.1.3...v4.1.4

    Open source →
    Release notes
    • Add an auto-fix to the no-blank-line-before-single-return rule that removes the blank line(s) before a single return statement in a block, preserving any comments.
    • Fix a false positive in no-blank-line-before-single-return where a trailing comment on the block's opening brace (e.g. { // comment) was reported even without a blank line before the return.
    Open source →
    Release notes

    v4.1.4

    Compare

    Choose a tag to compare

    Open source →
  9. 4.1.3 16 Jun 2026
    Release notes

    What's Changed

    • feat(avoid-unnecessary-type-casts): add auto-fix to remove redundant cast by @Akhrameev in #244

    Full Changelog: v4.1.2...v4.1.3

    Open source →
    Release notes
    • Add an auto-fix to the avoid-unnecessary-type-casts rule that removes the redundant as cast (e.g. value as String becomes value).
    Open source →
    Release notes

    v4.1.3

    Compare

    Choose a tag to compare

    Open source →
  10. 4.1.2 04 Jun 2026
    Release notes

    What's Changed

    • fix(no-magic-number): remove self-reported parameter_assignments analyzer warnings by @Akhrameev in #243

    Full Changelog: v4.1.1...v4.1.2

    Open source →
    Release notes
    • Remove two self-reported parameter_assignments analyzer warnings in the no-magic-number rule implementation by replacing ++count with count + 1 in the literal-counting callbacks (no behavioral change).
    Open source →
    Release notes

    v4.1.2

    Compare

    Choose a tag to compare

    Open source →
  11. 4.1.1 04 Jun 2026
    Release notes
    • Add config option prefer-match-file-name.ignore-enums and prefer-match-file-name.ignore-typedefs to suppress reports for enum and typedef declarations whose name doesn't match the file name.
    Open source →
  12. 4.1.0 03 Jun 2026
    Release notes
    • Add support for analysis_server_plugin (analyzer 13.x).
    • Add support for analyzer 13.x via a cross-version AST shim (lib/src/utils/ast_compat.dart) that recognises the reshaped named-argument, record-field, default-parameter and label nodes structurally.
    • Widen analyzer constraint to >=10.0.0 <14.0.0.
    • Extend make test-analyzer-compat-full to cover analyzer 10.x, 11.x, 12.x and 13.x; skip versions whose Dart SDK constraint is incompatible with the host SDK instead of failing.
    Open source →
  13. 4.0.5 25 May 2026
    Release notes
    • Add ignored-invocations and ignored-targets options to prefer-moving-to-variable rule to suppress reports for specific method/getter names or target receivers.
    • Add autofix for newline-before-return with comment-aware, whitespace-preserving behavior and edge-case fixture coverage.
    Open source →
  14. 4.0.4 21 May 2026
    Release notes
    • Honor per-line // ignore: <metric-id> comments for function- and class-level metric violations (both leading and trailing forms). File-level metrics keep their // ignore_for_file: behavior.
    Open source →
  15. 4.0.3 28 Apr 2026
    Release notes
    • Fix prefer-moving-to-variable rule not detecting duplicate invocations in expression function bodies (=> expr).
    Open source →
  16. 4.0.2 07 Apr 2026
    Release notes
    • Update packageVersion constant to match pubspec version (was hardcoded as 3.2.0).
    Open source →
  17. 4.0.1 06 Apr 2026
    Release notes
    • Relax analyzer constraint to >=10.0.0 <13.0.0 to support Flutter stable with meta 1.17.0.
    • Relax analyzer_plugin constraint to >=0.14.0 <0.16.0.
    • Add support for analyzer 12.x (replace removed LibraryIdentifier with version-agnostic approach).
    • Remove dependency_overrides from main and example pubspecs.
    Open source →
  18. 4.0.0 18 Mar 2026
    Release notes
    • BREAKING: Update minimum Dart SDK to >=3.5.0 (compatible with Flutter 3.24+).
    • Update analyzer to >=11.0.0 <12.0.0.
    • Update analyzer_plugin to ^0.14.5.
    • Fix element comparison for substituted elements in always-remove-listener rule.
    • Add Packaged AI Assets for MCP integration (extension/mcp/).
    Open source →
  19. 3.2.1 10 Nov 2025
    Release notes
    • Update homepage in pubspec.yaml.
    Open source →
  20. 3.2.0 21 Oct 2025
    Release notes
    • Update analyzer constraint to ^8.2.0. Only works with dart >= 3.9.0.
    • Add rule use-design-system-items.
    • Add rule only-barrel-import.
    • Allow to specify more than one suggestion for each rule.
    Open source →
  21. 3.2.0-alpha.2 21 Oct 2025 pre-release
    Release notes
    • Update analyzer constraint to ^8.2.0
    Open source →
  22. 3.2.0-alpha.1 20 Oct 2025 pre-release
    Release notes
    • Add rule use-design-system-items.
    • Add rule only-barrel-import.
    • Allow to specify more than one suggestion for each rule.
    • Bump analyzer to ^8.0.0
    Open source →
  23. 3.1.1 18 Sep 2025
    Release notes
    • Changed prefer-media-query-direct-access to FlutterRule.
    Open source →
  24. 3.1.0 18 Sep 2025
    Release notes
    • Add rule prefer-media-query-direct-access.
    • Add rule prefer-named-record-fields.
    Open source →
  25. 3.1.0-beta.3 17 Sep 2025 pre-release
    Release notes
    • Add rule prefer-media-query-direct-access.
    Open source →
  26. 3.1.0-beta.2 17 Sep 2025 pre-release
    Release notes
    • Fixed DCL version in analyzer_plugin.
    Open source →
  27. 3.1.0-beta.1 15 Sep 2025 pre-release
    Release notes
    • Add rule prefer-named-record-fields.
    Open source →
  28. 3.0.0 22 Jul 2025

    Nothing published for this version

  29. 2.0.0 13 Feb 2025
    Release notes
    • Update analyzer to version ^6.0.0
    Open source →
  30. 1.3.0 03 Jan 2025
    Release notes
    • Added fatal-warnings-threshold fatal-performance-threshold and fatal-style-threshold to set the failure threshold for analyze command
    Open source →
  31. 1.2.1 18 Nov 2024
    Release notes
    • Fixed generating report file when find issues in the report
    Open source →
  32. 1.2.0 12 Nov 2024
    Release notes
    • Added fix command
    • Added prefer single quotes rule
    • Added prefer first or null rule
    • Added no blank line before single return rule
    • Fixed rule avoid dynamic to extensions definition
    Open source →
  33. 1.1.5 26 Sep 2024
    Release notes
    • Removed deprecated fields in analysis options and collection method
    • Fixed changelog URL for update available warning
    Open source →
  34. 1.1.4 18 Sep 2024
    Release notes
    • Fixed some test
    • Reverted analyzer ^6.0.0 to ^5.14.0
    Open source →
  35. 1.1.3 09 Apr 2024
    Release notes
    • Fixed some test
    Open source →
  36. 1.1.2 08 Feb 2024
    Release notes
    • Append new presset analysis_options.1.0.0.yaml
    Open source →
  37. 1.1.1 21 Sep 2023
    Release notes
    • Rename common rules to dart rules
    Open source →
  38. 1.1.0 21 Sep 2023
    Release notes
    • Added new presets
    • Removed Angular framework rules
    • Added example
    Open source →
  39. 1.0.2 20 Sep 2023
    Release notes
    • Fix: report in IDE'S is adjusted
    Open source →
  40. 1.0.1 18 Sep 2023
    Release notes
    • Automated publishing of packages to pub.dev
    Open source →
  41. 1.0.0 18 Sep 2023
    Release notes Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive