very_good_analysis
Lint rules for Dart and Flutter used internally at Very Good Ventures.
10.3.0
1000K downloads/mo
#82 most downloaded on pub.dev
VeryGoodOpenSource/very_good_analysis
What this package is like to depend on
Last release 6 days ago
17 Aug 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 31 of 31 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
42 releases · first in 2020
9 releases in the last 12 months
see the full history below
Release timeline
42 releases · Sep 2020 to Aug 2026Releases
latest 42-
11.0.0-rc.117 Aug 2026 pre-releaseRelease notes
Open source →11.0.0-rc.1 (2026-08-17)
Features
- add
async_return_with_no_awaitrule (#231) (8c90ca8), closes #222 - add
empty_container_bodiesrule (#236) (40af042), closes #215 - add
initialize_in_field_declarationrule (#230) (da69fb6), closes #221 - add
unnecessary_const_in_enum_constructorrule (#235) (2cf53e8), closes #216 - add
unnecessary_primary_constructor_bodyrule (#234) (53e3f8b) - add
unnecessary_type_name_in_constructorrule (#232) (60d33b5), closes #220 - add
use_declaring_parametersrule (#233) (a301996), closes #218 - configure automatic trailing commas (#237) (48509b5), closes #176
- upgrade to Dart 3.13 (#228) (7bc5b88)
Release notes
Open source →Features
- add
async_return_with_no_awaitrule (#231) (8c90ca8), closes #222 - add
empty_container_bodiesrule (#236) (40af042), closes #215 - add
initialize_in_field_declarationrule (#230) (da69fb6), closes #221 - add
unnecessary_const_in_enum_constructorrule (#235) (2cf53e8), closes #216 - add
unnecessary_primary_constructor_bodyrule (#234) (53e3f8b) - add
unnecessary_type_name_in_constructorrule (#232) (60d33b5), closes #220 - add
use_declaring_parametersrule (#233) (a301996), closes #218 - configure automatic trailing commas (#237) (48509b5), closes #176
- upgrade to Dart 3.13 (#228) (7bc5b88)
- add
-
10.3.018 Jun 2026Release notes
Open source → -
10.3.0-rc.102 Jun 2026 pre-releaseRelease notes
Open source →10.3.0-rc.1 (2026-06-02)
Features
- add bump version skill (#206) (0881137)
- disable unreachable_from_main lint by default (#207) (de60543), closes #197
- upgrade to Dart 3.12 (#203) (f13bef8)
Miscellaneous Chores
-
10.2.016 Feb 2026 -
10.1.002 Feb 2026Release notes
Open source → -
10.1.0-rc.209 Dec 2025 pre-releaseRelease notes
Open source → -
10.1.0-rc.127 Nov 2025 pre-releaseRelease notes
Open source →10.1.1-rc.1 (2025-11-27)
Docs
What's Changed
- fix(docs): update documentation based on markdownlint by @marcossevilla in #172
- feat: support Dart 3.10 by @marcossevilla in #178
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #180
- chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 by @dependabot[bot] in #181
- chore: 10.1.0-rc.1 by @vgvbot in #182
- docs: update CHANGELOG versioning by @marcossevilla in #183
- chore: 10.1.0-rc.1 by @vgvbot in #184
Full Changelog: v10.0.0...v10.1.0-rc.1
-
10.0.019 Sep 2025Release notes
Open source →10.0.0 (2025-09-19)
Miscellaneous Chores
Docs
What's Changed
- docs: update
CONTRIBUTING.mdto explain how to add new lint rules by @wolfenrain in #156 - feat: use latest VGA version by default in analyze script by @matiasleyba in #157
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #160
- feat: automate deprecated lint rules by @matiasleyba in #158
- ci: automate releases by @matiasleyba in #161
- feat: support Dart 3.9.0 by @marcossevilla in #162
- chore: 10.0.0-rc.1 by @vgvbot in #163
- chore: remove
diagnostic_describe_all_propertiesby @marcossevilla in #166 - chore: 10.0.0-rc.2 by @vgvbot in #167
- docs: update exclusion table by @github-actions[bot] in #165
- chore: v10.0.0 by @marcossevilla in #170
- docs: update exclusion table by @github-actions[bot] in #169
- chore: 10.0.0 by @vgvbot in #168
New Contributors
- @matiasleyba made their first contribution in #157
Full Changelog: v9.0.0...v10.0.0
- docs: update
-
10.0.0-rc.208 Sep 2025 pre-release -
10.0.0-rc.122 Aug 2025 pre-releaseRelease notes
Open source → -
9.0.006 Jun 2025 -
9.0.0-rc.104 Jun 2025 pre-release -
8.0.026 May 2025Release notes
Open source →- chore: release 8.0.0-rc.1
- fix: remove
omit_obvious_property_typesas it conflicts withtype_annotate_public_apis148
-
8.0.0-rc.107 May 2025 pre-release -
7.0.018 Dec 2024 -
7.0.0-dev.110 Dec 2024 pre-releaseRelease notes
Open source →- feat: add
document_ignores125 - feat: remove
avoid_null_checks_in_equality_operators124 - feat: add avoid_catches_without_on_clauses 123
- feat: add invalid_runtime_check_with_js_interop_types 122
- feat: add unintended_html_in_doc_comment 121
- chore: Remove the package_api_docs lint in next release 118
- feat: update lints for Dart 3.5 111
- docs: update exclusion reasons 109
- docs: update commands in contributing 110
- feat: add
-
6.0.025 Jun 2024 -
6.0.0-dev.114 Jun 2024 pre-releaseRelease notes
Open source → -
5.1.030 Aug 2023Release notes
Open source →- fix: remove deprecated
iterable_contains_unrelated_typelint - fix: remove deprecated
list_remove_unrelated_typelint - fix(docs): full list of rules
- feat: type equality checks should be warnings/errors
- fix: remove deprecated
-
5.0.017 May 2023Release notes
Open source →- feat!: upgrade to support Dart
^3.0.0 - feat: added analysis warning as error:
- feat: additional lint rules:
- refactor: remove deprecated lint rules:
- refactor: remove malfunctioning rules:
- feat!: upgrade to support Dart
-
5.0.0+119 May 2023 -
4.0.007 Feb 2023Release notes
Open source →-
feat!: upgrade to support Dart
^2.19.0 -
feat: additional lint rules:
-
refactor: remove deprecated lint rules:
-
-
4.0.0+107 Feb 2023 -
3.1.019 Sep 2022Release notes
Open source →- BREAKING refactor: remove deprecated
unawaited(useunawaitedfromdart:asyncinstead). - feat: additional lint rules:
- BREAKING refactor: remove deprecated
-
3.0.209 Sep 2022Release notes
Open source →- fix: remove deprecated
invariant_booleanslint - fix: deprecate
unawaited(useunawaitedfromdart:asyncinstead).
- fix: remove deprecated
-
3.0.114 Jun 2022Release notes
Open source →-
feat: use analyzer language modes instead of deprecated
strong-modelanguage: strict-casts: true strict-inference: true strict-raw-types: true
-
-
3.0.013 May 2022 -
2.4.020 Oct 2021Release notes
Open source →- feat: additional lint rules:
avoid_js_rounded_intsavoid_positional_boolean_parametersavoid_private_typedef_functionseol_at_end_of_fileflutter_style_todoslibrary_private_types_in_public_apino_default_casesnoop_primitive_operationsone_member_abstractsparameter_assignmentsprefer_asserts_with_messageprefer_constructors_over_static_methodsprefer_null_aware_method_callsrequire_trailing_commasuse_is_even_rather_than_modulo
- feat: additional lint rules:
-
2.3.002 Aug 2021Release notes
Open source →- feat: additional analysis errors:
missing_required_parammissing_return
- feat: additional lint rules:
use_named_constantsuse_raw_stringsuse_late_for_private_fields_and_variablesuse_setters_to_change_propertiesuse_string_buffersuse_to_and_as_if_applicablesort_pub_dependenciesliteral_only_boolean_expressionsuse_build_context_synchronouslyavoid_bool_literals_in_conditional_expressionsavoid_catching_errorsavoid_double_and_int_checksavoid_equals_and_hash_code_on_mutable_classesavoid_escaping_inner_quotesavoid_field_initializers_in_const_classesavoid_redundant_argument_valuesavoid_returning_thisavoid_setters_without_gettersavoid_void_asynccast_nullable_to_non_nullabledeprecated_consistencyjoin_return_with_assignmentleading_newlines_in_multiline_stringsmissing_whitespace_between_adjacent_stringsno_runtimeType_toStringnull_check_on_nullable_type_parameterprefer_asserts_in_initializer_listsprefer_final_in_for_eachprefer_final_localsprefer_if_elements_to_conditional_expressionsprefer_int_literalssort_unnamed_constructors_firsttighten_type_of_initializing_formalstype_annotate_public_apisunnecessary_await_in_returnunnecessary_null_checksunnecessary_nullable_for_final_variable_declarationsunnecessary_parenthesisunnecessary_raw_strings
- feat: additional analysis errors:
-
2.2.028 Jul 2021Release notes
Open source →- feat: additional lint rules:
always_use_package_importsavoid_returning_null_for_futureavoid_slow_async_ioavoid_type_to_string
- feat: additional lint rules:
-
2.1.217 Jun 2021Release notes
Open source →- refactor: remove deprecated
pedanticdependency - ci: improvements to ensure max pub score
- docs: minor documentation and package description updates
- refactor: remove deprecated
-
2.1.126 May 2021Release notes
Open source →- docs: update
READMEto include latest version - docs: reword package description
- docs: consolidate
READMElinks
- docs: update
-
2.1.026 May 2021Release notes
Open source →- feat: update sdk constraint to v2.12.0 stable
- feat: additional lint rules:
avoid_printavoid_returning_null_for_voidavoid_single_cascade_in_expression_statementsavoid_unnecessary_containersavoid_web_libraries_in_fluttercurly_braces_in_flow_control_structuresexhaustive_casesfile_namesno_logic_in_create_stateprefer_const_constructors_in_immutablesprefer_const_declarationsprefer_const_literals_to_create_immutablesprefer_function_declarations_over_variablesprefer_inlined_addsprefer_is_not_operatorprefer_null_aware_operatorsprefer_void_to_nullprovide_deprecation_messagesized_box_for_whitespaceunnecessary_overridesunnecessary_string_escapesunnecessary_string_interpolationsuse_full_hex_values_for_flutter_colorsvoid_checks
-
2.0.315 Apr 2021 -
2.0.109 Apr 2021 -
2.0.003 Mar 2021 -
2.0.0-nullsafety.022 Dec 2020 pre-release -
1.0.410 Nov 2020 -
1.0.320 Oct 2020Release notes
Open source →- feat: additional linter rules
avoid_printavoid_unnecessary_containersprefer_final_in_for_eachprefer_final_localsprefer_const_declarationssized_box_for_whitespace
- feat: additional linter rules
-
1.0.203 Sep 2020 -
1.0.101 Sep 2020 -
1.0.001 Sep 2020