Skip to content

chore(deps): bump lottie-react from 2.4.1 to 3.1.2 - #302

Merged
Benevanio merged 1 commit into
developfrom
dependabot/npm_and_yarn/develop/lottie-react-3.1.2
Oct 11, 2026
Merged

Benevanio merged 1 commit into
developfrom
dependabot/npm_and_yarn/develop/lottie-react-3.1.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 7, 2026 •

Copy link
Copy Markdown

Bumps lottie-react from 2.4.1 to 3.1.2.

Release notes

Sourced from lottie-react's releases.

v3.1.2

Fixed

  • Animations with text layers left lottie-web's font measurement spans on document.body, two per font, on every mount. The engine appends them before deciding anything and takes them back only where it watches a downloaded font arrive, so a font with nothing to download kept its pair for the life of the page and destroy() did not help. They are now collected at load and again at teardown. A font still waiting on a download keeps its pair, because the engine measures through those spans to decide whether it arrived; the engine collects those itself as soon as the font lands. #142, fixed in #144, from an approach by @​dvd233 in #143.

  • On Windows, pnpm check failed at the website render assertion on a build where every page had rendered, because the list of pages that must exist was compared against paths the platform separates with backslashes. Contributors on Windows get a green gate again. #145.

Nothing breaking: the peer range, the exports and every existing prop are unchanged. The per-import size budgets rose by 100 bytes on the three tightest entry points to cover the font fix, which costs about 77 bytes gzipped.

v3.1.1

Fixed

  • On React 18, every rendered <Lottie> logged Unexpected return value from a callback ref in development, twice per mount and unmount, because the merged ref returned a cleanup React 18 does not accept. It now returns one only when a ref it merges returned a cleanup of its own; otherwise both React versions clear every ref through the null call. Cosmetic only: nothing leaked, and React 19 behaves as before. The React 18 test lane now fails on any console output from a mount and unmount. #140, fixed in #141.

Nothing breaking: the peer range, the exports and every existing prop are unchanged.

v3.1.0

New

  • configureLottie sets the two things that belong to the engine rather than to one animation: idPrefix and quality. Element IDs are prefixed by default from this version, lottie-react-lottie__lottie_element_1 where 3.0.0 minted __lottie_element_1, each engine build with its own suffix, so Lottie and LottieLight on one page no longer share an ID; two copies of the library each set a base of their own. Docs: https://lottiereact.com/docs/animation/configuring-the-engine
  • React Server Components: the components, the hooks, the interaction factories and configureLottie are marked as client modules, so a server component can import <Lottie> directly; a server-side call of configureLottie fails at build time instead of configuring a copy the browser never sees.
  • rendererSettings types now include the fields the engine reads that lottie-web's own declarations leave out: runExpressions on every renderer, id and contentVisibility on svg and canvas, width and height on svg, filterSize on html.

Fixed

  • lottieScrollScrub no longer stands still when html, body { overflow-x: hidden } (a common rule, and create-next-app's default) makes body a scroll container that never scrolls: the scrub measures by hand whenever its timeline's scroller cannot scroll.
  • Interaction factories receive a live view of the animation from context.lottie, so keeping or destructuring it is safe; a copy taken at attach time no longer misses a root that arrives later.

Docs

Cursor-follow and recolouring recipes, and clarifications on server rendering, the reported frame after playSegments, and the migration guide.

Nothing breaking: the peer range, the exports and every existing prop are unchanged.

v3.0.0

v3 is a rewrite of lottie-react: one component for the easy path, the whole engine when you need control, and only what you import ships.

What is new

  • Only what you import ships. One file per module and sideEffects: false, with per-import budgets enforced by the build. Lottie alone is about 4.4 kB gzipped and useLottie about 3.4 kB, engine external.
  • Three builds of the engine, three pairs. Lottie and useLottie on the full engine; LottieSvg and useLottieSvg on lottie_svg (svg only, expressions kept); LottieLight and useLottieLight on lottie_light (svg only, no expressions, no eval). Each pair reaches only its own engine, which the build measures.
  • src fetches. A path or URL loads with loading and error overlays (LottieLoading, LottieError) and a reload(); a parsed object still works.
  • Reactive props. loop, speed and direction reach the running engine without reloading; src is compared by content, so a re-render never rebuilds the animation.
  • A real seek API. seek() by frame, marker, percent or seconds; playSegments() by ranges or a marker; a scrub gesture (scrubStart, scrubTo, scrubEnd); subscriptions for every playback change.
  • A player. LottieControls is an accessible control bar with keyboard shortcuts and fullscreen, paid for only when imported.
  • Interactions. LottieInteractions with lottieScrollScrub and lottieInView, reduced motion respected, and a contract for writing your own.
  • Server rendering safe by construction, and the library's style defaults always lose to yours (zero-specificity rules in a cascade layer).
  • React 18 and 19, both tested against the real versions in CI.

Breaking changes

... (truncated)

Commits
  • 4205a49 chore: release 3.1.2
  • a43d73b fix(website): compare rendered pages on slash-separated paths (#145)
  • 0136198 fix: collect the font measurement spans lottie-web leaves on the document (#144)
  • ef4db1d chore: release 3.1.1
  • da61270 fix: return a ref cleanup only when a merged ref returned one, so React 18 st...
  • b37c809 docs: segment ends, queued segments, marker names, sizing defaults, the autop...
  • 5fe359c chore: restore the funding file
  • c60f6a7 chore: release 3.1.0 (#139)
  • 7667a74 feat: mark the components, hooks, factories and configureLottie as client mod...
  • 4dcf4d7 feat: configureLottie for the engine's global settings, and the renderer sett...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 7, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 7, 2026
Benevanio
Benevanio previously approved these changes Oct 11, 2026
Bumps [lottie-react](https://github.com/Gamote/lottie-react) from 2.4.1 to 3.1.2.
- [Release notes](https://github.com/Gamote/lottie-react/releases)
- [Commits](Gamote/lottie-react@v2.4.1...v3.1.2)

---
updated-dependencies:
- dependency-name: lottie-react
  dependency-version: 3.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/develop/lottie-react-3.1.2 branch from 23869c0 to c641581 Compare October 11, 2026 12:25
@Benevanio
Benevanio merged commit 9b108b7 into develop Oct 11, 2026
1 check failed
@Benevanio
Benevanio deleted the dependabot/npm_and_yarn/develop/lottie-react-3.1.2 branch October 11, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant