revealjs v3.8.0 Release Notes

Release Date: 2019-04-01 // 10 months ago
  • Changes:

    • ⏱ The cursor is now automatically hidden after five seconds of inactivity. The timeout can be adjusted with hideCursorTime: <milliseconds>, or you can disable the feature entirely with hideInactiveCursor: false.
    • Presentations can be zoomed on touch devices using the standard pinch-to-zoom gestures.
    • πŸ†• New navigationMode: <default/linear/grid> config option. Set to "grid" to navigate across adjacent vertical stacks. Learn more in the docs. (#2307)
    • New hash: <boolean> config option. When set to true, reveal.js will reflect the current slide in the address bar without pushing each slide change to the browser history. (#2286 by @asottile)
    • πŸ†• New preloadIframes config option for flagging if iframes should be preloaded or not. Can be set per-frame using the data-preload attribute. More info. (#2354 by @maxrothman)
    • A resize event is now dispatched anytime the presentation scale changes. (#2300 by @mw75)
    • The "Resume" button in the pause overlay is hidden if controls are set to false. (#2215 by @anderslemke)
    • πŸ†• New keyboard shortcut: CMD/CTRL + left or right arrow to go to first or last slide.
    • βž• Adds Reveal.getRevealElement() for retrieving the presentation's root element (<div class="reveal">).
    • βœ‚ Removes Head JS as it is no longer required to load dependencies.
    • βœ‚ Removes classList polyfill since browser support caught up.
    • βœ‚ Removes the reset styles from reveal.css to make styles easier to override. Reset styles are now included as a separate reset.css file. (6abc6e0 #1952 & #2248)
    • The zoom transition now zooms between all slides, previously it zoomed between horizontal slides and used a slide transition between vertical.
    • ⬆️ Upgrade to Socket.IO 2.2.0.

    πŸ”Œ Plugin Changes:

    • βž• Adds a new API for registering plugins Reveal.registerPlugin( 'myPlugin', MyPluginInstance ). If a registered plugin returns a promise when initialized, reveal.js will wait for that promise to be fulfilled before firing the ready event. Learn more in the docs.
    • πŸ‘ Code highlighting: Support for line numbers! Just add data-line-numbers to your code blocks.
    • πŸ‘ Code highlighting: Highlight specific lines by providing a comma separated list of line numbers to data-line-numbers. Line ranges, like 5-15, are supported too.
    • 🌐 Speaker view: No longer requires a web server, it now works when opened directly from the filesystem. (#2104 by @jurca)
    • Markdown: External .md files are now loaded asynchronously.
    • ⬆️ Markdown: Upgrade to marked 0.6.0. (@sestegra)
    • MathJax config options can now be set via the reveal.js math config option. (#2090 by @bnjmnt4n)

    πŸ› Bug fixes:

    • πŸ›  Fixes npm security warnings by updating all dependencies.
    • πŸ›  Fixes an issue that prevented the same internal link from being clicked twice. (#2350 by @rparree)
    • πŸ›  Fixes an issue with data-transition not working on vertical slides. (b6ce0a9 #1947)
    • πŸ›  Fixes an issue that needless caused the slide methodβ€”and all of its corresponding performance heavy DOM operationsβ€”to be invoked twice for each slide change. (#2263 by @mbotsch)
    • πŸ›  Fixes a layout bug with overlaid speaker notes when reveal.js is smaller than the browser window.
    • πŸ›  Fixes an error that caused Reveal.getProgress() to return a value higher than 1 when there were fragments on the last slide.
    • The speaker view no longer stops working when opened multiple times. (#2251 by @oyron)
    • πŸ’» Prevents presentations from overflowing vertically in some mobile browsers.
    • Elements using .stretch now show up in the overview mode. (@sanand0)

    And more...

Previous changes from v3.7.0

  • Changes:

    • Key Binding API (#1885 by @ denehyg)
    • βž• Adds pdfSeparateFragments option for exporting fragments on separate PDF pages (@koehlma)
    • βž• Adds fragmentInURL option for including fragments in the URL (@dougalsutherland)
    • βž• Adds hashOneBasedIndex option for switching slide URLs from 0 to 1-based index (@sean-parent)
    • βž• Adds data-background-opacity attribute for fading out background media
    • βž• Adds a "Resume presentation" button to the pause overlay
    • βž• Adds two new fragment styles
      • semi-fade-out: starts fully visible and fades out to 50% opacity
      • fade-in-then-semi-out: fades in like a normal fragment and remains visible but faded out when you move to the next fragment
    • πŸ†• New API method Reveal.syncSlide: same use as Reveal.sync but more efficient when you've only made changes to one specific slide
    • πŸ†• New API method Reveal.syncFragments: same use as Reveal.sync but more efficient when you've only made changes to fragments on one specific slide
    • βœ‚ Removes arbitrary restrictions on slide IDs, all IDs are now valid
    • The slide number is now an anchor pointing to the current hash, making it possible to copy the current slide URL even when history is disabled (#2133 by @sean-parent)
    • Whitespace is now allowed in background image names (@RobertBaron)

    πŸ› Bug fixes:

    • The left/right navigation arrows no longer appear when there are no horizontal slides
    • Navigating to the same slide twice in a row no longer drops its "present" class
    • The loop option now works correctly in presentations with only vertical slides
    • More graceful error handling of duplicate slide IDs
    • Interactive iframe backgrounds now work in vertical slides

    And more...