Skip to content

Releases: bfiessinger/scrollToSmooth

4.0.2

23 Mar 09:10

Choose a tag to compare

Bug Fixes

  • Fix 2D overscroll snapping by clearing expander state and guarding animations

4.0.1

21 Mar 17:53

Choose a tag to compare

Chores

  • Removed outdated "unreleased" notice from README.
  • Removed browser support table from README as version-specific figures are no longer accurate.
  • Added .npmignore to exclude demo assets, source files, and dev tooling from the published package (reduced tarball from ~5.6 MB to ~41 kB).

4.0.0

21 Mar 17:31

Choose a tag to compare

Features

  • [NEW] Core build now tree‑shakeable: only linear easing is included by
    default. Additional easing functions must be imported individually from
    scrolltosmooth/easings/... or resolved with getEasing().
  • [NEW] Plugin architecture — ScrollToSmooth now supports registering plugins
    that hook into the scroll lifecycle for extensibility.
  • [NEW] HorizontalScrollPlugin — enables horizontal scrolling with draggable
    expander elements.
  • [NEW] SnapPlugin — snap-to-nearest scrolling with configurable debounce
    delay and target element selector.
  • [NEW] TouchMomentumPlugin — momentum-based touch scrolling for enhanced
    mobile experience.
  • [NEW] Multi-axis scrolling — scrollTo now accepts a ScrollPoint object to
    target both x and y axes simultaneously.
  • [NEW] Scroll queue — queueScroll() and clearQueue() methods allow
    sequential scroll animations to be scheduled and cancelled.
  • [NEW] Progress tracking — scroll update callbacks now receive a progress
    value (0–1) representing animation completion.
  • [NEW] Native smooth scrolling fallback — optional nativeFallback setting
    delegates to the browser's native scroll-behavior: smooth, with a
    configurable dispatchEvents option.
  • [NEW] Percentage and viewport-height offsets — scroll target offsets can now
    be expressed as CSS-style strings such as "10%" or "50vh" in addition to
    plain pixel numbers.
  • [NEW] getEasing(name) helper — resolves an easing function by name at
    runtime, with a fallback to linear.
  • [NEW] Packaged (IIFE) plugin builds — self-contained bundles for plugins,
    including auto-registration of HorizontalScrollPlugin in the pkgd build.

Enhancements

  • Snapping and touch momentum removed from core — use SnapPlugin and
    TouchMomentumPlugin instead.
  • Easings no longer re-exported from the main package entry point to keep the
    core bundle small and tree-shakeable.
  • Improved TypeScript type definitions and declaration output.
  • validateSelector in dom.ts made stricter and more reliable.
  • HorizontalScrollPlugin expander element styles consolidated into a single
    style object for consistency.
  • Considerable rewrite and TypeScript conversion to support modular builds.
  • Documentation updated for new import patterns, API, architecture, easings,
    and plugins.

Bug Fixes

  • Demo header title and dat.GUI version corrected.

Code Quality

  • Complete structural overhaul and separation of concerns.
  • Easing function handling moved out of a central lookup object, reducing bundle
    size.
  • Extensive type upgrades throughout the codebase.

3.0.2

03 May 13:58

Choose a tag to compare

remove forgotten console.log (#10)

3.0.1

12 Mar 10:46

Choose a tag to compare

3.0.1 (Hotfix release)

  • ScrollToSmooth stopped working in version 3.0.0 when the selector to be validated would fail

3.0.0

08 Mar 17:35

Choose a tag to compare

Features

  • Allow custom easing functions
  • Allow a custom amount of pixels to use as an offset (#3)
  • Animated scrolling links at the very top or bottom can now exceed the actual document so that easing functions like for example easeInOutBounce don't stop animating while exceeding the document.
  • Introduced scrollBy method
  • scrollTo now accepts numeric values

Enhancements

  • Make imports of easings optional to enhance filesize control
  • Import linear only per default (see Important Notes)
  • Enhanced easing patterns

Bug Fixes

  • Fixed a bug where the final position was calculated wrong in some situations
  • Bundled browser file was not transpiled to es5

Code Quality

  • Created a seperate file for each easing function
  • Create Typescript declaration files
  • Various minor bug fixes and structural improvements
  • Add esm bundle
  • Add cjs bundle

Important Notes

Version 3.0.0 is a major update and comes with some breaking changes:

  • Easings are no longer imported by default, you have to import individual easings like import { easeInQuad, easeOutQuad } from 'scrolltosmooth';
  • The fixedHeader option has been renamed to offset and accepts a fixed amount of pixels now

2.2.1

29 Jul 12:10

Choose a tag to compare

v2.2.1

Bump Library version to 2.2.1

2.2.0

21 Jul 11:00

Choose a tag to compare

v2.2.0

Bugfixes

2.1.5

11 May 13:23

Choose a tag to compare

Fixed #2

2.1.4

17 Feb 18:50
6f0fcd2

Choose a tag to compare

v2.1.4

Add files via upload