Releases

Updating styled components is usually as simple as npm install. Only major versions have the potential to introduce breaking changes (noted in the following release notes).

v6.1.13

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.12...v6.1.13

v6.1.12

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.11...v6.1.12

v6.1.11

What's Changed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.10...v6.1.11

v6.1.10

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.9...v6.1.10

v6.1.9

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.8...v6.1.9

v6.1.8

Revert adding peerDependencies from v6.1.7; apparently some package managers have differing behaviors around peerDependenciesMeta[package].optional which is causing issues. Will revisit at a later date if possible.

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.7...v6.1.8

v6.1.7

What's Changed

  • chore: add all missing peer dependency statements by @quantizor in https://github.com/styled-components/styled-components/pull/4243

    NOTE: this change may cause some installed dependency duplication until this NPM bug is addressed but yarn and pnpm have correct behavior. Bun also has a similar bug.

    Overall these changes ensure that styled-components is specifying a known working version of all utilized libraries, while instructing the client package manager that higher semver-compliant versions are permissible and should work, assuming the relevant libraries are compliant in practice.

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.6...v6.1.7

v6.1.6

What's Changed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.5...v6.1.6

v6.1.5

What's Changed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.4...v6.1.5

v6.1.4

What's Changed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.3...v6.1.4

v6.1.3

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.2...v6.1.3

v6.1.2

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.1...v6.1.2

v6.1.1

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.1.0...v6.1.1

v6.1.0

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.9...v6.1.0

v6.0.9

fix bundling to not hardcode window (should fix some testing use cases that were incorrectly assuming a server environment when JSDOM and similar are in use)

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.8...v6.0.9

v6.0.8

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.7...v6.0.8

v6.0.7

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.6...v6.0.7

v6.0.6

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.5...v6.0.6

v6.0.5

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.4...v6.0.5

v6.0.4

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.3...v6.0.4

v6.0.3

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.2...v6.0.3

v6.0.2

What's Changed

New Contributors

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.1...v6.0.2

v6.0.1

Fixed an issue where a dev-time warning was being triggered too eagerly.

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.0...v6.0.1

v6.0.0

yarn add styled-components

