Skip to content

Latest commit

 

History

History
291 lines (251 loc) · 16.3 KB

changelog.md

File metadata and controls

291 lines (251 loc) · 16.3 KB

[1.2.1] - 2024-11-28

Fixed

  • Fixed: when a new tween is created at the last frame of ToYieldInstruction(), coroutine will wait for the wrong tween. Bug report: #126

[1.2.0] - 2024-10-03

Fixed

  • Fixed: sequence.Group() doesn't work correctly after ChainCallback() and InsertCallback(). More info: #112

[1.1.22] - 2024-09-14

Added

  • Add Easing.Evaluate(float interpolationFactor, Ease ease) method that gives the ability to evaluate standard eases manually. Previously this method was experimental.

Fixed

  • Fixed: destroying target of a paused tween doesn't release the tween. Bug report: #4 (comment)
  • Fixed: UPM examples are not compatible with Input System (New).

[1.1.21] - 2024-08-31

Added

  • Implement GetHashCode() and IEquatable for Tween and Sequence.

[1.1.20] - 2024-08-12

Changed

Added

Fixed

  • Fixed: Demo scene doesn't work with Input System (New). Bug report: #85
  • Fixed (minor): calling Sequence.Complete() when the sequence is in Stater.After doesn't complete the sequence immediately.

[1.1.19] - 2024-05-29

Fixed

  • Fixed: Tween.TextMaxVisibleCharacters() is not available in Unity 6 because Text Mesh Pro was merged with UGUI.

[1.1.18] - 2024-05-11

Fixed

[1.1.17] - 2024-04-17

Fixed

  • Fixed: Tween.TextMaxVisibleCharacters() throws assertion exception.

[1.1.16] - 2024-04-16

Fixed

  • Fixed: interpolation factor can be calculated incorrectly when cyclic tween is not started yet. Bug report: #63
  • Fixed: don't log an error when the child animation setting is the same as the parent Sequence's setting. Bug report: #66
  • Fixed: enabling PRIME_TWEEN_SAFETY_CHECKS in IL2CPP builds throws exception. Bug report: #65
  • Fixed: adding experimental define produces compilation error.

[1.1.15] - 2024-04-07

Fixed

  • Fixed: Tween.GetTweenCount(target) doesn't work for tweens inside sequences. Bug report: #60
  • Fixed: ShakeSettings.strength property incorrectly displayed in narrow Inspector.
  • Fixed: sometimes automatic installation fails and users have to press the 'PrimeTweenInstaller/Install' button to fix it.
  • Fixed: review request should appear only after the user presses the Update button in Package Manager. Bug report: #58

[1.1.14] - 2024-03-16

Added

  • Add Tween.VisualElementColor/VisualElementBackgroundColor() to animate colors of UIToolkit components.
  • Experimental: add 'double' numeric type support for Tween.Custom(). This feature requires the PRIME_TWEEN_EXPERIMENTAL define in 'Scripting Define Symbols'.

Changed

  • Improve documentation.

[1.1.13] - 2024-02-23

Added

  • Add sequence.Pause/Play() to adapter.

Changed

  • If sequence child pauses the parent sequence, stop updating Sequence immediately. Other tweens after the current one will not receive an update.

[1.1.12] - 2024-02-14

Added

  • Add experimental Easing.Evaluate(float, Ease).
  • Add DOVirtual.EasedValue() to adapter.
  • Add custom Ease.OutBounce strength support to adapter.

Changed

  • The 'warnEndValueEqualsCurrent' setting is now applied on a per-tween basis. Feature request: #48

[1.1.11] - 2024-01-18

Fixed

  • Fixed: calling PrimeTweenConfig.SetTweensCapacity() before PrimeTweenManager is created throws an exception in Editor.

Changed

  • Optimize duplicated shakes on the same target.

[1.1.10] - 2024-01-15

Added

  • Add sequence.Insert() and sequence.InsertCallback() APIs. Feature request: #33
  • Add Asset Store review request when updating PrimeTween to a new version.

