NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
A code generation package for creating theme color variables in Flutter.
Last release 3 months ago
19 Jun 2026
Release timing varies
gaps range from 2 weeks to 8 months
Some releases are documented
notes for 15 of 27 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
27 releases · first in 2024
One column per month.
### Fixed - Fix some problems
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Fixed -A bug fixed
-A bug fixed
Migrated the code generation engine to parse theme tokens directly from static const class fields.
static const class fields.Automatic detection and generation of:
BestColorBestTextStyleBestAssetMulti-token grouping support for colors, typography, and assets.
Asynchronous storage lifecycle support through BestThemeStorage.
Automatic theme mode persistence integration.
Improved generated state management architecture.
Safe extension bundling after custom theme overrides.
Generated extensions are now appended after buildLightTheme() and buildDarkTheme() execution, preventing accidental loss of generated theme extensions.
Improved compile-time performance and code generation reliability.
fields2 architecture migration.final colors = [
BestColor(
name: 'primary',
light: Colors.blue,
dark: Colors.indigo,
),
];
class MyTheme extends _$MyTheme {
MyTheme() : super(myColors: colors);
}
@BestTheme(
extensionName: 'appTheme',
)
class MyTheme extends _$MyTheme {
static const primary = BestColor(
light: Colors.blue,
dark: Colors.indigo,
);
static const titleLarge = BestTextStyle(
light: TextStyle(fontSize: 24),
dark: TextStyle(fontSize: 24),
);
static const appLogo = BestAsset(
light: 'assets/logo_light.png',
dark: 'assets/logo_dark.png',
);
}
Complete architecture redesign: Generator now produces a ThemeExtension-based class (_${ClassName}Theme extends ThemeExtension) instead of the previou
ThemeExtension-based class
(_${ClassName}Theme extends ThemeExtension) instead of the previous singleton pattern.
Generated code is no longer compatible with 1.x usage.init(), instance), ValueNotifier/ThemeParam, BestThemeProvider,
BestThemeBuilder, static color getters, and the context.BestTheme() / context.BestThemeRouter() wrappers.toggleColor(), toDark(), toLight(), toSystem(), adanceToggle() instance methods.ThemeExtension generation: generates @immutable _${ClassName}Theme extends ThemeExtension
with copyWith, lerp, .light(colors) factory, .dark(colors) factory, and static of(context).${ClassName}BestThemeMaterial widget: standalone StatefulWidget — no object instantiation needed.
Pass it a builder: (context, mode, lightTheme, darkTheme) and use directly as the app root.buildLightTheme / buildDarkTheme overridable hooks on the generated _$ClassName base class.
Receives the pre-built ThemeData (with extension already injected) so users can copyWith fonts,
color schemes, app bar themes, etc. without re-declaring extensions.extensionName annotation support: reads extensionName from @BestTheme to name the
BuildContext getter (e.g. context.appColors).BuildContext extension methods: toDark(), toLight(), toggleTheme(),
setThemeMode(mode), isDark, scaffoldBackgroundColor, primary, primaryScheme.context.myColors.colorName to context.{extensionName}.colorName
via Flutter's Theme.of(context).extension<_${ClassName}Theme>().StatefulWidget (_${ClassName}BestThemeMaterialState)
instead of a ValueNotifier singleton — fully compatible with Flutter's widget lifecycle.Fix issue of set theme mode from ThemeData
you can use context.BestTheme also for routers
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- Fix issue of generating
- Use last best_theme version
Updated dependencies for better compatibility and stability
Nothing published for this version
Nothing published for this version
Singleton Pattern Implementation: Implemented singleton pattern with init() and instance getters for better memory management
init() and instance getters for better memory managementget[ColorName])BestThemeRouter method with comprehensive MaterialApp.router supportcontext.myColors.[colorName] - Direct color accesscontext.isDark - Theme state checkingcontext.toggleTheme() - Theme togglingcontext.BestTheme() - App wrapper creationcontext.BestThemeRouter() - Router app wrapper### Changed - enhancements
### Changed - fix issue
Add custom colors to main class
### Changed - support go router
Initial release of best_theme_generator package.
best_theme_generator package.DostyColor.@BestTheme annotation to create theme structures with light and dark modes.Your coding agent can read these notes before it upgrades. Set up the MCP server →