Changed in this version

  • fix(types): prevent prop bleed on styling properties (fixes #4053, c0f8015af64367938ff9d9debf90fb8005459c6c)
  • feat(types): ship csstype via "CSS" namespace (e6c4f0a6b1a1c483cf0c433f0d0434bbda124d2c)
  • chore: bump stylis to 4.3 (fixes #4007, fa58875dcbdbff43532c3b9519eb5fc7d009830d)
  • reduced some sources of unnecessary branching logic

Breaking changes in v6

Migration guide → https://styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v6

  • now using stylis v4 (if using stylis-plugin-rtl you'll need to upgrade to the newer version)
  • styled-components now provides its own types; if you installed @types/styled-components in the past, you'll want to remove it
  • dropped $as and $forwardedAs props (use as or forwardedAs)
  • dropped automatic prop filtering; use transient props ($ prefix) for stuff you don't want to be passed to child component / HTML
  • StyleSheetManager
    • replaced disableVendorPrefixes with enableVendorPrefixes prop
    • dropped automatic vendor prefixing; if you need to support older browsers, you can re-enable it easily with the above prop tsx <StyleSheetManager enableVendorPrefixes> {/* your React tree and ThemeProvider goes here */} </StyleSheetManager>
  • dropped deprecated withComponent API (87f511a228e5b13b1ff70a416409e0705e5bf456); use "as" prop instead
  • node >= 14 needed

Full Changelog: https://github.com/styled-components/styled-components/compare/v5.3.7...v6.0.0

v6.0.0-rc.6

yarn add styled-components

Changed in this version

Breaking changes in v6

Migration guide → https://styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v6

  • now using stylis v4 (if using stylis-plugin-rtl you'll need to upgrade to the newer version)
  • styled-components now provides its own types; if you installed @types/styled-components in the past, you'll want to remove it
  • dropped $as and $forwardedAs props (use as or forwardedAs)
  • dropped automatic prop filtering; use transient props ($ prefix) for stuff you don't want to be passed to child component / HTML
  • StyleSheetManager
    • replaced disableVendorPrefixes with enableVendorPrefixes prop
    • dropped automatic vendor prefixing; if you need to support older browsers, you can re-enable it easily with the above prop tsx <StyleSheetManager enableVendorPrefixes> {/* your React tree and ThemeProvider goes here */} </StyleSheetManager>
  • dropped deprecated withComponent API (87f511a228e5b13b1ff70a416409e0705e5bf456); use "as" prop instead
  • node >= 14 needed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.0-rc.5..v6.0.0-rc.6

v6.0.0-rc.5

yarn add styled-components

Changed in this version

New Contributors

Breaking changes in v6

Migration guide → https://styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v6

  • now using stylis v4 (if using stylis-plugin-rtl you'll need to upgrade to the newer version)
  • styled-components now provides its own types; if you installed @types/styled-components in the past, you'll want to remove it
  • dropped $as and $forwardedAs props (use as or forwardedAs)
  • dropped automatic prop filtering; use transient props ($ prefix) for stuff you don't want to be passed to child component / HTML
  • StyleSheetManager
    • replaced disableVendorPrefixes with enableVendorPrefixes prop
    • dropped automatic vendor prefixing; if you need to support older browsers, you can re-enable it easily with the above prop tsx <StyleSheetManager enableVendorPrefixes> {/* your React tree and ThemeProvider goes here */} </StyleSheetManager>
  • dropped deprecated withComponent API (87f511a228e5b13b1ff70a416409e0705e5bf456); use "as" prop instead
  • node >= 14 needed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.0-rc.3..v6.0.0-rc.5

v6.0.0-rc.3

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.0-rc.2...v6.0.0-rc.3

v5.3.11

Removed use of the useDebugValue hook to rectify older React support.

Full Changelog: https://github.com/styled-components/styled-components/compare/v5.3.10...v5.3.11

v6.0.0-rc.2

yarn add styled-components

Changed in this version

New Contributors

Upcoming

  • v6 migration documentation

Breaking changes in v6

  • now using stylis v4 (if using stylis-plugin-rtl you'll need to upgrade to the newer version)
  • styled-components now provides its own types; if you installed @types/styled-components in the past, you'll want to remove it
  • dropped $as and $forwardedAs props (use as or forwardedAs)
  • dropped automatic prop filtering; use transient props ($ prefix) for stuff you don't want to be passed to child component / HTML
  • StyleSheetManager
    • replaced disableVendorPrefixes with enableVendorPrefixes prop
    • dropped automatic vendor prefixing; if you need to support older browsers, you can re-enable it easily with the above prop tsx <StyleSheetManager enableVendorPrefixes> {/* your React tree and ThemeProvider goes here */} </StyleSheetManager>
  • dropped deprecated withComponent API (87f511a228e5b13b1ff70a416409e0705e5bf456); use "as" prop instead
  • node >= 14 needed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.0-rc.1...v6.0.0-rc.2

v6.0.0-rc.1

yarn add styled-components

Changed in this version

  • bump stylis to 4.2.0 to enable @layer rule support

Upcoming

  • v6 migration documentation

Breaking changes in v6

  • now using stylis v4 (if using stylis-plugin-rtl you'll need to upgrade to the newer version)
  • styled-components now provides its own types; if you installed @types/styled-components in the past, you'll want to remove it
  • dropped $as and $forwardedAs props (use as or forwardedAs)
  • dropped automatic prop filtering; use transient props ($ prefix) for stuff you don't want to be passed to child component / HTML
  • StyleSheetManager
    • replaced disableVendorPrefixes with enableVendorPrefixes prop
    • dropped automatic vendor prefixing; if you need to support older browsers, you can re-enable it easily with the above prop tsx <StyleSheetManager enableVendorPrefixes> {/* your React tree and ThemeProvider goes here */} </StyleSheetManager>
  • dropped deprecated withComponent API (87f511a228e5b13b1ff70a416409e0705e5bf456); use "as" prop instead
  • node >= 14 needed

Full Changelog: https://github.com/styled-components/styled-components/compare/v6.0.0-rc.0...v6.0.0-rc.1