github asciidoctor/asciidoctor v2.0.14


This patch release was a quick turnaround from the previous one to fix issues that were discovered while testing the Asciidoctor 2 upgrade in Antora. It also provided the opportunity to fix a few additional bugs we uncovered while grooming the issue tracker. If all goes well, we expect this to be the last release of the 2.0.x series before work begins on 2.1.x.

The main issue we discovered is that the caption attribute on a block was not being honored if the global *-caption attribute (e.g., example-caption) was unset. It turns out, this regression has been around ever since the Asciidoctor 2.0.0 release, but we only just discovered it. Now, the caption attribute on the block always wins out. We also discovered that, in certain cases, document attributes unset by the API could still be set in an AsciiDoc table cell. That loophole has been closed. Additionally, if a default attribute (like table-caption) is unset in the parent document, it remains unset in the AsciiDoc table cell. There are certain attributes which can be controlled independently by the AsciiDoc table cell. That list now includes showtitle/notitle. When fixing the security vulnerability in the counter attribute directive, we inadvertently broke counters when the attribute is locked. The counter now operates even when the attribute is locked.

Consult the CHANGELOG to find the full list of changes in this release.

During this release cycle, we finally got the Asciidoctor test suite running on JRuby for Windows for the first time.


Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. You can use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2020-04-19
Released by: @mojavelinux
Release beer: Three Philosophers by Brewery Ommegang

Logs: resolved issues | full diff | issues resolved in 2.0.x (cumulative)


Bug Fixes

  • Don't allow AsciiDoc table cell to set document attribute that was unset from the API (except compat-mode, toc, and showtitle/notitle) (#4017)
  • Ensure default document attributes unset in parent document remain unset in AsciiDoc table cell (nested) document (#2586)
  • Allow showtitle/notitle to be toggled in AsciiDoc table cell if set in parent document (#4018)
  • Ensure mtime of input file honors TZ environment variable on JRuby for Windows (affects value of docdatetime attribute) (#3550)
  • Honor caption attribute on blocks that support captioned title even if corresponding *-caption document attribute is not set (#4023)
  • Suppress missing attribute warning when applying substitutions to implicit document title to assign to doctitle attribute (#4024)
  • Increment counter (but not the corresponding attribute) if attribute is locked (#4013)


  • Use attribute, if set, as seed value for counter even if not already registered as a counter (#4014)
  • Allow subs attribute value on Inline node returned by process method for custom inline macro to be a String (#3938)
  • Allow value of user-home attribute to be overridden by API or CLI (#3732)

Build / Infrastructure

  • Run tests on JRuby for Windows (#3550)


A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign who provided critical funding for the development of this release as well as ongoing development of the project. We'd also like to thank the maintainers of the Rouge project, who helped us work through the compatibility issue with Rouge and applied a fix to restore it ahead of our own release.

latest releases: v2.0.16, v2.0.15
5 months ago