Back to Explore

tweenjs/tween.js

GitHub
1 watchersOpen source

Last release:

tween.js is a JavaScript and TypeScript tweening animation engine for smoothly animating properties of an object over time. It includes reusable easing functions (and supports custom easing) and does not manage its own animation loop, making it useful for integrating into an existing render or update loop.

Project status

  • Maintenance status: Evidence suggests the repo is largely quiet/dormant in terms of published updates, with the most recent tagged updates shown in the provided data from July 26, 2024, and no further versioned updates listed after that. (Side fact, upstream push was 2025-01-11, but no corresponding recent tagged updates are shown.)
  • Update cadence: The visible update history is clustered in early 2024 (v21.1.0 to v23.x, plus v22.0.0) and mid 2024 (v24.0.0, v25.0.0), followed by a long gap of about two years from the last shown updates to today (2026-08-20), indicating no active release cadence currently.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v25.0.0

    v25.0.0 introduces a behavioral change around whether tweens implicitly start when `Tween.update()` is called, and it adjusts the `end()` implementation. The release notes document both the breaking auto-start default change and the fix to make `end()` advance to the correct end time.

    Breaking
  • v24.0.0

    v24.0.0 introduces a major behavior change around tween group membership: new tweens no longer auto-attach to any group, and tweens are no longer automatically added to or removed from groups when you call tween lifecycle methods. It also adds group-level utilities like Group.allStopped(), adjusts Group.update semantics, and changes how stopped tweens behave during update.

    BreakingFeatures
  • v23.1.3

    v23.1.3 is presented as a revert of a prior yoyo-related fix from v23.1.2 because it broke the yoyo demo. The release notes are brief and mainly frame this as a yoyo correction, pointing to PR #687, with no detailed behavioral changes described.

  • v23.1.2

    v23.1.2 focuses on fixing tween behavior around yoyo plus repeat timing, and it also updates Linear easing functions to be pure. The code changes primarily affect how Tween.update computes completion and when it processes repetitions, especially at exact repeat boundaries.

  • v23.1.1

    v23.1.1 is a small patch release that primarily fixes Tween behavior when duration is negative. The code also introduces a new public API, Tween.getDuration(), and updates built artifacts and the VERSION constant.

    Features
  • v23.1.0

    Release v23.1.0 was published on 2024-01-15, but the publisher did not provide any release notes. Because no change log details are available, developers should verify the upgrade impact by reviewing the repository’s commits, tags, and any relevant changelog or diff for API, behavior, or dependency changes.

  • v23.0.0

    v23.0.0 focuses on fixing Tween repeat behavior when browser timers skip updates (for example when a tab sleeps), so tweens can resume and effectively “time travel” correctly. The release also updates onRepeat related test coverage and refreshes examples, alongside a documented breaking change removing support for negative .delay() values.

    Breaking
  • v22.0.0

    v22.0.0 bumps the package version and updates the CommonJS entry point build output. The functional runtime code appears unchanged, but the published CJS artifact path changed, which affects how consumers may import from deep/internal dist files.

    Breaking
  • v21.1.1

    v21.1.1 focuses on TypeScript usability by adjusting the package exports so TS can discover type definitions automatically. It also updates the README tutorial link. The code diff further shows several repo and example/tooling changes that are not mentioned in the release notes.

  • v21.1.0

    Release v21.1.0 was published on 2024-01-14. No release notes or change log details were provided by the publisher, so the developer impact (new features, fixes, breaking changes) cannot be determined from the available information.

  • v21.0.0

    v21.0.0 primarily bumps the package version and adds a package.json exports map, improving ESM tool compatibility. Most of the other diff content is documentation, examples, and CI/workflow updates rather than library code behavior changes.

    BreakingFeatures
  • v20.0.0

    v20.0.0 changes how Tween targets are handled by introducing a new dynamic mode flag and making dynamic-to disabled by default. It also enforces that calling Tween.to() after a tween is started (including when paused) throws an error, and includes updates to tests and examples (notably video_and_time).

    BreakingFeatures