- Added:
handleAttributes
option (#1019); - Added:
drag-all
behaviour (#756, #841, #1116); - Added: ESM/ES6 module distribution
dist/nouislider.mjs
(#1149); - Added: support for ranges where
min
=max
(#236, #359, #578, #633, #676, #790); - Added:
getPositions
method; - Fixed: Duplicate change/set events when using
snap
behaviour (#1106);
- Added:
keyboardMultiplier
option (#1151);
- Added:
unencoded
boolean argument toget
method to return raw slider values (#1145); - Added: support for "partial" formatters in
pips.format
,ariaFormat
andtooltips
options (#1140);
- Fixed:
tooltips
option accepts oneFormatter
for all tooltips (#1101);
- Added:
drag
event when dragging connecting elements (#887, #1135);
- noUiSlider is now written and distributed as TypeScript;
- Types are now provided. If you are currently using @types/nouislider, this should be replaced;
- The distributed files have moved from
distribute
todist
in the NPM package, and are no longer in the repository; You may need to change the path to the noUiSlider CSS file if you are importing it using a package manager; - Fixed: Slider now properly works in multiple layers of Shadow DOM (#1121);
- Removed:
version
from exceptions and export; - Removed: Bower support;
- noUiSlider is now build with TypeScript. This release contains no further changes.
- Fixed: Fixed
updateOptions
with falsy value forstart
(#1127);
- Fixed: Fixed removing namespaced event listeners, internal listeners getting removed (#1109);
- Fixed: Ignore erroneous mouse events on taps for iOS 13.4 (#1095);
- Added:
exactInput
argument toset
andsetHandle
methods (#436, #1094);
- Fixed: Pips in count mode ignores pip at end of range (#1088);
- Added:
keyboardPageMultiplier
andkeyboardDefaultStep
options (#1083); - Fixed: Ignore erroneous tap events for iOS (#1057, #1079);
- Added: Support for
margin
,padding
andlimit
on non-linear sliders (#911, #1030, #1031, #1071);
- Added:
getOrigins
andgetTooltips
methods; - Added: Default styling to support merging overlapping tooltips (#1032);
- Added: Default
cssClasses
are now exposed and can be modified; - Fixed: Destroying sliders with multiple classes in
cssClasses
fails (#1069);
- Added: Slider api as event parameter (#1058);
- Added: Allow multiple classes in
cssClasses
option (#1054); - Fixed: Slider not working within shadow DOM (#1060);
- Fixed: Last pip not rendered if it is also the first and at the slider edge (#1063);
- Fixed: Text direction is not correctly determined when the slider is not in the DOM (#1038);
- Fixed: Styling requires a root
html
node, so noUiSlider can't be used in shadow dom (#1035); - Added: Support for PageUp/PageDown and Home/End keys in keyboard support (#1036);
- Fixed: Initialising handle values near the slider edge does not always respect
margin
(#1009);
- Fixed: Keyboard interaction uses formatter when it does not need to (#1000);
- Fixed: Visual regression in Safari caused by fixing #987 (#998);
- Fixed:
change
&slide
events should fire on keyboard control (#994); - Fixed:
.noUi-origin
overflows document on vertical sliders (#987); - Fixed: Clicking to right of handle doesn't move it when it's at the same point as another (#965);
- Added: Additional documentation on number formatting (#978, #985);
- Fixed: Full-range padding (#880);
- Fixed: Keyboard interaction does not work with
snap
option (#961);
- Fixed: Keyboard interaction allows handles to "push" other handles (#960);
- Fixed: Update event fires for all handles during keyboard interaction (#960);
- Fixed: Handle disappears in Safari on tap (#927);
- Fixed: Disabled slider still accepts keyboard interaction (#953);
- Fixed: Slider hang when using a zero-length range (#948);
- Fixed: Updating
pips
usingupdateOptions
(#933); - Added: Updating
tooltips
usingupdateOptions
(#946);
noUiSlider 13 does not include any breaking API changes.
Keyboard support is now built-in, so any custom implementations should be removed when upgrading.
Alternatively, built-in keyboard support can be disabled using keyboardSupport: false
.
- Added: Built-in keyboard support (#724);
- Added:
.noUi-touch-area
element (#924); - Fixed: Dragging a range does not check for handle disabled state (#938);
- Fixed: Incorrect CSS transform in pips (#931);
- Added:
unconstrained
behaviour (#747, #815, #913); - Added:
setHandle
API (#917); - Changed: point to
nouislider.js
inpackage.json
.main
(#921);
- Change: License changed to MIT;
- Change: Build process is now based on NPM scripts, phasing out the Grunt task runner.
- Fixed: Aria values are now as per spec (#889);
- Change: Pips formatting are now written as HTML (#875);
- Change: The
filter
option is now called for all pips (#754); - Added: The
filter
option can now return-1
to hide a pip (#754); - Added:
keyboardSupport
option (#867, #895); - Added:
documentElement
option (#821);
- Change:
null
options are now handled consistently (#856); - Fixed: Missing transform origin in IE9 (#870);
- Fixed:
padding
on one side of the slider could not exceed50%
(#865);
Refactor of source code. There are no meaningful changes in the distributed files;
- Fixed: Slider ignores clicks on
.noUi-target
outside of.noUi-base
(#842); - Fixed:
.noUi-origin
moving out of the page causes horizontal scrolling (#852); - Fixed: Relative
.noUi-handle
has unintended margin (#854);
noUiSlider 11 does not include any breaking API changes. Unless major changes were made to the stylesheet or you specifically depend on the handle/connect order in the DOM, there should be no issues upgrading.
- Change: Use CSS transforms for handle movement, resulting in a massive performance improvement (#718);
- Change: Support multitouch by default;
- Change: Handle stacking is now on
.noUi-origin
instead of.noUi-handle
; - Added: A
.noUi-connects
element holding all.noUi-connect
elements; - Added:
[data-value]
property for.noUi-value
in pips (#733); - Added:
padding
option can now take an array for different padding values at both sides of a slider (#822); - Removed:
useRequestAnimationFrame
option. No longer needed with CSS transforms; - Removed:
multitouch
option. Now enabled by default; - Fixed: Slider could ignore end events it should handle (#704, #805, #834);
- Fixed: Stop depending on array type (#801);
- Fixed:
set
method might bypass margin option (#823); - Fixed: Alignment of pips for RTL sliders (#795);
- Fixed: Several issues regarding pips (#812, #826, #832);
- Added:
multitouch
option (#793);
- Change: Change event listeners to be passive (#785);
- Fixed: Pips are now updated when calling
updateOptions
(#669); - Fixed: Content Security Policy issue with pips;
- Added:
removePips
method; - Added: aria support (#685);
- Added:
ariaFormat
option (controlsaria-valuetext
); - Fixed: throw a better error when mistakenly trying to initialize noUiSlider with
null
(#658); - Fixed: Made order of events consistent and documented it (#775);
- Fixed: Border radius of connect bar, white space wrapping of tooltips (#773, #774);
- Fixed: Slider now uses
ownerDocument
instead ofdocument
(#767);
- Added: Version number to exceptions;
- Added:
noUiSlider.version
holds current version number; - Added: Throw exception on invalid
pips
configuration (#721); - Added: Merged pull request that uses less preprocessor to generate CSS (#735);
- Fixed: Slider not properly handling multitouch (#700, #704);
- Fixed: Removed a querySelector for the currently active handle (#720);
- Fixed: Removed iOS/webkit flashes on tap;
- Fixed: Incorrect error when using margin/limit with a step smaller than 0 (#736);
- Fixed: Drag option using incorrect cursor arrows (#681);
- Added: New
padding
option (#711); - Added: Re-introduced
.noUi-handle-lower
and.noUi-handle-upper
classes removed in 9.0.0; - Added: Compatibility for legacy
connect
options removed in 9.0.0;
- Added: Support for more than 2 handles;
- Added:
format
option can be updated (#641); - Added:
reset
method the return slider to start values (#673); - Change:
connect
option is now implemented as a separate node; - Change: all event arguments, including the handle number, are now in slider order;
- Change:
updateOptions
now modifies the original options object. The reference inslider.noUiSlider.options
remains up to date (#678); - Change: more events fire when using various
behaviour
options (#664); - Change: on
rtl
sliders, handles are now visually positioned from the slidersright
/bottom
edge; - Change: events for
rtl
sliders now fire in the same order as forltr
sliders (with incremental handleNumbers); - Change: internal
Spectrum
component is no longerdirection
aware; - Change:
limit
andmargin
must be divisible bystep
(if set); - Removed:
.noUi-stacking
class. Handles now stack themselves; Removed(returned in 9.1.0):.noUi-handle-lower
and.noUi-handle-upper
classes;- Removed:
.noUi-background
. Use.noUi-target
instead; Removed(backward compatibility in 9.1.0):connect: 'lower'
andconnect: 'upper'
. These settings are replaced byconnect: [true, false]
;- Fixed: default tooltip color (#687);
- Fixed:
margin
andlimit
calculated improperly after callingupdateOptions
with a newrange
option; - Fixed:
range
option was required in update, even when not updating it (#682); - Fixed: Cursor styling is now consistent for disabled handles and sliders (#644);
- Fixed: Sliders now ignore touches when the screen is touched multiple times (#649, #663, #668);