All Versions
Latest Version
Avg Release Cycle
41 days
Latest Release
175 days ago

Changelog History
Page 2

  • v5.0.0-rc.2 Changes

    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 Changes

    October 31, 2019

    Inline mixin-deep so it is transpiled consistently for IE

  • v5.0.0-rc.0 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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)

  • v5.0.0-beta.3 Changes

    June 18, 2019

    ๐Ÿ›  Fixes the "stream" module not getting properly DCE'd for browser build targets