| # 3.1.0-wip |
| |
| - new lint: `no_wildcard_variable_uses` |
| |
| --- |
| |
| # 1.35.0 |
| |
| - add new lints: |
| - `implicit_reopen` |
| - `unnecessary_breaks` |
| - `type_literal_in_constant_pattern` |
| - updates to existing lints to support patterns and class modifiers |
| - remove support for: |
| - `enable_null_safety` |
| - `invariant_booleans` |
| - `prefer_bool_in_asserts` |
| - `prefer_equal_for_default_values` |
| - `super_goes_last` |
| - fix `unnecessary_parenthesis` false-positives with null-aware expressions |
| - fix `void_checks` to allow assignments of `Future<dynamic>?` to parameters |
| typed `FutureOr<void>?` |
| - fix `use_build_context_synchronously` in if conditions |
| - fix a false positive for `avoid_private_typedef_functions` with generalized |
| type aliases |
| - update `unnecessary_parenthesis` to detect some doubled parens |
| - update `void_checks` to allow returning `Never` as void |
| - update `no_adjacent_strings_in_list` to support set literals and for- and |
| if-elements |
| - update `avoid_types_as_parameter_names` to handle type variables |
| - update `avoid_positional_boolean_parameters` to handle typedefs |
| - update `avoid_redundant_argument_values` to check parameters of redirecting |
| constructors |
| - improve performance for `prefer_const_literals_to_create_immutables` |
| - update `use_build_context_synchronously` to check context properties |
| - improve `unnecessary_parenthesis` support for property accesses and method |
| invocations |
| |
| # 1.34.0 |
| |
| - update `only_throw_errors` to not report on values of type `Never` |
| - update `prefer_mixin` to handle class mixins |
| - update `unnecessary_null_checks` to ignore `Future.value` and |
| `Completer.complete` |
| - fix `unnecessary_parenthesis` false positives on constant patterns |
| - new lint: `invalid_case_patterns` |
| - update `unnecessary_const` to handle case patterns |
| - improve handling of null-aware cascades in `unnecessary_parenthesis` |
| - update `unreachable_from_main` to report unreachable public static fields, |
| getters, setters, and methods, that are declared on public classes, mixins, |
| enums, and extensions |
| |
| # 1.33.0 |
| |
| - fix `unnecessary_parenthesis` false-positive with null-aware expressions |
| - fix `void_checks` to allow assignments of `Future<dynamic>?` to parameters |
| typed `FutureOr<void>?` |
| - removed support for: |
| - `enable_null_safety` |
| - `invariant_booleans` |
| - `prefer_bool_in_asserts` |
| - `prefer_equal_for_default_values` |
| - `super_goes_last` |
| - update `unnecessary_parenthesis` to detect some doubled parens |
| - update `void_checks` to allow returning `Never` as void |
| - new lint: `unnecessary_breaks` |
| - fix `use_build_context_synchronously` in if conditions |
| - update `no_adjacent_strings_in_list` to support set literals and for- and |
| if-elements |
| |
| # 1.32.0 |
| |
| - update `avoid_types_as_parameter_names` to handle type variables |
| - update `avoid_positional_boolean_parameters` to handle typedefs |
| - improve `unnecessary_parenthesis` support for property accesses and method invocations |
| - update `avoid_redundant_argument_values` to check parameters of redirecting constructors |
| - performance improvements for `prefer_const_literals_to_create_immutables` |
| - update `use_build_context_synchronously` to check context properties |
| - fix false positive for `avoid_private_typedef_functions` with generalized type aliases |
| |
| # 1.31.0 |
| |
| - update `prefer_equal_for_default_values` to not report for SDKs `>=2.19`, |
| where this lint is now an analyzer diagnostic. |
| - update `unrelated_type_equality_checks` to support updated `package:fixnum` |
| structure. |
| |
| # 1.30.0 |
| |
| - new lint: `enable_null_safety` |
| - new lint: `library_annotations` |
| - miscellaneous documentation improvements |
| |
| # 1.29.0 |
| |
| - new lint: `dangling_library_doc_comments` |
| - fix `no_leading_underscores_for_local_identifiers` to not report super formals as local variables |
| - fix `unnecessary_overrides` false negatives |
| - fix `cancel_subscriptions` for nullable fields |
| - new lint: `collection_methods_unrelated_type` |
| - update `library_names` to support unnamed libraries |
| - fix `unnecessary_parenthesis` support for as-expressions |
| - fix `use_build_context_synchronously` to check for context property accesses |
| - fix false positive in `comment_references` |
| - improved unrelated type checks to handle enums and cascades |
| - fix `unnecessary_brace_in_string_interps` for `this` expressions |
| - update `use_build_context_synchronously` for `BuildContext.mounted` |
| - improve `flutter_style_todos` to handle more cases |
| - fix `use_build_context_synchronously` to check for `BuildContext`s in named expressions |
| - fix `exhaustive_cases` to check parenthesized expressions |
| - performance improvements for: |
| - `avoid_null_checks_in_equality_operators` |
| - `join_return_with_statement` |
| - `recursive_getters` |
| - `unnecessary_lambdas` |
| - `diagnostic_describe_all_properties` |
| - `prefer_foreach` |
| - `avoid_escaping_inner_quotes` |
| - `cascade_invocations` |
| - `tighten_type_of_initializing_formals` |
| - `prefer_interpolation_to_compose_strings` |
| - `prefer_constructors_over_static_methods` |
| - `avoid_returning_null` |
| - `parameter_assignments` |
| - `prefer_constructors_over_static_methods` |
| - `prefer_interpolation_to_compose_strings` |
| - `avoid_returning_null` |
| - `avoid_returning_this` |
| - `flutter_style_todos` |
| - `avoid_positional_boolean_parameters` |
| - `prefer_const_constructors` |
| - new lint: `implicit_call_tearoffs` |
| - new lint: `unnecessary_library_directive` |
| |
| # 1.28.0 |
| |
| - update `avoid_redundant_argument_values` to work with enum declarations |
| - performance improvements for `prefer_contains` |
| - new lint: `unreachable_from_main` |
| - (internal): analyzer API updates and `DartTypeUtilities` refactoring |
| |
| # 1.27.0 |
| |
| - fix `avoid_redundant_argument_values` when referencing required |
| parameters in legacy libraries |
| - performance improvements for `use_late_for_private_fields_and_variables` |
| - new lint: `use_string_in_part_of_directives` |
| - fixed `use_super_parameters` false positive with repeated super |
| parameter references |
| - updated `use_late_for_private_fields_and_variables` to handle enums |
| - fixed `prefer_contains` false positive when start index is non-zero |
| - improved `noop_primitive_operations` to catch `.toString()` |
| in string interpolations |
| - updated `public_member_api_docs` to report diagnostics on extension |
| names (instead of bodies) |
| - miscellaneous documentation improvements |
| - (internal): `DartTypeUtilities` refactoring |
| |
| # 1.26.0 |
| |
| - new lint: `combinators_ordering` |
| - fixed `use_colored_box` and `use_decorated_box` to not over-report |
| on containers without a child |
| - fixed false positive for `unnecessary_parenthesis` on a map-or-set |
| literal at the start of an expression statement |
| - fixed false positive for `prefer_final_locals` reporting on fields |
| - fixed `unnecessary_overrides` to allow overrides on `@Protected` |
| members |
| - fixed `avoid_multiple_declarations_per_line` false positive in |
| `for` statements |
| - fixed `prefer_final_locals` false positive on declaration lists |
| with at least one non-final variable |
| - fixed `use_build_context_synchronously` to handle `await`s in |
| `if` conditions |
| |
| # 1.25.0 |
| |
| - new lint: `discarded_futures` |
| - improved message and highlight range for |
| `no_duplicate_case_values` |
| - performance improvements for `lines_longer_than_80_chars`, |
| `prefer_const_constructors_in_immutables`, and |
| `prefer_initializing_formals` |
| |
| # 1.24.0 |
| |
| - fix `prefer_final_parameters` to support super parameters |
| - new lint: `unnecessary_to_list_in_spreads` |
| - fix `unawaited_futures` to handle string interpolated |
| futures |
| - update `use_colored_box` to not flag nullable colors |
| - new lint: `unnecessary_null_aware_operator_on_extension_on_nullable` |
| |
| # 1.23.0 |
| |
| - fixed `no_leading_underscores_for_local_identifiers` |
| to lint local function declarations |
| - fixed `avoid_init_to_null` to correctly handle super |
| initializing defaults that are non-null |
| - updated `no_leading_underscores_for_local_identifiers` |
| to allow identifiers with just underscores |
| - fixed `flutter_style_todos` to support usernames that |
| start with a digit |
| - updated `require_trailing_commas` to handle functions |
| in asserts and multi-line strings |
| - updated `unsafe_html` to allow assignments to |
| `img.src` |
| - fixed `unnecessary_null_checks` to properly handle map |
| literal entries |
| |
| # 1.22.0 |
| |
| - fixed false positives for `unnecessary_getters_setters` |
| and `prefer_final_fields`with enhanced enums |
| - updated to analyzer 3.4.0 APIs |
| - fixed null-safe variance in `invariant_booleans` |
| |
| # 1.21.2 |
| |
| - several `use_super_parameters` false positive fixes |
| - updated `depend_on_referenced_packages` to treat |
| `flutter_gen` as a virtual package, not needing an |
| explicit dependency |
| |
| # 1.21.1 |
| |
| - bumped language lower-bound constraint to `2.15.0` |
| |
| # 1.21.0 |
| |
| - fixed `use_key_in_widget_constructors` false positive |
| with `key` super parameter initializers |
| - fixed `use_super_parameters` false positive with field |
| formal params |
| - updated `unnecessary_null_checks` and |
| `null_check_on_nullable_type_parameter` to handle |
| list/set/map literals, and `yield` and `await` |
| expressions |
| |
| # 1.20.0 |
| |
| - renamed `use_super_initializers` to `use_super_parameters` |
| - fixed `unnecessary_null_aware_assignments` property-access |
| false positive |
| |
| # 1.19.2 |
| |
| - new lint: `use_super_initializers` |
| - new lint: `use_enums` |
| - new lint: `use_colored_box` |
| - performance improvements for `sort_constructors` |
| - doc improvements for `always_use_package_imports`, |
| `avoid_print`, and `avoid_relative_lib_imports` |
| - update `avoid_void_async` to skip `main` functions |
| - update `prefer_final_parameters` to not super on super params |
| - lint updates for enhanced-enums and super-initializer language |
| features |
| - updated `unnecessary_late` to report on the variable name |
| - marked `null_check_on_nullable_type_parameter` stable |
| |
| # 1.18.0 |
| |
| - extend `camel_case_types` to cover enums |
| - fix `no_leading_underscores_for_local_identifiers` to not |
| mis-flag field formal parameters with default values |
| - fix `prefer_function_declarations_over_variables` to not |
| mis-flag non-final fields |
| - performance improvements for `prefer_contains` |
| - update `exhaustive_cases` to skip deprecated values that |
| redirect to other values |
| |
| # 1.17.1 |
| |
| - update to `analyzer` version 3.0 |
| |
| # 1.17.0 |
| |
| - new lint: `unnecessary_late` |
| - fix to `no_leading_underscores_for_local_identifiers` to allow |
| underscores in catch clauses |
| |
| # 1.16.0 |
| |
| - doc improvements for `prefer_initializing_formals` |
| - updates to `secure_pubspec_urls` to check `issue_tracker` and |
| `repository` entries |
| - new lint: `conditional_uri_does_not_exist` |
| - performance improvements for |
| `missing_whitespace_between_adjacent_strings` |
| |
| # 1.15.0 |
| |
| - new lint: `use_decorated_box` |
| - new lint: `no_leading_underscores_for_library_prefixes` |
| - new lint: `no_leading_underscores_for_local_identifiers` |
| - new lint: `secure_pubspec_urls` |
| - new lint: `sized_box_shrink_expand` |
| - new lint: `avoid_final_parameters` |
| - improved docs for `omit_local_variable_types` |
| |
| # 1.14.0 |
| |
| - fix `omit_local_variable_types` to not flag a local type that is |
| required for inference |
| |
| # 1.13.0 |
| |
| - allow `while (true) { ...}` in `literal_only_boolean_expressions` |
| - fixed `file_names` to report at the start of the file (not the entire |
| compilation unit) |
| - fixed `prefer_collection_literals` named typed param false positive |
| - control flow improvements for `use_build_context_synchronously` |
| |
| # 1.12.0 |
| |
| - fixed `unnecessary_lambdas` false positive for const constructor invocations |
| - updated `avoid_print` to allow `kDebugMode`-wrapped print calls |
| - fixed handling of initializing formals in `prefer_final_parameters` |
| - fixed `unnecessary_parenthesis` false positive with function expressions |
| |
| # 1.11.0 |
| |
| - added support for constructor tear-offs to `avoid_redundant_argument_values`, |
| `unnecessary_lambdas`, and `unnecessary_parenthesis` |
| - new lint: `unnecessary_constructor_name` to flag unnecessary uses of `.new` |
| |
| # 1.10.0 |
| |
| - improved regular expression parsing performance for common checks |
| (`camel_case_types`, `file_names`, etc.) |
| - (internal) migrated to analyzer 2.1.0 APIs |
| - fixed false positive in `use_build_context_synchronously` in awaits inside |
| anonymous functions |
| - fixed `overridden_fields` false positive w/ static fields |
| - fixed false positive in `avoid_null_checks_in_equality_operators` w/ |
| non-nullable params |
| - fixed false positive for deferred imports in `prefer_const_constructors` |
| |
| # 1.9.0 |
| |
| - marked `avoid_dynamic_calls` stable |
| - (internal) removed unused `MockPubVisitor` and `MockRule` classes |
| - fixed `prefer_void_to_null` false positive w/ overridden properties |
| - (internal) removed references to `NodeLintRule` in lint rule declarations |
| - fixed `prefer_void_to_null` false positive on overriding returns |
| - fixed `prefer_generic_function_type_aliases` false positive w/ incomplete statements |
| - fixed false positive for `prefer_initializing_formals` with factory constructors |
| - fixed `void_checks` false positives with incomplete source |
| - updated `unnecessary_getters_setters` to only flag the getter |
| - improved messages for `avoid_renaming_method_parameters` |
| - fixed false positive in `prefer_void_to_null` |
| - fixed false positive in `omit_local_variable_types` |
| - fixed false positive in `use_rethrow_when_possible` |
| - performance improvements for `annotate_overrides`, `prefer_contains`, and `prefer_void_to_null` |
| |
| # 1.8.0 |
| |
| - performance improvements for `prefer_is_not_empty` |
| - fixed false positive in `no_logic_in_create_state` |
| - improve `package_names` to allow dart identifiers as package names |
| - fixed false-positive in `package_names` (causing keywords to wrongly get flagged) |
| - fixed `avoid_classes_with_only_static_member` to check for inherited members and also |
| flag classes with only methods |
| - fixed `curly_braces_in_flow_control_structures` to properly flag terminating `else-if` |
| blocks |
| - improved `always_specify_types` to support type aliases |
| - fixed false positive in `unnecessary_string_interpolations` w/ nullable interpolated |
| strings |
| - fixed false positive in `avoid_function_literals_in_foreach_calls` for nullable |
| iterables |
| - fixed false positive in `avoid_returning_null` w/ NNBD |
| - fixed false positive in `use_late_for_private_fields_and_variables` in the presence |
| of const constructors |
| - new lint: `eol_at_end_of_file` |
| - updated `analyzer` constraint to `>=2.0.0 <3.0.0` |
| |
| # 1.7.1 |
| |
| - Update `analyzer` constraint to `>=1.7.0 <3.0.0`. |
| - Update `meta` constraint to `>=1.3.0 <3.0.0`. |
| |
| # 1.7.0 |
| |
| - fixed case-sensitive false positive in `use_full_hex_values_for_flutter_colors` |
| - improved try-block and switch statement flow analysis for |
| `use_build_context_synchronously` |
| - updated `use_setters_to_change_properties` to only highlight a method name, |
| not the entire body and doc comment |
| - updated `unnecessary_getters_setters` to allow otherwise "unnecessary" getters |
| and setters with annotations |
| - updated `missing_whitespace_between_adjacent_strings` to allow String |
| interpolations at the beginning and end of String literals |
| - updated `unnecessary_getters_setters` to allow for setters with non-basic |
| assignments (for example, `??=` or `+=`) |
| |
| # 1.6.1 |
| |
| - reverted relaxation of `sort_child_properties_last` to allow for a |
| trailing Widget in instance creations |
| |
| # 1.6.0 |
| |
| - relaxed `non_constant_identifier_names` to allow for a trailing |
| underscore |
| - fixed false negative in `prefer_final_parameters` where first parameter |
| is final |
| - improved `directives_ordering` sorting of directives with dot paths and |
| dot-separated package names |
| - relaxed `sort_child_properties_last` to allow for a trailing Widget in |
| instance creations |
| |
| # 1.5.0 |
| |
| - (internal) migrated to `SecurityLintCode` instead of deprecated |
| `SecurityLintCodeWithUniqueName` |
| - (internal) fixed `avoid_types_as_parameter_names` to skip field formal |
| parameters |
| - fixed false positives in `prefer_interpolation_to_compose_strings` where |
| the left operand is not a String |
| - fixed false positives in `only_throw_errors` for misidentified type |
| variables |
| - new lint: `depend_on_referenced_packages` |
| - update `avoid_returning_null_for_future` to skip checks for null-safe |
| libraries |
| - new lint: `use_test_throws_matchers` |
| - relax `sort_child_properties_last` to accept closures after child |
| - performance improvements for `prefer_contains` and `prefer_is_empty` |
| - new lint: `noop_primitive_operations` |
| - mark `avoid_web_libraries_in_flutter` as stable |
| - new lint: `prefer_final_parameters` |
| - update `prefer_initializing_formals` to allow assignments where identifier |
| names don't match |
| |
| # 1.4.0 |
| |
| - `directives_ordering` now checks ordering of `package:` imports in code |
| outside pub packages |
| - simple reachability analysis added to `use_build_context_synchronously` to |
| short-circuit await-discovery in terminating blocks |
| - `use_build_context_synchronously` updated to recognize nullable types when |
| accessed from legacy libraries |
| |
| # 1.3.0 |
| |
| - `non_constant_identifier_names` updated to check local variables, for-loop |
| initializers and catch clauses |
| - error range of `lines_longer_than_80_chars` updated to start at 80 to make |
| splitting easier |
| - new lint: `require_trailing_commas` |
| - new lint: `prefer_null_aware_method_calls` |
| |
| # 1.2.1 |
| |
| - fix: adjusted SDK lower bound to 2.12.0-0 (from 2.13.0-0) |
| |
| # 1.2.0 |
| |
| - improvements to `iterable_contains_unrelated_type` to better support `List` |
| content checks |
| - fixes to `camel_case_types` and `prefer_mixin` to support non-function |
| type aliases |
| |
| # 1.1.0 |
| |
| - fixed `prefer_mixin` to properly make exceptions for `dart.collection` legacy |
| mixins |
| - improved formatting of source examples in docs |
| - new lint: `use_build_context_synchronously` (experimental) |
| - new lint: `avoid_multiple_declarations_per_line` |
| |
| # 1.0.0 |
| |
| - full library migration to null-safety |
| - new lint: `use_if_null_to_convert_nulls_to_bools` |
| - new lint: `deprecated_consistency` |
| - new lint: `use_named_constants` |
| - deprecation of `avoid_as` |
| |
| # 0.1.129 |
| |
| - fixed a bug where `avoid_dynamic_calls` produced false-positives for `.call()` |
| |
| # 0.1.128 |
| |
| - new lint: `avoid_dynamic_calls` |
| - (internal): updated `avoid_type_to_string` to use `addArgumentList` registry API |
| - documentation improvements |
| |
| # 0.1.127 |
| |
| - fixed crash in `prefer_collection_literals` when there is no static parameter |
| element |
| |
| # 0.1.126 |
| |
| - fixed false negatives for `prefer_collection_literals` when a LinkedHashSet or |
| LinkedHashMap instantiation is passed as the argument to a function in any |
| position other than the first |
| - fixed false negatives for `prefer_collection_literals` when a LinkedHashSet or |
| LinkedHashMap instantiation is used in a place with a static type other than |
| Set or Map |
| |
| # 0.1.125 |
| |
| - (internal): update to new `PhysicalResourceProvider` API |
| |
| # 0.1.124 |
| |
| - fixed false positives in `prefer_constructors_over_static_methods` |
| - updated `package_names` to allow leading underscores |
| |
| # 0.1.123 |
| |
| - fixed NPEs in `unnecessary_null_checks` |
| |
| # 0.1.122 |
| |
| - fixed NPE in `unnecessary_null_checks` |
| - fixed NPE in `missing_whitespace_between_adjacent_strings` |
| - updated `void_checks` for NNBD |
| - fixed range error in `unnecessary_string_escapes` |
| - fixed false positives in `unnecessary_null_types` |
| - fixed `prefer_constructors_over_static_methods` to respect type parameters |
| - updated `always_require_non_null_named_parameters` to be NNBD-aware |
| - updated `unnecessary_nullable_for_final_variable_declarations` to allow dynamic |
| - update `overridden_fields` to not report on abstract parent fields |
| - fixes to `unrelated_type_equality_checks` for NNBD |
| - improvement to `type_init_formals`to allow types not equal to the field type |
| |
| # 0.1.121 |
| |
| - performance improvements to `always_use_package_imports`, `avoid_renaming_method_parameters`, `prefer_relative_imports` and `public_member_api_docs` |
| - (internal): update to analyzer `0.40.4` APIs |
| |
| # 0.1.120 |
| |
| - new lint: `cast_nullable_to_non_nullable` |
| - new lint: `null_check_on_nullable_type_parameter` |
| - new lint: `tighten_type_of_initializing_formals` |
| - update `public_member_apis` to check generic type aliases |
| - (internal): update to new analyzer APIs |
| |
| # 0.1.119 |
| |
| - fix `close_sinks` to handle `this`-prefixed property accesses |
| - new lint: `unnecessary_null_checks` |
| - fix `unawaited_futures` to handle `Future` subtypes |
| - new lint: `avoid_type_to_string` |
| |
| # 0.1.118 |
| |
| - new lint: `unnecessary_nullable_for_final_variable_declarations` |
| - fixed NPE in `prefer_asserts_in_initializer_lists` |
| - fixed range error in `unnecessary_string_escapes` |
| - `unsafe_html` updated to support unique error codes |
| - updates to `diagnostic_describe_all_properties` to check for `Diagnosticable`s (not `DiagnosticableMixin`s) |
| - new lint: `use_late` |
| - fixed `unnecessary_lambdas` to respect deferred imports |
| - updated `public_member_api_docs` to check mixins |
| - updated `unnecessary_statements` to skip `as` expressions |
| - fixed `prefer_relative_imports` to work with path dependencies |
| |
| # 0.1.117 |
| |
| - fixed `directives_ordering` to remove third party package special-casing |
| - fixed `unnecessary_lambdas` to check for tearoff assignability |
| - fixed `exhaustive_cases` to not flag missing cases that are defaulted |
| - fixed `prefer_is_empty` to special-case assert initializers and const contexts |
| - test utilities moved to: `lib/src/test_utilities` |
| - new lint: `do_not_use_environment` |
| |
| # 0.1.116 |
| |
| - new lint: `no_default_cases` (experimental) |
| - new lint: `exhaustive_cases` |
| - updated `type_annotate_public_apis` to allow inferred types in final field assignments |
| - updated `prefer_mixin` to allow "legacy" SDK abstract class mixins |
| - new lint: `use_is_even_rather_than_modulo` |
| - update `unsafe_html` to use a `SecurityLintCode` (making it un-ignorable) |
| - improved `sized_box_for_whitespace` to address false-positives |
| |
| # 0.1.115 |
| |
| - updated `avoid_types_as_parameter_names` to check catch-clauses |
| - fixed `unsafe_html` to check attributes and methods on extensions |
| - extended `unsafe_html` to include `Window.open`, `Element.html` and `DocumentFragment.html` in unsafe API checks |
| - improved docs for `sort_child_properties_last` |
| - (internal) `package:analyzer` API updates |
| - new lint: `sized_box_for_whitespace` |
| |
| # 0.1.114 |
| |
| - fixed `avoid_shadowing_type_parameters` to support extensions and mixins |
| - updated `non_constant_identifier_names` to allow named constructors made up of only underscores (`_`) |
| - updated `avoid_unused_constructor_parameters` to ignore unused params named in all underscores (`_`) |
| |
| # 0.1.113 |
| |
| - updated documentation links |
| - `one_member_abstracts` updated to not lint classes with mixins or implementing interfaces |
| - `unnecessary_getters_setters` fixed to ignore cases where a getter/setter is deprecated |
| - new lint: `leading_newlines_in_multiline_strings` |
| - improved highlight ranges for `avoid_private_typedef_functions` and `avoid_returning_null_for_future` |
| |
| # 0.1.112 |
| |
| - marked `prefer_typing_uninitialized_variables` and `omit_local_variable_types` as compatible |
| |
| # 0.1.111+1 |
| |
| - new lint: `use_raw_strings` |
| - new lint: `unnecessary_raw_strings` |
| - new lint: `avoid_escaping_inner_quotes` |
| - new lint: `unnecessary_string_escapes` |
| - incompatible rule documentation improvements |
| |
| # 0.1.110 |
| |
| - fixed flutter web plugin detection in `avoid_web_libraries_in_flutter` |
| - new lint: `unnecessary_string_interpolations` |
| - new lint: `missing_whitespace_between_adjacent_strings` |
| - `avoid_unused_constructor_parameters` updated to ignore deprecated parameters |
| - new lint: `no_runtimeType_toString` |
| - miscellaneous doc fixes |
| |
| # 0.1.109 |
| |
| - improved`prefer_single_quotes` lint message |
| - `unnecessary_finals` fixed to not flag fields |
| - `unnecessary_lambdas` fixed to work with type arguments |
| - (internal) migrated to use analyzer `LinterContext.resolveNameInScope()` API |
| |
| # 0.1.108 |
| |
| - fixes to `avoid_redundant_argument_values` |
| - new lint: `use_key_in_widget_constructors` |
| - `always_put_required_parameters` updated for NNBD |
| - updated to `package:analyzer` 0.39.3 APIs |
| |
| # 0.1.107 |
| |
| - miscellaneous doc cleanup (typos, etc) |
| - new lint: `avoid_redundant_argument_values` |
| - updated `slash_for_doc_comments` to check mixin declarations |
| - (internal) updates to use new `LinterContext.evaluateConstant` API |
| - improved docs for `always_require_non_null_named_parameters` |
| |
| # 0.1.106 |
| |
| - improved docs for `comment_references` |
| - fixed `null_closures` to properly handle `Iterable.singleWhere` |
| - (internal) migrated to latest analyzer APIs |
| - new lint: `no_logic_in_create_state` |
| |
| # 0.1.105+1 |
| |
| - fixed regressions in `always_require_non_null_named_parameters` |
| - (internal) pedantic lint clean-up |
| |
| # 0.1.105 |
| |
| - hardened check for lib dir location (fixing crashes in `avoid_renaming_method_parameters`, |
| `prefer_relative_imports` and `public_member_api_docs`) |
| - improved performance for `always_require_non_null_named_parameters` |
| |
| # 0.1.104 |
| |
| - updated `unnecessary_overrides` to allow overrides when annotations (besides `@override` are specified) |
| - updated `file_names` to allow names w/ leading `_`'s (and improved performance) |
| - new lint: `unnecessary_final` |
| |
| # 0.1.103 |
| |
| - updated `prefer_relative_imports` to use a faster and more robust way to check for self-package references |
| - updated our approach to checking for `lib` dir contents (speeding up `avoid_renaming_method_parameters` and |
| making `prefer_relative_imports` and `public_member_api_docs` amenable to internal package formats -- w/o pubspecs) |
| |
| # 0.1.102 |
| |
| - `avoid_web_libraries_in_flutter` updated to disallow access from all but Flutter web plugin packages |
| - updated `avoid_returning_null_for_void` to check only `null` literals (and not expressions having `Null` types) |
| - fixed `prefer_final_fields` to respect non-mutating prefix operators |
| - new lint: `prefer_is_not_operator` |
| - new lint: `avoid_unnecessary_containers` |
| - added basic nnbd-awareness to `avoid_init_to_null` |
| |
| # 0.1.101 |
| |
| - fixed `diagnostic_describe_all_properties` to flag properties in `Diagnosticable`s with no debug methods defined |
| - fixed `noSuchMethod` exception in `camel_case_extensions` when analyzing unnamed extensions |
| - fixed `avoid_print` to catch tear-off usage |
| - new lint: `avoid_web_libraries_in_flutter` (experimental) |
| - (internal) prepare `unnecessary_lambdas` for coming `MethodInvocation` vs. `FunctionExpressionInvocation` changes |
| |
| # 0.1.100 |
| |
| - (internal) stop accessing `staticType` in favor of getting type of `FormalParameter`s from the declared element |
| - (internal) remove stale analyzer work-around for collecting `TypeParameterElement`s in `prefer_const_constructors` |
| |
| # 0.1.99 |
| |
| - fixed unsafe cast in `overridden_fields` |
| - (internal) migrated to the mock SDK in `package:analyzer` for testing |
| - fixed empty argument list access in `use_full_hex_values_for_flutter_color_fix` |
| - new lint: `prefer_relative_imports` |
| - improved messages for `await_only_futures` |
| |
| # 0.1.98 |
| |
| - fixed null raw expression accesses in `use_to_and_as_if_applicable` |
| - (internal) migrated to using analyzer `InheritanceManager3` |
| |
| # 0.1.97+1 |
| |
| - enabled `camel_case_extensions` experimental lint |
| |
| # 0.1.97 |
| |
| - internal: migrated away from using analyzer `resolutionMap` |
| - various fixes and improvements to anticipate support for extension-methods |
| - new lint: `camel_case_extensions` |
| - rule template generation improvements |
| - new lint: `avoid_equals_and_hash_code_on_mutable_classes` |
| - extended `avoid_slow_async_io` to flag async `Directory` methods |
| |
| # 0.1.96 |
| |
| - fixed false positives in `unnecessary_parens` |
| - various changes to migrate to preferred analyzer APIs |
| - rule test fixes |
| |
| # 0.1.95 |
| |
| - improvements to `unsafe_html` error reporting |
| - fixed false positive in `prefer_asserts_in_initializer_lists` |
| - fixed `prefer_const_constructors` to not flag `@literal` annotated constructors |
| |
| # 0.1.94 |
| |
| - (internal): analyzer API call updates |
| - (internal): implicit cast cleanup |
| |
| # 0.1.93 |
| |
| - new lint: `avoid_print` |
| |
| # 0.1.92 |
| |
| - improved `prefer_collection_literals` to better handle `LinkedHashSet`s and `LinkedHashMap`s |
| - updates to the Effective Dart rule set |
| - updated `prefer_final_fields` to be more inclusive |
| - miscellaneous documentation fixes |
| |
| # 0.1.91 |
| |
| - fixed missed cases in `prefer_const_constructors` |
| - fixed `prefer_initializing_formals` to no longer suggest API breaking changes |
| - updated `omit_local_variable_types` to allow explicit `dynamic`s |
| - (internal) migration from deprecated analyzer APIs |
| |
| # 0.1.90 |
| |
| - fixed null-reference in `unrelated_type_equality_checks` |
| - new lint: `unsafe_html` |
| |
| # 0.1.89 |
| |
| - broadened `prefer_null_aware_operators` to work beyond local variables |
| - new lint: `prefer_if_null_operators` |
| - fixed `prefer_contains` false positives |
| - fixed `unnecessary_parenthesis` false positives |
| |
| # 0.1.88 |
| |
| - fixed `prefer_asserts_in_initializer_lists` false positives |
| - fixed `curly_braces_in_flow_control_structures` to handle more cases |
| - new lint: `prefer_double_quotes` |
| - new lint: `sort_child_properties_last` |
| - fixed `type_annotate_public_apis` false positive for `static const` initializers |
| |
| # 0.1.87 |
| |
| - change: `prefer_const_constructors_in_immutables` is currently overly permissive, pending analyzer changes (#1537) |
| - fixed `unnecessary_await_in_return` false positive |
| - fixed `unrelated_type_equality_checks` false negative with functions |
| - fixed `prefer_spread_collections` to not lint in const contexts |
| - fixed false positive in `prefer_iterable_whereType` for `is!` |
| - fixed false positive in `prefer_collection_literals` for constructors with params |
| |
| # 0.1.86 |
| |
| - updated `prefer_spread_collections` to ignore calls to `addAll` that could be inlined |
| - new lint: `prefer_inlined_adds` |
| |
| # 0.1.85 |
| |
| - (**BREAKING**) renamed `spread_collections` to `prefer_spread_collections` |
| - new lint: `prefer_for_elements_to_map_fromIterable` |
| - new lint: `prefer_if_elements_to_conditional_expressions` |
| - new lint: `diagnostic_describe_all_properties` |
| |
| # 0.1.84 |
| |
| - new lint: `spread_collections` |
| - (internal) update to analyzer 0.36.0 APIs |
| - new lint: `prefer_asserts_with_message` |
| |
| # 0.1.83 |
| |
| - updated `file_names` to skip prefixed-extension Dart files (e.g., `.css.dart`, `.g.dart`) |
| - updated SDK constraint to `2.2.0` |
| - miscellaneous rule documentation fixes |
| - (internal) updated sources to use Set literals |
| - fixed NPE in `avoid_shadowing_type_parameters` |
| - added linter version numbering for use in analyzer summaries |
| - fixed type utilities to handle inheritance cycles |
| - (internal) changes to adopt new `package:analyzer` APIs |
| - fixed `unnecessary_parenthesis` false positives |
| |
| # 0.1.82 |
| |
| - fixed `prefer_collection_literals` Set literal false positives |
| - fixed `prefer_const_declarations` Set literal false positives |
| - new lint: `provide_deprecation_message` |
| |
| # 0.1.81 |
| |
| - updated `prefer_collection_literals` to support Set literals |
| |
| # 0.1.80 |
| |
| - deprecated `super_goes_last` |
| - (internal) migrations to analyzer's preferred `InheritanceManager2` API |
| |
| # 0.1.79 |
| |
| - `unnecessary_parenthesis` updated to play nicer with cascades |
| - new lint: `use_full_hex_values_for_flutter_colors` |
| - new lint: `prefer_null_aware_operators` |
| - miscellaneous documentation fixes |
| - removed deprecated lints from the "all options" sample |
| - stopped registering "default lints" |
| - `hash_and_equals` fixed to respect `hashCode` fields |
| |
| # 0.1.78 |
| |
| - restored `prefer_final_locals` to ignore loop variables, and |
| - introduced a new `prefer_final_in_for_each` lint to handle the `for each` case |
| |
| # 0.1.77 |
| |
| - updated `prefer_final_locals` to check to for loop variables |
| - fixed `type_annotate_public_apis` false positives on local functions |
| - fixed `avoid_shadowing_type_parameters` to report shadowed type parameters in generic typedefs |
| - fixed `use_setters_to_change_properties` to not wrongly lint overriding methods |
| - fixed `cascade_invocations` to not lint awaited targets |
| - fixed `prefer_conditional_assignment` false positives |
| - fixed `join_return_with_assignment` false positives |
| - fixed `cascade_invocations` false positives |
| - miscellaneous documentation improvements |
| - updated `invariant_booleans` status to experimental |
| |
| # 0.1.76 |
| |
| - `unnecessary_parenthesis` updated to allow wrapping a `!` argument |
| - miscellaneous documentation grammar and spelling fixes |
| - improved error messages for `always_declare_return_types` |
| - fix `prefer_final_fields ` to work with classes that have generic type arguments |
| - (internal): deprecated code cleanup |
| - fixed false positives in `unrelated_type_equality_checks` |
| |
| # 0.1.75 |
| |
| - analyzer package dependency bumped to `^0.34.0` |
| |
| # 0.1.74 |
| |
| - experimental lints `avoid_positional_boolean_parameters`, `literal_only_boolean_expressions`, `prefer_foreach`, `prefer_void_to_null` promoted to stable |
| - `unnecessary_parenthesis` improved to handle function expressions |
| |
| # 0.1.73 |
| |
| - deprecated `prefer_bool_in_asserts` (redundant w/ Dart 2 checks) |
| - improved doc generation to highlight deprecated and experimental lints |
| - bumped analyzer lower-bound to `0.33.4` |
| - bumped SDK lower-bound to `2.1.0` |
| - new lint: `unnecessary_await_in_return` |
| |
| # 0.1.72 |
| |
| - new lint: `use_function_type_syntax_for_parameters` |
| - internal changes to migrate towards analyzer's new `LinterContext` API |
| - fix false positive in `use_setters_to_change_properties` |
| - implementation improvements (and speed-ups) to `prefer_foreach` and `public_member_api_docs` |
| - new lint: `avoid_returning_null_for_future` |
| - new lint: `avoid_shadowing_type_parameters` |
| |
| # 0.1.71 |
| |
| - new lint: `prefer_int_literals` |
| - update `await_only_futures` to allow awaiting on `null` |
| - update `use_setters_to_change_properties` to work with `=>` short-hand |
| |
| # 0.1.70 |
| |
| - fix NPE in `prefer_iterable_whereType` |
| |
| # 0.1.69 |
| |
| - improved message display for `await_only_futures` |
| - performance improvements for `null_closures` |
| - new lint: `avoid_returning_null_for_void` |
| |
| # 0.1.68 |
| |
| - updated analyzer compatibility to `^0.33.0` |
| |
| # 0.1.67 |
| |
| - miscellaneous mixin support fixes |
| - update to `sort_constructors_first` to apply to all members |
| - update `unnecessary_this` to work on field initializers |
| |
| # 0.1.66 |
| |
| - broadened SDK version constraint |
| |
| # 0.1.65 |
| |
| - fix cast exceptions related to mixin support |
| |
| # 0.1.64 |
| |
| - fixes to better support mixins |
| |
| # 0.1.63 |
| |
| - updated `unawaited_futures` to ignore assignments within cascades |
| - new lint: `sort_pub_dependencies` |
| |
| # 0.1.62 |
| |
| - new lint: `prefer_mixin` |
| - new lint: `avoid_implementing_value_types` |
| |
| # 0.1.61 |
| |
| - new lint: `flutter_style_todos` |
| - improved handling of constant expressions with generic type params |
| - NPE fix for `invariant_booleans` |
| - Google lints example moved to `package:pedantic` |
| - improved docs for `unawaited_futures` |
| |
| # 0.1.60 |
| |
| - new lint: `avoid_void_async` |
| - `unawaited_futures` updated to check cascades |
| |
| # 0.1.59 |
| |
| - relaxed `void_checks` (allowing `T Function()` to be assigned to `void Function()`) |
| - test and build improvements |
| - introduced Effective Dart rule set |
| - Google ruleset updates |
| - (internal cleanup): move cli main into `lib/` |
| - fixed false positives in `lines_longer_than_80_chars` |
| - new lint: `prefer_void_to_null` |
| |
| # 0.1.58 |
| |
| - roll-back to explicit uses of `new` and `const` to be compatible w/ VMs running `--no-preview-dart-2` |
| |
| # 0.1.57 |
| |
| - fix to `lines_longer_than_80_chars` to handle CRLF endings |
| - doc improvements |
| - set max SDK version to <3.0.0 |
| - fix to `non_constant_identifier_names` to better handle invalid code |
| - new lint: `curly_braces_in_flow_control_structures` |
| |
| # 0.1.56 |
| |
| - fix to `avoid_positional_boolean_parameters` to ignore overridden methods |
| - fix to `prefer_is_empty` to not evaluate constants beyond int literals |
| - new lint: `null_closures` |
| - new lint: `lines_longer_than_80_chars` |
| |
| # 0.1.55 |
| |
| - fixed an issue in `const` error handling |
| - updated `linter` binary to use `previewDart2` |
| |
| # 0.1.54 |
| |
| - new `unnecessary_const` lint |
| - new `unnecessary_new` lint |
| - fixed errors in `use_to_and_as_if_applicable` |
| - new `file_names` lint |
| |
| # 0.1.53 |
| |
| - updated `unnecessary_statements` to ignore getters (as they may be side-effecting). |
| |
| # 0.1.52 |
| |
| - fixed `void_checks` to handle arguments not resolved to a parameter |
| - fixed exceptions produced by `prefer_const_literals_to_create_immutables` |
| |
| # 0.1.51 |
| |
| - `unrelated_type_equality_checks` now allows comparison between `Int64` or `Int32` and `int` |
| - `unnecessary_parenthesis` improved to handle cascades _in_ cascades |
| |
| # 0.1.50 |
| |
| - migration of rules to use analyzer package `NodeLintRule` and `UnitLintRule` yielding significant performance gains all around |
| - specific performance improvements for `prefer_final_fields` (~6x) |
| - addressed no such method calls in `void_checks` |
| - improved lint reporting for various lints |
| |
| # 0.1.49 |
| |
| - new `void_checks` lint |
| |
| # 0.1.48 |
| |
| - new `avoid_field_initializers_in_const_classes` lint |
| - miscellaneous documentation fixes |
| - improved handling of cascades in `unnecessary_statements` |
| - new `avoid_js_rounded_ints` lint |
| |
| # 0.1.47 |
| |
| - new `avoid_double_and_int_checks` lint |
| - fix to handle uninitialized vars in `prefer_const_declarations` |
| - fix for generic function type handling in `avoid_types_as_parameter_names` |
| - new `prefer_iterable_whereType` lint |
| - new `prefer_generic_function_type_aliases` lint |
| - Dart 2 compatibility fixes |
| |
| # 0.1.46 |
| |
| - performance fixes for library prefix testing (`library_prefixes`) |
| - new `avoid_bool_literals_in_conditional_expressions` lint |
| - new `prefer_equal_for_default_values` lint |
| - new `avoid_private_typedef_functions` lint |
| - new `avoid_single_cascade_in_expression_statements` lint |
| |
| # 0.1.45 |
| |
| - fix for `invariant_booleans` when analyzing for loops with no condition |
| - new `avoid_types_as_parameter_names` lint |
| - new `avoid_renaming_method_parameters` lint |
| |
| # 0.1.44 |
| |
| - new `avoid_relative_lib_imports` lint |
| - new `unnecessary_parenthesis` lint |
| - fix to `prefer_const_literals_to_create_immutables` to handle undefined classes gracefully |
| - updates to `prefer_const_declarations` to support optional `new` and `const` |
| - `prefer_const_declarations` updated to check locals |
| - fixes to `invariant_booleans` |
| - bumped SDK lower bound to `2.0.0-dev` |
| - build and workflow improvements: rule template fixes; formatting and header validation |
| - miscellaneous documentation fixes |
| |
| # 0.1.43 |
| |
| - new `prefer_const_declarations.dart` lint |
| - new `prefer_const_literals_to_create_immutables` lint |
| - miscellaneous documentation improvements |
| |
| # 0.1.42 |
| |
| - added support for external constructors in `avoid_unused_constructor_parameters` |
| - added code reference resolution docs for `comment_references` |
| |
| # 0.1.41 |
| |
| - broadened `args` package dependency to support versions `1.*` |
| |
| # 0.1.40 |
| |
| - `avoid_unused_constructor_parameters` updated to better handle redirecting factory constructors |
| - `avoid_returning_this` improvements |
| - `prefer_bool_in_asserts` improvements |
| - miscellaneous documentation fixes |
| |
| # 0.1.39 |
| |
| - `prefer_interpolation_to_compose_strings` updated to allow concatenation of two non-literal strings |
| - `prefer_interpolation_to_compose_strings` updated to allow `+=` |
| - lots of rule documentation fixes and enhancements |
| - fix for `prefer_const_constructors_in_immutables` false positive with redirecting factory constructors |
| |
| # 0.1.38 |
| |
| - `public_member_api_docs` fix for package URIs |
| |
| # 0.1.37 |
| |
| - `avoid_positional_boolean_parameters` updated to allow booleans in operator declarations |
| - `comment_references` fixed to handle incomplete references |
| - `non_constant_identifier_names` updated to allow underscores around numbers |
| |
| # 0.1.36 |
| |
| - new `avoid_unused_constructor_parameters` lint |
| - new `prefer_bool_in_asserts` lint |
| - new `prefer_typing_uninitialized_variables` lint |
| - new `unnecessary_statements` lint |
| - `public_member_api_docs` updated to only lint source in `lib/` |
| - 'avoid_empty_else' fixed to ignore synthetic `EmptyStatement`s |
| - updated library prefix checking to allow leading `$`s |
| - miscellaneous documentation fixes |
| - Dart SDK constraints restored (removed unneeded `2.0.0-dev.infinity` constraint) |
| |
| # 0.1.35 |
| |
| - linter engine updated to use new analysis driver |
| |
| # 0.1.34 |
| |
| ## Features |
| |
| - `non_constant_identifier_names` extended to include named constructors |
| - SDK constraint broadened to `2.0.0-dev.infinity` |
| - improved `prefer_final_fields` performance |
| |
| ## Fixes |
| |
| - fixes to `unnecessary_overrides` (`noSuchMethod` handling, return type narrowing, special casing of documented `super` calls) |
| - fix to `non_constant_identifier_names` to handle identifiers with no name |
| - fixes to `prefer_const_constructors` to support list literals |
| - fixes to `recursive_getters` |
| - fixes to `cascade_invocations` |
| |
| # 0.1.33 |
| |
| ## Features |
| |
| - new `prefer_const_constructors_in_immutables` lint |
| - new `always_put_required_named_parameters_first` lint |
| - new `prefer_asserts_in_initializer_lists` lint |
| - support for running in `--benchmark` mode |
| - new `prefer_single_quote_strings` lint |
| |
| ## Fixes |
| |
| - docs for `avoid_setters_without_getters` |
| - fix to `directives_ordering` to work with part directives located after exports |
| - fixes to `cascade_invocations` false positives |
| - fixes to `literal_only_boolean_expressions` false positives |
| - fix to ensure `cascade_invocations` only lints method invocations if target is a simple identifier |
| - fixes to `use_string_buffers` false positives |
| - fixes to `prefer_const_constructors` |
| |
| # 0.1.32 |
| |
| - Lint stats (`-s`) output now sorted. |
| |
| # 0.1.31 |
| |
| - New `prefer_foreach` lint. |
| - New `use_string_buffers` rule. |
| - New `unnecessary_overrides` rule. |
| - New `join_return_with_assignment_when_possible` rule. |
| - New `use_to_and_as_if_applicable` rule. |
| - New `avoid_setters_without_getters` rule. |
| - New `always_put_control_body_on_new_line` rule. |
| - New `avoid_positional_boolean_parameters` rule. |
| - New `always_require_non_null_named_parameters` rule. |
| - New `prefer_conditional_assignment` rule. |
| - New `avoid_types_on_closure_parameters` rule. |
| - New `always_put_control_body_on_new_line` rule. |
| - New `use_setters_to_change_properties` rule. |
| - New `avoid_returning_this` rule. |
| - New `avoid_annotating_with_dynamic_when_not_required` rule. |
| - New `prefer_constructors_over_static_methods` rule. |
| - New `avoid_returning_null` rule. |
| - New `avoid_classes_with_only_static_members` rule. |
| - New `avoid_null_checks_in_equality_operators` rule. |
| - New `avoid_catches_without_on_clauses` rule. |
| - New `avoid_catching_errors` rule. |
| - New `use_rethrow_when_possible` rule. |
| - Many lint fixes (notably `prefer_final_fields`, `unnecessary_lambdas`, `await_only_futures`, `cascade_invocations`, `avoid_types_on_closure_parameters`, and `overridden_fields`). |
| - Significant performance improvements for `prefer_interpolation_to_compose_strings`. |
| - New `unnecessary_this` rule. |
| - New `prefer_initializing_formals` rule. |
| |
| # 0.1.30 |
| |
| - New `avoid_function_literals_in_foreach_calls` lint. |
| - New `avoid_slow_async_io` lint. |
| - New `cascade_invocations` lint. |
| - New `directives_ordering` lint. |
| - New `no_adjacent_strings_in_list` lint. |
| - New `no_duplicate_case_values` lint. |
| - New `omit_local_variable_types` lint. |
| - New `prefer_adjacent_string_concatenation` lint. |
| - New `prefer_collection_literals` lint. |
| - New `prefer_const_constructors` lint. |
| - New `prefer_contains` lint. |
| - New `prefer_expression_function_bodies` lint. |
| - New `prefer_function_declarations_over_variables` lint. |
| - New `prefer_initializing_formals` lint. |
| - New `prefer_interpolation_to_compose_strings` lint. |
| - New `prefer_is_empty` lint. |
| - New `recursive_getters` lint. |
| - New `unnecessary_brace_in_string_interps` lint. |
| - New `unnecessary_lambdas` lint. |
| - New `unnecessary_null_aware_assignments` lint. |
| - New `unnecessary_null_in_if_null_operators` lint. |
| - Miscellaneous bug fixes and codegen improvements. |
| |
| # 0.1.29 |
| |
| - New `cascade_invocations` lint. |
| - Expand `await_only_futures` to accept classes that extend or implement `Future`. |
| - Improve camel case regular expression tests to accept `$`s. |
| - Fixes to `parameter_assignments` (improved getter handling and an NPE). |
| |
| # 0.1.27 |
| |
| - Fixed cast exception in `dart_type_utilities` (dart-lang/sdk#27405). |
| - New `parameter_assignments` lint. |
| - New `prefer_final_fields` lint. |
| - New `prefer_final_locals` lint. |
| - Markdown link fixes in docs (#306). |
| - Miscellaneous solo test running fixes and introduction of `solo_debug` (#304). |
| |
| # 0.1.26 |
| |
| - Updated tests to use package `test` (#302). |
| |
| # 0.1.25 |
| |
| - Fixed false positive on `[]=` in `always_declare_return_types` (#300). |
| - New `invariant_booleans` lint. |
| - New `literal_only_boolean_expressions` lint. |
| - Fixed `camel_case_types` to allow `$` in identifiers (#290). |
| |
| # 0.1.24 |
| |
| - Internal updates to keep up with changes in the analyzer package. |
| - Updated `close_sinks` to respect calls to `destroy` (#282). |
| - Fixed `only_throw_errors` to report on the expression not node. |
| |
| # 0.1.23 |
| |
| - Removed `whitespace_around_ops` pending re-name and re-design (#249). |
| |
| # 0.1.22 |
| |
| - Grinder support (`rule:rule_name` and `docs:location`) for rule stub and doc generation (respectively). |
| - Fix to allow leading underscores in `non_constant_identifier_names`. |
| - New `valid_regexps` lint (#277). |
| - New `whitespace_around_ops` lint (#249). |
| - Fix to `overridden_fields` to flag overridden static fields (#274). |
| - New `list_remove_unrelated_type` to detect passing a non-`T` value to `List.remove()`` (#271). |
| - New `empty_catches` lint to catch empty catch blocks (#43). |
| - Fixed `close_sinks` false positive (#268). |
| - `linter` support for `--strong` to allow for running linter in strong mode. |
| |
| # 0.1.21 |
| |
| - New `only_throw_errors` lint. |
| - New lint to check for `empty_statements` (#259). |
| - Fixed NSME when file contents cannot be read (#260). |
| - Fixed unsafe cast in `iterable_contains_unrelated_type` (#267). |
| |
| # 0.1.20 |
| |
| - New `cancel_subscriptions` lint. |
| |
| # 0.1.19 |
| |
| - New `close_sinks` lint. |
| - Fixes to `iterable_contains_unrelated_type `. |
| |
| # 0.1.18 |
| |
| - Fix NSME in `iterable_contains_unrelated_type` (#245). |
| - Fixed typo in `comment_references` error description. |
| - Fix `overriden_field` false positive (#246). |
| - Rename linter binary `lints` option to `rules` (#248). |
| - Help doc tweaks. |
| |
| # 0.1.17 |
| |
| - Fix to `public_member_api_docs` to check for documented getters when checking setters (#237). |
| - New `iterable_contains_unrelated_type` lint to detect when `Iterable.contains` is invoked with an object of an unrelated type. |
| - New `comment_references` lint to ensure identifiers referenced in docs are in scope (#240). |
| |
| # 0.1.16 |
| |
| - Fix for false positive in `overriden_field`s. |
| - New `unrelated_type_equality_checks` lint. |
| - Fix to accept `$` identifiers in string interpolation lint (#214). |
| - Update to new `plugin` API (`0.2.0`). |
| - Strong mode cleanup. |
| |
| # 0.1.15 |
| |
| - Fix to allow simple getter/setters when a decl is ``@protected` (#215). |
| - Fix to not require type params in `is` checks (#227). |
| - Fix to not flag field formal identifiers in parameters (#224). |
| - Fix to respect filters when calculating error codes (#198). |
| - Fix to allow `const` and `final` vars to be initialized to null (#210). |
| - Fix to respect commented blocks in `empty_constructor_bodies` (#209). |
| - Fix to check types on list/map literals (#199). |
| - Fix to skip `main` when checking for API docs (#207). |
| - Fix to allow leading `$` in type names (#220). |
| - Fix to ignore private typedefs when checking for types (#216). |
| - New `test_types_in_equals` lint. |
| - New `await_only_futures` lint. |
| - New `throw_in_finally` lint. |
| - New `control_flow_in_finally` lint. |
| |
| # 0.1.14 |
| |
| - Fix to respect `@optionalTypeArgs` (#196). |
| - Lint to warn if a field overrides or hides other field. |
| - Fix to allow single char UPPER_CASE non-constants (#201). |
| - Fix to accept casts to dynamic (#195). |
| |
| # 0.1.13 |
| |
| - Fix to skip overriding members in API doc checks (`public_member_api_docs`). |
| - Fix to suppress lints on synthetic nodes/tokens (#193). |
| - Message fixes (`annotate_overrides`, `public_member_api_docs`). |
| - Fix to exclude setters from return type checks (#192). |
| |
| # 0.1.12 |
| |
| - Fix to address `LibraryNames` regexp that in pathological cases went exponential. |
| |
| # 0.1.11 |
| |
| - Doc generation improvements (now with options samples). |
| - Lint to sort unnamed constructors first (#187). |
| - Lint to ensure public members have API docs (#188). |
| - Lint to ensure constructors are sorted first (#186). |
| - Lint for `hashCode` and `==` (#168). |
| - Lint to detect un-annotated overrides (#167). |
| - Fix to ignore underscores in public APIs (#153). |
| - Lint to check for return types on setters (#122). |
| - Lint to flag missing type params (#156). |
| - Lint to avoid inits to `null` (#160). |
| |
| # 0.1.10 |
| |
| - Updated to use `analyzer` `0.27.0`. |
| - Updated options processing to handle untyped maps (dart-lang/sdk#25126). |
| |
| # 0.1.9 |
| |
| - Fix `type_annotate_public_apis` to properly handle getters/setters (#151; dart-lang/sdk#25092). |
| |
| # 0.1.8 |
| |
| - Fix to protect against errors in linting invalid source (dart-lang/sdk#24910). |
| - Added `avoid_empty_else` lint rule (dart-lang/sdk#224936). |
| |
| # 0.1.7 |
| |
| - Fix to `package_api_docs` (dart-lang/sdk#24947; #154). |
| |
| # 0.1.6 |
| |
| - Fix to `package_prefixed_library_names` (dart-lang/sdk#24947; #154). |
| |
| # 0.1.5 |
| |
| - Added `prefer_is_not_empty` lint rule (#143). |
| - Added `type_annotate_public_apis` lint rule (#24). |
| - Added `avoid_as` lint rule (#145). |
| - Fixed `non_constant_identifier_names` rule to special case underscore identifiers in callbacks. |
| - Fix to escape `_`s in callback type validation (addresses false positives in `always_specify_types`) (#147). |
| |
| # 0.1.4 |
| |
| - Added `always_declare_return_types` lint rule (#146). |
| - Improved `always_specify_types` to detect missing types in declared identifiers and narrowed source range to the token. |
| - Added `implementation_imports` lint rule (#33). |
| - Test performance improvements. |
| |
| # 0.1.3+5 |
| |
| - Added `always_specify_types` lint rule (#144). |
| |
| # 0.1.3+4 |
| |
| - Fixed linter registry memory leaks. |
| |
| # 0.1.3 |
| |
| - Fixed various options file parsing issues. |
| |
| # 0.1.2 |
| |
| - Fixed false positives in `unnecessary_brace_in_string_interp` lint. Fix #112. |
| |
| # 0.1.1 |
| |
| - Internal code and dependency constraint cleanup. |
| |
| # 0.1.0 |
| |
| - Initial stable release. |
| |
| # 0.0.2+1 |
| |
| - Added machine output option. Fix #69. |
| - Fixed resolution of files in `lib/` to use a `package:` URI. Fix #49. |
| - Tightened up `analyzer` package constraints. |
| - Fixed false positives in `one_member_abstracts` lint. Fix #64. |
| |
| # 0.0.2 |
| |
| - Initial push to pub. |