[2.1.0] - 2025-12-22
BREAKING CHANGES
Rules are now disabled by default (opt-in model)
Previous versions (v2.0.0 and earlier) enabled all 128 rules automatically.
Starting with v2.1.0, rules must be explicitly enabled or configured via presets.
Migration Required:
To maintain v2.0.0 behavior (all rules enabled):
# analysis_options.yaml
include: package:awesome_lints/presets/strict.yamlTo adopt the recommended preset (recommended for most projects):
# analysis_options.yaml
include: package:awesome_lints/presets/recommended.yamlFor gradual adoption (core essential rules only):
# analysis_options.yaml
include: package:awesome_lints/presets/core.yamlSee Migration Guide for detailed instructions.
Features
New Preset Configurations:
-
core.yaml- Essential rules only (~15 rules)- Critical bug prevention
- Null safety issues
- Flutter lifecycle errors
- Recommended for new projects
-
recommended.yaml- Balanced rule set (~40 rules)- Includes all core rules
- Code quality improvements
- Common mistake prevention
- Recommended for most projects
-
strict.yaml- All rules enabled (128 rules)- Maintains v2.0.0 behavior
- Comprehensive analysis
- Recommended for very strict projects
-
Category-specific presets:
flutter.yaml- All 32 Flutter rulescommon.yaml- All 65 common Dart rulesprovider.yaml- All 8 Provider rulesbloc.yaml- All 22 Bloc rulesfake_async.yaml- All FakeAsync rules
Documentation
- Added comprehensive Migration Guide
- Updated README with preset usage examples
- Updated all category documentation files
- Added preset comparison guide
Migration Examples
Before (v2.0.0):
# All rules enabled by default
custom_lint:
rules:
- avoid_non_null_assertion: false # Must disable unwanted
- no_magic_number: false # Must disable unwantedAfter (v2.1.0):
# Use preset or enable specific rules
include: package:awesome_lints/presets/recommended.yaml
# Or enable specific rules only
custom_lint:
enable_all_lint_rules: false
rules:
- avoid_late_context
- prefer_early_return