solid_lints
Lints for Dart and Flutter based on software industry standards and best practices.
0.3.3
3.4K downloads/mo
#4440 most downloaded on pub.dev
solid-software/solid_lints
What this package is like to depend on
Last release 1 months ago
25 Jul 2026
Release timing varies
gaps range from 2 weeks to 8 months
Nearly every release is documented
notes for 33 of 33 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
34 releases · first in 2021
3 releases in the last 12 months
see the full history below
Release timeline
34 releases · Dec 2021 to Jul 2026Releases
latest 34-
1.0.0-dev.125 Jul 2026 pre-releaseRelease notes
Open source →- feat!: migrate to analyzer_server_plugin
- refactor: replace
avoid_unnecessary_type_castsrule with dart analyzer'sunnecessary_cast - Added
use_nearest_contextrule. - Added
avoid_duplicate_coderule. - Added
use_descriptive_names_for_type_parametersrule. - Added
avoid_similar_namesrule. - Added
feature_envyrule.
-
0.3.305 Dec 2025 -
0.3.203 Dec 2025Release notes
Open source →What's Changed
- feat: add named_parameters_ordering by @Andrew-Bekhiet in #204
- Remove deprecated members by @xJac0b in #211
- Preserve trailing commas (issue #209) by @xJac0b in #213
- Lint default constructor and named parameter (issue #126) by @xJac0b in #212
- Add new rule: dont_create_a_return_var by @tozpeak in #220
- Issues #92, #148: refactor to use common code between two rules by @tozpeak in #221
- chore: upgrade to analyzer 8 by @andrew-bekhiet-solid in #223
New Contributors
- @xJac0b made their first contribution in #211
- @tozpeak made their first contribution in #220
- @andrew-bekhiet-solid made their first contribution in #223
Full Changelog: 0.3.1...0.3.2
Release notes
Open source →- Added
named_parameters_orderingrule. - Upgraded to analyzer: ^8.4.0 and custom_lint_builder: ^0.8.1
-
0.3.106 May 2025Release notes
Open source →What's Changed
- feat(no_empty_block): add allow_comments by @Andrew-Bekhiet in #203
- Make it possible to exclude extensions, entities and mixins from
prefer_match_file_namerule by @iimironchuk in #206 - Add extensions support for avoid_using_api by @iimironchuk in #208
New Contributors
- @Andrew-Bekhiet made their first contribution in #203
- @iimironchuk made their first contribution in #206
Full Changelog: 0.3.0...0.3.1
Release notes
Open source →- Added
allow_with_commentsparameter forno_empty_blocklint. - Added extension support for
avoid_using_api - Added
exclude_entityparameter forprefer_match_file_namelint. It is now possible to configure this lint to ignoreenum,extensionandmixindeclarations viaanalysis_options.yaml.
-
0.3.025 Feb 2025Release notes
Open source →What's Changed
- issue-182. fixed throw expression by @StarovNikita in #183
- Issue 167 by @StarovNikita in #185
- Issue 167 1 by @StarovNikita in #186
- Fixed tests in test folders by @Aygistov in #194
- Exclude copyWith method from number_of_parameters rule by @Aygistov in #196
- Update min Dart SDK to 3.5.0, update analyzer and custom_lint_builder dependencies by @yurii-prykhodko-solid in #199
- Fix docs deployment by @yurii-prykhodko-solid in #200
- Fix docs deployment action by @yurii-prykhodko-solid in #201
- Fix docs GitHub deployment by @solid-illiaaihistov in #202
New Contributors
- @StarovNikita made their first contribution in #183
- @Aygistov made their first contribution in #194
- @solid-illiaaihistov made their first contribution in #202
Full Changelog: 0.2.3...0.3.0
Release notes
Open source →- Added
excludeparameter for the following lints:avoid_returning_widgetsavoid_unused_parameterscyclomatic_complexityfunction_lines_of_codeno_empty_blocnumber_of_parameters
- BREAKING CHANGE: Renamed
excludeNamesparameter toexcludeforfunction_lines_of_codelint. - Fixed an issue with
prefer_early_retrunfor throw expression number_of_parameterslint: addedcopyWithto the default exclude list.- Update dependencies:
- Update min Dart SDK constraint to 3.5.0
- Update
analyzerdependency to 7.1.0 - Update
custom_lint_builderdependency to 0.7.1
-
0.2.319 Sep 2024Release notes
Open source →What's Changed
- Replace deprecated functions by @solid-glebvorobey in #180
Full Changelog: 0.2.2...0.2.3
-
0.2.219 Sep 2024Release notes
Open source →Release notes
Open source →- Remove LintCode from documentation to improve scores and make it clearer
-
0.2.119 Sep 2024Release notes
Open source →What's Changed
- Fixed LintCode analyzer issues by @solid-glebvorobey in #178
Full Changelog: 0.2.0...0.2.1
-
0.2.018 Sep 2024Release notes
Open source →- Added
avoid_final_with_getterrule - Improve
avoid_late_keyword-ignored_typesto support ignoring subtype of the node type (https://github.com/solid-software/solid_lints/issues/157) - Abstract methods should be omitted by
proper_super_calls(https://github.com/solid-software/solid_lints/issues/159) - Add a rule prefer_guard_clause for reversing nested if statements (https://github.com/solid-software/solid_lints/issues/91)
- add exclude params support to avoid_returning_widgets rule (https://github.com/solid-software/solid_lints/issues/131)
- add quick fix to avoid_final_with_getter (https://github.com/solid-software/solid_lints/pull/164)
- Renamed
avoid_debug_printtoavoid_debug_print_in_release - The
avoid_debug_print_in_releaseno longer reports a warning if thedebugPrintcall is wrapped in a!kReleaseModecheck. - Update custom_lints to work with newer Flutter
- Added
-
0.1.526 Mar 2024Release notes
Open source →What's Changed
- Avoid debug print by @Viktor-Mudrytskyi in #134
- Fix for magic number lint by @Viktor-Mudrytskyi in #137
- Rename
avoid_using_debug_print->avoid_debug_printby @yurii-prykhodko-solid in #138 - Avoid returning widgets lint improvement by @Viktor-Mudrytskyi in #139
- Fixed avoid_unused_parameters by @Viktor-Mudrytskyi in #140
- Refactored avoid_unnecessary_type_assertions by @DerhachevAndrii in #144
-
- Added
excludeNamesparam forfunction_lines_of_codelint by @DerhachevAndrii in #141
- Added
-
- Improved
avoid_unrelated_type_assertionsto support true and false results by @DerhachevAndrii in #145
- Improved
New Contributors
- @Viktor-Mudrytskyi made their first contribution in #134
- @DerhachevAndrii made their first contribution in #144
Full Changelog: 0.1.4...0.1.5
Release notes
Open source →- Added
avoid_debug_printrule - Fixed an issue with no_magic_number lint
- Fixed
avoid_unused_parametersto report positional parameters from typedef if their name are not underscores. - Improvement for
avoid_returning_widgetlint:- ignores methods that override ones that return widget (build() for example)
- no longer allows returning widgets from methods/functions named build
- Fixed unexpected avoid_unnecessary_type_assertions
- Added
excludeNamesparam forfunction_lines_of_codelint - Improved
avoid_unrelated_type_assertionsto support true and false results - Set default
cyclomatic_complexityto 10 (https://github.com/solid-software/solid_lints/issues/146) Credits: Arthur Miranda (https://github.com/arthurbcd)
-
0.1.421 Feb 2024Release notes
Open source →What's Changed
- Add
dart run custom_lintcmd to README by @yurii-prykhodko-solid in #129 - Remove deprecated linter rules by @yurii-prykhodko-solid in #132
- Bump version to 0.1.4, upd changelog by @yurii-prykhodko-solid in #133
Full Changelog: 0.1.3...0.1.4
Release notes
Open source →- Removed deprecated lints:
always_require_non_null_named_parametersavoid_returning_null_for_future
- Add
-
0.1.306 Feb 2024 -
0.1.230 Jan 2024 -
0.1.124 Jan 2024 -
0.1.019 Jan 2024Release notes
Open source →- Remove DCM as a dependency
- Add
custom_lintand integrate/redo lints from DCM usingcustom_lint:- avoid_global_state
- avoid_late_keyword
- avoid_non_null_assertion
- avoid_returning_widgets
- avoid_unnecessary_setstate
- avoid_unnecessary_type_assertions
- avoid_unnecessary_type_casts
- avoid_unrelated_type_assertions
- avoid_unused_parameters
- avoid_using_api Credits: getBoolean (https://github.com/getBoolean)
- cyclomatic_complexity
- double_literal_format
- function_lines_of_code
- member_ordering
- newline_before_return
- no_empty_block
- no_equal_then_else
- no_magic_number
- number_of_parameters
- prefer_conditional_expressions
- prefer_first
- prefer_last
- prefer_match_file_name
- proper_super_calls
-
0.0.1917 Aug 2023Release notes
Open source →- Add rules
avoid_final_parametersconditional_uri_does_not_existno_leading_underscores_for_library_prefixesno_leading_underscores_for_local_identifiersnoop_primitive_operationsprefer_adjacent_string_concatenationprefer_foreachsecure_pubspec_urlssized_box_shrink_expandunnecessary_breaksunnecessary_lambdasunnecessary_to_list_in_spreadsuse_raw_strings
- Bump minimum supported sdk to
3.0.0
- Add rules
-
0.0.1827 Jul 2023Release notes
Open source →- Add rules
use_super_parametersalways_put_required_named_parameters_firstavoid_redundant_argument_values
- Add rules
-
0.0.1720 Jul 2023 -
0.0.1615 May 2023Release notes
Open source →- Update
dart_code_metricsdependency to 5.7.3 - Rename deprecated
member-ordering-extendedtomember-ordering - Add rule for widgets methods order configuration:
- initState
- build
- didChangeDependencies
- didUpdateWidget
- deactivate
- dispose
- Update
-
0.0.1511 May 2023 -
0.0.1427 Jan 2023 -
0.0.1302 Jan 2023Release notes
Open source →- enable use_colored_box & use_decorated_box + add more comments about specific lints
-
0.0.1226 Jul 2022Release notes
Open source →- Update to the latest DCM to make sure that it works with latest flutter.
-
0.0.1124 Mar 2022 -
0.0.1010 Feb 2022Release notes
Open source →- Update
dart_code_metricsdependency to 4.10.1 - Ignore
mockitomocks generated to be alongside source test files
- Update
-
0.0.926 Jan 2022Release notes
Open source →- Remove
diagnostic_describe_all_propertiesrule - Disable cyclomatic complexity metric for tests
- Remove
-
0.0.821 Jan 2022 -
0.0.714 Jan 2022 -
0.0.605 Jan 2022 -
0.0.504 Jan 2022 -
0.0.404 Jan 2022Release notes
Open source →- Set maximum method length to 200
- Set maximum parameters list length to 7
-
0.0.328 Dec 2021 -
0.0.228 Dec 2021 -
0.0.128 Dec 2021