Skip to content

1.18.2

@gsap-dev gsap-dev tagged this 22 Dec 19:05
- 1.18.2 is mostly a push that was necessary due to NodeJS semver/registry complications with the 1.18.1 push. Therefore, we'll include the information about 1.18.1 fixes below as well for convenience.

- FIXED: an onDragStart() could be inadvertently triggered on a Draggable if an update(true) was called from within a callback (regression in 1.14.2)

- FIXED: the bounds may not be updated properly on a Draggable with autoScroll:true and throwProps:true after scrolling and changing the bounds and calling update(true).

- FIXED: in very rare cases, ThrowPropsPlugin's final/onComplete values might be off by an extremely small amount (like 0.0000000001).

- IMPROVED: EasePack's node/amd/commmonjs compatibility

- UPDATED: copyright dates (2016)

--------- 1.18.1 release notes below -----------

- NEW: TweenLite.ticker.wake() optionally accepts a "seamless" parameter (boolean) that will adjust the time so that things appear to seamlessly begin again (no jump according to the elapsed time). So TweenLite.ticker.wake(true) would seamlessly wake/resume the ticker.

- IMPROVED: if GSAP is loaded on a page that's in an inactive tab and the browser is under heavy load, it will not revert to using setTimeout instead of requestAnimateionFrame. Also, if you specifically set TweenLite.ticker.useRAF(true), it will not fall back to setTimeout. You may now set it to "auto" (the default) to have it intelligently select the best option.

- IMPROVED: calling update() on a Draggable instance will cause it to re-analyze the dimensions/limits for auto-scrolling. You can even do this WHILE you're dragging.

- FIXED: if the original property was a string and tweened as a number, it was simply appended to the end in 1.18.0 (regression). For example, if element.style.opacity starts at 0 and then you do TweenLite.to(element.style, 1, {opacity:1}), it would end up at "10". This is fixed now (the initial value is cast as a number). https://github.com/greensock/GreenSock-JS/issues/123

- FIXED: In extremely rare cases, an animation's onComplete wouldn't be called when setting the time of the parent timeline to exactly on top of the end time that happens to be on a value that ends in a decimal like 999999999999 or .00000000000001. Now if you get within 0.0000001 seconds of the end time, it will assume it is complete.

- FIXED: clearProps works on SVG transforms now.

- FIXED: Draggable's hitTest() works better in IE8 when selector text is used.

- FIXED: a "delay" set inside of a TweenMax.staggerTo()/staggerFrom()/staggerFromTo() "cycle" is now honored.

- FIXED: parsing a 3D CSS transform no longer gets flipped in one direction in certain rare scenarios.

- FIXED: setting totalDuration() of a TimelineMax with a repeatDelay larger than the new duration works now.

- FIXED: if you altered the playhead position from inside a callback (like an onComplete) that's in a nested tween inside a TimelineLite/Max, it could be inadvertently called in some (rare) cases. That's fixed now.

- FIXED: a regression in ColorPropsPlugin that caused values not to be set correctly when "format" was "number".

- FIXED: issue in IE10/11 that could cause a brief flash of a scrollbar when the page first loads Draggable.

- FIXED: worked around Firefox issue that could cause a Draggable that's applied to a video not to allow mouse events to affect the video properly. For example, clicking on it to play the video wouldn't cause the video to play, as if Draggable was intercepting the mouse events.

- FIXED: when performing a bezier tween on CSS properties like transforms, rewinding a tween/timeline all the way to a time of 0 could cause the values to revert to their pre-tween state unnecessarily.

- FIXED: when tweening to a CSS value that uses "vw" or "vh" units, it could result in using "px" at the end instead.

- FIXED: if TweenMax.updateTo() was called with a new ease defined, it wouldn't take effect in certain circumstances.

- FIXED: an onRepeat could fire twice in rare circumstances if TweenMax.updateTo() was called from within the onRepeat.

- FIXED: if you altered the bounds of a Draggable via its "vars" object AFTER it was created, and you re-used that vars object on another Draggable instance, they would both be affected. (Not anymore).

- FIXED: setting a complex CSS value like borderBottom:"10px solid red" would use the original non-numeric/non-color piece of the value (in this example, "solid" which may be "none" in the computed style).

- FIXED: in ScrollToPlugin, scrolling to values less than 0 doesn't cause the tween to trigger an autoKill anymore.

- FIXED: DrawSVGPlugin works even if you've got an extra space inside each value pair, like points="0, 0 100, 200" instead of points="0,0 100,200".

- FIXED: regression that caused CSSPlugin to render scaleZ as 1 if there was no rotationX or rotationY.

- FIXED: an ID inside of a complex string is much less likely to be inadvertently interpreted as a hex color value.

- NEW: MorphSVGPlugin records the original path data so that you can tween back to it easily (after morphing to some other value) by targeting the original element itself, like TweenLite.to("#element", 1, {morphSVG:"#element"})

- NEW: MorphSVGPlugin.pathDataToBezier() accepts a new "align" config property that can be set to an element (or selector text) to adjust the values so that the element gets positioned on the path, or "relative" to make all of the values relative (like moving the path to the element).

- NEW: You can set the shapeIndex of a "morphSVG" tween to "log" to have it console.log() the value that's automatically selected. This can be useful in troubleshooting or for optimizing speed because if you set a specific shapeIndex value (rather than "auto"), the plugin can skip several steps of logic that determines the best match.

- NEW: MorphSVGPlugin recognizes a new "precompile" property. When set to "log", it will console.log() a 2-element array of values that you can then copy/paste into the actual tween, replacing precompile:true with precompile:["...","..."] (the values that were logged). Doing so will allow MorphSVGPlugin to instantiate the tween much faster because it can skip all the logic that determines shapeIndex and matches the number of points and shifts them around when necessary to make everything look seamless. That logic only runs on the first render of the tween, so this precompile step just helps the tween START faster, avoiding a potential stutter right when it begins.
Assets 2
Loading