All Versions
Latest Version
Avg Release Cycle
33 days
Latest Release
135 days ago

Changelog History
Page 1

  • v5.0.0

    July 01, 2019

    ➕ add lightweight dev warning when theme is consumed but not provided (#2655)

    🛠 fix component selectors + css prop usage (#2656)

    🏗 > 5.0.0-beta.7 was unpublished due to a build error

  • v5.0.0-rc.2

    November 12, 2019

    🚀 Note: we've switched from canary to v5 as the target branch for the new release. It's basically the same, but fixed up so it'll merge cleanly onto master.

    🔄 Changes from rc.1:

    • 🛠 fix a few missed cases where attrs were not preferred over props (d2f4509)
    • ✂ remove the theme usage dev-time check (df36f93); this was done in master already, just forward-porting
    • 💅 aggregate classNames passed via attrs (#2859, 12a9f3c)
    • 💅 replace rehydration from CSSOM with progressive regex (#2872)
  • v5.0.0-rc.1

    October 31, 2019

    Inline mixin-deep so it is transpiled consistently for IE

  • v5.0.0-rc.0

    October 30, 2019

    🚀 We're almost there! After several months of work (thank you beta testers!) this is the first v5 release candidate build.

    Overall v5 changes:

    🐎 Major performance and bundle size improvements over v4, see the announcement blog for more details!

    💅 StyleSheetManager enhancements

    • you can now supply stylis plugins like stylis-rtl; <StyleSheetManager stylisPlugins={[]}>...</StyleSheetManager>
    • disableVendorPrefixes removes autoprefixing if you don't need legacy browser support; <StyleSheetManager disableVendorPrefixes>...</StyleSheetManager>

    - disableCSSOMInjection forces using the slower injection mode if other integrations in your runtime environment can't parse CSSOM-injected styles; <StyleSheetManager disableCSSOMInjection>...</StyleSheetManager>

    ✂ Removed the "subfunction" attrs syntax that was deprecated in v4

    styled.div.attrs({ role: p =\> p.onClick ? 'button' : '' })` color: red;`


    styled.div.attrs(p =\> ({ role: p.onClick ? 'button' : '' }))` color: red;`

    🔄 Changes since the last beta:

    💅 disallow /ad/i in generated class names (#2837); this change primarily helps to avoid some overly aggressive ad blockers that will mangle generated classnames containing the substring "ad"

    💅 Update css-to-react-native to v3.0.0 (#2811); the one breaking change noted is that unitless line height is no longer allowed when setting font properties

    💅 replace merge-anything with mixin-deep (#2838); saving bytes, this is used when merging defaultProps for extended styled components

    💅 shard createGlobalStyle by runtime instance (#2824); cGS is implemented such that it's really meant to be used as a singleton, but it's not uncommon for people to have multiple instances of the same cGS component on the page at once. This change ensures that as instances and mounted and removed the existing global styles don't get removed as well

    📝 memoize theme (#2820); a minor performance tweak when ThemeProvider is given a reference-equal theme prop

    💅 make ThemeProvider error straightforward (#2787); more obvious messaging that the theme prop is required when using ThemeProvider

  • v5.0.0-beta.9

    September 22, 2019
    • 💅 attrs should take precedence over props (#2737)
    • 💅 Use ownerDocument instead of global document (#2726) props @yamachig
    • 💅 show the multi instance warning for all envs (#2663)
    • 💅 Get rid of the ThemeProvider single child context restriction (#2708) props @vkrol
    • 💅 Update error message with clickable link. (#2702) props @unixchad
    • 📝 memoize createGlobalStyle for performance
  • v5.0.0-beta.8

    July 01, 2019

    ➕ add lightweight dev warning when theme is consumed but not provided (#2655)

    🛠 fix component selectors + css prop usage (#2656)

    🏗 > 5.0.0-beta.7 was unpublished due to a build error

  • v5.0.0-beta.7

    July 01, 2019
  • v5.0.0-beta.6

    June 27, 2019

    ✂ remove the concept of foldedComponentIds (#2652); fixes an issue where if a folded component itself is used later in the component tree than the folding result it could lead to specificity clashes

    💅 bump too many classes warning back up to 200 (7af8e12)

    💅 revise & simplify how we determine the theme, fix createGlobalStyle HMR and behavior around defaultProps.theme (#2647)

  • v5.0.0-beta.5

    June 22, 2019

    🐎 switched from stylis to @emotion/stylis (#2640); mostly a bundle size win and a minor performance boost

    ✂ removed "stylisOptions" prop from StyleSheetManager, but reimplemented the ability to remove vendor prefixes as "disableVendorPrefixes"

    💅 disable ComponentStyle staticness in non-production modes (#2634); should help fix some cases where className mismatches happen in runtimes like next.js dev mode

    💅 lower the threshold for the "too many classes" warning to 50 (#2622); the previous limit was 200, probably much too high

  • v5.0.0-beta.4

    June 21, 2019

    🛠 Fix babel macro with updated babel-plugin-styled-components (#2635)

    🛠 Fix backward-compat issue with a way of doing SSR in v4 (#2639)