unstale

npm / reveal.js

reveal.js

What changed in reveal.js 6, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-30.

8 breaking2 security6 new APIs and options1 performance4 behavior and defaults1 tooling10 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.9 on npm

reveal.js 632 changes

Breaking changes 8

  • Building and developing reveal.js now requires Node.js 22.12 or later.

    6.0.2release notes

  • The data-preview-link value now takes precedence over the anchor's href.

    6.0.0release notes

  • ES module files now use the .mjs extension; update direct file imports. Bare module specifier imports are unaffected.

    6.0.0release notes

  • The project switches from gulp to Vite for building and running reveal.js.

    6.0.0release notes

  • Pressing Enter on the active slide in overview mode now exits overview and opens that slide.

    6.0.0release notes

  • Plugin files have moved from plugin/<name>/plugin.js to dist/plugin/<name>.js; update paths when loading plugins from the file system or a CDN.

    6.0.0release notes

  • The dist/ prefix has been dropped from the public npm package CSS path.

    6.0.0release notes

  • Videos blocked from autoplaying with audio now play muted and show an unmute button instead of using the previous browser-dependent blocked state.

    6.0.0release notes

Security 2

  • Iframe preview URLs are validated to fix cross-origin XSS through the postMessage API.

    6.0.2release notes

  • Blacklists previewIframe in the postMessage API.

    6.0.1release notes

New APIs and options 6

  • The controls: 'speaker' option shows controls only in speaker view.

    6.0.0release notes

  • Slide links now support the data-id attribute.

    6.0.0release notes

  • The new configuration option controls whether iframes are prevented from stealing keyboard focus.

    6.0.0release notes

  • The API adds removeHiddenSlides().

    6.0.0release notes

  • An official React wrapper lets you build presentations using the Deck, Slide, Stack, Fragment, and Code components.

    6.0.0release notes

  • A sync event is dispatched when reveal.js syncs.

    6.0.0release notes

Performance 1

  • Slide layout and scroll view performance is improved.

    6.0.2release notes

Behavior and default changes 4

  • Navigation controls, progress bars and media buttons scale for mobile viewports.

    6.0.2release notes

  • The display configuration option now supports !important.

    6.0.0release notes

  • The math plugin supports MathJax 4.

    6.0.0release notes

  • Screen readers now announce image and video alt tags, and slide content is better punctuated in screen reader text.

    6.0.0release notes

Tooling 1

  • TypeScript types are now included in the reveal.js package; users previously relying on @types/reveal.js can remove it and migrate to the included types.

    6.0.0release notes

Fixes and other changes 10

  • Markdown attributes target the whole list rather than only the last list item when separated by a blank line.

    6.0.2release notes

  • Offscreen slides no longer receive keyboard focus.

    6.0.2release notes

  • Pinch-to-zoom gestures no longer incorrectly trigger slide changes.

    6.0.2release notes

  • Slide scale is rounded to two decimal places.

    6.0.2release notes

  • Slides no longer repeatedly load and unload while scrolling.

    6.0.2release notes

  • Fixes an exception during media control removal in PDF exports.

    6.0.1release notes

  • Fixes cases where multiple videos started simultaneously sometimes failed to render in Mobile Safari.

    6.0.0release notes

  • Fixes missing thumbnails in adjacent stacks with more than 10 vertical slides.

    6.0.0release notes

  • Calling sync() now also updates slide classes, fixing issues after adding or removing slides.

    6.0.0release notes

  • Fixes videos not autoplaying on Android when navigating with control arrows and when autoplaying initially.

    6.0.0release notes