Fixed

  • Fixed: completing an infinite tween (cycles == -1) evaluates the interpolation factor to -1 and produces wrong animated value. Bug report: #38

Changed

  • sequence.Complete() now respects the 'cycles' and 'cycleMode' and works similarly to tween.Complete(). Previuosly, sequence.Complete() completed only the current cycle.

Removed

  • Remove Tween.PositionOutBounce() experimental API. Use Easing.BounceExact(float amplitude) instead.

[1.1.9] - 2024-01-09

Added

  • Adapter: add 'loopType' parameter to sequence.SetLoops(); add sequence.SetEase(); add SetLink().

Fixed

  • Fixed: sequence.Group() after seqence.Chain() produces a wrong sequence duration (too short) if a grouped tween is longer than the previously chained tween.
  • Fixed: sequence.Group(sequence) groups with the first tween in sequence, but should group with the previous tween (or sequence) instead. Now it works the same way as sequence.Group(tween).
  • Fixed: sequence.OnComplete() should be called when all sequence children are completed. Previously it was called before the last children update.
  • Fixed: setting 'elapsedTime' or 'progress' recursively from Tween.Custom() or tween.OnUpdate() leads to a crash because of stack overflow.

Changed

  • Remove the 'useUnscaledTime' parameter from sequence.ChainDelay(). The parent Sequence controls the 'useUnscaledTime' of all children tweens and sequences, so this parameter is not needed.

[1.1.8] - 2024-01-05

Added:

  • Add more detailed warnings and errors.

Fixed

  • Fixed: Demo.cs causes compilation error, preventing PrimeTween to install correctly.

[1.1.7] - 2024-01-02

Fixed

  • Fixed: ReusableTween.updateSequence() throws AssertionException when a sequence is running during scene change in the Editor. Bug report: #32

[1.1.6] - 2023-12-29

Added:

  • PrimeTween can now print tween's creation stack trace when an error occurs to make the debugging process a lot easier. This feature requires the 'PRIME_TWEEN_SAFETY_CHECKS' define.
  • Add TypewriterAnimatorExample.TypewriterAnimationByWords() to the Demo scene to show an example of how to animate text word-by-word.

Fixed

  • Fixed: shake doesn't restore the position to the initial value if shake's period is less than duration.

[1.1.5] - 2023-12-14

Added:

  • Add Tween.TextMaxVisibleCharacters(TMP_Text target, ...) method to support simple typewriter animation. Please see the 'Demo.TypewriterAnimatorExample.cs' for a more complex example of text animation that makes pauses after punctuations.

Fixed

  • Fixed: don't allow to set invalid elapsedTimeTotal and progressTotal values to infinite tweens.

[1.1.4] - 2023-12-10

Added:

  • Tween/Sequence.timeScale can now be negative to support backward movement (rewind).
  • Add 'useFixedUpdate' parameter to update a tween or sequence in the FixedUpdate().
  • Release Parametric Easing to production (previously this feature was experimental): https://github.com/KyryloKuzyk/PrimeTween#parametric-easing

Changed

  • The default 'easeBetweenShakes' is now Ease.OutQuad instead of Ease.OutSine.
  • The 'useUnscaledTime' parameter now doesn't prevent the abrupt delta time changes when unpausing the Editor to be consistent with the official Unity's behavior.

Fixed

  • Fixed: shakes log the 'warnEndValueEqualsCurrent' warning if object's local position/rotation is Vector3.zero/Quaternion.identity.

[1.1.3] - 2023-12-06

Added:

  • Add Sequence.OnComplete() API.

Fixed

  • Fixed: nesting multiple empty Sequences may lead to a StackOverflow exception in some cases.
  • Fixed: enabling/disabling UI.Slider in Demo scene constantly allocates GC.

[1.1.2] - 2023-12-03

Added:

  • Add 'PrimeTweenConfig.warnEndValueEqualsCurrent' setting to warn if the 'endValue' equals to the current animated value.

