Releases: rydmike/flex_color_scheme
Version 8.3.1
8.3.1
October 24, 2025
Minor fixes and improvements to the Themes Playground app only.
Package
No changes
Playground
CHORE
- Update build to use Flutter 3.35.7 stable.
- Bump packages to latest versions.
CHANGE
- Switch from
device_frame_plusback to using original author'sdevice_framepackage. - Add new simulated Android and iPhone devices in updated
device_frameto the Themes Playground device frame selector.
FIX
Version 8.3.0
8.3.0
August 15, 2025
This release of FlexColorScheme adds support for breaking changes in Flutter v3.35.0 and also requires at least this version.
Package
FIX
- Fix the in Flutter v3.35 broken API for
BottomAppBarTheme, see issue #283 - Fix the Flutter v3.35 broken API for
AppBarTheme, migrate to use newAppBarThemeData. For more information, see the discussion in #PR285 - Fix the Flutter v3.35 broken API for
InputDecorationTheme, migrate to use newInputDecorationThemeData. For more information, see the discussion in #PR285 - Added a temporary workaround for the
DropdownMenu's width issue #170970 so that the correct default width style for theDropdownMenuis retained. This issue affects Flutter 3.32.0 to at least Flutter 3.35.1. There is a fix PR in the master channel #PR169438, but it has not landed in Flutter 3.35.1. See also FCS issue report #286.
CHORE
- Updated tests to use the new
BottomAppBarThemeDataAPI. - Updated tests to use the new
AppBarThemeDataAPI. - Updated tests to use the new
InputDecorationThemeDataAPI. - The test for
FlexSubThemeData.sliderShowValueIndicatorwas changed from in Flutter 3.35 deprecated valueShowValueIndicator.alwaystoShowValueIndicator.onDrag, which is the new equivalent value in Flutter 3.35. - Bump packages to latest versions.
FEATURE
- DropdownMenu: Added theming properties for the
DropdownMenu's maximum size.FlexSubThemesDatagot the new propertydropdownMenuMaximumSize.FlexSubThemes.dropdownMenuThemegot the new propertymaximumSize.- Both of type
WidgetStateProperty<Size?>? - This was added to allow overriding the fix for the
DropdownMenuwidth issue #170970. - The
FlexSubThemes.dropdownMenuThemepropertymaximumSizetemporarily default fallbacks toconst WidgetStatePropertyAll<Size>(Size.infinite)if undefined. This results in the same default and correct style that Flutter had in 3.29.x and earlier versions. The default fallback will be removed in a future version of FlexColorScheme when the issue is fixed in Flutter SDK stable release. - This property is not available in the Themes Playground app, you can only override it via FlexColorScheme APIs.
Playground
CHORE
- Change deprecated
Switch.activeColortoSwitch.activeThumbColorinColorNameValue. - Use the new
RadioGroupAPI in the Playground Theme Simulator in the Material-3 example app. - Update known issues info expands in the Playground with up-to-date information about known issues and limitations in Flutter SDK theming.
- Bump packages to latest versions.
FEATURE
- The slider indicator value selection got the new selections
ShowValueIndicator.onDragandShowValueIndicator.alwaysShow, which are new values in Flutter 3.35. The old valueShowValueIndicator.alwaysis deprecated in Flutter 3.35 and will be removed in a future version of Flutter SDK and the Playground app. - The Code generation and Export-Import to JSON features were separated into two different panels. This was done to improve the discoverability of the Export-import to JSON feature.
Version 8.2.1-dev.2
8.2.1-dev.2
July 19, 2025
This is a pre-release of FlexColorScheme v8.2.1, released to support breaking changes in Flutter SDK v3.35.0-0.0.pre "beta" channel. It may not cover additional breaking changes in the latest Flutter "master" channel.
Requires at least Flutter SDK v3.35.0-0.0.pre.
Package
CHORE
-
Fix the Flutter broken API for
AppBarTheme, migrate to use newAppBarThemeData. For more information, see the discussion in #PR285 -
Update tests to use the new
AppBarThemeDataAPI. -
Fix the Flutter broken API for
InputDecorationTheme, migrate to use newInputDecorationThemeData. For more information, see the discussion in #PR285 -
Update tests to use the new
InputDecorationThemeDataAPI. -
The test for
FlexSubThemeData.sliderShowValueIndicatorwas changed from in Flutter 3.35 deprecated valueShowValueIndicator.alwaystoShowValueIndicator.onDrag, which is the new equivalent value in Flutter 3.35.
Playground
- The slider indicator value selection got the new selections
ShowValueIndicator.onDragandShowValueIndicator.alwaysShow, which are the new values in Flutter 3.35. The old valueShowValueIndicator.alwaysis deprecated in Flutter 3.35 and will be removed in a future version of Flutter SDK and the Playground app.
Version 8.2.1-dev.1
8.2.1-dev.1
July 16, 2025
This is a pre-release of FlexColorScheme v8.2.1, released to support breaking
changes in Flutter SDK v3.34.0-0.1.pre "beta" channel. It does not cover
additional breaking changes in latest Flutter "master" channel.
Requires at least Flutter SDK v3.34.0-0.1.pre.
Package
CHORE
- Fix the Flutter broken API for
BottomAppBarThemeon the beta/master channel,
see issue #283 - Update tests to use the new
BottomAppBarThemeDataAPI. - Bump packages to latest versions.
Playground
- Change deprecated
Switch.activeColortoSwitch.activeThumbColorinColorNameValue. - Use the new
RadioGroupAPI in the Playground Theme Simulator in the Material-3 example app. - Bump packages to latest versions.
Version 8.2.0
8.2.0
March 23, 2025
Package
CHORE
- Update the package to support and require at least Flutter v3.29.0.
- Remove all usage and references to new deprecated properties in Flutter 3.29.0:
MaterialStateUnderlineInputBorder→WidgetStateInputBorderMaterialStateOutlineInputBorder→WidgetStateInputBorderThemedata.dialogBackgroundColor: Removed all usage and references in the FCS packages and Themes Playground app.
- Remove all usage and references to new deprecated properties in Flutter 3.29.0:
- Remove all usage and references to new deprecated properties in Flutter 3.31.0 BETA:
ThemeData.indicatorColor: Removed all usage and references in the FCS packages and Themes Playground app. FlexColorScheme has not used this property for a while, but kept it defined while it still existed. It is deprecated in Flutter 3.31.0 BETA and will be so in next stable Flutter release as well. FCS 8.2.0 stops defining any value for it and also removes it from the Themes Playground app. It has in FCS for a long time already been replaced byTabBarThemeData.indicatorColor. Test were now also updated to use this reference instead of the to be deprecated one.
- Fix lints for the stable, beta and master channels.
- FlexColorScheme is still using pre-Dart 3.7.0 formatter. It will change to new format, with longer line length, when the Flutter stable channel supports manual trailing comma. Change to the new formatter was tested, but reverted because it was horrible.
FIX
- Fix
TabBarThemenormalization Flutter SDK breaking change on the master and beta channel, see issue #276.- The TabBar theme API had breaking changes in Flutter 3.27 release. These were addressed in FlexColorScheme v8.1.0. In Flutter 3.31 (beta) there are additional compile-time breaking changes not present in Flutter 3.29 and earlier versions. FlexColorScheme v8.2.0 is compatible with these Flutter SDK breaking changes. For more information, see the TabBar theme API breaking changes, that documented the in Flutter 3.27 breaking changes. Apparently, something more changed now, as the TabBar theming that still works in Flutter 3.29, broke again in Flutter 3.31 beta and later. Regardless of what and why it was broken, FCS v8.2.0 fixes the usage of the compile-time broken API, it now works again, with at release time used APIs in Flutter stable, beta and master channels.
NEW
- Beta feature:
-
Added Shadcn UI color schemes. This includes, custom classes to store the Shadcn color tokens,
FlexSchemeColorimplementations of them andFlexSchemeenums of the configs to make it easy to use them.The
FlexSchemeenums for using the Shadcn colors are:FlexScheme.shadBlueFlexScheme.shadGrayFlexScheme.shadGreenFlexScheme.shadNeutralFlexScheme.shadOrangeFlexScheme.shadRedFlexScheme.shadRoseFlexScheme.shadSlateFlexScheme.shadStoneFlexScheme.shadVioletFlexScheme.shadYellowFlexScheme.shadZinc
-
The Shadcn color schemes are still considered beta. The current version does not yet support or use the Shadcn default colors for background, surface and container colors. In this release those colors are using FlexColorScheme's monochrome surface colors. Later versions may change this and use the Shadcn surface colors by default when selecting these themes, with an option to switch to FlexColorScheme's monochrome surface colors, which this version currently uses as the only choice.
-
The Shadcn color selections only set default colors, you will have to theme Material to look more like Shadcn yourself by selecting the correct Material components and modifying their properties to look and behave more like Shadcn style. The Themes Playground includes a pre-configured very preliminary configuration that you can use to do this.
-
The Shadcn color features are in this beta release excluded from FlexColorScheme's otherwise rigorous tests.
-
Themes Playground
FIX
- Playground: Fix code gen for the first scheme, see issue #275.
CHANGE
- Fix/improve code gen for the second and third Playground scheme. It now exports these schemes the way they are defined internally in the Playground app, instead of as their configuration resulting colors.
- Improved the theme code gen order and added some comments to the generated code to make it easier to understand what the main parts do.
- Removed the theme codegen option used to generate a config to be pasted directly into
MaterialApppropertiesthemeandthemeDark, in favor of the newer one that generates the configs as its own file. The newer one has been the default option since version 8.0.0. - Updated TabBar "Known issues" info-expand to state that the broken elastic indicator animation is fixed in Flutter 3.27.3.
- The NavigationRail default configuration in the Playground is now
NavigationRailLabelType.none.- This is already the default in the FlexColorScheme package and in Flutter SDK. This default value is used to avoid the issue that Flutter SDK only supports using the
noneoption as the collapsed style, when the rail is expanded. For more info about this peculiar limitation see issue #277. - Added an info-expand to the NavigationRail panel to explain this known-issue.
- You can work around this issue, but only on component config level, by setting the
labelTypetoNavigationRailLabelType.nonewhenextendedis set totrue, and back tonullwhen it isfalseto use a themed value, that may then have another value thannonewhen the rail is collapsed. This is a limitation in Flutter SDK, not in FlexColorScheme. The Playground app uses this workaround to avoid the issue when it displays the demo NavigationRail in the extended state.
- This is already the default in the FlexColorScheme package and in Flutter SDK. This default value is used to avoid the issue that Flutter SDK only supports using the
NEW
- Added showing all existing Material-Cupertino platform adaptive widgets. Switch already existed but now also added:
- AlertDialog.adaptive
- Slider.adaptive
- Checkbox.adaptive
- Radio.adaptive
- BETA
- Added a built-in config for a Shadcn UI like config to the Premade Designs panel. This is only a first rough beta config.
- This style configures the Material theme to look a bit like the Shadcn UI design system. It is not an exact replica and never will be, consider it more like inspired by Shadcn. It is primarily intended to be used with the Shadcn theme colors, but you can of course use it with any of the built-in schemes. This is a preliminary first config and will be refined over time as more theming features are added to the Playground that allow us to bring it closer to the Shadcn design. Be aware that the results you get when you use this configuration WILL change in future Themes Playground releases. As always, export your settings and save them as JSON if you want to keep them and use them later again in the Playground.
- Added a built-in config for a Shadcn UI like config to the Premade Designs panel. This is only a first rough beta config.
Version 8.2.0-dev.1
8.2.0-dev.1
March 23, 2025
Test release to check PUB status result for release.
Package
CHORE
- Update the package to support and require at least Flutter v3.29.0.
- Remove all usage and references to new deprecated properties in Flutter 3.29.0:
MaterialStateUnderlineInputBorder→WidgetStateInputBorderMaterialStateOutlineInputBorder→WidgetStateInputBorderThemedata.dialogBackgroundColor: Removed all usage and references in the FCS packages and Themes Playground app.
- Remove all usage and references to new deprecated properties in Flutter 3.29.0:
- Remove all usage and references to new deprecated properties in Flutter 3.31.0 BETA:
ThemeData.indicatorColor: Removed all usage and references in the FCS packages and Themes Playground app. FlexColorScheme has not used this property for a while, but kept it defined while it still existed. It is deprecated in Flutter 3.31.0 BETA and will be so in next stable Flutter release as well. FCS 8.2.0 stops defining any value for it and also removes it from the Themes Playground app. It has in FCS for a long time already been replaced byTabBarThemeData.indicatorColor. Test were now also updated to use this reference instead of the to be deprecated one.
- Fix lints for the stable, beta and master channels.
- FlexColorScheme is still using pre-Dart 3.7.0 formatter. It will change to new format, with longer line length, when the Flutter stable channel supports manual trailing comma. Change to the new formatter was tested, but reverted because it was horrible.
FIX
- Fix
TabBarThemenormalization Flutter SDK breaking change on the master and beta channel, see issue #276.- The TabBar theme API had breaking changes in Flutter 3.27 release. These were addressed in FlexColorScheme v8.1.0. In Flutter 3.31 (beta) there are additional compile-time breaking changes not present in Flutter 3.29 and earlier versions. FlexColorScheme v8.2.0 is compatible with these Flutter SDK breaking changes. For more information, see the TabBar theme API breaking changes, that documented the in Flutter 3.27 breaking changes. Apparently, something more changed now, as the TabBar theming that still works in Flutter 3.29, broke again in Flutter 3.31 beta and later. Regardless of what and why it was broken, FCS v8.2.0 fixes the usage of the compile-time broken API, it now works again, with at release time used APIs in Flutter stable, beta and master channels.
NEW
- Beta feature:
-
Added Shadcn UI color schemes. This includes, custom classes to store the Shadcn color tokens,
FlexSchemeColorimplementations of them andFlexSchemeenums of the configs to make it easy to use them.The
FlexSchemeenums for using the Shadcn colors are:FlexScheme.shadBlueFlexScheme.shadGrayFlexScheme.shadGreenFlexScheme.shadNeutralFlexScheme.shadOrangeFlexScheme.shadRedFlexScheme.shadRoseFlexScheme.shadSlateFlexScheme.shadStoneFlexScheme.shadVioletFlexScheme.shadYellowFlexScheme.shadZinc
-
The Shadcn color schemes are still considered beta. The current version does not yet support or use the Shadcn default colors for background, surface and container colors. In this release those colors are using FlexColorScheme's monochrome surface colors. Later versions may change this and use the Shadcn surface colors by default when selecting these themes, with an option to switch to FlexColorScheme's monochrome surface colors, which this version currently uses as the only choice.
-
The Shadcn color selections only set default colors, you will have to theme Material to look more like Shadcn yourself by selecting the correct Material components and modifying their properties to look and behave more like Shadcn style. The Themes Playground includes a pre-configured very preliminary configuration that you can use to do this.
-
The Shadcn color features are in this beta release excluded from FlexColorScheme's otherwise rigorous tests.
-
Themes Playground
FIX
- Playground: Fix code gen for the first scheme, see issue #275.
CHANGE
- Fix/improve code gen for the second and third Playground scheme. It now exports these schemes the way they are defined internally in the Playground app, instead of as their configuration resulting colors.
- Improved the theme code gen order and added some comments to the generated code to make it easier to understand what the main parts do.
- Removed the theme codegen option used to generate a config to be pasted directly into
MaterialApppropertiesthemeandthemeDark, in favor of the newer one that generates the configs as its own file. The newer one has been the default option since version 8.0.0. - Updated TabBar "Known issues" info-expand to state that the broken elastic indicator animation is fixed in Flutter 3.27.3.
- The NavigationRail default configuration in the Playground is now
NavigationRailLabelType.none.- This is already the default in the FlexColorScheme package and in Flutter SDK. This default value is used to avoid the issue that Flutter SDK only supports using the
noneoption as the collapsed style, when the rail is expanded. For more info about this peculiar limitation see issue #277. - Added an info-expand to the NavigationRail panel to explain this known-issue.
- You can work around this issue, but only on component config level, by setting the
labelTypetoNavigationRailLabelType.nonewhenextendedis set totrue, and back tonullwhen it isfalseto use a themed value, that may then have another value thannonewhen the rail is collapsed. This is a limitation in Flutter SDK, not in FlexColorScheme. The Playground app uses this workaround to avoid the issue when it displays the demo NavigationRail in the extended state.
- This is already the default in the FlexColorScheme package and in Flutter SDK. This default value is used to avoid the issue that Flutter SDK only supports using the
NEW
- Added showing all existing Material-Cupertino platform adaptive widgets. Switch already existed but now also added:
- AlertDialog.adaptive
- Slider.adaptive
- Checkbox.adaptive
- Radio.adaptive
- BETA
- Added a built-in config for a Shadcn UI like config to the Premade Designs panel. This is only a first rough beta config.
- This style configures the Material theme to look a bit like the Shadcn UI design system. It is not an exact replica and never will be, consider it more like inspired by Shadcn. It is primarily intended to be used with the Shadcn theme colors, but you can of course use it with any of the built-in schemes. This is a preliminary first config and will be refined over time as more theming features are added to the Playground that allow us to bring it closer to the Shadcn design. Be aware that the results you get when you use this configuration WILL change in future Themes Playground releases. As always, export your settings and save them as JSON if you want to keep them and use them later again in the Playground.
- Added a built-in config for a Shadcn UI like config to the Premade Designs panel. This is only a first rough beta config.
Version 8.1.1
8.1.1
Feb 15, 2025
NOTE
This fix release only contains a critical Flutter BUG workaround solution for users of Flutter versions 3.27.0 to 3.27.4 and 3.29.0.
This release does not contain any support for new theming features released in Flutter 3.29.0, nor does it address theming properties that were deprecated in Flutter 3.29.0. FlexColorScheme v8.1.1 and v8.1.0, sans the useful workaround released here, are verified to work with Flutter v3.29 as is. A later FlexColorScheme release v8.2.0, will add new theming features and also remove the theming properties that were deprecated in Flutter 3.29.0. Removing them has no impact on FlexColorScheme produced Material-3 themes in Flutter 3.29. Removing and fixing all the deprecations will break things in Flutter 3.27 versions, since some of their replacements do not exist in Flutter 3.27. The issue workaround and fix added here is intended to also support the issue in Flutter 3.27 versions, not only in Flutter 3.29, thus we cannot address the 3.29 deprecations in this release.
Package
FIX
- In Flutter 3.27.0 to at least Flutter 3.29.0 the
iconColoron buttonsElevatedButton,FilledButton,OutlinedButton,TextButtonandSegmentedButtonno longer default toforegroundColorwheniconColoris not defined. This is caused by a BREAKING REGRESSION BUG in Flutter SDK, see issue 162839. The issue in Flutter SDK has been fixed via PR 162880. However, this fix will never apply to Flutter versions 3.27.0 to at least 3.29.0. It may land as a cherry-picked hotfix in Flutter 3.29.1 or later minor release of Flutter 3.29. The FIX released here in this version of FlexColorScheme, adds a workaround to this issue. Without this workaround patch, the icon color on the above-mentioned buttons will not work correctly. The used workaround patch will also work correctly after Flutter PR 162880 lands in Flutter.
Themes Playground
- The above-mentioned Flutter SDK issue was added to "Known issues" in info expands on the Buttons and Segmented Buttons Playground panels.
Version 8.1.0
8.1.0
Dec 29, 2024
Package
- Updated the package to support and require at least Flutter v3.27.0.
- Fixed all new analyzer lint warnings and removed usage of all deprecated
Colorproperties.
NEW
-
Slider: Added theming properties for the Slider thumb color.
FlexSubThemesDatagot the propertysliderThumbSchemeColor.FlexSubThemes.sliderThemegot the propertythumbSchemeColor.
-
BottomSheet: Added theming properties for the BottomSheet clip behavior property.
FlexSubThemesDatagot the propertybottomSheetClipBehavior.FlexSubThemes.bottomSheetThemegot the propertyclipBehavior.- The default value is now
nullcausing the sheet to useClip.noneas the default via the component's built-in default value. Keeping it null, or setting it toClip.nonehelps avoid this Flutter SDK issue: #270 where using aBackdropFilterdoes not work correctly is any other clip behavior value thanClip.noneis used. - CHANGE/FIX
- Previously FlexColorScheme made
BottomSheetThemeDatawhere the clip behavior was set toClip.antialiasby default, causing the issue withBackdropFilterusage to emerge by default. Now you have to select another clip behavior explicitly to get the same result as before, and ne warned that Flutter SDK has issues when doing so.
- Previously FlexColorScheme made
-
TabBar: Added theming properties for the TabBar indicator animation behavior, that are based on the new enum property
TabIndicatorAnimationin Flutter 3.27.0.FlexSubThemesDatagot the propertytabBarIndicatorAnimation.FlexSubThemes.tabBarThemegot the propertyindicatorAnimation.
-
Exposes the convenience
ColorsRGB extensions from packageflex_seed_scheme, that can be used as none deprecated replacements foralpha,red,green,blueandvaluethey are calledalpha8bit,red8bit,green8bit,blue8bitandvalue32bit. FlexColorPicker uses them internally to avoid using the deprecated Color properties.
CHANGE
- Slider: Minor color fidelity change to the Slider's thumb overlay color, it now uses Material-3 default for none tinted overlay. The M3 spec default is tinted as well, so the difference to when using FlexColorScheme's tinted interactions via
FlexSubThemesData(interactionEffects: true)is now negligible for the Slider's default thumb overlay color. - Migrated
FlexSubThemes.cardThemeandFlexSubThemes.dialogThemeto use normalized component themes and returnCardThemeDataandDialogThemeDatainstead ofCardThemeandDialogTheme. This is in-line with changes in Flutter 3.27.0.
FIX
- BUG: Locked
errorContainerusedtertiaryContainer, corrected to useerrorContainer.
Themes Playground
NEW
- Slider: On the Slider panel added a scheme color selector for the Slider thumb color.
- BottomSheet: On the BottomSheet panel added a clipping behavior selector.
- TabBar: On the TabBar panel added a tab indicator animation selector.
CHANGE
- Slider: Increased Playground allowed max Slider track height from 14 to 40.
Version 8.0.2
8.0.2
Dec 1, 2024
Package
FIX
-
Changelog for version 8.0.0 says and intended this:
"The
FlexSubThemesDatapropertyinputDecoratorIsFillednow default tofalsewhen undefined, like Flutter SDK does.
Set it totrueto get the same style it had with previous undefined value."Due to a bug, this was not the case. This release fixes the bug and the property now defaults to
falsewhen undefined, as intended and documented in version 8.0.0 changelog. FIX: #265
Version 8.0.1
8.0.1
Nov 13, 2024
Package
FIX
- Fixed the version constraint. The V8 package is only compatible with Flutter 3.24.0 and later. It was intended to be compatible with Flutter 3.22.0 and later, but a theming API that is only available in Flutter version 3.24.0 and later made it into the release. If you need a release of version 8 that is also compatible with Flutter 3.22.x, you can use version 8.0.1-dev.3.22 of the package. That package release is identical to this release, but excludes the API not available in Flutter 3.22.0.
Themes Playground
NEW
- Added a quick share button on the side menu. It exports the Playground settings to JSON, makes a URL of it and copies the result to the clip board in one go. Ready to be shared where needed.
CHANGE
- Made changes to the Playground to make it possible to compile it to a Web WASM-GC build. The Playground WASM build is still experimental and not yet published anywhere.