UNPKG

70.9 kBMarkdownView Raw
1# Changelog
2
3All notable changes to this project will be documented in this file. If a contribution does not have a mention next to it, [@geelen](https://github.com/geelen) or [@mxstbr](https://github.com/mxstbr) did it.
4
5_The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/)._
6
7## Unreleased
8
9- Performance optimization for fully static (no function interpolation) styled-components by avoiding using `ThemeConsumer` since it isn't necessary, by [@mxstbr](https://github.com/mxstbr) (see [#2166](https://github.com/styled-components/styled-components/pull/2166))
10
11- Allow disabling "speedy" mode via global `SC_DISABLE_SPEEDY` variable, by [@devrelm](https://github.com/devrelm) (see [#2185](https://github.com/styled-components/styled-components/pull/2185))
12
13 To make use of this, you can either set `SC_DISABLE_SPEEDY` in your app's entry file or use something like `webpack.DefinePlugin` to do it at build time:
14
15 ```js
16 webpack.DefinePlugin({
17 SC_DISABLE_SPEEDY: true,
18 });
19 ```
20
21- Attrs can now be passed a function (see [#2200](https://github.com/styled-components/styled-components/pull/2200)); thanks [@oliverlaz](https://github.com/oliverlaz) for providing an early PoC PR for this!
22
23 e.g.:
24
25 ```js
26 styled.div.attrs(props => ({ 'aria-title': props.title }))``;
27 ```
28
29- Fix the `warnTooManyClasses` dev helper not being totally dead code eliminated in production (see [#2200](https://github.com/styled-components/styled-components/pull/2200))
30
31- Deprecate functions as object keys for object-form attrs (see [#2200](https://github.com/styled-components/styled-components/pull/2200))
32
33 e.g.:
34
35 ```js
36 styled.div.attrs({ 'aria-title': props => props.title })``; // bad
37 styled.div.attrs(props => ({ 'aria-title': props.title }))``; // good
38 ```
39
40 Support for this will be removed in styled-components v5. The primary impetus behind this change is to eliminate confusion around basic functions vs styled-components vs React components provided as values in the object-form attrs constructor, each of which has different handling behaviors. The single outer function to receive the props and then return a props object is conceptually simpler.
41
42- The standalone CDN build is now UMD-compliant and can be used with RequireJS, etc.
43
44- Add pixels to unitless numbers when object interpolation is used, by [@Fer0x](https://github.com/Fer0x) (see [#2173](https://github.com/styled-components/styled-components/pull/2173))
45
46- Trying to interpolate a non-styled component into CSS is now a hard error, rather than a warning (see [#2173](https://github.com/styled-components/styled-components/pull/2173))
47
48## [v4.0.3] - 2018-10-30
49
50- Interpolating a styled component into a string now returns the static component selector (emotion cross-compat)
51
52 ```js
53 import styled from 'styled-components';
54
55 const Comp = styled.div`
56 color: red;
57 `;
58
59 `${Comp}`; // .sc-hash
60 ```
61
62- Add `suppressClassNameWarning` prop to disable warning when wrapping a React component with `styled()` and the `className` isn't used, by [@Fer0x](https://github.com/Fer0x) (see [#2156](https://github.com/styled-components/styled-components/pull/2156))
63
64- Expose ThemeContext to enable static contextType support for React 16.6, by [@imbhargav5](https://github.com/imbhargav5) (see [#2152](https://github.com/styled-components/styled-components/pull/2152))
65
66- Filter out invalid HTML attributes from `attrs`, by [@Fer0x](https://github.com/Fer0x) (see [#2133](https://github.com/styled-components/styled-components/pull/2133))
67
68- Add warning if an `attrs` prop is a function that returns an element, by [@timswalling](https://github.com/timswalling) (see [#2162](https://github.com/styled-components/styled-components/pull/2162))
69
70## [v4.0.2] - 2018-10-18
71
72- Handle an edge case where an at-rule was being supplied to the self-reference stylis plugin at an incorrect context setting, by [@probablyup](https://github.com/probablyup) (see [#2114](https://github.com/styled-components/styled-components/pull/2114))
73
74## [v4.0.1] - 2018-10-17
75
76- Add suppressMultiMountWarning prop to disable warning on multiple cgs mount, by [@imbhargav5](https://github.com/imbhargav5) (see [#2107](https://github.com/styled-components/styled-components/pull/2107))
77
78- Fix self-reference replacement edge cases, by [@probablyup](https://github.com/probablyup) (see [#2109](https://github.com/styled-components/styled-components/pull/2109))
79
80## [v4.0.0] - 2018-10-15
81
82This is a rollup of the highlights of beta 0-11 for convenience. See the [migration guide](https://www.styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v4) for easy updating steps and the [beta announcement blog](https://medium.com/styled-components/announcing-styled-components-v4-better-faster-stronger-3fe1aba1a112) for our summary of v4's changes, thought process, etc.
83
84### New stuff
85
86- Add babel macro for full-featured interop with create react app v2+, by [@lucleray](https://github.com/lucleray) (see [#2032](https://github.com/styled-components/styled-components/pull/2032))
87
88- Expose `ThemeConsumer` component, context consumer render prop component from the `React.createContext` API if people are interested in using it rather than / in addition to the `withTheme` HOC, by [@probablyup](https://github.com/probablyup)
89
90- Add `createGlobalStyle` that returns a component which, when mounting, will apply global styles. This is a replacement for the `injectGlobal` API. It can be updated, replaced, removed, etc like any normal component and the global scope will update accordingly, by [@JamieDixon](https://github.com/JamieDixon) [@marionebl](https://github.com/marionebl), [@yjimk](https://github.com/yjimk), and [@imbhargav5](https://github.com/imbhargav5) (see [#1416](https://github.com/styled-components/styled-components/pull/1416))
91
92 ```jsx
93 const GlobalStyles = createGlobalStyle`
94 html {
95 color: 'red';
96 }
97 `;
98
99 // then put it in your React tree somewhere:
100 // <GlobalStyles />
101 ```
102
103- Added a first-class API for rendering polymorphism via "as" prop. In most cases, this new prop will replace your need to use the `.withComponent` API. It allows you to control what underlying element or component is rendered at runtime, while not messing with the styles, by [@probablyup](https://github.com/probablyup) (see [#1962](https://github.com/styled-components/styled-components/pull/1962))
104
105 ```jsx
106 import { Link } from 'react-router'
107
108 const Component = styled.div`
109 color: red;
110 `
111
112 // Examples
113 <Component>Hello world!</Component>
114 <Component as="span">Hello world!</Component>
115 <Component as={Link} to="home">Hello world!</Component>
116 ```
117
118### Breaking changes
119
120- Fix how ampersand is handled in self-referential selector combinations, e.g. `& + &` (see [#2071](https://github.com/styled-components/styled-components/pull/2071))
121
122- Remove deprecated `consolidateStreamedStyles` API, by [@probablyup](https://github.com/probablyup) (see [#1906](https://github.com/styled-components/styled-components/pull/1906))
123
124- Remove deprecated `jsnext:main` entry point from package.json, by [@probablyup](https://github.com/probablyup) (see [#1907](https://github.com/styled-components/styled-components/pull/1907))
125
126- Remove deprecated `.extend` API, by [@probablyup](https://github.com/probablyup) (see [#1908](https://github.com/styled-components/styled-components/pull/1908))
127
128- Migrate to new context API, by [@alexandernanberg](https://github.com/alexandernanberg) (see [#1894](https://github.com/styled-components/styled-components/pull/1894))
129
130- Remove TS typings; they are now to be found in DefinitelyTyped, by [@probablyup](https://github.com/probablyup). See https://github.com/styled-components/styled-components/issues/1778 for more information.
131
132- Add new `data-styled-version` attribute to generated `<style>` tags to allow multiple versions of styled-components to function on the page at once without clobbering each other, by [@probablyup](https://github.com/probablyup)
133
134 It's still highly recommended to use aliasing via your bundler to dedupe libraries like styled-components and react.
135
136- [Breaking change] Refactor `keyframes` helper, by [@fer0x](https://github.com/Fer0x) (see [#1930](https://github.com/styled-components/styled-components/pull/1930)).
137
138 Keyframes is now implemented in a "lazy" manner: its styles will be injected with the render phase of components using them.
139
140 `keyframes` no longer returns an animation name, instead it returns an object which has method `.getName()` for the purpose of getting the animation name.
141
142- Migrate to use new `React.forwardRef` API, by [@probablyup](https://github.com/probablyup); note that this removes the `innerRef` API since it is no longer needed.
143
144- Implement `styled()` wrapper folding. In a nutshell, when you nest styled wrappers (e.g. `styled(styled.div)`) the components are now folded such that only one is mounted that contains the merged styles of its ancestors. This is conceptually equivalent to the removed "extend" functionality, but without many of the downsides -- and it's automatic, by [@probablyup](https://github.com/probablyup) (see [#1962](https://github.com/styled-components/styled-components/pull/1962))
145
146### Developer experience improvements
147
148- Add warning when component is not a styled component and cannot be referred via component selector, by [@egdbear](https://github.com/egdbear) (see [#2070](https://github.com/styled-components/styled-components/pull/2070))
149
150 When using CRA v2, import styled components from `styled-components/macro` instead to gain all the benefits of [our babel plugin](https://github.com/styled-components/babel-plugin-styled-components).
151
152- Add a warning when wrapping a React component with `styled()` and the `className` isn't used (meaning styling isn't applied), by [@Fer0x](https://github.com/Fer0x) (see [#2073](https://github.com/styled-components/styled-components/pull/2073))
153
154- Tweak the styled components base component naming to look nicer in DevTools, by [@probablyup](https://github.com/probablyup) (see [#2012](https://github.com/styled-components/styled-components/pull/2012))
155
156- Beef up the error message that sometimes occurs when multiple versions of styled components are used together and the StyleSheet instance can't be found, by [@probablyup](https://github.com/probablyup) (see [#2012](https://github.com/styled-components/styled-components/pull/2012))
157
158### Misc
159
160- Add `enzymeFind` test utility to easily grab instances of a styled-component from enyzme mounted testing scenarios, by [@probablyup](https://github.com/probablyup) (see [#2049](https://github.com/styled-components/styled-components/pull/2049))
161
162 ```js
163 import { mount } from 'enzyme';
164 import React from 'react';
165 import styled from 'styled-components';
166 import { enzymeFind } from 'styled-components/test-utils';
167
168 const Thing = styled.div`
169 color: red;
170 `;
171
172 const wrapper = mount(
173 <div>
174 <Thing isCool />
175 </div>
176 );
177
178 const thing = enzymeFind(wrapper, Thing);
179
180 // expect(thing.props()).toHaveProperty('isCool') etc
181 ```
182
183- Inline and optimize the static hoisting functionality to avoid a bundler bug and shed a bit of package weight, by [@probablyup](https://github.com/probablyup) (see [#2021](https://github.com/styled-components/styled-components/pull/2021)
184
185## [v4.0.0-beta.11] - 2018-10-08
186
187- Add warning when component is not a styled component and cannot be referred via component selector, by [@egdbear](https://github.com/egdbear) (see [#2070](https://github.com/styled-components/styled-components/pull/2070))
188
189- Fix how ampersand is handled in self-referential selector combinations, e.g. `& + &` (see [#2071](https://github.com/styled-components/styled-components/pull/2071))
190
191- Add babel macro for full-featured interop with create react app v2+, by [@lucleray](https://github.com/lucleray) (see [#2032](https://github.com/styled-components/styled-components/pull/2032))
192
193 When using CRA v2, import styled components from `styled-components/macro` instead to gain all the benefits of [our babel plugin](https://github.com/styled-components/babel-plugin-styled-components).
194
195- Add a warning when wrapping a React component with `styled()` and the `className` isn't used (meaning styling isn't applied), by [@Fer0x](https://github.com/Fer0x) (see [#2073](https://github.com/styled-components/styled-components/pull/2073))
196
197## [v4.0.0-beta.10] - 2018-10-04
198
199- Add support for `as` to be used with `attrs` for better polymorphism, by [@imbhargav5](https://github.com/imbhargav5) (see [#2055](https://github.com/styled-components/styled-components/pull/2055))
200
201- Fix `withTheme` HOC to use a theme defined in `defaultProps` of the wrapped component, by [@theboyWhoCriedWoolf](https://github.com/theboyWhoCriedWoolf) (see [#2033](https://github.com/styled-components/styled-components/pull/2033))
202
203- Add `enzymeFind` test utility to easily grab instances of a styled-component from enyzme mounted testing scenarios, by [@probablyup](https://github.com/probablyup) (see [#2049](https://github.com/styled-components/styled-components/pull/2049))
204
205```js
206import { mount } from 'enzyme';
207import React from 'react';
208import styled from 'styled-components';
209import { enzymeFind } from 'styled-components/test-utils';
210
211const Thing = styled.div`
212 color: red;
213`;
214
215const wrapper = mount(
216 <div>
217 <Thing isCool />
218 </div>
219);
220
221const thing = enzymeFind(wrapper, Thing);
222
223// expect(thing.props()).toHaveProperty('isCool') etc
224```
225
226## [v4.0.0-beta.9] - 2018-09-24
227
228- Fix usage of `keyframes` with `createGlobalStyle`, by [@probablyup](https://github.com/probablyup) (see [#2029](https://github.com/styled-components/styled-components/pull/2029))
229
230## [v4.0.0-beta.8] - 2018-09-20
231
232- Inline and optimize the static hoisting functionality to avoid a bundler bug and shed a bit of package weight, by [@probablyup](https://github.com/probablyup) (see [#2021](https://github.com/styled-components/styled-components/pull/2021))
233
234## [v4.0.0-beta.7] - 2018-09-18
235
236- Revise createGlobalStyle HMR back to the original PR code without using `componentDidMount`, by [@probablyup](https://github.com/probablyup) (see [#2017](https://github.com/styled-components/styled-components/pull/2017))
237
238- Some light refactoring to further reduce object allocations, by [@probablyup](https://github.com/probablyup) (see [#2016](https://github.com/styled-components/styled-components/pull/2016))
239
240## [v4.0.0-beta.6] - 2018-09-17
241
242- Fix a bug introduced from some refactoring that went into beta.5 around usage of `keyframes` with multiple interpolations, by [@probablyup](https://github.com/probablyup) (see [#2013](https://github.com/styled-components/styled-components/pull/2013))
243
244- Tweak the styled components base component naming to look nicer in DevTools, by [@probablyup](https://github.com/probablyup) (see [#2012](https://github.com/styled-components/styled-components/pull/2012))
245
246- Beef up the error message that sometimes occurs when multiple versions of styled components are used together and the StyleSheet instance can't be found, by [@probablyup](https://github.com/probablyup) (see [#2012](https://github.com/styled-components/styled-components/pull/2012))
247
248## [v4.0.0-beta.5] - 2018-09-14
249
250- Fix issue with `createGlobalStyle` and hot module reload, by [@probablyup](https://github.com/probablyup) (see [#2007](https://github.com/styled-components/styled-components/pull/2007))
251
252- Remove keyframes factory function, by [@probablyup](https://github.com/probablyup) (see [#2006](https://github.com/styled-components/styled-components/pull/2006))
253
254## [v4.0.0-beta.4] - 2018-09-12
255
256- Use PureComponent instead of Component for the StyledComponent base class, by [@probablyup](https://github.com/probablyup)
257
258- Internal refactoring to simplify the codebase and make it more readily DCE-able, by [@probablyup](https://github.com/probablyup)
259
260## [v4.0.0-beta.3] - 2018-09-10
261
262- Fix an issue when streaming with very large amounts of output where sometimes styles might not make it to the client, by [@probablyup](https://github.com/probablyup) (see [#1996](https://github.com/styled-components/styled-components/pull/1996))
263
264- Fix the `createGlobalStyle` multiusage warning having false positives, by [@probablyup](https://github.com/probablyup) (see [#1993](https://github.com/styled-components/styled-components/pull/1993))
265
266## [v4.0.0-beta.2] - 2018-09-09
267
268- Expose `ThemeConsumer` component, context consumer render prop component from the `React.createContext` API if people are interested in using it rather than / in addition to the `withTheme` HOC, by [@probablyup](https://github.com/probablyup)
269
270- Remove "no tags" experiment, by [@probablyup](https://github.com/probablyup) (see [#1987](https://github.com/styled-components/styled-components/pull/1987))
271
272- Fixed an issue with `createGlobalStyle` when the component was composed in multiple places and render of the subsequent component instance happened before unmount of the original; previously we removed styles immediately upon unmount of any instance without checking how many copies were still alive, by [@probablyup](https://github.com/probablyup) (see [#1989](https://github.com/styled-components/styled-components/pull/1989))
273
274## [v4.0.0-beta.1] - 2018-09-06
275
276- Fixed an issue where `createGlobalStyle` was clobbering the very next style to be applied during rehydration in production mode, by [@probablyup](https://github.com/probablyup) (see [#1976](https://github.com/styled-components/styled-components/pull/1976))
277
278- Removed some unused code, by [@probablyup](https://github.com/probablyup) (see [#1976](https://github.com/styled-components/styled-components/pull/1976))
279
280- Switched `createGlobalStyle` to be a `PureComponent`, by [@probablyup](https://github.com/probablyup) (see [#1976](https://github.com/styled-components/styled-components/pull/1976))
281
282## [v4.0.0-beta.0] - 2018-09-04
283
284- Remove deprecated `consolidateStreamedStyles` API, by [@probablyup](https://github.com/probablyup) (see [#1906](https://github.com/styled-components/styled-components/pull/1906))
285
286- Remove deprecated `jsnext:main` entry point from package.json, by [@probablyup](https://github.com/probablyup) (see [#1907](https://github.com/styled-components/styled-components/pull/1907))
287
288- Remove deprecated `.extend` API, by [@probablyup](https://github.com/probablyup) (see [#1908](https://github.com/styled-components/styled-components/pull/1908))
289
290- Migrate to new context API, by [@alexandernanberg](https://github.com/alexandernanberg) (see [#1894](https://github.com/styled-components/styled-components/pull/1894))
291
292- Remove TS typings; they are now to be found in DefinitelyTyped, by [@probablyup](https://github.com/probablyup). See https://github.com/styled-components/styled-components/issues/1778 for more information.
293
294- Add new `data-styled-version` attribute to generated `<style>` tags to allow multiple versions of styled-components to function on the page at once without clobbering each other, by [@probablyup](https://github.com/probablyup)
295
296 It's still highly recommended to use aliasing via your bundler to dedupe libraries like styled-components and react.
297
298- [Breaking change] Refactor `keyframes` helper, by [@fer0x](https://github.com/Fer0x) (see [#1930](https://github.com/styled-components/styled-components/pull/1930)).
299
300 Keyframes is now implemented in a "lazy" manner: its styles will be injected with the render phase of components using them.
301
302 `keyframes` no longer returns an animation name, instead it returns an object which has method `.getName()` for the purpose of getting the animation name.
303
304* Add `createGlobalStyle` that returns a component which, when mounting, will apply global styles. This is a replacement for the `injectGlobal` API. It can be updated, replaced, removed, etc like any normal component and the global scope will update accordingly, by [@JamieDixon](https://github.com/JamieDixon) [@marionebl](https://github.com/marionebl), [@yjimk](https://github.com/yjimk), and [@imbhargav5](https://github.com/imbhargav5) (see [#1416](https://github.com/styled-components/styled-components/pull/1416))
305
306 ```jsx
307 const GlobalStyles = createGlobalStyle`
308 html {
309 color: 'red';
310 }
311 `;
312
313 // then put it in your React tree somewhere:
314 // <GlobalStyles />
315 ```
316
317- Migrate to use new `React.forwardRef` API, by [@probablyup](https://github.com/probablyup); note that this removes the `innerRef` API since it is no longer needed.
318
319- Implement `styled()` wrapper folding. In a nutshell, when you nest styled wrappers (e.g. `styled(styled.div)`) the components are now folded such that only one is mounted that contains the merged styles of its ancestors. This is conceptually equivalent to the removed "extend" functionality, but without many of the downsides -- and it's automatic, by [@probablyup](https://github.com/probablyup) (see [#1962](https://github.com/styled-components/styled-components/pull/1962))
320
321- Added a first-class API for rendering polymorphism via "as" prop. In most cases, this new prop will replace your need to use the `.withComponent` API. It allows you to control what underlying element or component is rendered at runtime, while not messing with the styles, by [@probablyup](https://github.com/probablyup) (see [#1962](https://github.com/styled-components/styled-components/pull/1962))
322
323 ```jsx
324 import { Link } from 'react-router'
325
326 const Component = styled.div`
327 color: red;
328 `
329
330 // Examples
331 <Component>Hello world!</Component>
332 <Component as="span">Hello world!</Component>
333 <Component as={Link} to="home">Hello world!</Component>
334 ```
335
336## [3.4.10] - 2018-10-09
337
338- Added a few iframe attributes to the valid attribute list: `allow`, `allowUserMedia`, `allowPaymentRequest`, by [@asoltys](https://github.com/asoltys) (see [#2083](https://github.com/styled-components/styled-components/pull/2083) and [#2085](https://github.com/styled-components/styled-components/pull/2085))
339
340## [v3.4.9] - 2018-09-18
341
342- Remove the `injectGlobal` warning; it's not actionable since the replacement API is in v4 only, so why say anything?
343
344## [v3.4.8] - 2018-09-17
345
346- Fix the `injectGlobal` warning not being properly guarded for production, by [@probablyup](https://github.com/probablyup)
347
348## [v3.4.7] - 2018-09-17
349
350- Add warning for the upcoming removal of the `injectGlobal` API in v4.0, by [@rainboxx](https://github.com/rainboxx) (see [#1867](https://github.com/styled-components/styled-components/pull/1867))
351
352- Backport from v4: Beef up the error message that sometimes occurs when multiple versions of styled components are used together and the StyleSheet instance can't be found, by [@probablyup](https://github.com/probablyup) (see [#2012](https://github.com/styled-components/styled-components/pull/2012))
353
354## [v3.4.6] - 2018-09-10
355
356- Fix an issue when streaming with very large amounts of output where sometimes styles might not make it to the client, by [@probablyup](https://github.com/probablyup) (see [#1997](https://github.com/styled-components/styled-components/pull/1997))
357
358## [v3.4.5] - 2018-08-23
359
360- Tone down the dev warnings for deprecated APIs (they were `console.error`, now `console.warn`), by [@probablyup](https://github.com/probablyup)
361
362## [v3.4.4] - 2018-08-21
363
364- Fix warning function not having a production fallback, by [@mitoyarzun](https://github.com/mitoyarzun) (see [#1938](https://github.com/styled-components/styled-components/pull/1938))
365
366## [v3.4.3] - 2018-08-21
367
368- Add warning for the upcoming removal of the `extend` API in v4.0, by [@probablyup](https://github.com/probablyup) (see [#1909](https://github.com/styled-components/styled-components/pull/1909))
369
370- Throw Error if a React component was mistakenly interpolated within styles, by [@imbhargav5](https://github.com/imbhargav5) (see [#1883](https://github.com/styled-components/styled-components/pull/1883))
371
372- Fix the primitives build, by [@probablyup](https://github.com/probablyup) (see [24f097](https://github.com/styled-components/styled-components/commit/24f097e3d342a1ab3db3ff68b81cc7d172e7dd0b))
373
374## [v3.4.2] - 2018-08-07
375
376- Fix a regression from [#1843](https://github.com/styled-components/styled-components/pull/1892) that breaks deferred injection and duplicates rules, by [@kitten](https://github.com/kitten) (see [#1892](https://github.com/styled-components/styled-components/pull/1892))
377
378- [TS] Fix missing generic type arguments in .d.ts, by [@PzYon](https://github.com/PzYon) (see [#1886](https://github.com/styled-components/styled-components/pull/1886))
379
380## [v3.4.1] - 2018-08-04
381
382- Fixed a bug in typings where `isStyledComponent` was defined using an undefined variable, by [@MayhemYDG](https://github.com/MayhemYDG) (see [#1876](https://github.com/styled-components/styled-components/pull/1876))
383
384- Add error system, by [@probablyup](https://github.com/probablyup) (see [#1881](https://github.com/styled-components/styled-components/pull/1881))
385
386- Fix "stream" module not being properly eliminated by rollup, by [@probablyup](https://github.com/probablyup)
387
388## [v3.4.0] - 2018-08-02
389
390- Add first-class support for functions that return objects, by [@acjay](https://github.com/acjay) (see [#1820](https://github.com/styled-components/styled-components/pull/1820))
391
392 ```JS
393 const Comp = styled.div((({ color }) => ({
394 color,
395 }))
396 ```
397
398- Add support for the prop variants used by Preact (`autofocus`, `class`, `for`), by [@probablyup](https://github.com/probablyup) (see [#1823](https://github.com/styled-components/styled-components/pull/1823))
399
400- Various performance improvements, by [@probablyup](https://github.com/probablyup) (see [#1843](https://github.com/styled-components/styled-components/pull/1843))
401
402- [TS] Revert #1798, by [@Igorbek](https://github.com/Igorbek) (see [#1840](https://github.com/styled-components/styled-components/pull/1840))
403
404- [Internal] Add benchmarking suite, by [@mxstbr](https://github.com/mxstbr) (see [#1833](https://github.com/styled-components/styled-components/pull/1833))
405
406## [v3.3.3] - 2018-06-20
407
408- Fixed a regression when extending a `styled(StyledComponent)` introduced in 3.3.0, by [@probablyup](https://github.com/probablyup) (see [#1819](https://github.com/styled-components/styled-components/pull/1819))
409
410- Adjust how displayName is generated when not using Babel to properly preserve a displayName passed via `withConfig`, by [@probablyup](https://github.com/probablyup) (see [#1755](https://github.com/styled-components/styled-components/pull/1755))
411
412- [TS] Fix props being removed when indexed types are passed to WithOptionalTheme, by [@devrelm](https://github.com/devrelm) (see [#1806](https://github.com/styled-components/styled-components/pull/1806))
413
414- [TS] Allow TypeScript 2.9.1 to accept tagged template type argument, by [@Igorbek](https://github.com/Igorbek) (see [#1798](https://github.com/styled-components/styled-components/pull/1798))
415
416- Add ref documentation for React.createRef(), by [@julmot](https://github.com/julmot) (see [#1792](https://github.com/styled-components/styled-components/pull/1792))
417
418## [v3.3.2] - 2018-06-04
419
420- Allow non-plain objects as `ThemeProvider` themes, by [@phyllisstein](https://github.com/phyllisstein) (see [#1780](https://github.com/styled-components/styled-components/pull/1780))
421
422- Upgrade flow-bin to latest, by [@halvves](https://github.com/halvves) (see [#1748](https://github.com/styled-components/styled-components/pull/1748))
423
424- Update various CI bits, by [@probablyup](https://github.com/probablyup) (see [#1769](https://github.com/styled-components/styled-components/pull/1769))
425
426- Reimplement SSR stream handling as a transform stream rather than a second-order readable stream, by [@probablyup](https://github.com/probablyup) (see [#1768](https://github.com/styled-components/styled-components/pull/1768))
427
428- Allow React Component as attr, by [@valerybugakov](https://github.com/valerybugakov) (see [#1751](https://github.com/styled-components/styled-components/pull/1751))
429
430- Added pointer events to valid attributes check, by [@plankguy](https://github.com/plankguy) (see [#1790](https://github.com/styled-components/styled-components/pull/1790))
431
432_v3.3.1 was skipped due to a bad deploy._
433
434## [v3.3.0] - 2018-05-25
435
436- Fix off-by-one error in insertRuleHelpers.js, by [@migueloller](https://github.com/migueloller) (see [#1749](https://github.com/styled-components/styled-components/pull/1749))
437
438- Add first-class support for objects, by [@mxstbr](https://github.com/mxstbr) (see [#1732](https://github.com/styled-components/styled-components/pull/1732))
439
440 ```JS
441 const Component = styled.div({
442 color: 'blue'
443 })
444 ```
445
446* Fix typo in console warning about multiple instances, by [@lucianbuzzo](https://github.com/lucianbuzzo) (see [#1730](https://github.com/styled-components/styled-components/pull/1730))
447
448* Make the multiple instance warning criteria a little more strict to avoid badgering people running unit tests, by [@probablyup](https://github.com/probablyup) (see [#1693](https://github.com/styled-components/styled-components/pull/1693))
449
450* Fix `React.createRef()` values for `innerRef` being ignored in React Native, by [@simonbuchan](https://github.com/simonbuchan) (see [#1718](https://github.com/styled-components/styled-components/pull/1718))
451
452* Hoist non-react static properties on wrapped classes, by [@probablyup](https://github.com/probablyup) (see [#1750](https://github.com/styled-components/styled-components/pull/1750))
453
454* Support attributes prefixed by `x-`, by [@mlecoq](https://github.com/mlecoq) (see [#1753](https://github.com/styled-components/styled-components/pull/1753))
455
456## [v3.2.6] - 2018-04-17
457
458- Fix `cascade: false` being erroneously set on the Stylis rule splitter (see [#1677](https://github.com/styled-components/styled-components/pull/1677))
459
460- Fix typo in `ComponentStyle.js` comments (see [#1678](https://github.com/styled-components/styled-components/pull/1678))
461
462- Accept ref forwarding components in styled constructor (see [#1658](https://github.com/styled-components/styled-components/pull/1658))
463
464- Fix onInvalid check in validAttrs, by [@slootsantos](https://github.com/slootsantos) (see [#1668](https://github.com/styled-components/styled-components/pull/1668))
465
466- Fix `makeSpeedyTag`'s css method (see [#1663](https://github.com/styled-components/styled-components/pull/1663))
467
468- Fix ComponentStyle caching strategy to take StyleSheet cache into account, by [@darthtrevino](https://github.com/darthtrevino) (see [#1634](https://github.com/styled-components/styled-components/pull/1634))
469
470- Add new `test-utils` to simplify finding styled-components in the DOM in unit testing scenarios, by [@jamiebuilds](https://github.com/jamiebuilds) (see [#1652](https://github.com/styled-components/styled-components/pull/1652))
471
472- Add minified commonjs and esm builds for bundle size tracking (see [#1681](https://github.com/styled-components/styled-components/pull/1681))
473
474## [v3.2.5] - 2018-03-30
475
476- Deprecate experimental preprocess mode, by [@Samatar26](https://github.com/Samatar26) (see [#1619](https://github.com/styled-components/styled-components/issues/1619))
477- Added ability to override `SC_ATTR` via `process.env.SC_ATTR` (see [#1632](https://github.com/styled-components/styled-components/pull/1632))
478
479## [v3.2.3] - 2018-03-14
480
481- Fix SSR memory leak where StyleSheet clones are never freed (see [#1612](https://github.com/styled-components/styled-components/pull/1612))
482
483## [v3.2.2] - 2018-03-13
484
485- Fix ServerTag.clone() not properly cloning its names and markers (see [#1605](https://github.com/styled-components/styled-components/pull/1605))
486
487- Fix nested media at-rules by upgrading to stylis@^3.5.0 and stylis-rule-sheet@^0.0.10 (see [#1595](https://github.com/styled-components/styled-components/pull/1595))
488
489- Fix the `IS_BROWSER` check to work more reliably in projects where `window` may be shimmed, by [@danieldunderfelt](https://github.com/danieldunderfelt) (see [#1599](https://github.com/styled-components/styled-components/pull/1599))
490
491## [v3.2.1] - 2018-03-07
492
493- Fix `@import` rules not being enforced to appear at the beginning of stylesheets (see [#1577](https://github.com/styled-components/styled-components/pull/1577))
494
495- Fix StyleTags toElement outputting inline CSS which would cause URL encoding (see [#1580](https://github.com/styled-components/styled-components/pull/1580))
496
497## [v3.2.0] - 2018-03-05
498
499- Remove `type="text/css"`-attribute from style tag to remove warnings from w3c validator (see [#1551](https://github.com/styled-components/styled-components/pull/1551))
500
501- Add `foreignObject` svg element (see [#1544](https://github.com/styled-components/styled-components/pull/1544))
502
503- Add `controlsList` to validAttr list (see [#1537](https://github.com/styled-components/styled-components/pull/1537))
504
505- Enable stylis' semicolon autocompletion which was accidentally disabled for a lot of prior releases (see [#1532](https://github.com/styled-components/styled-components/pull/1532))
506
507- Fix `insertRule` injection (speedy mode in production) of nested media queries by upgrading stylis-rule-sheet (see [#1529](https://github.com/styled-components/styled-components/pull/1529) and [#1528](https://github.com/styled-components/styled-components/pull/1528))
508
509- Add `StyleSheet.remove` API method to be able to delete rules related to a component (see [#1514](https://github.com/styled-components/styled-components/pull/1514))
510
511- Replace murmurhash implementation and avoid destructuring tag function arguments (see [#1516](https://github.com/styled-components/styled-components/pull/1516))
512
513- Rewrite and refactor `StyleSheet` and `ServerStyleSheet` (no breaking change, see [#1501](https://github.com/styled-components/styled-components/pull/1501))
514
515- Add warning if there are several instances of `styled-components` initialized on the page (see [#1412](https://github.com/styled-components/styled-components/pull/1412))
516
517- Add `target` prop to `StyleSheetManager` component to enable specifying where style tags should render (see [#1491](https://github.com/styled-components/styled-components/pull/1491))
518
519## [v3.1.6] - 2018-02-03
520
521- Bugfix for the last style tag sometimes being emitted multiple times during streaming (see [#1479](https://github.com/styled-components/styled-components/pull/1479))
522
523- Bugfix for speedy mode rehydration and added handling for out-of-order style injection (see [#1482](https://github.com/styled-components/styled-components/pull/1482))
524
525## [v3.1.5] - 2018-02-01
526
527- Apply a workaround to re-enable "speedy" mode for IE/Edge (see [#1468](https://github.com/styled-components/styled-components/pull/1468))
528
529- Fix memory leak in the server-side streaming logic (see [#1475](https://github.com/styled-components/styled-components/pull/1475))
530
531## [v3.1.4] - 2018-01-29
532
533- Disable "speedy" mode for IE and Edge. There seems to be some incompatibility with how the `insertRule` API functions in their rendering stack compared to the other vendors. (see [#1465](https://github.com/styled-components/styled-components/pull/1465))
534
535## [v3.1.3] - 2018-01-29
536
537- Disable "speedy" mode for non-production environments, fixes `jest-styled-components` compatibility (see [#1460](https://github.com/styled-components/styled-components/pull/1460))
538
539## [v3.1.1] - 2018-01-29
540
541- Hotfix for importing in ReactNative, thanks to [@vvasilev-](https://github.com/vvasilev-) (see [#1455](https://github.com/styled-components/styled-components/pull/1455))
542
543## [v3.1.0] - 2018-01-29
544
545- Compile out error messages for production builds (see [#1445](https://github.com/styled-components/styled-components/pull/1445))
546- Use much faster CSS injection in the browser, by [@schwers](https://github.com/schwers) and [@philpl](https://github.com/philpl) (see [#1208](https://github.com/styled-components/styled-components/pull/1208))
547- Add support for streaming server-side rendering, by [@probablyup](https://github.com/probablyup) (see [#1430](https://github.com/styled-components/styled-components/pull/1430))
548
549## [v3.0.2] - 2018-01-22
550
551- Add secret internals for jest-styled-components (do not use or you will be haunted by spooky ghosts :ghost:) (see [#1438](https://github.com/styled-components/styled-components/pull/1438))
552
553## [v3.0.1] - 2018-01-22
554
555- Add support for SafeAreaView when using styled-components in a React Native project (see [#1339](https://github.com/styled-components/styled-components/pull/1339))
556
557- Remove support for deprecated Navigator when using styled-components in a React Native project (see [#1339](https://github.com/styled-components/styled-components/pull/1339))
558
559- Ship flat bundles for each possible entry, thanks to [@Andarist](https://github.com/Andarist) (see [#1362](https://github.com/styled-components/styled-components/pull/1362))
560
561- Add ESLint precommit hook, thanks to [@lukebelliveau](https://github.com/lukebelliveau) (see [#1393](https://github.com/styled-components/styled-components/pull/1393))
562
563- Fixed nested themes not being republished on outer theme changes, thanks to [@Andarist](https://github.com/Andarist) (see [#1382](https://github.com/styled-components/styled-components/pull/1382))
564
565- Add warning if you've accidently imported 'styled-components' on React Native instead of 'styled-components/native', thanks to [@tazsingh](https://github.com/tazsingh) and [@gribnoysup](https://github.com/gribnoysup) (see [#1391](https://github.com/styled-components/styled-components/pull/1391) and [#1394](https://github.com/styled-components/styled-components/pull/1394))
566
567- Fixed bug where `innerRef` could be passed as undefined to components when using withTheme. This could cause issues when using prop spread within the component (e.g. `{...this.props}`), because React will still warn you about using a non-dom prop even though it's undefined. (see [#1414](https://github.com/styled-components/styled-components/pull/1414))
568
569- Expose `isStyledComponent` utility as a named export. This functionality is useful in some edge cases, such as knowing whether or not to use `innerRef` vs `ref` and detecting if a component class needs to be wrapped such that it can be used in a component selector. (see [#1418](https://github.com/styled-components/styled-components/pull/1418/))
570
571- Remove trailing commas on function arguments (not compatible with ES5 JS engines)
572
573- Ship source maps (see [#1425](https://github.com/styled-components/styled-components/pull/1425))
574
575- Upgrade test suites to run against react v16 (see [#1426](https://github.com/styled-components/styled-components/pull/1426))
576
577- Streaming rendering support (requires React 16, see [#1430](https://github.com/styled-components/styled-components/pull/1430))
578
579## [v2.4.0] - 2017-12-22
580
581- remove some extra information from the generated hash that can differ between build environments (see [#1381](https://github.com/styled-components/styled-components/pull/1381))
582
583## [v2.3.3] - 2017-12-20
584
585- Fix the attr filtering optimization removed in v2.3.2; bundle size improvement, thanks to [@probablyup](https://github.com/probablyup) (see [#1377](https://github.com/styled-components/styled-components/pull/1377))
586- Move last bits of docs from the README to the website, thanks to [@Carryon](https://github.com/Carryon), [@SaraVieira](https://github.com/SaraVieira) and [@JamesJefferyUK](https://github.com/JamesJefferyUK)
587
588## [v2.3.2] - 2017-12-19
589
590- Hotfix a bug in the attr filtering in v2.3.1 (see [#1372](https://github.com/styled-components/styled-components/pull/1371))
591
592## [v2.3.1] - 2017-12-19
593
594- Create styled-components badge, thanks to [@iRoachie](https://github.com/iRoachie) (see [#1363](https://github.com/styled-components/styled-components/issues/1363))
595- Library size reductions, thanks to [@probablyup](https://github.com/probablyup) (see [#1365](https://github.com/styled-components/styled-components/pull/1365))
596- Add Prettier, thanks to [@existentialism](https://github.com/existentialism) (see [#593](https://github.com/styled-components/styled-components/pull/593))
597- Fix unminified UMD build, thanks to [@maciej-ka](https://github.com/maciej-ka) (see [#1355](https://github.com/styled-components/styled-components/issues/1355))
598- Update the contribution and community guidelines, see the [CONTRIBUTING.md](./CONTRIBUTING.md)
599
600## [v2.3.0] - 2017-12-15
601
602- Add development sandbox to repo for easier contributing, thanks to [@gribnoysup](https://github.com/gribnoysup) (see [#1257](https://github.com/styled-components/styled-components/pull/1257))
603- Add basic support for style objects in the Typescript definitions, thanks to [@nbostrom](https://github.com/nbostrom) (see [#1123](https://github.com/styled-components/styled-components/pull/1123))
604- Fix ref warning using withTheme HOC and stateless function components, thanks to [@MatthieuLemoine](https://github.com/MatthieuLemoine) (see [#1205](https://github.com/styled-components/styled-components/pull/1205))
605- Consistently escape displayNames when creating `componentId`, thanks to [@evan-scott-zocdoc](https://github.com/evan-scott-zocdoc) (see [#1313](https://github.com/styled-components/styled-components/pull/1313))
606- Better issue template (see [#1342](https://github.com/styled-components/styled-components/pull/1342))
607
608## [v2.2.4] - 2017-11-29
609
610- Disable static styles caching when hot module replacement is enabled.
611- Bump minimum `stylis` version to 3.4.0, adjust the semver caret target (see [#1296](https://github.com/styled-components/styled-components/pull/1296))
612
613## [v2.2.3] - 2017-10-29
614
615- Fix incorrect StyledNativeComponent#componentWillReceiveProps implementation (see [#1276](https://github.com/styled-components/styled-components/pull/1276))
616
617## [v2.2.2] - 2017-10-24
618
619- Prevent `withTheme` HOC from breaking when passing a theme from `defaultProps`, thanks to [@kutyel](https://github.com/kutyel) (see [#1130](https://github.com/styled-components/styled-components/pull/1130))
620- Refactor out theme logic in StyledComponent's componentWillMount & componentWillReceiveProps (see [#1130](https://github.com/styled-components/styled-components/issues/1130))
621- Add onReset to valid react props list (see [#1234](https://github.com/styled-components/styled-components/pull/1234))
622- Add support for ServerStyleSheet PropType in both StyleSheetManager and StyledComponent (see [#1245](https://github.com/styled-components/styled-components/pull/1245))
623- Prevent component styles from being static if `attrs` are dynamic (see [#1219](https://github.com/styled-components/styled-components/pull/1219))
624- Changed 'too many classes' error to recommend attrs for frequently changed styles (see [#1213](https://github.com/styled-components/styled-components/pull/1213))
625
626## [v2.2.1] - 2017-10-04
627
628- Cache static classnames in browser environments, thanks to [@schwers](https://github.com/schwers) (see [#1069]https://github.com/styled-components/styled-components/pull/1069))
629- Move the list of libraries built with styled-components to [`awesome-styled-components`](https://github.com/styled-components/awesome-styled-components), thanks to [@romellogood](https://github.com/romellogood) (see [#1203](https://github.com/styled-components/styled-components/pull/1203))
630- Don't emit empty rules like from interpolations, thanks to [@wmertens](https://github.com/wmertens) (see [#1149](https://github.com/styled-components/styled-components/pull/1149))
631
632## [v2.2.0] - 2017-09-27
633
634- Fixed downstream minification issue with replacing `process` (see [#1150](https://github.com/styled-components/styled-components/pull/1150))
635- Fixed nonce missing from global styles (see [#1088](https://github.com/styled-components/styled-components/pull/1088))
636- Improve component mount and unmount performance with changes to `createBroadcast`. Deprecates usage of `CHANNEL` as a function, will be update to `CHANNEL_NEXT`'s propType in a future version. (see [#1048](https://github.com/styled-components/styled-components/pull/1048))
637- Fixed comments in react-native (see [#1041](https://github.com/styled-components/styled-components/pull/1041))
638- Add support for the `__webpack_nonce__` CSP attribute (see [#1022](https://github.com/styled-components/styled-components/pull/1022) and [#1043](https://github.com/styled-components/styled-components/pull/1043))
639- Add react-native `ImageBackground` alias (see [#1028](https://github.com/styled-components/styled-components/pull/1028))
640- Refactor variable in generateAlphabeticName.js (see [#1040](https://github.com/styled-components/styled-components/pull/1040))
641- Enable the Node environment for SSR tests, switch some output verification to snapshot testing (see [#1023](https://github.com/styled-components/styled-components/pull/1023))
642- Add .extend and .withComponent deterministic ID generation (see [#1044](https://github.com/styled-components/styled-components/pull/1044))
643- Add `marquee` tag to domElements (see [#1167](https://github.com/styled-components/styled-components/pull/1167))
644
645## [v2.1.1] - 2017-07-03
646
647- Upgrade stylis to 2.3 and use constructor to fix bugs with multiple libs using stylis simultaneously (see [#962](https://github.com/styled-components/styled-components/pull/962))
648
649## [v2.1.0] - 2017-06-15
650
651- Added missing v2.0 APIs to TypeScript typings, thanks to [@patrick91](https://github.com/patrick91), [@igorbek](https://github.com/igorbek) (see [#837](https://github.com/styled-components/styled-components/pull/837), [#882](https://github.com/styled-components/styled-components/pull/882))
652- Added [`react-primitives`](https://github.com/lelandrichardson/react-primitives) target, thanks to [@mathieudutour](https://github.com/mathieudutour) (see [#904](https://github.com/styled-components/styled-components/pull/904)
653- Various minor fixes: [#886](https://github.com/styled-components/styled-components/pull/886), [#898](https://github.com/styled-components/styled-components/pull/898), [#902](https://github.com/styled-components/styled-components/pull/902), [#915](https://github.com/styled-components/styled-components/pull/915)
654
655## [v2.0.1] - 2017-06-07
656
657- Fixed `extend` not working with 3 or more inheritances, thanks to [@brunolemos](https://twitter.com/brunolemos). (see [#871](https://github.com/styled-components/styled-components/pull/871))
658- Added a test for `withComponent` followed by `attrs`, thanks to [@btmills](https://github.com/btmills). (see [#851](https://github.com/styled-components/styled-components/pull/851))
659- Fix Flow type signatures for compatibility with Flow v0.47.0 (see [#840](https://github.com/styled-components/styled-components/pull/840))
660- Upgraded stylis to v3.0. (see [#829](https://github.com/styled-components/styled-components/pull/829) and [#876](https://github.com/styled-components/styled-components/pull/876))
661- Remove dead code used previously for auto-prefixing. (see [#881](https://github.com/styled-components/styled-components/pull/881))
662
663## [v2.0.0] - 2017-05-25
664
665- Update css-to-react-native - you'll now need to add units to your React Native styles (see [css-to-react-native](https://github.com/styled-components/css-to-react-native/issues/20), [code mod](https://github.com/styled-components/styled-components-native-code-mod))
666- Update stylis to latest version (see [#496](https://github.com/styled-components/styled-components/pull/496)).
667- Added per-component class names (see [#227](https://github.com/styled-components/styled-components/pull/227)).
668- Added the ability to override one component's styles from another.
669- Injecting an empty class for each instance of a component in development.
670- Added `attrs` constructor for passing extra attributes/properties to the underlying element.
671- Added warnings for components generating a lot of classes, thanks to [@vdanchenkov](https://github.com/vdanchenkov). (see [#268](https://github.com/styled-components/styled-components/pull/268))
672- Standardised `styled(Comp)` to work the same in all cases, rather than a special extension case where `Comp` is another Styled Component. `Comp.extend` now covers that case. (see [#518](https://github.com/styled-components/styled-components/pull/518)).
673- Added `Comp.withComponent(Other)` to allow cloning of an existing SC with a new tag. (see [#814](https://github.com/styled-components/styled-components/pull/814).
674- Added a separate `no-parser` entrypoint for preprocessed CSS, which doesn't depend on stylis. The preprocessing is part of our babel plugin. (see [babel-plugin-styled-components/#26](https://github.com/styled-components/babel-plugin-styled-components/pull/26))
675- Fix defaultProps used instead of ThemeProvider on first render [@k15a](https://github.com/k15a), restored.
676- Refactor StyledComponent for performance optimization.
677- Prevent leakage of the `innerRef` prop to wrapped child; under the hood it is converted into a normal React `ref`. (see [#592](https://github.com/styled-components/styled-components/issues/592))
678- Pass `innerRef` through to wrapped Styled Components, so that it refers to the actual DOM node. (see [#629](https://github.com/styled-components/styled-components/issues/629))
679- Added a dedicated Server-Side-Rendering API, with optimised rehydration on the client. Keys are now sequential.
680- Add hoisting static (non-React) properties for withTheme HOC, thanks to [@brunolemos](https://github.com/brunolemos). (See [#712](https://github.com/styled-components/styled-components/pull/712))
681- Add `innerRef` support to `withTheme` HOC. (see [#710](https://github.com/styled-components/styled-components/pull/710))
682- Switch to babel-preset-env. (see [#717](https://github.com/styled-components/styled-components/pull/717))
683- Update StyledNativeComponent to match StyledComponent implementation.
684- Fix Theme context for StyledComponent for IE <10. (see [#807](https://github.com/styled-components/styled-components/pull/807))
685- Restore `setNativeProps` in StyledNativeComponent, thanks to [@MatthieuLemoine](https://github.com/MatthieuLemoine). (see [#764](https://github.com/styled-components/styled-components/pull/764))
686- Fix `ref` being passed to Stateless Functional Components in StyledNativeComponent. (see [#828](https://github.com/styled-components/styled-components/pull/828))
687- Add `displayName` to `componentId` when both are present (see [#821](https://github.com/styled-components/styled-components/pull/821))
688- Test node 8.x as well in travis (see [#1153](https://github.com/styled-components/styled-components/pull/1153))
689
690## [v1.4.6] - 2017-05-02
691
692### Added
693
694- Support for jsdom and other browsers that do not implement [ownerNode](https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode), thanks to [@zvictor](https://github.com/zvictor)
695
696### Changed
697
698- Upgrade `babel-plugin-flow-react-proptypes` to version 2.1.3, fixing prop-types warnings; thanks to [@EnoahNetzach](https://github.com/EnoahNetzach)
699
700## [v1.4.5] - 2017-04-14
701
702### Changed
703
704- Migrated from the deprecated `React.PropTypes` to the `prop-types` package, thanks to [@YasserKaddour](https://github.com/YasserKaddour). (see [#668](https://github.com/styled-components/styled-components/pull/668))
705- Add FlatList, SectionList & VirtualizedList support, thanks to @Kureev(https://github.com/Kureev). (see [#662](https://github.com/styled-components/styled-components/pull/662))
706- Removed dependency on `glamor` and migrated remaining references to the internal vendored `glamor` module. (see [#663](https://github.com/styled-components/styled-components/pull/663))
707- Fix missing autoprefixing on GlobalStyle model. (see [#702](https://github.com/styled-components/styled-components/pull/702))
708- Better support for `keyframes` on older iOS/webkit browsers (see [#720](https://github.com/styled-components/styled-components/pull/720))
709
710## [v1.4.4] — 2017-03-01
711
712### Changed
713
714- Improve theming support in TypeScript, thanks to [@patrick91](https://github.com/patrick91). (see [#460](https://github.com/styled-components/styled-components/pull/460))
715- Add TypeScript definitions for `withTheme`, thanks to [@patrick91](https://github.com/patrick91). (see [#521](https://github.com/styled-components/styled-components/pull/521))
716- Exclude test files from `npm`, thanks to [@Amwam](https://github.com/Amwam). (see [#464](https://github.com/styled-components/styled-components/pull/464))
717- Change the default `displayName` to `styled(Component)`, thanks to [@k15a](https://github.com/k15a). (see [#470](https://github.com/styled-components/styled-components/pull/470))
718
719## [v1.4.3] - 2017-02-04
720
721### Changed
722
723- Improve TypeScript typings, thanks to [@igorbek](https://github.com/igorbek). (see [#428](https://github.com/styled-components/styled-components/pull/428) and [#432](https://github.com/styled-components/styled-components/pull/432))
724- Fix SSR bug introduced in v1.4.2, thanks to [@xcoderzach](https://github.com/xcoderzach). (see [#440](https://github.com/styled-components/styled-components/pull/440))
725- Fix defaultProps used instead of ThemeProvider on first render [@k15a](https://github.com/k15a). ([#450](https://github.com/styled-components/styled-components/pull/450))
726- displayName will now default to `Styled(Component)` [@k15a](https://github.com/k15a)
727
728## [v1.4.2] - 2017-01-28
729
730### Changed
731
732- Fix performance issue when using `@font-face` by creating a separate `style` tag for global styles, thanks to [@xcoderzach](https://github.com/xcoderzach). (see [#415](https://github.com/styled-components/styled-components/pull/415))
733
734## [v1.4.1] - 2017-01-27
735
736### Changed
737
738- Fix ReactNative throwing an error, thanks to [@lukehedger](https://github.com/lukehedger). (see [#414](https://github.com/styled-components/styled-components/pull/414))
739
740## [v1.4.0] - 2017-01-25
741
742### Added
743
744- TypeScript support, thanks to [@patrick91](https://github.com/patrick91). (see [#152](https://github.com/styled-components/styled-components/pull/152))
745
746## [v1.3.1] - 2017-01-18
747
748### Changed
749
750- Fix `<Styled(undefined)>` in React Developer Tools, thanks to [@iamssen](https://github.com/iamssen). (see [#383](https://github.com/styled-components/styled-components/pull/383))
751- Fix themes support in IE <= 10, thanks to [@saschagehlich](https://github.com/saschagehlich). (see [#379](https://github.com/styled-components/styled-components/pull/379))
752- Fixed Touchable not recognising styled components as ReactNative components, thanks to [@michalkvasnicak](https://github.com/michalkvasnicak). (see [#372](https://github.com/styled-components/styled-components/pull/372))
753
754## [v1.3.0]
755
756### Added
757
758- Added `styled.Button` alias for ReactNative, thanks to [@Ginhing](https://github.com/Ginhing). (see [#322](https://github.com/styled-components/styled-components/pull/322))
759
760### Changed
761
762- Fix regression from previous release and only delete `innerRef` if it is being passed down to native elements, thanks to [@IljaDaderko](https://github.com/IljaDaderko). (see [#368](https://github.com/styled-components/styled-components/pull/368))
763- Fixed defaultProps theme overriding ThemeProvider theme, thanks to [@diegohaz](https://github.com/diegohaz). (see [#345](https://github.com/styled-components/styled-components/pull/345))
764- Removed custom flowtype suppressor in favour of default `$FlowFixMe` [@relekang](https://github.com/relekang). (see [#335](https://github.com/styled-components/styled-components/pull/335))
765- Updated all dependencies to latest semver, thanks to [@amilajack](https://github.com/amilajack). (see [#324](https://github.com/styled-components/styled-components/pull/324))
766- Updated all demos to link to latest version, thanks to [@relekang](https://github.com/relekang). (see [#350](https://github.com/styled-components/styled-components/pull/350))
767- Converted to DangerJS, thanks to [@orta](https://github.com/orta). (see [#169](https://github.com/styled-components/styled-components/pull/169))
768
769## [v1.2.1]
770
771### Changed
772
773- Fixed flowtype errors and added flow check to CI, thanks to [@relekang](https://github.com/relekang). (see [#319](https://github.com/styled-components/styled-components/pull/319))
774
775## [v1.2.0]
776
777### Added
778
779- Added [`withTheme`](docs/api.md#withtheme) higher order component; thanks [@brunolemos](https://twitter.com/brunolemos). (see [#312](https://github.com/styled-components/styled-components/pull/312))
780- Added support for media queries, pseudo selectors and nesting in styles-as-objects. (see [#280](https://github.com/styled-components/styled-components/pull/280))
781
782### Changed
783
784- Do not pass innerRef to the component, thanks [@mkhazov](https://github.com/mkhazov). (see [#310](https://github.com/styled-components/styled-components/pull/310))
785- Fixed prop changes not updating style on react native; thanks [@brunolemos](https://twitter.com/brunolemos). (see [#311](https://github.com/styled-components/styled-components/pull/311))
786- Extract DOM shorthands, thanks [@philpl](https://github.com/philpl). (see [#172](https://github.com/styled-components/styled-components/pull/172))
787
788## [v1.1.3]
789
790### Changed
791
792- Fixed theme changes in `ThemeProvider`s not re-rendering correctly, thanks [@k15a](https://github.com/k15a). (see [#264](https://github.com/styled-components/styled-components/pull/264))
793- Fixed overriding theme through props, thanks [@k15a](https://github.com/k15a). (see [#295](https://github.com/styled-components/styled-components/pull/295))
794- Removed `lodash` dependency in favor of small utility packages to knock down bundle size by ~0.5kB
795
796## [v1.1.2]
797
798### Added
799
800- Add `// @flow` to files missing them and fix ThemeProvider types, thanks to [@relekang](https://github.com/relekang). (see [#225](https://github.com/styled-components/styled-components/pull/225))
801
802### Changed
803
804- Fixed setting the default theme via `defaultProps` and theme changes not re-rendering components with new styles, thanks to [@michalkvasnicak](https://github.com/michalkvasnicak). (see [#253](https://github.com/styled-components/styled-components/pull/253))
805- Improve ReactNative style generation performance, thanks to [@sheepsteak](https://github.com/sheepsteak). (see [#171](https://github.com/styled-components/styled-components/pull/171))
806
807## [v1.1.1]
808
809### Changed
810
811- Bumped `css-to-react-native` to `v1.0.3` to avoid floating points number bug.
812
813## [v1.1.0]
814
815### Added
816
817- Expose API for Server Side rendering: `styleSheet.reset()` and `styleSheet.getCSS()`, thanks to [@thisguychris](https://github.com/thisguychris), (see [#214](https://github.com/styled-components/styled-components/pull/214)) fixes [#124](https://github.com/styled-components/styled-components/issues/124)
818- Added support for deeply nested styles in ReactNative (e.g. `transform`), thanks [@jacobp100](https://github.com/jacobp100). (see [#139](https://github.com/styled-components/styled-components/pull/139))
819- Added support for camelized style properties in ReactNative (e.g. `fontWeight`), thanks [@jacobp100](https://github.com/jacobp100). (see [#145](https://github.com/styled-components/styled-components/pull/145))
820- Properly expose `flow` typings by adding a `flow:build` step and `flow` support docs, thanks to [@ryyppy](https://github.com/ryyppy). (see [#219](https://github.com/styled-components/styled-components/pull/219))
821
822### Changed
823
824- Converted Object.assign to spread operator, thanks to [@thisguychris](https://github.com/thisguychris). (see [#201](https://github.com/styled-components/styled-components/pull/201))
825- Switched to using [inline-style-prefixer](https://github.com/rofrischmann/inline-style-prefixer) for our autoprefixing needs.
826- Fixed IE10 compatibility, thanks to [@thisguychris](https://github.com/thisguychris). (see [#217](https://github.com/styled-components/styled-components/pull/217))
827
828## [v1.0.11] - 2016-11-14
829
830### Added
831
832- Pass props to interpolated functions in React Native, thanks to [@haikyuu](https://github.com/haikyuu). (see [#190](https://github.com/styled-components/styled-components/pull/190))
833
834### Changed
835
836- Test coverage for `injectGlobal`, thanks to [@b_hough](https://github.com/bhough). (see [#36](https://github.com/styled-components/styled-components/issues/36))
837- Added stricter flow type annotations, thanks to [@relekang](https://github.com/relekang) and [@ryyppy](https://github.com/ryyppy). (see [#148](https://github.com/styled-components/styled-components/pull/148))
838
839## [v1.0.10] - 2016-10-28
840
841### Changed
842
843- Huge performance improvement by injecting styles outside of `render`, thanks to [@JamieDixon](https://github.com/JamieDixon). (see [#137](https://github.com/styled-components/styled-components/pull/137))
844
845## [v1.0.9] - 2016-10-26
846
847### Added
848
849- Added ability to get ref to the inner (DOM) node of the styled component via `innerRef` prop, thanks to [@freiksenet](https://github.com/freiksenet). (see [#122](https://github.com/styled-components/styled-components/pull/122))
850- Section in docs about the new `stylelint` support with [`stylelint-processor-styled-components`](https://github.com/styled-components/stylelint-processor-styled-components)
851
852### Changed
853
854- Fixed `theme` prop in `styledComponent` and `styledNativeComponent` so that it will properly inherit values for `theme` when `defaultProps` are set, thanks to [@bhough](https://github.com/bhough). (see [#136](https://github.com/styled-components/styled-components/pull/136))
855
856## [v1.0.8] - 2016-10-18
857
858### Added
859
860- IE10 support, thanks to [@didierfranc](https://github.com/didierfranc)! (see [#119](https://github.com/styled-components/styled-components/pull/119))
861
862### Changed
863
864- Fixed `<ThemeProvider>` component hot reloading
865
866## [v1.0.7] – 2016-10-18
867
868### Added
869
870- Documentation about integrating with an existing CSS codebase
871- Support for CSS custom variables
872
873### Changed
874
875- Move react from dependencies to `peer–` & `devDependencies`, thanks to [@sheepsteak](https://github.com/sheepsteak)! (see [#93](https://github.com/styled-components/styled-components/pull/93))
876- Fix cyclical dependency deadlock in `.es.js` bundle that forced us to revert v1.0.6, thanks to [@Rich-Harris](https://github.com/Rich-Harris)! (see [#100](https://github.com/styled-components/styled-components/pull/100))
877- Refactored and added to e2e test suite
878
879## [v1.0.6] - 2016-10-16 REVERTED
880
881### Added
882
883- `CHANGELOG.md` for tracking changes between versions
884- Support for Internet Explorer by removing `Symbol` from the transpiled output
885- `.es.js` bundle for Webpack v2 or Rollup users to take advantage of tree shaking, thanks to [@Rich-Harris](https://github.com/Rich-Harris)! (see [#96](https://github.com/styled-components/styled-components/pull/96))
886
887### Changed
888
889- Fixed inheritance of statics (like `defaultProps`) with `styled(StyledComponent)`, thanks to [@diegohaz](https://github.com/diegohaz)! (see [#90](https://github.com/styled-components/styled-components/pull/90))
890- UMD bundle is now built with Rollup, which means a 22% reduction in size and a 60% reducing in parse time, thanks to [@Rich-Harris](https://github.com/Rich-Harris)! (see [#96](https://github.com/styled-components/styled-components/pull/96))
891
892## [v1.0.5] - 2016-10-15
893
894### Changed
895
896- Fixed theming on ReactNative
897
898## [v1.0.4] - 2016-10-15
899
900### Changed
901
902- Fixed compatibility with other react-broadcast-based systems (like `react-router` v4)
903
904[unreleased]: https://github.com/styled-components/styled-components/compare/v4.0.3...master
905[v4.0.3]: https://github.com/styled-components/styled-components/compare/v4.0.2...v4.0.3
906[v4.0.2]: https://github.com/styled-components/styled-components/compare/v4.0.1...v4.0.2
907[v4.0.1]: https://github.com/styled-components/styled-components/compare/v4.0.0...v4.0.1
908[v4.0.0]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.11...v4.0.0
909[v4.0.0-beta.11]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.10...v4.0.0-beta.11
910[v4.0.0-beta.10]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.9...v4.0.0-beta.10
911[v4.0.0-beta.9]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.8...v4.0.0-beta.9
912[v4.0.0-beta.8]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.7...v4.0.0-beta.8
913[v4.0.0-beta.7]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.6...v4.0.0-beta.7
914[v4.0.0-beta.6]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.5...v4.0.0-beta.6
915[v4.0.0-beta.5]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.4...v4.0.0-beta.5
916[v4.0.0-beta.4]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.3...v4.0.0-beta.4
917[v4.0.0-beta.3]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.2...v4.0.0-beta.3
918[v4.0.0-beta.2]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.1...v4.0.0-beta.2
919[v4.0.0-beta.1]: https://github.com/styled-components/styled-components/compare/v4.0.0-beta.0...v4.0.0-beta.1
920[v4.0.0-beta.0]: https://github.com/styled-components/styled-components/compare/v3.4.10...v4.0.0-beta.0
921[v3.4.10]: https://github.com/styled-components/styled-components/compare/v3.4.9...v3.4.10
922[v3.4.9]: https://github.com/styled-components/styled-components/compare/v3.4.8...v3.4.9
923[v3.4.8]: https://github.com/styled-components/styled-components/compare/v3.4.7...v3.4.8
924[v3.4.7]: https://github.com/styled-components/styled-components/compare/v3.4.6...v3.4.7
925[v3.4.6]: https://github.com/styled-components/styled-components/compare/v3.4.5...v3.4.6
926[v3.4.5]: https://github.com/styled-components/styled-components/compare/v3.4.4...v3.4.5
927[v3.4.4]: https://github.com/styled-components/styled-components/compare/v3.4.3...v3.4.4
928[v3.4.3]: https://github.com/styled-components/styled-components/compare/v3.4.2...v3.4.3
929[v3.4.2]: https://github.com/styled-components/styled-components/compare/v3.4.1...v3.4.2
930[v3.4.1]: https://github.com/styled-components/styled-components/compare/v3.4.0...v3.4.1
931[v3.4.0]: https://github.com/styled-components/styled-components/compare/v3.3.3...v3.4.0
932[v3.3.3]: https://github.com/styled-components/styled-components/compare/v3.3.2...v3.3.3
933[v3.3.2]: https://github.com/styled-components/styled-components/compare/v3.3.0...v3.3.2
934[v3.3.0]: https://github.com/styled-components/styled-components/compare/v3.2.6...v3.3.0
935[v3.2.6]: https://github.com/styled-components/styled-components/compare/v3.2.5...v3.2.6
936[v3.2.5]: https://github.com/styled-components/styled-components/compare/v3.2.3...v3.2.5
937[v3.2.3]: https://github.com/styled-components/styled-components/compare/v3.2.2...v3.2.3
938[v3.2.2]: https://github.com/styled-components/styled-components/compare/v3.2.1...v3.2.2
939[v3.2.1]: https://github.com/styled-components/styled-components/compare/v3.2.0...v3.2.1
940[v3.2.0]: https://github.com/styled-components/styled-components/compare/v3.1.6...v3.2.0
941[v3.1.6]: https://github.com/styled-components/styled-components/compare/v3.1.5...v3.1.6
942[v3.1.5]: https://github.com/styled-components/styled-components/compare/v3.1.4...v3.1.5
943[v3.1.4]: https://github.com/styled-components/styled-components/compare/v3.1.3...v3.1.4
944[v3.1.3]: https://github.com/styled-components/styled-components/compare/v3.1.1...v3.1.3
945[v3.1.1]: https://github.com/styled-components/styled-components/compare/v3.1.0...v3.1.1
946[v3.1.0]: https://github.com/styled-components/styled-components/compare/v3.0.2...v3.1.0
947[v3.0.2]: https://github.com/styled-components/styled-components/compare/v3.0.1...v3.0.2
948[v3.0.1]: https://github.com/styled-components/styled-components/compare/v2.4.0...v3.0.1
949[v2.4.0]: https://github.com/styled-components/styled-components/compare/v2.3.3...v2.4.0
950[v2.3.3]: https://github.com/styled-components/styled-components/compare/v2.3.2...v2.3.3
951[v2.3.2]: https://github.com/styled-components/styled-components/compare/v2.3.1...v2.3.2
952[v2.3.1]: https://github.com/styled-components/styled-components/compare/v2.3.0...v2.3.1
953[v2.3.0]: https://github.com/styled-components/styled-components/compare/v2.2.4...v2.3.0
954[v2.2.4]: https://github.com/styled-components/styled-components/compare/v2.2.3...v2.2.4
955[v2.2.3]: https://github.com/styled-components/styled-components/compare/v2.2.2...v2.2.3
956[v2.2.2]: https://github.com/styled-components/styled-components/compare/v2.2.1...v2.2.2
957[v2.2.1]: https://github.com/styled-components/styled-components/compare/v2.2.0...v2.2.1
958[v2.2.0]: https://github.com/styled-components/styled-components/compare/v2.1.1...v2.2.0
959[v2.1.2]: https://github.com/styled-components/styled-components/compare/v2.1.1...v2.1.2
960[v2.1.1]: https://github.com/styled-components/styled-components/compare/v2.1.0...v2.1.1
961[v2.1.0]: https://github.com/styled-components/styled-components/compare/v2.0.1...v2.1.0
962[v2.0.1]: https://github.com/styled-components/styled-components/compare/v2.0.0...v2.0.1
963[v2.0.0]: https://github.com/styled-components/styled-components/compare/v1.4.6...v2.0.0
964[v1.4.6]: https://github.com/styled-components/styled-components/compare/v1.4.5...v1.4.6
965[v1.4.5]: https://github.com/styled-components/styled-components/compare/v1.4.4...v1.4.5
966[v1.4.4]: https://github.com/styled-components/styled-components/compare/v1.4.3...v1.4.4
967[v1.4.3]: https://github.com/styled-components/styled-components/compare/v1.4.2...v1.4.3
968[v1.4.2]: https://github.com/styled-components/styled-components/compare/v1.4.1...v1.4.2
969[v1.4.1]: https://github.com/styled-components/styled-components/compare/v1.4.0...v1.4.1
970[v1.4.0]: https://github.com/styled-components/styled-components/compare/v1.3.1...v1.4.0
971[v1.3.1]: https://github.com/styled-components/styled-components/compare/v1.3.0...v1.3.1
972[v1.3.0]: https://github.com/styled-components/styled-components/compare/v1.2.1...v1.3.0
973[v1.2.1]: https://github.com/styled-components/styled-components/compare/v1.2.0...v1.2.1
974[v1.2.0]: https://github.com/styled-components/styled-components/compare/v1.1.3...v1.2.0
975[v1.1.3]: https://github.com/styled-components/styled-components/compare/v1.1.2...v1.1.3
976[v1.1.2]: https://github.com/styled-components/styled-components/compare/v1.1.1...v1.1.2
977[v1.1.1]: https://github.com/styled-components/styled-components/compare/v1.1.0...v1.1.1
978[v1.1.0]: https://github.com/styled-components/styled-components/compare/v1.0.11...v1.1.0
979[v1.0.11]: https://github.com/styled-components/styled-components/compare/v1.0.10...v1.0.11
980[v1.0.10]: https://github.com/styled-components/styled-components/compare/v1.0.9...v1.0.10
981[v1.0.9]: https://github.com/styled-components/styled-components/compare/v1.0.8...v1.0.9
982[v1.0.8]: https://github.com/styled-components/styled-components/compare/v1.0.7...v1.0.8
983[v1.0.7]: https://github.com/styled-components/styled-components/compare/v1.0.6...v1.0.7
984[v1.0.6]: https://github.com/styled-components/styled-components/compare/v1.0.5...v1.0.6
985[v1.0.5]: https://github.com/styled-components/styled-components/compare/v1.0.4...v1.0.5
986[v1.0.4]: https://github.com/styled-components/styled-components/compare/v1.0.3...v1.0.4
987
\No newline at end of file