Fixed

  • Fixed: PrimeTween may log warnings in Editor when exiting Play Mode.

[1.1.1] - 2023-11-30

Added:

  • Sequences now support CycleMode.Yoyo and CycleMode.Rewind with the help of Sequence.Create(numCycles, CycleMode cycleMode).
  • Sequences now support easing that can be applied to the whole Sequence with the help of Sequence.Create(..., Ease sequenceEase).
  • 'elapsedTime', 'elapsedTimeTotal', 'progress', and 'progressTotal' properties now have setters, so it's possible to manually set the elapsed time of tweens and sequences. Please see the Demo scene for usage example.
  • Parent Sequence now controls the isPaused, timeScale, and useUnscaledTime of all its children tweens and sequences.
  • Add a warning when tween.SetRemainingCycles() is called on Tween.Delay(). More info: https://discussions.unity.com/t/926420/101.

Changed

  • It's no longer allowed to Stop()/Complete() a tween inside a Sequence. Please Stop()/Complete() the parent Sequence instead.
  • It's no longer allowed to await or use the '.ToYieldInstruction()' on tween inside a Sequence. Please use the parent Sequence instead.
  • It's no longer allowed to add tweens to a started Sequence.
  • It's now allowed to call Tween.StopAll(), Tween.CompleteAll() and Tween.SetPausedAll() from onValueChange, OnUpdate() and OnComplete().
  • SetCycles() was renamed to SetRemainingCycles(). To set Sequence cycles, use Sequence.Create(cycles: numCycles).
  • Remove 'minExpected' and 'numMaxExpected' parameters from Tween.StopAll/CompleteAll/SetPausedAll() methods.

Fixed

  • Fixed: Tween.GetTweensCount() may return the incorrect result if called from the OnComplete() callback.
  • Fixed: MeasureMemoryAllocations.cs example script doesn't ignore its own allocations.

[1.0.17] - 2023-11-12

Fixed

  • Fixed: the Demo scene doesn't compile if PrimeTween is not installed.

[1.0.16] - 2023-11-04

Fixed

  • Fixed: Quaternion tweens don't work correctly with CycleMode.Incremental. Bug report: #19

[1.0.15] - 2023-10-14

Fixed

  • Fixed: the first time Sequence is created, it may play incorrectly in some cases.

[1.0.14] - 2023-10-02

Added

  • Add methods to animate RectTransform.offsetMin/offsetMax.
  • Add sequence.timeScale to set the timeScale for all tweens in a Sequence.
  • Add Tween.TweenTimeScale(Sequence) method to animate sequence.timeScale over time.

Fixed

  • Fixed: Unity's Time.unscaledDeltaTime reports the wrong value after unpausing a scene in the Editor.

[1.0.13] - 2023-09-24

Fixed

  • Fixed: passing a null UnityEngine.Object to 'Tween.' methods causes null ref exception in PrimeTweenManager.Update(). Bug report: #13

[1.0.12] - 2023-09-22

Added

  • Experimental: add parametric Easing.Bounce(float strength) and Easing.BounceExact(float magnitude). BounceExact allows to specify the exact bounce amplitude in meters/degrees regardless of the total tween distance. This feature requires the PRIME_TWEEN_EXPERIMENTAL define.
  • Add From(fromValue) method to adapter.
  • Support parametric OutBack and OutElastic eases in the adapter.

Changed

  • Easing.Elastic: normalize the oscillation period by duration; this ensures the tween has the same period regardless of duration.

[1.0.11] - 2023-09-21

Added

  • Tween.GlobalTimeScale(), Tween.TweenTimeScale(), and tween.timeScale are no longer experimental.
  • Add tween.OnUpdate() to execute a custom callback when the animated value is updated.
  • Experimental: add Easing.Overshoot(float strength) and Easing.Elastic(float strength, float normalizedPeriod) methods to customize Ease.OutBounce and Ease.OutElastic.

