npm / driver.js
driver.js
What changed in driver.js 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
5 breaking21 new APIs and options1 performance5 behavior and defaults17 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initdriver.js 149 changes
Breaking changes 5
Starting a tour or highlight closes any other active instance; that instance gets
onDeselectedandonDestroyed, but notonDestroyStarted.Custom popover footer buttons are no longer auto styled; style them using this selector.
Drops the CSS selector for broader browser compatibility.
Unicode characters have been removed from buttons.
Button text-shadow ghost text has been removed.
New APIs and options 21
Adds launcher: false to disable the floating checklist launcher.
Added support for checklists.
A new reason option on destroy hooks distinguishes between destroy reasons.
Adds a driver- and step-level option to set the close button’s aria-label for translated tours; defaults to Close.
Adds the
nonebehavior to ignore overlay clicks while Escape and the close button still close the tour.Adds a driver- and step-level option to advance the tour by clicking the highlighted element.
Adds pulsing beacons that open a popover on click; the overlay is optional and the page stays interactive.
Adds a driver- and step-level option to wait up to N ms for a step's element before treating it as missing.
Set this CSS variable to choose the popover font.
Hook options now include
index.Popover titles and descriptions now render in the default font stack; set
--driver-popover-font-familyto use a custom font.Add this option to skip a step when its target element is missing.
Adds a config option to lock body scroll while a tour is active.
Adds a config option to control how long the highlight transition takes.
Adds a step property for passing arbitrary data, accessible from hooks for custom per-step logic.
The popover exposes alignment-specific classes according to the rendered alignment.
The popover exposes side-specific classes according to the rendered side.
Adds a hook that fires when the done button on the final step is clicked.
The next button now has the done-btn class, allowing developers to target it with styling.
The driver API now includes getNextStep.
overlayClickBehavior now supports callbacks.
Performance 1
Adds a package.json field for better tree-shaking.
Behavior and default changes 5
Arrow keys do nothing when their popover button is hidden or disabled, and Escape does nothing when the close button is disabled.
Now fires when moving between two steps on the same element or between two steps without an element.
When steps are skipped, the last reachable step now shows Done and runs onDoneClick; step queries such as isLastStep() account for skips.
Each
driver()call now keeps its own config, steps, and state.The onDestroyed hook now receives the final state.
Fixes and other changes 17
Hints and popovers now work with the dialog element.
Clicking a popover no longer throws when the event target is a text node.
The close button only darkens for keyboard focus, so it no longer opens dark after a tour is started with a mouse click.
Calling
destroy()on an inactive instance is now a no-op instead of tearing down another instance's tour.The driver-level setting now applies to tour steps; a step's own setting still replaces it.
The highlighted element's
aria-controls,aria-expandedandaria-haspopupare restored when the highlight moves on or the tour ends, instead of being removed.Fixes a small white square appearing between steps without an element.
The current popover is hidden while waiting for the next step's element, preventing a stale step from staying on screen.
Icon fonts inside a step description are no longer overridden.
The popover no longer jumps when images in its content load after render.
Arrow positioning has been fixed.
The close button on a single-element
highlight()popover now closes it by default, respectingallowCloseand any customonCloseClick.Positioned highlighted elements and their children, such as dropdown menus, no longer get clipped.
Fixes a document event listener leak that left handlers attached after the tour was destroyed.
Fixes a
removeChildDOMException when re-rendering a popover whose wrapper was already detached from the DOM.The onNextClick callback now fires when overlay nextStep is used.
Pressing arrow-left at step 1 now keeps the tour open.