1.12.0

- Added lagSmoothing() feature that automatically heals from CPU spikes.

- Added "lazy" feature that lazy-renders the tween on the tick that it reads its starting values (to avoid the read/write/read/write layout thrashing in some browsers). It is enabled by default on all tweens except zero-duration ones (and set() calls), but you can override the default behavior by defining lazy:true or lazy:false as a special property of any tween.

- Added new force3D:"auto" value that forces 3D transforms to be used during the tween and then automatically switches back to 2D at the end of the tween if there are no 3D properties necessary (rotationX, rotationY, or z); this can help free up GPU memory, especially on mobile devices.

- AttrPlugin can now accommodate non-numeric values. For example, TweenLite.set("#img", {attr:{src:"photo.jpg"}});

- Improved Draggable's touch handling so that when the user taps on a UI element (like a checkbox) inside a Draggable, it works more intuitively. The event.preventDefault() is called in fewer circumstances now.

- Improved Draggable's compatibility with SVG elements.

- Added a "soft" disable() for Draggable that you can call like yourDraggable.disable("soft") in which case it won't remove the mouse/touch listeners, thus it is faster. You can kill() a Draggable if you don't plan to use it anymore.

- Deprecated Draggable's disable() and enable() methods in favor of a new enabled() method that can do both (disable and enable).

- Fixed an issue with Draggable's hitTest() method that caused an error in IE8.

- Fixed issue in jquery.gsap.js plugin that could cause an error with jQuery 2.1 and the way it handles the queue.

- Fixed an issue with IE8 opacity that could cause it not to read the current value properly if the CSS used an upper-case "O" in "Opacity".

- Worked around a browser issue that caused SVG elements not to report their transform properly which could cause string-based transform tweens not to work as expected.

- Improved compatibility with SVG className tweens.

- Fixed issue in TimelineLite's getTweensOf() method that would prevent it from finding tweens after it had completed or had been disabled.

- Fixed issue that caused reversed tweens not to complete in the correct direction when the "complete" parameter of TweenMax.killAll() was true.

- Fixed issue that could cause an infinite loop if the same vars objects are reused and flip-flopped in two fromTo() tweens.