Changed

  • Tween methods now accept Easing struct instead of AnimationCurve. You can continue using AnimationCurve as before because it is implicitly converted to the Easing struct.
  • Ease.OutElastic now works the same as the most popular js and C# tween libraries.

Fixed

  • Add PrimeTween.Demo namespace to Demo scripts.

[1.0.10] - 2023-09-13

Added

  • Add Tween.XxxAtSpeed() methods to create animations based on speed instead of duration.
  • Add Tween.GetTweensCount() method.

Changed

  • Improve performance.

[1.0.9] - 2023-09-08

Changed

  • Tween.StopAll(null) and Tween.CompleteAll(null) now immediately clean the internal tweens list, so PrimeTweenConfig.SetTweensCapacity() can be called immediately after that.

Fixed

  • Fixed: Tween.ShakeLocalRotation() doesn't work correctly.

[1.0.8] - 2023-09-07

Added

  • Tween.Delay(), tween.OnComplete(), and sequence.ChainDelay() methods now accept the 'warnIfTargetDestroyed' parameter to control whether PrimeTween should log the error about tween's target destruction. More info: #4

Fixed

  • Fix compilation error with PRIME_TWEEN_DOTWEEN_ADAPTER.

[1.0.7] - 2023-09-01

Added

  • Add 'UI Toolkit' support (com.unity.modules.uielements). All animations from the ITransitionAnimations interface are supported.
  • Experimental: add Tween.PositionOutBounce/LocalPositionOutBounce() methods. These methods add the ability to fine-tune the Ease.OutBounce by specifying the exact bounce amplitude, number of bounces, and bounce stiffness.
  • Log error when properties of dead tweens and sequences are used.

Changed

  • Rename 'Tween.LocalScale()' methods to 'Tween.Scale()'.
  • Rename 'IsAlive' to 'isAlive'.
  • Rename 'IsPaused' to 'isPaused'.

[1.0.5] - 2023-08-29

Added

  • Experimental: add tween.timeScale; Tween.TweenTimeScale(); Tween.GlobalTimeScale().

Fixed

  • Fixed: onComplete callback should not be called if Tween.OnComplete(target, ...) has been destroyed.
  • Fixed: 'additive' tweens don't work correctly.

[1.0.4] - 2023-08-22

Added

  • Warn if PrimeTween's API is used in Edit mode (when the scene is not running).
  • Experimental: additive tweens.

Changed

  • Move Tween.Custom() 'AnimationCurve' parameter after 'onValueChange' parameter to be consistent with other overloads.
  • Move Tween.ShakeCustom/PunchCustom() 'startValue' parameter before 'ShakeSettings' parameter to be consistent with Tween.Custom() methods.

Fixed

  • Normalize Quaternion passed to animation methods.

[1.0.3] - 2023-08-15

Added

  • Sequence nesting: sequences can be grouped/chained to other sequences.
  • Add startValue/endValue overload to all animation methods.
  • Add Tween.ShakeCamera().
  • Measure memory allocations in the Demo scene.

[1.0.2] - 2023-05-29

Added

  • All tweens can now be viewed in PrimeTweenManager's inspector.

Changed

  • Tweens are now frame perfect. That is, on a stable framerate, tweens take a deterministic number of frames.

[1.0.1] - 2023-04-28

Added

  • Add a version of Tween.Custom() that doesn't require passing a tween's target. Please note that this version will most probably generate garbage because of closure allocation.
  • Add Tween.EulerAngles/LocalEulerAngles methods to animate rotation beyond 180 degrees.
  • Add Demo scene.

Changed

Fixed

  • Property drawers don't work correctly with copy-pasting and prefabs.
  • Fixed: samples asmdef has dependency duplication that leads to compilation error.
  • Fixed: custom curve should not be clamped at the start or the end of the animation.

[1.0.0] - 2023-04-20

Added

  • Animate anything (UI, Transform, Material, etc.) with zero allocations.
  • Group animations in Sequences with zero allocations.
  • Shake anything.
  • Everything is tweakable from the Inspector.
  • Async/await support.
  • Coroutines support.