Upgrading react-lottie from 1.x to 2.x
Comparison of the public API of react-lottie 1.2.10 and 2.1.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.
Summary
| Removed import paths | 0 |
|---|---|
| Removed exports | 0 |
| Changed signatures | 0 |
| Removed class or interface members | 0 |
| Changed class or interface members | 0 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 1 |
| New exports | 0 |
Removed exports
None detected.
Changed signatures
None detected.
Removed class or interface members
None detected.
Changed class or interface members
None detected.
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
| Before | After | |
|---|---|---|
peerDependencies.react | >=15.0.0 | >=16.8.0 |
Changelog between these versions
Text published by the package authors, shown as-is.
2.1.0
### Features
* add an `isSubframe` prop that is passed to lottie-web's `setSubframe()`, so `enterFrame` can fire only on whole After Effects frames, e.g. to trigger audio exactly on frame boundaries ([#71](https://github.com/chenqingspring/react-lottie/issues/71))
* expose `goToAndStop(frame, isFrame)` and `goToAndPlay(frame, isFrame)` on the component instance, which makes it possible to drive an animation from scroll position or jump to an exact frame/marker through a `ref` ([#40](https://github.com/chenqingspring/react-lottie/issues/40))
### Bug Fixes
* keep a playing animation running when an unrelated prop changes; added a regression test for the state-change pause reported in [#43](https://github.com/chenqingspring/react-lottie/issues/43)2.0.1
### Bug Fixes
* apply the `segments` prop on mount, so an animation starts inside the requested range instead of playing the full timeline until the prop changes; an animation created with `autoplay: false` stays paused at the start of the range2.0.0
This release folds in the changes that were prepared as 1.2.11 (never
published) and modernizes the development toolchain.
### Breaking Changes
* the `react` peer dependency is now `>=16.8.0` (previously `>=15.0.0`);
React 15 is no longer supported. The component is tested against React 18
and works with React 19.
* import animation JSON with a default import
(`import animationData from './pinjump.json'`). A namespace import
(`import * as animationData`) yields a frozen ESM module object that
lottie-web cannot annotate, which fails under Vite and other strict ESM
bundlers.
### Features
* add a `tabIndex` prop so presentational animations can be removed from the tab order ([#130](https://github.com/chenqingspring/react-lottie/issues/130))
* support the `renderer` option and document it in the README
* print a highlighted maintenance banner after `npm install` (maintained automatically by Relay; report bugs and feature requests on GitHub; https://get-relay.cc) and document it in the README
### Bug Fixes
* leave playback alone on re-renders unless a playback prop changed, so an `autoplay: false` animation no longer starts itself and a paused one is not restarted; a re-created but equal `segments` array no longer replays the animation ([#32](https://github.com/chenqingspring/react-lottie/issues/32), [#43](https://github.com/chenqingspring/react-lottie/issues/43))
* apply the initial `isStopped`, `isPaused` and `direction` props on mount instead of only on update
* replay changed segments immediately by passing `force` to `playSegments` ([#82](https://github.com/chenqingspring/react-lottie/issues/82))
* reload the animation when the remote `path` option changes ([#99](https://github.com/chenqingspring/react-lottie/issues/99))
* run the data/path reload on modern React instead of the deprecated `componentWillUpdate` ([#77](https://github.com/chenqingspring/react-lottie/issues/77))
* guard `destroy()` when the animation was never created ([#51](https://github.com/chenqingspring/react-lottie/issues/51))
* make the imperative `pause()` method actually pause, and stop restarting a paused animation on unrelated prop updates ([#58](https://github.com/chenqingspring/react-lottie/issues/58))
* drop the runtime dependency on `babel-runtime`, which broke consumers' builds ([#177](https://github.com/chenqingspring/react-lottie/issues/177))Give your AI agent these facts
Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Add to CursorAdd to VS Code★ Star on GitHub
Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests
Frequently asked questions
What are the breaking changes when upgrading react-lottie from 1 to 2?
Between react-lottie 1.2.10 and 2.1.0, Vigia found 0 removed exports, 0 changed signatures and 0 removed or changed class or interface members.
What became deprecated in react-lottie 2?
0 exports or members are newly marked as deprecated in react-lottie 2.1.0.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/react-lottie/upgrade?from=1.2.10&to=2.1.0