pyramid_lint
Linting tool for Dart and Flutter projects to encourage good coding practices.
3.0.0
3.0K downloads/mo
#4655 most downloaded on pub.dev
charlescyt/pyramid_lint
What this package is like to depend on
Last release 2 months ago
03 Jun 2026
Release timing varies
gaps range from 3 weeks to 7 months
Nearly every release is documented
notes for 22 of 22 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
22 releases · first in 2023
2 releases in the last 12 months
see the full history below
Release timeline
22 releases · Sep 2023 to Jun 2026
2024
2025
2026
Releases
latest 22-
3.0.003 Jun 2026Release notes
Open source →Changed
- BREAKING: Migrate from
custom_lintto Dart analyzer plugins viaanalysis_server_plugin. - BREAKING: Require Dart 3.12.0 (was
>=3.10.0) and analyzer 13.0.0 (was^8.0.0).
Removed
- BREAKING: Drop
custom_lint/custom_lint_builderdependency and CLI integration. - Lint:
avoid_abbreviations_in_doc_comments. - Lint:
avoid_nested_if. - Lint:
boolean_prefixes. - Lint:
max_switch_cases. - Lint:
avoid_returning_widgets. - Lint:
avoid_redundant_pattern_field_namesin favor of the built-insimplify_variable_pattern. - Lint:
avoid_inverted_boolean_expressions. - Lint:
prefer_const_constructor_declarations. - Lint:
prefer_immediate_return. - Assist:
invert_boolean_expression. - Assist:
swap_then_else_expression. - Assist:
use_edge_insets_zero. - Assist:
wrap_all_children_with_expanded. - Assist:
wrap_with_listenable_builder.
- BREAKING: Migrate from
-
2.4.014 Nov 2025 -
2.3.016 Aug 2025 -
2.2.028 Jul 2025 -
2.1.031 May 2025Release notes
Open source →Added
Changed
- Require Dart 3.8.0.
Fixed
- Fix
prefer_const_constructor_declarationsto support constructors with super parameters. (#58)
Removed
-
2.0.314 Mar 2025Release notes
Open source →Changed
- Bump the minimum
analyzer_pluginversion to 0.13.0. (#52 thanks to [jogboms])
- Bump the minimum
-
2.0.205 Feb 2025Release notes
Open source →Changed
- Require Dart 3.6.0.
- Bump the minimum
analyzerversion to 7.0.0. - Bump the minimum
custom_lint_builderversion to 0.7.0. - Bump the minimum
pubspec_parseversion to 1.4.0.
-
2.0.115 Aug 2024Release notes
Open source →Changed
- Bump the minimum
analyzerversion to 6.6.0. - Bump the minimum
custom_lint_builderversion to 0.6.5. avoid_public_members_in_statesnow ignores public fields and methods with@visibleForTestingannotations.
Fixed
- Fix false positive for
dispose_controllerswhen dispose is already called via cascade notation.
- Bump the minimum
-
2.0.006 Mar 2024Release notes
Open source →Added
- Add support for changing the lint severity. (#38)
- Lint:
avoid_mutable_global_variables(#37) - Lint:
avoid_redundant_pattern_field_names(#40) - Lint:
avoid_positional_fields_in_records(#41) - Lint:
class_members_ordering(#42) - Assist:
wrap_with_listenable_builder(#26) thanks to [imsamgarg])
Changed
- BREAKING: All lints are now disabled by default. To enable a specific lint, add the lint in the
analysis_options.yamlfile. (#39) - BREAKING:
avoid_duplicate_importhas been renamed tono_duplicate_imports. - BREAKING:
prefer_declaring_const_constructorshas been renamed toprefer_const_constructor_declarations. - BREAKING:
doc_comments_before_annotationshas been renamed toalways_put_doc_comments_before_annotations. - BREAKING:
boolean_prefixhas been renamed toboolean_prefixes. - BREAKING:
always_declare_parameter_nameshas been renamed toalways_specify_parameter_names. - BREAKING:
prefer_spacerhas been renamed touse_spacer. - BREAKING:
proper_controller_disposehas been renamed todispose_controllers. - BREAKING:
avoid_widget_state_public_membershas been renamed toavoid_public_members_in_states. - BREAKING:
proper_edge_insets_constructorhas been renamed toproper_edge_insets_constructors. - BREAKING:
prefer_dedicated_media_query_methodhas been renamed toprefer_dedicated_media_query_functions. - Bump the minimum
custom_lint_builderversion to 0.6.2. - Fix false positive for
avoid_nested_ifwhen the if statement is a else if statement. (#44)
Removed
- BREAKING: Remove
prefer_value_changedlint. (#45)
-
1.5.014 Feb 2024Release notes
Open source →Added
Changed
wrap_with_layout_builderwill not be available if the selected widget is aLayoutBuilderor already wrapped with aLayoutBuilder. (#35)
-
1.4.006 Feb 2024Release notes
Open source →Added
- Lint:
avoid_nested_if(#25) - Lint:
max_switch_cases(#30) - Assist:
wrap_all_children_with_expanded(#27)
Changed
avoid_returning_widgetsnow ignores static, overridden and extension methods and supportsignored_method_namesoption. (#24 #28)- Bump the minimum custom lint version to 0.6.0.
Fixed
- Lint:
-
1.3.015 Jan 2024Release notes
Open source →Added
- Lint:
no_self_comparisons(#9) - Lint:
avoid_widget_state_public_members(#10) - Assist:
wrap_with_value_listenable_builder(#16 thanks to [imsamgarg])
Changed
prefer_dedicated_media_query_methodnow supports indirect calls toMediaQuery.of(context)andMediaQuery.maybeOf(context)(#13 thanks to [imsamgarg])proper_controller_disposenow supportsChangeNotifier's subclasses (#14 thanks to [imsamgarg])- Add quick fixes for
proper_controller_dispose(#15 thanks to [imsamgarg])
Fixed
- Lint:
-
1.2.023 Nov 2023Release notes
Open source →Added
- Lint:
avoid_abbreviations_in_doc_comments - Lint:
doc_comments_before_annotations - Lint:
prefer_library_prefixes
Changed
- Disable Flutter lints and assists for Dart projects.
- Improve lints' messages.
- Improve documentation.
prefer_dedicated_media_query_methodnow supportsonOffSwitchLabelsandtextScaler.
Fixed
- Fix the quick fix for
prefer_void_callback,prefer_async_callbackandprefer_value_changedwhen the function is nullable.
- Lint:
-
1.1.018 Oct 2023Release notes
Open source →Added
- Lint:
avoid_unused_parameters - Lint:
prefer_async_await - Lint:
prefer_new_line_before_return - Lint:
unnecessary_nullable_return_type
Fixed
- Fix pubspec.yaml description and format (#1 thanks to [parlough])
- Lint:
-
1.0.012 Oct 2023Release notes
Open source →Added
- Lint:
avoid_returning_widgets - Lint:
boolean_prefix
Changed
- BREAKING:
avoid_empty_blockhas been renamed toavoid_empty_blocks. - BREAKING:
avoid_inverted_boolean_expressionhas been renamed toavoid_inverted_boolean_expressions. - BREAKING:
correct_order_for_super_disposehas been renamed toproper_super_dispose. - BREAKING:
correct_order_for_super_init_statehas been renamed toproper_super_init_state. - BREAKING:
proper_usage_of_expanded_and_flexiblehas been renamed toproper_expanded_and_flexible. - BREAKING:
proper_usage_of_from_environmenthas been renamed toproper_from_environment. - BREAKING:
prefer_declaring_const_constructorhas been renamed toprefer_declaring_const_constructors. - BREAKING:
prefer_declaring_parameter_namehas been renamed toalways_declare_parameter_names. proper_edge_insets_constructornow works when arguments are variables.proper_edge_insets_constructoris no longer triggered if all the arguments are 0 in flavor of the built-inuse_named_constants.
Fixed
- Fix
prefer_underscore_for_unused_callback_parametersfalse positive on unused parameters in function declarations.
- Lint:
-
0.6.009 Oct 2023Release notes
Open source →Added
- Lint:
avoid_dynamic - Lint:
prefer_async_callback - Lint:
prefer_value_changed - Lint:
prefer_void_callback - Lint:
prefer_underscore_for_unused_callback_parameters
- Lint:
-
0.5.004 Oct 2023Release notes
Open source →Added
- Lint:
proper_usage_of_from_environment - Assist:
wrap_with_layout_builder
Changed
- Assists triggered on InstanceCreationExpression are now available on
newandconstkeywords.
Fixed
- Fix a bug where the fix for
correct_order_for_super_disposeis not working.
- Lint:
-
0.4.026 Sep 2023Release notes
Open source →Added
- Lint:
avoid_duplicate_import - Lint:
max_lines_for_file - Lint:
max_lines_for_function
- Lint:
-
0.3.025 Sep 2023Release notes
Open source →Added
- Lint:
avoid_inverted_boolean_expression - Assist:
invert_boolean_expression - Assist:
swap_then_else_expression
- Lint:
-
0.2.020 Sep 2023Release notes
Open source →Added
- Lint:
prefer_dedicated_media_query_method - Lint:
proper_controller_dispose - Lint:
proper_edge_insets_constructor
- Lint:
-
0.1.117 Sep 2023 -
0.1.017 Sep 2023