The Unreleased section lists changes merged for the next release. Once it ships, these entries move under a versioned heading.
reason in the options of onDestroyStarted, onDestroyed and the onDeselected that runs on destroy, telling apart a finished tour ("done") from one that was closed ("close", "escape", "overlay"), replaced by another instance ("replaced") or ended from code ("api"). A destroy() called from a hook keeps the reason of the user action that started it. The DestroyReason and HookOpts types are exported.closeBtnLabel (driver and step level) to set the close button’s aria-label, for translated tours. Defaults to Close. (#623)overlayClickBehavior: "none" to ignore overlay clicks while Escape and the close button still close the tour. (#435)waitForElement waits for the next step’s element, so a stale step no longer stays on screen. (#578)onDeselected and onDestroyed but not onDestroyStarted.destroy() on an instance that is not active is now a no-op instead of tearing down another instance’s tour. (#504)aria-controls, aria-expanded and aria-haspopup are restored when the highlight moves on or the tour ends, instead of being removed. (#495)onDeselected now fires when moving between two steps on the same element, or between two steps without an element.disableButtons now applies to tour steps. It used to be ignored during a tour. A step’s own disableButtons still replaces it.driver.js/hints, ~5KB gzip. Guide. (#363)advanceOnClick (driver and step level) to advance the tour by clicking the highlighted element itself. (#606)waitForElement (driver and step level) to wait up to N ms for a step’s element before treating it as missing. (#606)sideEffects field in package.json for better tree-shaking.skipMissingElement: the last reachable step now shows Done and runs onDoneClick; step queries like isLastStep() account for skips. (#616)skipMissingElement option (driver and step level) to skip a step whose target element is specified but not in the DOM, instead of showing the centered fallback popover. Element-less steps are never skipped. (#489, #395)index on the options passed to every hook, holding the currently active step index (same value as driverObj.getActiveIndex()). (#490)--driver-popover-font-family CSS variable to set the popover font in one place, without overriding each text element individually. (#607)"Helvetica Neue", …) instead of the browser’s default sans-serif. An internal rule had been shadowing the intended font. Set --driver-popover-font-family to use your own.driver() call keeps its own config, steps and state, so creating a second instance no longer overwrites the first. (#571)animationDuration config to control how long the highlight transition takes. (#104)allowScroll config to lock body scroll while a tour is active.onDoneClick hook, fired when the done button on the final step is clicked. (#500)data property on a step for passing arbitrary data, accessible from hooks for custom per-step logic. (#539)driver-popover-footer-btn class instead of the .driver-popover-footer button selector. Buttons you add through onPopoverRender no longer inherit the default styling automatically. Add the driver-popover-footer-btn class to opt in, or leave it off to apply your own styles. The built-in next/previous buttons carry the class out of the box. (#555)onPopoverRender now receive their own click events. Only the built-in next, previous, and close buttons have their default action intercepted by the library.driver-popover-side-* and driver-popover-align-* classes so you can target its position from CSS, and the arrow positioning was rewritten for more accurate placement.onDriverClick that left handlers attached after the tour was destroyed. (#452):has() selector for broader browser compatibility. (#586)removeChild DOMException when re-rendering a popover whose wrapper was already detached from the DOM. (#572)highlight() popover did nothing when clicked. It now closes the popover by default, respecting allowClose and any custom onCloseClick. (#444)getNextStep method on the driver API. (#420)driver-popover-done-btn class on the next button when it acts as the done button on the final step. (#610)onDestroyed hook now receives the final tour state. (#553)onNextClick now fires when advancing the tour through an overlay click. (#576)For the release notes of other versions, see the GitHub releases page.
Driver.js 1.x is a major release with a new API and architecture. See the Migrate to 1.x guide for a step-by-step walkthrough of the import, configuration, and API changes.