PackageTrack
Sign in Get early access

theme_extensions_builder

Code generator for Flutter's 3.0 ThemeExtension classes. theme_extensions_builder generator helps to minimize the required boilerplate code.

7.4.0 5.7K downloads/mo #3652 most downloaded on pub.dev pro100andrey/theme_extensions_builder

What this package is like to depend on

Last release 2 months ago

15 Jun 2026

Release timing varies

gaps range from 9 days to 10 months

Nearly every release is documented

notes for 27 of 27 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

31 releases · first in 2022

14 releases in the last 12 months

see the full history below

Release timeline

31 releases · Oct 2022 to Jun 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 31
  1. 7.4.0 15 Jun 2026
    Release notes
    • Updated: Analyzer dependency to ">=9.0.0 <14.0.0"
    • Updated: source_gen lower bound to ">=4.2.3" for analyzer 12/13 compatibility.
    Open source →
  2. 7.3.0 22 Mar 2026
    Release notes
    • Updated: Analyzer dependency to ">=9.0.0 <11.0.0".
    • Updated: Dependencies in example and annotation packages.
    Open source →
  3. 7.2.1 20 Mar 2026
    Release notes
    • Update: Improved documentation.
    Open source →
  4. 7.2.0 26 Jan 2026
    Release notes
    • New Feature: Added support for WidgetStateProperty.lerp with 4-parameter signature - #33
    • New Feature: Added WidgetStatePropertyLerp class for proper code generation of WidgetStateProperty types with validation for nullable generics
    • Improvement: Enhanced lerp method handling for instance methods with optional results, ensuring correct null safety and type casting
    • Improvement: Updated code generation logic in both @ThemeExtensions and @ThemeGen to handle WidgetStateProperty fields with appropriate inner lerp functions
    • Improvement: Refactored internal analysis logic to better validate parameter types and method signatures for lerp methods
    • Improvement: Added validation that throws descriptive errors when WidgetStateProperty is used with non-nullable generic types
    • Testing: Expanded test suite with new test cases for WidgetStateProperty and instance lerp with optional results
    • Code Quality: Made generator constructors const and cleaned up imports
    • Updated: Dependencies to latest versions for improved compatibility
    Open source →
  5. 7.1.0 01 Dec 2025
    Release notes
    • Documentation: Improved internal code comments for better understanding of the codebase
    • Documentation: Added .github/README.md with quick start guide and installation instructions
    • Documentation: Separated and clarified @ThemeExtensions vs @ThemeGen usage patterns
    • Example: Enhanced example app with 5 comprehensive theme extensions:
      • ButtonThemeExtension - Complete button system with variants (primary, secondary, outlined, text) and sizes
      • TypographyThemeExtension - Full typography scale (display, headline, body, label, code styles)
      • SpacingThemeExtension - Consistent spacing system for layouts
      • CardThemeExtension - Customizable card components
      • AppThemeExtension - Application-level colors and layout modes
    • Example: Added multi-page navigation with NavigationBar showcasing different features
    • Example: Custom button component with loading and disabled states
    • Example: Typography and button showcase pages
    • Example: Updated README with detailed feature descriptions and project structure
    • Improvement: Added more unit tests for better coverage
    • Improvement: Updated dependencies to latest versions
    • Fixes: Various bug fixes and stability improvements
    Open source →
  6. 7.0.1 23 Nov 2025
    Release notes
    • Improvement: Updated == operator to check runtimeType.
    • Improvement: Internal variable renaming in generated code to avoid conflicts.
    Open source →
  7. 7.0.0 21 Nov 2025
    Release notes
    • Breaking changes: Removed deprecated _$ThemeExtensionMixin mixin. Use _$[ClassName]Mixin instead.
    • New Feature: Added constructor parameter to @ThemeExtensions and @ThemeGen annotations, allowing you to specify a custom constructor name.
    • Improvement: Added support for inheriting fields from superclasses in both @ThemeExtensions and @ThemeGen generators.
    • Improvement: Optimized equality checks (== operator) to use type checking with is! instead of runtimeType comparison.
    • Improvement: Added == and hashCode implementations to FieldInfo class for better comparison support.
    • Updated: Dependencies to latest versions.
    • Fixes: Various bug fixes and improvements - issues/27, issues/28, Special thanks to nank1ro! for finding and reporting issues.
    Open source →
  8. 6.0.1 03 Oct 2025
    Release notes
    • Fixed: lerpDuration$, lerpDouble$ calculation in case of null values.
    Open source →
  9. 6.0.0 02 Oct 2025
    Release notes
    • Added: lerpDuration property.
    • Added: ThemeGen annotation for theme generation.
    Open source →
  10. 6.0.0-dev.4 02 Oct 2025 pre-release

    Nothing published for this version

  11. 6.0.0-dev.3 01 Oct 2025 pre-release

    Nothing published for this version

  12. 6.0.0-dev.2 30 Sep 2025 pre-release

    Nothing published for this version

  13. 6.0.0-dev.1 24 Sep 2025 pre-release

    Nothing published for this version

  14. 5.1.1 17 Sep 2025
    Release notes
    • Bug Fix: Resolved an issue in the Object.hashAll implementation that caused incorrect hash code generation when a theme extension contained more than 20 fields.
    • Dependency Updates: Updated build and source_gen dependencies to ensure compatibility with the latest versions.
    Open source →
  15. 5.1.0 25 Aug 2025
    Release notes

    New Features

    • Improved Code Generation: Now using the code_builder library for generating theme extensions, which results in more structured and reliable code.

    • Multiple Extensions per File: Added support for defining multiple theme extensions within a single file.

    • New @ThemeExtension Annotation Property: The contextAccessorName property has been added to the @ThemeExtensions annotation, allowing you to customize the accessor name for your theme extension on BuildContext.

    • Automatic lerp Method Generation: The generator now automatically creates lerp methods for double and other ThemeExtension types, simplifying their use in animations.

    • Optimized lerp for non-interpolated types: lerp method generation for types that do not have a lerp method now uses a ternary operator (t < 0.5 ? value : otherValue). This ensures a more efficient and predictable transition between values.

    Deprecations

    • _$ThemeExtensionMixin is Deprecated: To support multiple extensions per file, the use of with _$ThemeExtensionMixin has been deprecated. Please use the newly generated mixin with _\$[ClassName]Mixin instead.
    Open source →
  16. 5.1.0+1 26 Aug 2025
    Release notes
    • Fixed typo's
    Open source →
  17. 5.0.0 16 Aug 2025
    Release notes
    • Updated: dependencies.
    Open source →
  18. 4.0.1 09 Jan 2025
    Release notes
    • Updated: dependencies.
    • Added: DartFormatter.
    • Fix: element type.
    Open source →
  19. 4.0.0 04 Jan 2025
    Release notes
    • Updated: dependencies. Min sdk: 3.6.0
    Open source →
  20. 3.1.0 26 Feb 2024
    Release notes
    • Updated: dependencies. Min sdk: 3.3.0
    Open source →
  21. 3.0.1 04 Dec 2023
    Release notes
    Open source →
  22. 3.0.0 04 Dec 2023
    Release notes
    • Updated: dependencies. Min sdk: 3.0.0
    Open source →
  23. 2.0.2 12 Jan 2023
    Release notes
    • Fixed: generate lerp method issue for MaterialStateProperty
    Open source →
  24. 2.0.1 22 Dec 2022
    Release notes
    • Updated: theme_extensions_builder_annotation: ^2.0.0
    Open source →
  25. 2.0.1+1 22 Dec 2022
    Release notes
    • Updated: readme
    Open source →
  26. 2.0.1+2 22 Dec 2022
    Release notes
    • Updated: readme, doc
    Open source →
  27. 2.0.1+3 22 Dec 2022
    Release notes
    • Updated: for scores
    Open source →
  28. 2.0.0 22 Dec 2022
    Release notes
    • Breaking changes: rename build_extensions from .g.dart to .g.theme.dart (issue)
    • Updated: analyzer: ">=4.6.0 <6.0.0"
    Open source →
  29. 1.0.1 22 Oct 2022
    Release notes
    • Added: Support for types that do not implement method lerp
    Open source →
  30. 1.0.0 20 Oct 2022
    Release notes
    • Initial release.
    Open source →
  31. 1.0.0+1 20 Oct 2022
    Release notes
    • Updated: for scores
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive