# History in Tweets

Over the years, a number of Tweet threads have been created to present new release of **FlexColorScheme** and **Themes Playground**. You can find them below. They are useful as a summary of new features and changes in releases. The tweet threads also serve as a history that shows how FlexColorScheme has evolved over time. 

Some threads are not release related, but useful general theming guides. You can also use the last few tweet threads as an update about what is new in the FlexColorScheme world. Reading them from start to finnish, they also work as a TLDR story for learning what you can do with FlexColorScheme and Themes Playground. For most purposes, reading the last 2 to 3 release threads and the general tweet guides, is a good way to get an overview of what you can do with FlexColorScheme and its companion web app, the Themes Playground.

## Version 1
_December 21, 2020_

First humble release of FlexColorScheme 1.0.0. There is not even a tweet about it. It launched with 20 different built-in color schemes. There is a tweet for the **version 1.1** released shortly after, on _December 29, 2020_. The tweet also shows the very modest version of example 5, that much later evolved into the **Themes Playground**.

<Tweet id="1344171508692905984" cards />


### Version 1.2
_January 4, 2021_

The journey to add more color schemes started in version 1.2, by adding 4 new ones. **Amber blue**, **Vesuvius burned**, **Deep purple** and **Ebony clay**, taking the number of built-in schemes from 20 to 24. 

<Tweet id="1345928845334110208" cards />

**Version 1.3** was released a few days later on _January 7, 2021_. It added more tests, made some internal improvements and marked `FlexSchemeSurfaceColors.themeSurface` as deprecated in favor of the correctly named `FlexSchemeSurfaceColors.surfaceStyle`. It was a silent fix without any tweet announcements.

### Version 1.4
_January 18, 2021_

Version 1.4 added a simper API for using built-in schemes, the still used `schemes` property. It contained first experimental support for Android transparent system navigation bar. Added the reference table for built-in schemes. It also automated the test pipe using Codecov and hit 99% code test coverage.

<Tweet id="1351060450218225664" cards />


### Version 1.4.1
_January 4, 2021_

This version should have been called 1.5.0, since it added new features in the form of 4 new themes. This time **Barossa**, **Shark and orange**, **Big stone tulip** and **Damask and lunar**. The number of color themes now grew from 24 to 28.

<Tweet id="1355730893499936771" cards />

## Version 2
_March 15, 2021_

Version 2.0 was the step of going to sound-null safety and Dart 2.0. Test coverage also reached 99.78%. Feature wise it did not bring anything new, but it was a needed and significant chore update.

<Tweet id="1371358515286147072" cards />


## Version 3 
_June 26, 2021_

Version 3 was the first release with a real Tweet thread summary. It was also the first major release after the null-safety upgrade. The only breaking change was removing `accentColor`, that was getting deprecated in Flutter SDK.

Version 3 also added four new built-in color themes, **Bahama and trinidad**, **Mallard and valencia**, **Espresso and crema** and **Outer space stage**, increasing the total number of color themes from 28 to 32. A minor new feature allowing swapping primary and secondary colors in a scheme with a quick setting, was also added.

<Tweet id="1408863960514895873" cards />

## Version 4
_November 14, 2021_

In version 4, the feature to opt-in on using opinionated component theming was first introduced. It offered the first take on what is still available as a very opinionated optional style for Material-2. To make it look, and to a degree emulate coming Material-3 design. The release was a major step forward in features. It only had a few minor style breaking changes. APIs were actually unbroken, but the minor breakage in a few past theme styles and major new feature warranted and new major release bump. 

Version 4 again adds four new color themes, **Blue whale**, **San Juan blue**, **Rosewood red** and **Blumine**, bring the total up from 32 to 36.

<Tweet id="1459984929631215618" cards />

### Version 4.1
_November 20, 2021_

Version 4.1 release was when **Example 5** in the tutorial, started to take off and evolve into the **Themes Playground**. It got its feature that enables it to generate API config code, that can be copied and used to re-use the configured theme in an app. 

<Tweet id="1461961956164874241" cards />

### Version 4.2
_January 24, 2022_

In version 4.2, support for Flutter 2.8 was added. The release required using minimum Flutter 2.8.0 and Dart 2.15. FlexColorScheme also received its [Flutter Favorite](https://docs.flutter.dev/packages-and-plugins/favorites) status in conjunction with [Flutter 2.8 release on December 9, 2021](https://medium.com/flutter/whats-new-in-flutter-2-8-d085b763d181). 

This release is also the one where it first became necessary to start limiting new FlexColorScheme releases' Flutter backwards compatibility to the latest release. This is simply due to constant additions and changes in theming properties offered and changed in the Flutter SDK. This phase is still going on today with new Material-3 features being added and ThemeData color properties constantly being deprecated. 

Version 4.2 also added many new features, one of them being features that allow changing `ColorScheme` color mappings on component theme level. It also added support for the first real Material-3 style component, the `NavigationBar`.

<Tweet id="1485684767249125378" cards />

## Version 5
_April 21, 2022_

This major release got four new built-in color theme, **Flutter Dash** , **M3 baseline**, **Verdun green** and **Dell genoa green**, bringing the number of themes from 36 to **40 matched** light and dark pairs. 

The release was also one of the biggest new feature additions made in a single major release. It also contained breaking style and API changes. All the built-in color schemes the themes used, were revised to follow the new **Flutter 2.10.0** Material3 based `ColorScheme`, that added many new color properties and deprecated some. Seed generated `ColorScheme`, using more than one seed color and custom chroma config limits, were also introduced.

This version also included the launch of the documentation web-site that you are reading now.

<Tweet id="1517005624814493696" cards />

The actual meat and info about version 5 was tweeted already a week before the launch, in the 5.0.0-dev1 release. This dev or beta release thread is also valid for the final 5.0.0 released features. It presents all the new features in detail, in a tweet thread with 24 slides.

Version 5 is also where the **Themes Playground** started getting its current form and many of the features it has today.

<Tweet id="1503224831122321409" cards />

## Version 6
_August 31, 2022_

There is no Tweet thread about version 6.0. It is a very big release that came out during [Flutter Vikings conference](https://rydmike.com/blog_vikings_2022_talk). Due to participation and speaking at the conference and releasing a big new version at the same time, there was no time to make a nice Tweet slide deck presentation. However, the above-linked talk from the conference presents the new Material-3 features it added support for. The release also requires minimum **Flutter 3.3**, that was released at the same time.

This version also moved the advanced ColorScheme generation features into a separate package called [**FlexSeedScheme**](https://pub.dev/packages/flex_seed_scheme) and stopped using the [Material Color Utilities](https://pub.dev/packages/material_color_utilities) package directly. 


### Version 6.1 
_November 20, 2022_

There is a Tweet presentation slide deck for version 6.1. Despite being only a minor release, it contains more new features for **FlexColorScheme** and the **Themes Playground** than version 6.0 did.

<Tweet id="1594165376102944768" cards />

## Version 7
_April 2, 2023_

Version 7 is a big release, requiring minimum **Flutter 3.7** and containing massive updates to the **Themes Playground**, like a theme simulator to show the impact of selected themes on a few demo apps, including the official Flutter Material-3 demo app. It also includes many preconfigured component theming examples. They can be used as theming capability examples, or starting points for custom themes.

Flutter version 3.7 is also the first **Flutter** release where using Material-3 in a production Flutter app is recommended and endorsed by FlexColorScheme author.

In version 7, **twelve** new color themes were added. Now there is a total of **52** built-in color themes. 

<Tweet id="1642621032744775682" cards />

**Version 7.0.1** was released four days later. No package changes, but it added several significant improvements to the **Themes Playground** user experience. It introduced a compacter UI more suitable on laptop screens and also made the user interface less chatty by hiding long explanations behind **more info** expands icons.

<Tweet id="1644084312084557824" cards />

### Version 7.1 
_May 12, 2023_

In version 7.1, **FlexColorScheme** adds support for **Flutter 3.10** and **Dart 3.0**.


<Tweet id="1656877908038766593" cards />

### Version 7.2
_July 21, 2023_

In version 7.2, **FlexColorScheme** and **Themes Playground** brings new features like:

- Visual density setting, with platform adaptive features.
- Platform adaptive splash ink effects, keep Android's default Material splash effects on Android, but use instant splash on other platforms.
- Platform adaptive theming of dialog border radius.
- Switch with fixed thumb size in Material-3 mode.
- Text selection theme customization.
- Two new cool **ColorScheme** seed generation strategies called **Candy Pop** and **Chroma**.
- Make any seed strategy use tone 100 (white) or tone 0 (black) as resulting surface and background tones.

<Tweet id="1682454745758289940" cards />

### Version 7.3
_August 16, 2023_

Version 7.3 of **FlexColorScheme** adds support for **Flutter 3.13**, it even requires it, as it uses some new theming APIs not available in earlier versions of Flutter.  

<Tweet id="1692287377505431883" cards />

## WIP

Some sneak peeks into work in progress. Using a different shape type for the corner radius, something else than current circular corners. Most notably "Squircle" shaped corners, which is used by Apple in iOS. The Squircle is often seen and used in many Figma designs as well. The squircle or super ellipses border radius is generally perceived as looking a bit softer and friendlier than the circular border radius.

<Tweet id="1659667064238350344" cards />
