npm / lenis
lenis
What changed in lenis 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
1 breaking1 security5 new APIs and options5 behavior and defaults13 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initlenis 125 changes
Breaking changes 1
Renames __experimental__naiveDimensions to naiveDimensions.
Security 1
CSS classes are managed more safely.
New APIs and options 5
Added an attribute to prevent horizontal Lenis behavior.
Added an attribute to prevent vertical Lenis behavior.
Added features for tracking through variables.
Adds stopInertiaOnNavigate, allowing an SPA to reset scroll on page change.
Added the type
locktolenis/snap.
Behavior and default changes 5
scrollTo() accepts SVG elements.
Lenis now respects the reduced-motion preference, changing its behavior for users who enable it.
Improved allowNestedScroll behavior.
syncTouch now always uses lerp.
addElements supports NodeList.
Fixes and other changes 13
Fixes the lenis class coming back after destroy().
Fixed anchors with special characters.
Fixed text selection on iOS.
Fixes slow-scroll jitter when syncTouch is enabled.
syncTouch is more accurate.
scrollTo now respects scroll-margin and scroll-padding when scrolling to a target.
Fixed compatibility between stopInertiaOnNavigate and anchors.
Fixed a bug with the className prop on ReactLenis.
Fixed TypeScript types.
Overflow is checked during initialization when autoToggle is enabled.
Fixes a warning for lenis/vue.
Fixed Nuxt types.
Fixed anchors detection on subpages.