Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: lregla/GSAP

Tags

3.1.1

Toggle 3.1.1's commit message
3.1.1

- FIXED: the "all.js" ES module file contained an invalid export for TweenMax (regression in 3.1.0). See greensock#355

- FIXED: if a zero-duration timeline contained a callback that added more animations to itself (lengthening the timeline's duration), it may prematurely get removed from its parent timeline.

- FIXED: if an object is returned when resolving then() that's not a function or Promise, it could generate an error.

- FIXED: transformPerspective now renders first in the list of transforms (previously it was AFTER translate/translate3d). This makes things render the way it did in GSAP 2 and earlier. See https://greensock.com/forums/topic/22624-transformorigin-vs-transform-origin-transformperspective/

3.1.0

Toggle 3.1.0's commit message
3.1.0

- NEW: stagger and distribute() recognize a new from: "random" value for randomizing the values. In other words, you can do stagger: {from: "random"}

- NEW: gsap.utils.shuffle() method randomly shuffles the elements in an array (in-place).

- NEW: you can set repeatRefresh: true on timelines now and it'll affect all children (invalidating them on each repeat, not including yoyo's).

- NEW: CSSPlugin can now handle cases where padding, margin, borderWidth, and borderRadius have multiple components, like for each side/corner.

- IMPROVED: previously the repeatRefresh feature got triggered just before each repeat (including yoyo's), but now it skips the yoyo portion because that behavior is much more intuitive.

- IMPROVED: when calling kill() on a Draggable instance, it no longer kills all active tweens of the drag-related properties (typically "x" and "y") - it only kills any inertia-related tweens that were created by that Draggable instance.

- IMPROVED: if the target has a "length" getter/setter, it was treated as an array-like collection of targets (like a jQuery object or a document.querySelectorAll() NodeList) but now you can simply wrap that in an array to have GSAP treat it like a normal target rather than a collection, like gsap.to([target], {...}); See greensock#352

- IMPROVED: CSSPlugin is now protected from tree shaking when you only reference TweenMax in a build tool that uses aggressive tree shaking. See https://greensock.com/forums/topic/21864-gsap-3-css/?tab=comments#comment-106722

- IMPROVED: if a non-function is passed to .then() as the onFulfilled parameter, it will now be ignored.

- FIXED: a regression in 3.0.5 caused the legacy TweenMax.staggerTo/From/FromTo() methods not to work properly (of course we recommend switching to the new, modern API). Example: https://greensock.com/forums/topic/22490-draw-svg/

- FIXED: in some rare cases, a motionPath tween that uses "align" may not be aligned properly if the target has transforms (like scale, rotation, x, y, xPercent, yPercent) applied already. For example, https://greensock.com/forums/topic/22459-remove-transform-in-motionpaths/ and https://greensock.com/forums/topic/21980-gsap-v3-motionpathplugin-scale-throws-the-path-off/

- FIXED: a regression in 3.0.5 could cause a timeline may report as being inactive when it's active (in a rare edge case). See https://greensock.com/forums/topic/21878-gsap3-timeline-changes-isactive/?tab=comments#comment-106200

- FIXED: if an animation is manually removed from a timeline and then its playhead is adjusted, like animation.progress(0.5), it no longer gets added back to its timeline as long as that timeline had autoRemoveChildren set to false (the default). See https://greensock.com/forums/topic/22497-strange-behavior-after-timelineremove-tween/

- FIXED: worked around an issue in Firefox that caused the initial borderRadius to be 0 (because Firefox doesn't report the computed borderRadius style properly).

- FIXED: now you can gsap.getProperty(target, "borderRadius") and it will also convert %-based values properly.

- FIXED: when adding a paused animation to a timeline, its endTime could be miscalculated. See greensock#349

- FIXED: regression in 3.0.5 that could cause odd behavior when tweening the timeScale of another animation

- FIXED: MotionPath array-based tweens of an aliased CSS-related properties like "rotate" (instead of "rotation") wouldn't work. See https://greensock.com/forums/topic/22568-issue-with-rotaterotation-property-inside-of-motionpath/

- FIXED: setting the "transform" of an element directly, like gsap.set(target, {transform:"translateX(50vw)"}) (instead of setting it with the component property like "x") would throw an error. See https://greensock.com/forums/topic/22580-copy-transform-from-another-object/

- FIXED: setting a default immediateRender (either globally or via the parent timeline) didn't affect from() and fromTo() tweens. Now it is inherited properly. See https://greensock.com/forums/topic/22609-set-immediaterender-false-to-main-timeline/

- FIXED: rotateZ is now an alias for rotation (same as rotate and rotationZ) on DOM elements (CSSPlugin).

3.0.5

Toggle 3.0.5's commit message
3.0.5

- NEW: gsap.utils.snap() now allows you to define a snapping radius without using an array of values, like gsap.utils.snap({ increment: 500, radius: 100 }). See https://greensock.com/forums/topic/22297-allow-snap-util-to-use-radius-without-an-array-of-values/

- FIXED: an error could be thrown in IE11 (and earlier) in certain rare cases (like when animating zIndex on a DOM element). See greensock#343

- FIXED: if you place a call() (or zero-duration tween with an onComplete) on a timeline that is also zero-duration, its callback may not fire properly on the next tick.

- FIXED: animating to a non-px value (like %) in a very rare case could result in 0 instead of the provided value. See https://greensock.com/forums/topic/22268-gsap-30x-wrong-lefttop-value/

- FIXED: in rare circumstances (when a from() or fromTo() tween is created AFTER the main rendering queue has finished on a particular requestAnimationFrame tick), there would be a 1-tick delay of the first render which could make it appear to jump initially. See https://greensock.com/forums/topic/22281-glitch-artifacts-in-gsap-3/ and https://greensock.com/forums/topic/22435-gsap-fromto-changes-in-v3-vs-v2/

- FIXED: if you set a "cursor" special property on a Draggable, it would only be set propertly after the initial press. See https://greensock.com/forums/topic/22294-draggable-3-non-default-cursor-appears-only-after-first-click/

- FIXED: if you set an animation's time() to a value GREATER THAN its duration, it would wrap instead of just capping it.

- FIXED: if you set an animation's timeScale() on the very same tick as a tween that's animating that tween's timeScale() starts, it could appear frozen until that (2nd) tween completes. See https://greensock.com/forums/topic/22320-infinite-rotation-starting-with-easeout-and-ending-infinite-with-ease-linear/?tab=comments#comment-105554

- FIXED: if an empty NodeList is passed in as the target of a tween, and you set gsap.config({nullTargetWarn:false}), it will no longer issue any warnings. See https://greensock.com/forums/topic/22342-stop-warnings-in-empty-nodelist

- FIXED: worked around an issue where some browsers leave extra whitespace in front of CSS variables, so when you getProperty() with a certain unit, it could be miscalculated. See https://greensock.com/forums/topic/22388-possible-bug-getproperty-doent-return-proper-units-when-units-are-on-the-property/

- FIXED: the UMD/ES5 files, when loaded directly into the browser, set a "default" as an export which affected the window. Some other libraries assume that's actually going to be a reference to the window itself, so now we remove the default after setting it on the window, in order to avoid conflicts like that. See https://greensock.com/forums/topic/22404-conflict-between-gsap-3-and-videojs/

- FIXED: isActive() could return 0 instead of false in some cases. See https://greensock.com/forums/topic/22425-isactive-bug-equals-0-not-a-boolean/

- FIXED: if you set an animation's progress() to exactly 1 and then reverse() it, it wouldn't play automatically. See greensock#348

3.0.4

Toggle 3.0.4's commit message
3.0.4

Fixed regression in 3.0.3 that caused repeating tweens to trigger their onRepeat (and onRepeatRefresh) behavior on every render after the initial iteration.

3.0.3

Toggle 3.0.3's commit message
3.0.3

- NEW: TextPlugin recognizes a new "type" special property that can be set to "diff" to make it skip the characters/parts that are identical between the start and end. That way, if you have a long blurb at the start that's the same in both, it doesn't look like the tween is taking forever to start (because it's animating the characters but you can't tell because they're identical). Like gsap.to("#el", {text: {value: "this text is new", type: "diff"}});

- NEW: TextPlugin recognizes a new "speed" special property that you can set to a number to have it automatically adjust the duration of the tween according to how many changes there are in the text. A value of 1 is relatively slow, and a value of 20 is very fast. You can set it to whatever you want. You can also set a "maxDuration" to cap the duration at a certain number of seconds. Like gsap.to("#el", {text: {value: "this text is new", speed: 10, maxDuration: 2}});

- NEW: TextPlugin recognizes HTML nodes one layer deep, so <br> tags for example will animate in as a whole instead of < then <b then <br then <br>.

- IMPROVED: many, many TypeScript improvements. (Forgot to mention that in the 3.0.2 release notes - a huge thanks to Blake Bowen and Pedro Tavares for leading the charge in that).

- IMPROVED: better compatibility with complex CSS values like boxShadow, like if you provide the value with the color at the END but the browser provides the computed value at the START, it'll flip them. Like "rgba(0,0,255,0.8) 8px 8px 8px" vs "8px 8px 8px rgba(0,0,255,0.8)"

- IMPROVED: Draggable now applies force3D:true by default which improves performance, particularly when transitioning between the pointerup event and the inertia tween (momentum).

- FIXED: if a repeating tween's progress() was set to exactly 1 and then back to 0, it wouldn't work. See https://greensock.com/forums/topic/22157-timeline-progress-not-returning-to-0/

- FIXED: if clearProps was called on a transform-related property after another tween of that same element's transform had already rendered once, it could (in rare situations) not properly clear out the transform. See https://greensock.com/forums/topic/22084-restart-and-clearprops/?tab=comments#comment-104696

- FIXED: overwrite logic on tweens with a "stagger" applied didn't work correctly in some cases. For example, overwrite: true wouldn't find (and kill) the tweens inside a staggered tween. In some cases, overwrite: "auto" also didn't work properly on tweens with a stagger.

- FIXED: if you passed true (boolean) to the 3rd parameter of gsap.utils.random(), it didn't return a function as it should.

- FIXED: in some rare cases CSSRulePlugin may not calculate the initial property value(s) correctly.

- FIXED: opacity in CSSPlugin and CSSRulePlugin defaults to 1 instead of 0.

- FIXED: dragging on an <img> inside of a Draggable in Firefox could cancel the drag and revert to the default behavior, as if you want to drag it outside the browser. See https://greensock.com/forums/topic/22159-dragging-a-div-containing-an-image

- FIXED: using gsap.getProperty() to get the "transform" property of a DOM element didn't work properly.

- FIXED: animating the "transform" property didn't always work as expected (though we recommend using each individual transform component instead, like "x", "y", "rotation", "scaleX", etc.).

- FIXED: if you clearProps a transform-related property, the next time you animated transforms on that object they may be misinterpreted and not rendered correctly.

- FIXED: in MorphSVGPlugin or MotionPathPlugin, if the <path> data contained an "a" (arc) command that merged the flag parameters in with each other and/or the "x" parameter (like "a8 8 0 018 8"), the path wouldn't be parsed correctly. See https://greensock.com/forums/topic/22213-odd-morph-svg-happening/

- FIXED: in rare cases, percentage-based widths could be miscalculated based on the order of operation. See https://greensock.com/forums/topic/22203-faulty-calculation-of-percentage-based-start-values/?tab=comments#comment-104982

- FIXED: setting timeScale() to 0 could cause an animation to jump (when stopping).

3.0.2

Toggle 3.0.2's commit message
3.0.2

- IMPROVED: due to popular request, Draggable now recognizes type: "scroll" | "scrollTop" | "scrollLeft" like it did in the v2.x versions.

- IMPROVED: ModifiersPlugin (in the core) accommodates some plugin values, like AttrPlugin, so that you can do gsap.to("circle", {attr:{cx:"+=1"}, modifiers:{cx: value => mouse.x}})

- IMPROVED: Draggable instantiation is up to 5x faster (better able to avoid layout thrashing when many instances are created at once)

- IMPROVED: handling of null/undefined values in arrays passed as the target of tweens, like gsap.to([element, undefined], ...) (it no longer errors; it just ignores undefined/null elements)

- IMPROVED: added static getPositionOnPath() and cacheRawPathMeasurements() methods to MotionPathPlugin.

- IMPROVED: then() Promise will be resolved onReverseComplete now too (in addition to onComplete).

- IMPROVED: GSDevTools allows a linked animation to be reversed manually (via code)

- IMPROVED: if a DOM element's property isn't found, CSSPlugin will attempt to apply a prefix.

- IMPROVED: CSSPlugin better handles tweening to a complex value (like "blur(10px)") when the initial value doesn't have matching values (like "none" or "").

- IMPROVED: if a tween is created after the main rendering loop on a particular tick, it won't lazy-render (so that things are rendered on the same tick rather than waiting for the next tick which could result in a very brief delay).

- IMPROVED: added conditional logic to the UMD files so that Object.defineProperty(exports, '__esModule', { value: true }); doesn't get executed in the browser (if there is a window defined) which helps avoid conflicts like the one described here (with mediaelement.js): https://greensock.com/forums/topic/22009-gsap3-vs-wordpress-53-mediaelementjs-conflict/

- IMPROVED: Draggable works better in environments where Draggable is loaded into a different document than the element it's controlling.

- IMPROVED: MotionPathHelper works better now in codepen where in editor mode sometimes codepen would intercept keyboard events so that hitting the DELETE key, for example, wouldn't delete the selected anchor point. Dragging the points no longer triggers scrolling on iOS devices.

- FIXED: .then() now works around an issue that could cause a loop of Promises in a certain scenario - see greensock#322

- FIXED: auto overwriting may not occur correctly when two animations of the same target begin on the same tick with a stagger applied

- FIXED isActive() could return false if the virtual playhead was directly on top of the start time and it hadn't rendered once yet.

- FIXED: The callback methods no longer pass the animation instance as a default parameter when no callback parameters are defined (that behavior was new in v3 and undocumented anyway)

- FIXED: endArray wasn't working correctly. GSAP can now animate numeric arrays directly. See https://greensock.com/forums/topic/21929-gsap3-crash/

- FIXED: a condition in MotionPathPlugin could cause a super long loop if you use SVG path data that has duplicate points in it (that's a bad idea anyway, but now MotionPathPlugin will sense it and work around it).

- FIXED: a numeric property may turn into a string (just a different type, but the value would be accurate) when animating to a relative value.

- FIXED: when animating to display: none, it will only be set at the end of the tween whereas other display values will be rendered at the start of the tween (for a more intuitive experience)

- FIXED: when animating to a very large number, it could flip to a negative number due to some bitwise limitations

- FIXED: if you create a timeline and only put set() calls (basically if it has zero duration), it wouldn't render automatically.

- FIXED: in a repeated animation, if you set the time() to something during the final repeat phase, it could position the playhead incorrectly.

- FIXED: a repeating from() tween with a delay may not render its initial values properly (this includes staggers).

- FIXED: if you set the transformOrigin on an SVG element that ALSO has it set in CSS somewhere, the CSS value could contaminate what gets rendered because in order to work around browser bugs and inconsistencies, GSAP bakes the origin values directly into the matrix() that it applies to the transform attribute.

- FIXED: the starting value could be parsed incorrectly on a DOM element that has a calc() value applied inline. See greensock#330 (comment)

- FIXED: clearProps:"all" on a from() tween may not work properly. See https://greensock.com/forums/topic/21938-vue-jump-bug-with-gsap-v3/

- FIXED: a from() or fromTo() tween may not render its initial values correctly in a very rare edge case.

- FIXED: an animation that was paused at a non-zero time, then the playhead was moved to exactly zero, it could resume from the original pause time instead of the new playhead position that was set after the pause.

- FIXED: a zero-duration animation in a timeline could be skipped. See greensock#332

- FIXED: if a transformOrigin value was provided with keywords in the wrong position, like "top left" instead of "left top", it could cause an error.

- FIXED: the playhead and in/out points may not be draggable in GSDevTools if you loaded it BEFORE the <body> tag in the HTML.

- FIXED: an SVG's transformOrigin could be miscalculated in a very rare circumstance.

- FIXED: a "scale" tween of a DOM element could ignore the starting scaleY if it's different than scaleX initially.

- FIXED: setting the progress() of an animation while in its yoyo phase incorrectly set the playhead as if it did not yoyo.

- FIXED: if the target of a tween was an object that was an element and also array-like (had indexed values, a length property, etc.) like a <form>, it could use the wrong target(s) for the "from" part of a fromTo() or from() tween. See https://greensock.com/forums/topic/22049-unable-to-set-starting-properties-on-an-html-form/

- FIXED: if you applied type:"rotation" Draggable to an element with position: fixed and then dragged after scrolling, it could mis-plot the rotational origin. See https://greensock.com/forums/topic/19771-misbehavior-of-draggable-knob-while-in-fixed-positioned-context/

- FIXED: if paused:true was set on a tween with a stagger, it would result in the child tweens all being paused, so when you unpause the parent tween it didn't actually unpause those children. See https://greensock.com/forums/topic/22105-stagger-pause-error/

- FIXED: if an onAutoKill was defined in a ScrollToPlugin tween, it would be called immediately (because it was interpreted as a function-based value).

- FIXED: if a zero-duration tween (or set()) was at the very start of a timeline and then that timeline's playhead was returned to 0 to play again after having already played, it would not render that zero-duration (or set()).

- FIXED: if MotionPathHelper was used on a path that was inside a <g> element that had transforms applied, they didn't affect the selection.

- FIXED: in a Draggable that had bounds applied as an element (like bounds:"#container"), borders weren't factored into the measurements.

- FIXED: if you used an element that wasn't attached to the DOM (like a proxy) as the target of a Draggable, it could throw errors. See https://greensock.com/forums/topic/22134-draggable-cannot-read-property-parentnode-of-null/

- FIXED: if a Draggable was set to control an SVG element and its "bounds" were set to its ownerSVGElement which had no viewBox defined, the bounds wouldn't work properly.

- FIXED: if you set a Draggable's snap to an array and also set its bounds to an element and you grab it mid-tween, in some cases it could have partial-pixel rounding that might affect which value it snaps to in the array. See https://greensock.com/forums/topic/22117-gsap-drag-snap-first-item-issues/

3.0.1

Toggle 3.0.1's commit message
3.0.1

- Fixed bug that could cause CSS-related values not to animate properly in certain cases

- Added protections against CSSPlugin being dropped by tree shaking in bundlers

3.0.0

Toggle 3.0.0's commit message
3.0.0

MAJOR update! Too many changes to list here. Please see https://greensock.com/3-release-notes for details.

Just a few highlights:

- New MotionPathPlugin

- No more TweenLite, TweenMax, TimelineLite, and TimelineMax - they’ve been consolidated into a single “gsap” object that’s easier to work with.

- Loads of new utility methods

- Keyframes

- New, more concise ease syntax

- LOTS more.

Although mostly backward-compatible with legacy code, there are some breaking changes, plus there’s a newer, more concise syntax that we strongly recommend moving to.

Happy tweening!

2.1.3

Toggle 2.1.3's commit message
2.1.3

- IMPROVED: clipPath support is improved (for example, you can use a polygon() in browsers that support it). The number of values in the start/end strings must match.

- IMPROVED: PixiPlugin compatibility with PIXI version 5.0.x (recently released) which changed some things around in their API.

- IMPROVED Previously GSDevTools capped durations at 1000 seconds, but it now recognizes a new maxDuration value in the vars object so you can control that cap.

- FIXED: if the stagger value in a staggerTo()/staggerFrom()/staggerFromTo() was defined as a simple number, it would calculate the total amount across all the spreads based on one element too many. So the stagger was 0.25 and there were only 3 elements, the last one would start at 0.75 instead of 0.5.

- FIXED: In rare cases, BezierPlugin may set the final values SLIGHTLY off, like by 0.00000001. Not anymore.

- FIXED: when resuming a reversed timeline that was paused with an addPause(), it might resume in the wrong place/time in certain cases. See https://greensock.com/forums/topic/20037-possible-bug-with-reversed-timeline-only-with-v212/

- FIXED: Animating className (or any transform-related value) on the root HTML element could result in an error. Not anymore.

- FIXED: if you embed GSAP directly inside of an SVG file, Firefox would throw an error due to a bug with Firefox not allowing access to an element's "style" when it was created using document.createElement(). That has been worked around now.

- FIXED: if a className tween was performed on an element with a background-image inline style, it might reload in Chrome when the tween renders for the first time (normally this isn't even noticeable because the browser has it cached). See https://greensock.com/forums/topic/20368-possible-gsap-bug-switching-classnames-in-chrome/

2.1.2

Toggle 2.1.2's commit message
2.1.2

- REVERTED: In 2.1.0, we changed the default immediateRender for **paused** TimelineLite/Max from(), fromTo(), staggerFrom(), staggerFromTo() calls to be false because a few people considered it a "bug" to have a paused timeline render anything (including starting values). However, since releasing 2.1.0, it has come to our attention that the change made a bigger impact on our user base than anticipated and it was a pain point. It altered behavior, so we decided it's better to revert to the old default, and to introduce a change like this in a future major version update. Our apologies for any confusion the 2.1.0 change caused anyone. 2.1.2 restores the old immediateRender defaults. And to be clear, this only ever affected timelines that were paused at the time the from()/fromTo()/staggerFrom()/staggerFromTo() calls were made.

- FIXED: A Safari update introduced a bug that could cause CSSRulePlugin not to function properly on pseudo elements. That's resolved.

- FIXED: A regression in 2.1.0 caused Draggable's dragClickables:true not to work properly.

- FIXED: in the ES5 TimelineMax file, if "each" was defined in an advanced grid stagger, the spacing may not have been calculated correctly in certain situations.