Legend:
- F New flow definitions, fixes children typing.
- B Dropping support for older React. Currently supported versions are
^0.14.9
||^15.3.0
- I Upgraded all React components to use ES6 classes
- I Replace React.PropTypes with prop-types package
- I Externalize stripStyle #452 by @bearcott
- I Migrated deprecated React.PropTypes and React.createClass #446 by @Andarist
- F Fix link to TypeScript types #443 by @pshrmn
- F Refactored demo and fixed flow check errors #435 by @therewillbecode
- F Fix broken link #430 by @codler
- F Unmounted component setState fix #420 by @alleycat-at-git
- I
didLeave
forTransitionMotion
! Please check the README for more.
- F Small fix to component unmounting bug (https://github.com/chenglou/react-motion/commit/49ea396041b0031b95f4941cc7efce200fcca454). It's not clear why this is erroring, but people want the temp fix.
- F
TransitionMotion
styles
function not being passeddefaultStyles
value upon first call. #296 - I
onRest
callback forMotion
!
- F
TransitionMotion
keys merging bug. #264 - F
TransitionMotion
rare stale read bug. https://github.com/chenglou/react-motion/commit/f20dc1b9c8de7b387927b24afdb73e0a5ea0d0a6
- F Made a mistake while publishing the bower package; fixed.
- B
spring
helper's format has changed fromspring(10, [120, 12])
tospring(10, {stiffness: 120, damping: 12})
. - B
style
,styles
andstyles
of the three respective components now only accept either a number to interpolate, or aspring
configuration to interpolate. Previously, it accepted (and ignored) random key/value pairs mixed in, such as{x: spring(0), y: 'helloWorld'}
.y
Doesn't belong there and should be placed elsewhere, e.g. directly on the (actual react) style of the component you're assigning the interpolating values on. - B
TransitionMotion
got an all-around clearer API. See the upgrade guide and README section for more. - B
Motion
's'defaultStyle
, informally accepted the format{x: spring(0)}
. This is now officially unsupported. The correct format has always been{x: 0}
. Setting a default style of{x: spring(whatever)}
did not make sense; the configuration only applies for astyle
, aka destination value. Same modification applies toStaggeredMotion
andTransitionMotion
'sdefaultStyles
&willEnter
. - B
TransitionMotion
'swillEnter
/willLeave
's signature has changed. - B The
reorderKeys
helper is no longer needed thanks to the changes toTransitionMotion
. It's now removed. - B React-Native specific build gone. RN 0.18+ uses the vanilla Npm React package, so there's no more need for us to export a wrapper.
- F Bunch of bugs gone: #225, #212, #179, #157, #90, #88.
- I
spring
has acquired a new field as part of the new signature: precision tuning! - I Fully typed via Flow types.
- I Performance improvements.
- F Handle
null
andundefined
instyle
/styles
. #181 - I Library's now partially annotated with Flow.
- I Related to above, the
src/
folder is now exposed on npm so that you can take advantage of Flow by using:import {Motion} from 'react-motion/src/react-motion'
directly, instead of the old, prebuiltimport {Motion} from 'react-motion'
. This is experimental and intentionally undocumented. You'll have to adjust your webpack/browserify configurations to require these original source files correctly. No harm trying of course. It's just some type annotations =).
- B API revamp! See https://github.com/chenglou/react-motion/wiki for more details. Thanks!
- F React-native warning's now gone, but also put into a separate file path. To require react-motion on react-native, do
require('react-motion/native')
. - I Support for React 0.14.0-beta1.
- I React-native support!
- I Allow returning
null
from children function. #101 - I
defaultValue
for specifying a... default value, upon mounting. - I
TransitionSpring
'swillLeave
API got simplified and now asks for an object as a return value instead ofnull
.null
is still supported, but is deprecated and will be removed in the next version. See the new docs on it here. - I Exposed a few tasteful default spring configurations under the new exported
presets
.
- F Import some internal modules correctly for Ubuntu/Linux node (case-sensitive for them).
- F Nested springs work again.
- B
willLeave
returningfalse
will now keep the key. Onlynull
andundefined
will serve as a signal to kill the disappeared key. - B
willLeave
previously failed to expose the second argumentcorrespondingValueOfKeyThatJustLeft
. It's now exposed correctly. - F Definitively fix the previous problem of mis-detecting React Element as object.
- F
willLeave
is now called only once per disappearing key. It was called more than once previously as a implementation detail. Though you should never have put side-effects inwillLeave
. It's still discouraged now. - F If you have some
this.props.handlerThatSetStateAndUnmountsSpringInOwnerRender()
inSpring
'sendValue
, Spring's already scheduledrequestAnimationFrame
will no longer cause an extrasetState
since it's unmounted. But in general, please don't put side-effect inendValue
. - I Stabilize the spring algorithm. No more erratic behavior with a big amount of animated items or tab switching (which usually slows down
requestAnimationFrame
). #57 - I Partial (total?) support for IE9 by using a
requestAnimationFrame
polyfill.
- B Breaking API:
TransitionSpring
'swillEnter
's callback signature is now(keyThatEnters, correspondingValue, endValueYouJustSpecified, currentInterpolatedValue, currentSpeed)
(addedcorrespondingValue
as the second argument). Same forwillLeave
. - B
Spring
is now no longer exposed as a default, but simply as "Spring":require('react-motion').Spring
. Orimport {Spring} from 'react-motion'
. - B
Spring
andTransitionSpring
'schildren
function now expect a ReactElement. The components will no longer wrap the return value in adiv
for you. #44 #20 - I Move React to from dependencies to peerDependencies. #35
- I Internal cleanups + tests, for happier contributors.
- F Mis-detecting React Element as object.
- F Accidentally updating values at the first level of
endValue
without{val: ...}
wrapper.
- I Initial release.