leancode_lint
Robust and high-quality lint rules used at LeanCode.
27.0.0
36K downloads/mo
#1716 most downloaded on pub.dev
leancodepl/flutter_corelibrary
What this package is like to depend on
Last release 6 days ago
18 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 52 of 54 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
59 releases · first in 2021
22 releases in the last 12 months
see the full history below
Release timeline
59 releases · Oct 2021 to Aug 2026Releases
latest 59-
27.0.018 Aug 2026Release notes
Open source →-
Support Dart 3.13
-
Enable the following lints:
-
async_return_with_no_await
-
empty_container_bodies
-
initialize_in_field_declaration
-
unnecessary_const_in_enum_constructor
-
unnecessary_primary_constructor_body
-
unnecessary_type_name_in_constructor
-
use_declaring_parameters
-
use_primary_constructors
-
Remove deprecated lints:
-
avoid_private_typedef_functions
-
one_member_abstracts
-
unnecessary_await_in_return
-
-
26.3.015 Aug 2026Release notes
Open source →- Update
avoid_context_read_in_buildto exemptBuildContext-taking closures that don't return aWidget(e.g. a provider'screate), since they run once rather than on every rebuild. - Support Dart 3.13 primary constructors:
missing_equatable_propsnow requires fields declared by a primary constructor's declaring parameters to be listed inprops, and recognizessuper.propsas needed when the superclass declares its fields in a primary constructor.constructor_parameters_and_fields_should_have_the_same_ordernow treats fields declared by a primary constructor as coming before the fields declared in the class body.avoid_build_context_in_blocsnow reportsBuildContextparameters declared in a Bloc/Cubit's primary constructor.prefer_abstract_final_classnow recognizes a private._()primary constructor as an instantiation guard, and its fix removes it from the class header.- The "convert to a named formal parameter" assist now preserves the parameter's own declaration (e.g. a primary constructor's declaring
final int xor asuper.xparameter) instead of always producingthis.-prefixed parameters.
Release notes
Open source →-
Update avoid_context_read_in_build to exempt BuildContext -taking closures that don't return a Widget (e.g. a provider's create ), since they run once rather than on every rebuild.
-
Support Dart 3.13 primary constructors:
-
missing_equatable_props now requires fields declared by a primary constructor's declaring parameters to be listed in props , and recognizes super.props as needed when the superclass declares its fields in a primary constructor.
-
constructor_parameters_and_fields_should_have_the_same_order now treats fields declared by a primary constructor as coming before the fields declared in the class body.
-
avoid_build_context_in_blocs now reports BuildContext parameters declared in a Bloc/Cubit's primary constructor.
-
prefer_abstract_final_class now recognizes a private ._() primary constructor as an instantiation guard, and its fix removes it from the class header.
-
The "convert to a named formal parameter" assist now preserves the parameter's own declaration (e.g. a primary constructor's declaring final int x or a super.x parameter) instead of always producing this. -prefixed parameters.
- Update
-
26.2.010 Aug 2026Release notes
Open source →- Update
prefer_equatable_mixinto suggest mixing inEquatabledirectly when the linted package depends onequatable2.1.0 or higher, whereEquatableMixinis deprecated. - Update
missing_equatable_propsto not report a missingsuper.propswhen the superclass chain declares no fields, and so itspropsis empty.
Release notes
Open source →-
Update prefer_equatable_mixin to suggest mixing in Equatable directly when the linted package depends on equatable 2.1.0 or higher, where EquatableMixin is deprecated.
-
Update missing_equatable_props to not report a missing super.props when the superclass chain declares no fields, and so its props is empty.
- Update
-
26.1.008 Aug 2026 -
26.0.006 Aug 2026Release notes
Open source →-
Add new custom lints:
-
avoid_direct_collection_equality_checks
-
avoid_context_read_in_build
-
avoid_build_context_in_blocs
-
-
25.0.025 Jul 2026 -
24.0.026 Jun 2026Release notes
Open source →- Add new custom lints:
- Replace usages of members deprecated in the analyzer.
Release notes
Open source →-
Add new custom lints:
-
avoid_catch_error
-
missing_equatable_props
-
never_discard_build_context
-
Replace usages of members deprecated in the analyzer.
-
23.0.004 May 2026 -
22.0.104 May 2026 -
22.0.005 Mar 2026Release notes
Open source →-
Add new custom lints:
-
prefer_equatable_mixin
-
bloc_related_class_naming
-
bloc_subclasses_naming
-
Enable the following lints:
-
always_use_package_imports
-
-
21.0.016 Feb 2026Release notes
Open source →- Support Flutter 3.41 and Dart 3.11
- Enable the following lints:
- Remove deprecated lints:
Release notes
Open source →-
Support Flutter 3.41 and Dart 3.11
-
Enable the following lints:
-
simplify_variable_pattern
-
no_literal_bool_comparisons
-
Remove deprecated lints:
-
avoid_null_checks_in_equality_operators
-
prefer_final_parameters
-
use_if_null_to_convert_nulls_to_bools
-
21.0.0+126 Feb 2026Nothing published for this version
-
20.0.211 Feb 2026 -
20.0.110 Feb 2026Release notes
Open source →- Add the
example/directory with default and custom configuration examples.
Release notes
Open source →- Add the example/ directory with default and custom configuration examples.
- Add the
-
20.0.004 Feb 2026Release notes
Open source →- Breaking: Migrate from custom_lint to the analysis server plugin. See the README for instructions on how to use the plugin.
- Breaking: Require
analyzer^10.0.0. - Breaking: Require Dart 3.10.
- Add configurable names for the
catch_parameter_namesrule. Defaults remainerrandst. - Move implementation files into the
srcdirectory.
Release notes
Open source →-
Breaking: Migrate from custom_lint to the analysis server plugin. See the README for instructions on how to use the plugin.
-
Breaking: Require analyzer ^10.0.0.
-
Breaking: Require Dart 3.10.
-
Add configurable names for the catch_parameter_names rule. Defaults remain err and st .
-
Move implementation files into the src directory.
-
20.0.0-dev.525 Oct 2025 pre-releaseNothing published for this version
-
20.0.0-dev.428 Sep 2025 pre-releaseNothing published for this version
-
20.0.0-dev.328 Sep 2025 pre-releaseNothing published for this version
-
20.0.0-dev.222 Sep 2025 pre-releaseNothing published for this version
-
20.0.0-dev.122 Sep 2025 pre-releaseNothing published for this version
-
19.0.107 Nov 2025 -
19.0.018 Sep 2025Release notes
Open source →- Support
analyzer8.1.0 - Support
custom_lint_builder0.8.1 - Enable the following lints:
Release notes
Open source →-
Support analyzer 8.1.0
-
Support custom_lint_builder 0.8.1
-
Enable the following lints:
-
prefer_center_over_align
- Support
-
18.0.019 Aug 2025Release notes
Open source →- chore: Refactor lint codes to use built-in positional parameters.
- Support Flutter 3.35 and Dart 3.9
- Enable the following lints:
- Disable the
omit_obvious_property_typeslint due to conflict withtype_annotate_public_apis(Dart SDK issue #60642)
Release notes
Open source →-
chore: Refactor lint codes to use built-in positional parameters.
-
Support Flutter 3.35 and Dart 3.9
-
Enable the following lints:
-
switch_on_type
-
unnecessary_unawaited
-
use_dedicated_media_query_methods
-
use_align
-
use_padding
-
Disable the omit_obvious_property_types lint due to conflict with type_annotate_public_apis ( Dart SDK issue #60642 )
-
17.0.002 Jun 2025Release notes
Open source →-
Support Flutter 3.32 and Dart 3.8
-
Enable the following lints:
-
unnecessary_ignore
-
use_null_aware_elements
-
-
16.0.008 May 2025Release notes
Open source →- Support Flutter 3.29 and Dart 3.7
- Enable the following lints:
- Remove the following lints which have been removed from Dart:
- Disable the
require_trailing_commaslint as it conflicts with Dart 3.7 formatter (https://github.com/dart-lang/sdk/issues/60119).
Release notes
Open source →-
Support Flutter 3.29 and Dart 3.7
-
Enable the following lints:
-
strict_top_level_inference
-
unnecessary_underscores
-
omit_obvious_property_types
-
unnecessary_async
-
unsafe_variance
-
Remove the following lints which have been removed from Dart:
-
package_api_docs
-
unsafe_html
-
Disable the require_trailing_commas lint as it conflicts with Dart 3.7 formatter ( https://github.com/dart-lang/sdk/issues/60119 ).
-
15.1.006 Mar 2025 -
15.0.027 Dec 2024Release notes
Open source →-
Enable the following lints:
-
use_truncating_division
-
avoid_futureor_void
-
omit_obvious_local_variable_types
-
Disable the omit_local_variable_types
-
-
14.4.013 Dec 2024 -
14.3.013 Dec 2024 -
14.2.016 Oct 2024 -
14.1.002 Sep 2024Release notes
Open source →- Allow usage of a forbidden item in a
hidecombinator inuse_design_system_item
Release notes
Open source →- Allow usage of a forbidden item in a hide combinator in use_design_system_item
- Allow usage of a forbidden item in a
-
14.0.028 Aug 2024Release notes
Open source →- Bump minimum Dart version to 3.5
- Enable the following lints:
- Disable the
avoid_positional_boolean_parameterslint
Release notes
Open source →-
Bump minimum Dart version to 3.5
-
Enable the following lints:
-
unintended_html_in_doc_comment
-
invalid_runtime_check_with_js_interop_types
-
document_ignores
-
Disable the avoid_positional_boolean_parameters lint
-
13.0.010 Jun 2024Release notes
Open source →-
Bump minimum Dart version to 3.4
-
Enable the following lints:
-
unnecessary_library_name
-
missing_code_block_language_in_doc_comment
-
-
12.1.029 Apr 2024Release notes
Open source →- Treat
HookWidgetas a new hook context. This should remove some false positives inavoid_conditional_hooksand catch new cases inhook_widget_does_not_use_hooks.
Release notes
Open source →- Treat HookWidget as a new hook context. This should remove some false positives in avoid_conditional_hooks and catch new cases in hook_widget_does_not_use_hooks .
- Treat
-
12.0.004 Apr 2024 -
11.0.005 Mar 2024Release notes
Open source →- Treat
HookConsumerandHookConsumerWidgetfrompackage:hooks_riverpodas hook widgets
Release notes
Open source →- Treat HookConsumer and HookConsumerWidget from package:hooks_riverpod as hook widgets
- Treat
-
10.0.004 Mar 2024 -
9.0.015 Feb 2024Release notes
Open source →- Disable lints deprecated in Dart 3.3.0
- Bump minimum Dart version to 3.3
- Enable custom lint
avoid_single_child_in_multi_child_widgetsforColumn,Row,Flex,Wrap,SliverList,MultiSliver,SliverChildListDelegate,SliverMainAxisGroup, andSliverCrossAxisGroup - Fix
avoid_conditional_hooksfalse positive
Release notes
Open source →-
Disable lints deprecated in Dart 3.3.0
-
Bump minimum Dart version to 3.3
-
Enable custom lint avoid_single_child_in_multi_child_widgets for Column , Row , Flex , Wrap , SliverList , MultiSliver , SliverChildListDelegate , SliverMainAxisGroup , and SliverCrossAxisGroup
-
Fix avoid_conditional_hooks false positive
-
8.0.006 Dec 2023Release notes
Open source →-
Enable the following lints:
-
annotate_redeclares
-
use_build_context_synchronously
-
-
7.0.008 Nov 2023 -
7.0.0+108 Nov 2023 -
6.0.025 Aug 2023Release notes
Open source →- Enable the following lints:
- Remove deprecated rules
iterable_contains_unrelated_typeandlist_remove_unrelated_type - Bump minimum Dart version to 3.1
Release notes
Open source →-
Enable the following lints:
-
no_self_assignments
-
no_wildcard_variable_uses
-
Remove deprecated rules iterable_contains_unrelated_type and list_remove_unrelated_type
-
Bump minimum Dart version to 3.1
-
5.0.004 Aug 2023Release notes
Open source →-
Elevate level of all infos to warning except for:
-
deprecated_member_use_from_same_package
-
deprecated_export_use
-
deprecated_member_use
-
hack
-
todo
-
undone
-
-
4.0.016 May 2023Release notes
Open source →- Enable the following lints:
- Remove the deprecated lint
enable_null_safety - Bump minimum Dart version to 3.0
- Remove dependence on
flutter_lints
Release notes
Open source →-
Enable the following lints:
-
implicit_reopen
-
unnecessary_breaks
-
type_literal_in_constant_pattern
-
invalid_case_patterns
-
deprecated_member_use_from_same_package
-
Remove the deprecated lint enable_null_safety
-
Bump minimum Dart version to 3.0
-
Remove dependence on flutter_lints
-
4.0.0+116 May 2023Release notes
Open source →- Remove lint
library_private_types_in_public_apiwhich was accidentally enabled
Release notes
Open source →- Remove lint library_private_types_in_public_api which was accidentally enabled
- Remove lint
-
4.0.0+221 Jul 2023 -
3.0.009 Apr 2023Release notes
Open source →- Migrate from
analyzer.strong-mode.{implicit-casts,implicit-dynamic}toanalyzer.language.{strict-casts,strict-inference,strict-raw-types}which might report new warnings
Release notes
Open source →- Migrate from analyzer.strong-mode.{implicit-casts,implicit-dynamic} to analyzer.language.{strict-casts,strict-inference,strict-raw-types} which might report new warnings
- Migrate from
-
2.1.001 Feb 2023Release notes
Open source →-
Enable the following lints:
-
collection_methods_unrelated_type
-
combinators_ordering
-
dangling_library_doc_comments
-
enable_null_safety
-
library_annotations
-
unnecessary_library_directive
-
use_string_in_part_of_directives
-
-
2.1.0+117 Feb 2023Nothing published for this version
-
2.0.011 Oct 2022Release notes
Open source →- Breaking: Remove the
unawaited()function which is provided by Dart since 2.14 (#88) - Disable the
discarded_futureslint (#87) - Disable the deprecated
invariant_booleanslint (#86)
Release notes
Open source →-
Breaking: Remove the unawaited() function which is provided by Dart since 2.14 (#88)
-
Disable the discarded_futures lint (#87)
-
Disable the deprecated invariant_booleans lint (#86)
- Breaking: Remove the
-
2.0.0+111 Oct 2022 -
1.3.018 Sep 2022Release notes
Open source →-
Enable the following lints:
-
discarded_futures
-
unnecessary_to_list_in_spreads
-
unnecessary_null_aware_operator_on_extension_on_nullable
-
-
1.2.118 May 2022Release notes
Open source →-
Disable the following lints:
-
use_build_context_synchronously
-
library_private_types_in_public_api
-
-
1.2.014 May 2022Release notes
Open source →-
Enable the following lints:
-
use_super_parameters
-
use_enums
-
null_check_on_nullable_type_parameter
-
Bump minimum Dart version to 2.17.
-
-
1.1.001 Mar 2022Release notes
Open source →-
Enable the following lints:
-
avoid_final_parameters
-
conditional_uri_does_not_exist
-
literal_only_boolean_expressions
-
no_leading_underscores_for_library_prefixes
-
no_leading_underscores_for_local_identifiers
-
secure_pubspec_urls
-
sized_box_shrink_expand
-
unnecessary_constructor_name
-
unnecessary_late
-
-
1.0.201 Dec 2021Release notes
Open source →- Remove dependency on
flutter - Update README to differentiate between app and package projects
Release notes
Open source →-
Remove dependency on flutter
-
Update README to differentiate between app and package projects
- Remove dependency on
-
1.0.124 Nov 2021Release notes
Open source →- Disable the following lints:
- Fix warning with
package:flutter_lints/flutter.yamlnot being found
Release notes
Open source →-
Disable the following lints:
-
prefer_final_parameters
-
library_private_types_in_public_api
-
Fix warning with package:flutter_lints/flutter.yaml not being found
-
1.0.1+124 Nov 2021Release notes
Open source →- Improve explanation in README on why one might want to add
leancode_lintas a normal dependency instead of dev dependency when using Dart version < 2.14
Release notes
Open source →- Improve explanation in README on why one might want to add leancode_lint as a normal dependency instead of dev dependency when using Dart version < 2.14
- Improve explanation in README on why one might want to add
-
1.0.029 Oct 2021Release notes
Open source →- Initial release
77
likes
160
points
34.4k
downloads
Documentation
API reference
Publisher
leancode.co
Weekly Downloads
Metadata
Robust and high-quality lint rules used at LeanCode.
Homepage
Repository (GitHub)
View/report issues
Topics
#analysis #analyzer #code-style #lint #lints
License
Apache-2.0 ( license )
Dependencies
analysis_server_plugin , analyzer , analyzer_plugin , meta , path , source_span , yaml
More
Packages that depend on leancode_lint
← Metadata
77
likes
160
points
34.4k
downloads
Documentation
API reference
Publisher
leancode.co
Weekly Downloads
Metadata
Robust and high-quality lint rules used at LeanCode.
Homepage
Repository (GitHub)
View/report issues
Topics
#analysis #analyzer #code-style #lint #lints
License
Apache-2.0 ( license )
Dependencies
analysis_server_plugin , analyzer , analyzer_plugin , meta , path , source_span , yaml
More
Packages that depend on leancode_lint
Back