# Changelog All notable changes are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Versioning follows [Semantic Versioning](https://semver.org/). ## [1.0.1] – 2026-07-18 ### Fixed - README demo GIFs now use GitHub raw URLs so they render correctly on npmjs.com ## [1.0.0] – 2026-07-18 ### Added - Horizontal and vertical swipe detection via mouse and touch events - Progressive colour transitions during drag (colour shifts as you drag) - Cubic-bezier snap/release animation (`cubic-bezier(0.34, 1.56, 0.64, 1)`) - Haptic feedback using the Vibration API with 4 intensity patterns - Procedural sound using the Web Audio API — start / move / success / reset tones (no audio files needed) - Customisable colours per swipe direction (`default`, `right`, `left`, `approveGradient`, `rejectGradient`) - Vertical swipe mode — swipe down = approve (green), swipe up = reject (red) - Configurable element size — `width` and `height` accept any CSS length unit - Runtime configuration updates via `updateConfig()` — no re-init needed - Full cleanup via `destroy()` with correct bound listener removal - TypeScript definitions with full JSDoc — `Options`, `SwipeEventData`, `SwipeCompleteData` - UMD, CJS, and ESM distribution builds - CDN-ready via unpkg and jsDelivr - `sideEffects: false` for tree-shaking support - `exports` field for modern bundler resolution (Vite, webpack 5, Rollup) - ARIA attributes (`role="slider"`, `aria-label`) for accessibility - SSR guard — safe to import in Node.js / server environments - Throttled `move` sound (80ms) to prevent audio flooding - Zero dependencies