= {project-name} Changelog :project-name: asciidoctor-reveal.js :uri-repo: https://github.com/asciidoctor/asciidoctor-reveal.js :uri-issue: {uri-repo}/issues/ This document provides a high-level view of the changes introduced in {project-name} by release. For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub. == 3.1.0 (2020-01-18) Fixed a regression with Font-Awesome brand icons, added a JavaScript CLI and standalone executables for Windows, Linux and macOS. Enhancements:: * We now provide native standalone executables for Windows, Linux and macOS using a Node to binary packager ({uri-issue}259[#259], {uri-issue}308[#308]) * JavaScript stack now provides a CLI usable with `npx asciidoctor-revealjs` ({uri-issue}308[#308]) * Updated to Font-Awesome 5.12.0 ({uri-issue}305[#305]) * Ruby command line interface now shows {project-name} version in addition to Asciidoctor version ({uri-issue}313[#313]) * Updated dependencies: rake * Better tests ({uri-issue}310[#310], {uri-issue}311[#311]) Bug Fixes:: * Added compatibility shim to Font Awesome 5 to fix brand icons rendering and more ({uri-issue}304[#304], {uri-issue}305[#305]) === Release meta * Released on: 2020-01-18 * Released by: Olivier Bilodeau * Release beer: Lupulus, Microbrasserie Charlevoix {uri-repo}/releases/tag/v3.1.0[git tag] | {uri-repo}/compare/v3.0.0...v3.1.0[full diff] | {uri-repo}/milestone/9[milestone] === Credits Thanks to the following people who contributed to this release: Guillaume Grossetie and Olivier Bilodeau == 3.0.0 (2020-01-07) An API breaking release for Asciidoctor.js users that brings a bright future of long term stability. New Reveal.js features supported: background opacity, background positions, and PDF export. AsciiDoc table options now supported. A big FontAwesome update. Many other little improvements and polish. Special heads-up: we are already planning for another major release since Reveal.js 3.8 support will be considered a breaking change. They changed how it is loaded and requires a template change incompatible with Reveal.js 3.1-3.7. Upgrade considerations:: * Node.js packaging changes! With the arrival of Asciidoctor.js 2.0.0 you can now use a command line interface (CLI) just like with Asciidoctor Ruby: $(npm bin)/asciidoctor -r @asciidoctor/reveal.js -b revealjs presentation.adoc + If you want to keep generating your reveal.js presentations using the Node.js API, you need to change the following code. Instead of: var asciidoctorRevealjs = require('asciidoctor-reveal.js'); asciidoctorRevealjs.register() + Use: var asciidoctor = require('@asciidoctor/core')() var asciidoctorRevealjs = require('@asciidoctor/reveal.js') asciidoctorRevealjs.register() + * Node.js package name changed from `asciidoctor-reveal.js` to `@asciidoctor/reveal.js` ({uri-issue}252[#252], {uri-issue}291[#291]) * Custom CSS might require adjustments. Source and listing block encapsulation changed due to our migration to Asciidoctor 2.0.0 Syntax Highlighter API. See {uri-issue}287[#287]. * Upgraded to Font-Awesome 5.8.2 from 4.3.0 which contains some backward incompatible changes ({uri-issue}268[#268]) * {project-name} now requires Asciidoctor 2.0.0+ or Asciidoctor.js 2.0.0+ ({uri-issue}290[#290]) * Dropped support for end-of-life Ruby version 2.1 and 2.2 ({uri-issue}247[#247]) Compliance:: * Added support for table frame, grid, header and alignment options ({uri-issue}29[#29], {uri-issue}42[#42], {uri-issue}56[#56], {uri-issue}288[#288]) * Source code callout style aligned with Asciidoctor's ({uri-issue}293[#293], {uri-issue}300[#300]) * Added support for Reveal.js data-background-opacity ({uri-issue}269[#269]) * Added support for Reveal.js data-background-position ({uri-issue}273[#273], {uri-issue}274[#274]) * Updated the process to include the generated converter in releases ({uri-issue}265[#265], {uri-issue}302[#302]) Enhancements:: * Support for Asciidoctor.js 2.0.0+ which brings a command line interface ({uri-issue}254[#254]) * Process updates, narrower install version range and compatibility matrix regarding Asciidoctor.js ({uri-issue}187[#187], {uri-issue}303[#303]) * Migrated to Asciidoctor 2.0.0 new https://github.com/asciidoctor/asciidoctor/releases/tag/v2.0.0[Syntax Highlighter API] ({uri-issue}261[#261], {uri-issue}287[#287]) * Added support for Reveal.js PDF export options ({uri-issue}277[#277]) * Upgraded to Font-Awesome 5.8.2 ({uri-issue}268[#268]) * We now accept `reveal.js` as converter/backend name in addition to `revealjs` ({uri-issue}253[#253], {uri-issue}297[#297]) * Babel integration example API updated to use {project-name} current API ({uri-issue}285[#285], {uri-issue}298[#298]) * Node.js package clean-ups ({uri-issue}279[#279], {uri-issue}281[#281], {uri-issue}282[#282]) * Upgrade Opal to use a compatible version with Asciidoctor.js 2.0.3 ({uri-issue}289[#289]) * Documentation improvements ({uri-issue}292[#292], {uri-issue}302[#302]) * Improvements to tests ({uri-issue}294[#294]) Bug Fixes:: * Babel integration example updated for security ({uri-issue}285[#285]) Infrastructure:: * Updated Travis' JRuby to fix issues with bundler ({uri-issue}295[#295]) === Release meta * Released on: 2020-01-07 * Released by: Olivier Bilodeau * Release beer: Porter Baltique Édition Spéciale 2019, Les Trois Mousquetaires {uri-repo}/releases/tag/v3.0.0[git tag] | {uri-repo}/compare/v2.0.1...v3.0.0[full diff] | {uri-repo}/milestone/7[milestone] === Credits Thanks to the following people who contributed to this release: Benjamin Schmid, Daniel Mulholland, Eiji Onchi, Gérald Quintana, Guillaume Grossetie and Olivier Bilodeau == 2.0.1 (2019-12-04) Important Bug Fix:: * Fixed an issue that caused all `reveal.js` options in CamelCase to use the default value instead of one specified as an AsciiDoc attribute ({uri-issue}263[#263], {uri-issue}267[#267]) Compliance:: * Dropped support for verse table cells ({uri-issue}246[#246]). Asciidoctor 2.0 dropped it, we followed. Enhancements:: * Documentation improvements ({uri-issue}264[#264], {uri-issue}278[#278], {uri-issue}280[#280]) Bug Fixes:: * Yarn.lock updates for security ({uri-issue}283[#283]) === Release meta * Released on: 2019-12-04 * Released by: Olivier Bilodeau * Release whisky: Lot No. 40 Single Copper Pot Still Rye Whisky {uri-repo}/releases/tag/v2.0.1[git tag] | {uri-repo}/compare/v2.0.0...v2.0.1[full diff] === Credits Thanks to the following people who contributed to this release: Benjamin Schmid, Guillaume Grossetie, Olivier Bilodeau == 2.0.0 (2019-02-28) Upgrade considerations:: * Node.js API change! If you generate your reveal.js presentations using the node/javascript toolchain, you need to change how the {project-name} back-end is registered to Asciidoctor.js. Instead of `require('asciidoctor-reveal.js')` you need to do: var asciidoctorRevealjs = require('asciidoctor-reveal.js'); asciidoctorRevealjs.register() + This change enables new use cases like embedding a presentation in a React web app. * Anchor links generated by {project-name} will change from now on when revealjs_history is set to true (default is false). This is the consequence of upstream fixing a long standing issue (see https://github.com/hakimel/reveal.js/pull/1230[#1230] and https://github.com/hakimel/reveal.js/pull/2037[#2037]) and us removing a workaround (see {uri-issue}232[#232]). Explicit anchors are not affected. * Custom CSS might require adjustments. Source and listing block are less deeply nested into `div` blocks now. See {uri-issue}195[#195] and {uri-issue}223[#223]. * The reveal.js `marked` and `markdown` plugins are disabled by default now. It is unlikely that they could have been used anyway. See {uri-issue}204[#204]. * Dropped the ability to override the Reveal.JS theme and transitions dynamically with the URL query. Was not compatible with Reveal.JS 3.x series released 4 years ago. Enhancements:: * Easier speaker notes: a `.notes` role that apply to many AsciiDoc blocks (open, sidebar and admonition) ({uri-issue}202[#202]) * Added a role `right` that would apply a `float: right` to any block where it would be assigned ({uri-issue}197[#197], {uri-issue}213[#213], {uri-issue}215[#215]) * Allow the background color of slides to be set using CSS ({uri-issue}16[#16], {uri-issue}220[#220], {uri-issue}226[#226], {uri-issue}229[#229]) * Reveal.js's fragmentInURL option now supported ({uri-issue}206[#206], {uri-issue}214[#214]) * Documentation improvements ({uri-issue}141[#141], {uri-issue}182[#182], {uri-issue}190[#190], {uri-issue}203[#203], {uri-issue}215[#215], {uri-issue}216[#216], {uri-issue}222[#222]) * Support for Asciidoctor.js 1.5.6 and build simplification ({uri-issue}189[#189], {uri-issue}217[#217]) * Support to specify and use reveal.js plugins without modifying {project-name}'s source code ({uri-issue}196[#196], {uri-issue}118[#118], {uri-issue}201[#201], {uri-issue}204[#204]) * Node / Javascript back-end is now loaded on-demand with the `register()` method. This allows embedding {project-name} into React or any other modern Javascript environment. ({uri-issue}205[#205], {uri-issue}218[#218], {uri-issue}219[#219]) * `revealjsdir` attribute is set to a more sensible default when running under Node.js ({uri-issue}191[#191], {uri-issue}228[#228]) * Node / Javascript back-end updated to use Asciidoctor.js 1.5.9. This extension is built with Opal 0.11.99.dev (6703d8d) in order to be compatible. ({uri-issue}227[#227], {uri-issue}240[#240]) Compliance:: * AsciiDoc source callout icons now work ({uri-issue}54[#54], {uri-issue}168[#168], {uri-issue}224[#224]) * New reveal.js 3.7.0 features supported: `controlsTutorial`, `controlsLayout`, `controlsBackArrows`, new `slideNumber` formats, `showSlideNumber`, `autoSlideMethod`, `parallaxBackgroundHorizontal`, `parallaxBackgroundVertical` and `display` configuration parameters are now supported ({uri-issue}212[#212], {uri-issue}239[#239], {uri-issue}208[#208], {uri-issue}242[#242]) * Asciidoctor 2.0 ready ({uri-issue}245[#245]) Bug Fixes:: * Reveal.js' `stretch` class now works with listing blocks ({uri-issue}195[#195], {uri-issue}223[#223]) * Auto-generated slide IDs with unallowed characters (for revealjs history) now work properly. Upstream reveal.js fixed a bug in 3.7.0 (https://github.com/hakimel/reveal.js/pull/2037[#2037]) and we removed our broken workaround. ({uri-issue}192[#192], {uri-issue}232[#232]) Infrastructure:: * Travis testing prepared for upcoming Asciidoctor 2.0 ({uri-issue}216[#216]) * Travis testing for Ruby 2.6 ({uri-issue}243[#243]) === Release meta * Released on: 2019-02-28 * Released by: Olivier Bilodeau * Release beer: President's Choice Blonde Brew De-alcoholized Beer (Sober February Successfully Completed!) {uri-repo}/releases/tag/v2.0.0[git tag] | {uri-repo}/compare/v1.1.3...v2.0.0[full diff] | {uri-repo}/milestone/6[milestone] === Credits Thanks to the following people who contributed to this release: a4z, Dan Allen, Guillaume Grossetie, Harald, Jakub Jirutka, Olivier Bilodeau, stevewillson, Vivien Didelot == 1.1.3 (2018-01-31) A repackage of 1.1.2 with a fix for Ruby 2.5 environments Bug fixes:: * Worked around a problem in ruby-beautify with the compiled Slim template under Ruby 2.5 === Release meta * Released on: 2018-01-31 * Released by: Olivier Bilodeau * Release coffee: Santropol Dark Espresso {uri-repo}/releases/tag/v1.1.3[git tag] | {uri-repo}/compare/v1.1.2...v1.1.3[full diff] === Credits Thanks to the following people who contributed to this release: Jakub Jirutka, Olivier Bilodeau == 1.1.2 (2018-01-30) NOTE: No packaged version of this release were produced. A bugfix release due to a problem rendering tables using the Javascript / Node.js toolchain. Enhancements:: * Documentation improvements ({uri-issue}181[#181]) Bug fixes:: * Fixed crash with presentations with a table used from Javascript/Node.js setup ({uri-issue}178[#178]) === Release meta * Released on: 2018-01-30 * Released by: Olivier Bilodeau * Release beer: A sad Belgian Moon in a Smoke Meat joint {uri-repo}/releases/tag/v1.1.2[git tag] | {uri-repo}/compare/v1.1.1...v1.1.2[full diff] === Credits Thanks to the following people who contributed to this release: Guillaume Grossetie, Tobias Placht, Olivier Bilodeau == 1.1.1 (2018-01-03) An emergency bugfix release due to a problem in the Ruby Gem package Enhancements:: * Documentation improvements ({uri-issue}163[#163], {uri-issue}165[#165], {uri-issue}169[#169], {uri-issue}173[#173], {uri-issue}175[#175]) Compliance:: * Code listing callouts now work properly ({uri-issue}22[#22], {uri-issue}166[#166], {uri-issue}167[#167]) * More source code listing examples and tests ({uri-issue}163[#163], {uri-issue}170[#170]) Bug fixes:: * The version 1.1.0 Ruby Gem was broken due to a packaging error ({uri-issue}172[#172]) === Release meta * Released on: 2018-01-03 * Released by: Olivier Bilodeau * Release beer: Croque-Mort Double IPA, À la fût {uri-repo}/releases/tag/v1.1.1[git tag] | {uri-repo}/compare/v1.1.0...v1.1.1[full diff] | {uri-repo}/milestone/5[milestone] === Credits Thanks to the following people who contributed to this release: Dietrich Schulten, Olivier Bilodeau == 1.1.0 (2017-12-25) - @obilodeau Enhancements:: * Support for Reveal.JS 3.5.0+ ({uri-issue}146[#146], {uri-issue}151[#151]) * Support for Asciidoctor 1.5.6 ({uri-issue}132[#132], {uri-issue}136[#136], {uri-issue}142[#142]) * Support for Asciidoctor.js 1.5.6-preview.4 ({uri-issue}130[#130], {uri-issue}143[#143], {uri-issue}156[#156]) * Compiling slim templates to Ruby allows us to drop Jade templates for Asciidoctor.js users ({uri-issue}63[#63], {uri-issue}131[#131]) * Documentation polish ({uri-issue}153[#153], {uri-issue}158[#158] and more) Compliance:: * Users of Asciidoctor (Ruby) and Asciidoctor.js (Javascript) now run the same set of templates meaning that we achieved feature parity between the two implementations ({uri-issue}63[#63], {uri-issue}131[#131]) Bug fixes:: * Reveal.js https://github.com/hakimel/reveal.js/#configuration[history feature] now works. We are working around Reveal.js' section id character limits. ({uri-issue}127[#127], {uri-issue}150[#150], https://github.com/hakimel/reveal.js/issues/1346[hakimel/reveal.js#1346]) Infrastructure:: * https://github.com/asciidoctor/asciidoctor-doctest[Asciidoctor-doctest] integration. This layer of automated testing should help prevent regressions and improve our development process. ({uri-issue}92[#92], {uri-issue}116[#116]) * Travis-CI integration to automatically run doctests and examples AsciiDoc conversions * Travis-CI tests are triggered by changes done in Asciidoctor. We will detect upstream changes affecting us sooner. * Smoke tests for our Javascript / Node / Asciidoctor.js toolchain (integrated in Travis-CI also) * `npm run examples` will convert all examples using the Javascript / Node / Asciidoctor.js toolchain ({uri-issue}149[#149]) * `rake examples:serve` will run a Web server from `examples/` so you can preview rendered examples ({uri-issue}154[#154]) === Release meta {uri-repo}/releases/tag/v1.1.0[git tag] | {uri-repo}/compare/v1.0.4...v1.1.0[full diff] === Credits Thanks to the following people who contributed to this release: @jirutka, Dan Allen, Guillaume Grossetie, Jacob Aae Mikkelsen, Olivier Bilodeau, Rahul Somasunderam == 1.0.4 (2017-09-27) - @obilodeau Bug fixes:: * Dependency problems leading to crashes when used from Asciidoctor.js ({uri-issue}145[#145]) === Release meta {uri-repo}/releases/tag/v1.0.4[git tag] | {uri-repo}/compare/v1.0.3...v1.0.4[full diff] === Credits Thanks to the following people who contributed to this release: Olivier Bilodeau, Guillaume Grossetie == 1.0.3 (2017-08-28) - @obilodeau Enhancements:: * Documentation improvements Compliance:: * Added `data-state: title` to the title slide ({uri-issue}123[#123]) Bug fixes:: * Pinned Asciidoctor version requirement to 1.5.4 to avoid dealing with {uri-issue}132[#132] in the 1.0.x series * Fixed consistency issues with boolean values handling in revealjs settings ({uri-issue}125[#125]) === Release meta {uri-repo}/releases/tag/v1.0.3[git tag] | {uri-repo}/compare/v1.0.2...v1.0.3[full diff] === Credits Thanks to the following people who contributed to this release: Dan Allen, nipa, Olivier Bilodeau, Pi3r == 1.0.2 (2016-12-22) - @obilodeau Enhancements:: * Ruby back-end is now compiled in Javascript with Opal (#115) * Documentation improvements === Release meta {uri-repo}/issues?q=milestone%3A1.0.2[issues resolved] | {uri-repo}/releases/tag/v1.0.2[git tag] | {uri-repo}/compare/v1.0.1...v1.0.2[full diff] === Credits Thanks to the following people who contributed to this release: Dan Allen, Guillaume Grossetie, Olivier Bilodeau == 1.0.1 (2016-10-12) - @obilodeau Enhancements:: * Documentation: aligned release process for both npm and ruby gems packages * npm package in sync with ruby gem === Release meta Released by @obilodeau {uri-repo}/issues?q=milestone%3A1.0.1[issues resolved] | {uri-repo}/releases/tag/v1.0.1[git tag] | {uri-repo}/compare/v1.0.0...v1.0.1[full diff] === Credits Thanks to the following people who contributed to this release: Olivier Bilodeau == 1.0.0 (2016-10-06) - @obilodeau Since this is the first ever "release" of asciidoctor-reveal.js (we used to do continuous improvements w/o releases in the past), this list focuses on the major enhancements introduced over the last few weeks. Enhancements:: * Initial release * Ruby package (#93) * Node package (#95) * `:customcss:` attribute for easy per-presentation CSS (#85) * Video support improvements (#81) * Reveal.js `data-state` support (#61) * Subtitle partioning (#70) * Background image rework (#52) * `:imagesdir:` properly enforced (#17, #67) === Release meta Released by @obilodeau {uri-repo}/issues?q=milestone%3A1.0.0[issues resolved] | {uri-repo}/releases/tag/v1.0.0[git tag] === Credits Thanks to the following people who contributed to this release: Alexander Heusingfeld, Andrea Bedini, Antoine Sabot-Durand, Brian Street, Charles Moulliard, Dan Allen, Danny Hyun, Emmanuel Bernard, gtoast, Guillaume Grossetie, Jacob Aae Mikkelsen, Jakub Jirutka, Jozef Skrabo, Julien Grenier, Julien Kirch, kubamarchwicki, lifei, Nico Rikken, nipa, Olivier Bilodeau, Patrick van Dissel, phrix32, Rahman Usta, Robert Panzer, Rob Winch, Thomas and Wendell Smith