Skip to content

2.1.0

Latest

Choose a tag to compare

@LucasXu0 LucasXu0 released this 23 Dec 04:33
· 13 commits to main since this release

[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.yaml

To adopt the recommended preset (recommended for most projects):

# analysis_options.yaml
include: package:awesome_lints/presets/recommended.yaml

For gradual adoption (core essential rules only):

# analysis_options.yaml
include: package:awesome_lints/presets/core.yaml

See 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 rules
    • common.yaml - All 65 common Dart rules
    • provider.yaml - All 8 Provider rules
    • bloc.yaml - All 22 Bloc rules
    • fake_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 unwanted

After (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