github asciidoctor/asciidoctor v2.0.16


This is a patch release with a big impact, bringing with it several notable changes. First, two regressions have been fixed when using negated wildcards in include tag filtering, and the meaning of negated wildcards in tag filtering has been clarified in general. Second, the source of the default stylesheet has been imported into this repository (now managed using a PostCSS build with autoprefixer and cssnano). Third, an internal change was made to how lines are iterated by the reader (switching from a stack to a queue), which will substantially improve the performance of Asciidoctor.js when processing large files. Finally, numerous improvements were made to the man page converter.

This release also includes a handful of smaller bug fixes, including two scenarios where an undefined method error was creeping in. Several impactful updates were made to the documentation during this release cycle as well, most notably on the topic of generating man pages. An initial set of changes have been applied to the code base in preparation for enabling RuboCop to enforce a code style. The remainder of those changes, as well as the task itself, have already been applied to the default branch. Those updates will also be applied to the branch for this release line following this release. Speaking of release lines, the default branch is now open for 2.1.x development and beyond!

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


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: 2021-08-03
Released by: @mojavelinux
Release beer: Bourbon Barrel Aged Barley Wine by Living the Dream

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


Bug Fixes

  • Include all lines outside of specified tagged region when tag filter on include directive is a single negated tag (#4048)
  • Only interpret negated wildcard in tag filter on include directive as implicit globstar if it precedes other tags (#4086)
  • Change ifeval directive to resolve to false if comparison operation cannot be performed (#4046)
  • Don't crash if :to_file option is passed to load or load_file and value is not a string (#4055)
  • Use automatic link text if ID in shorthand xref is followed by dangling comma (e.g., <<idname,>>)
  • Update default stylesheet to indent blocks attached to list item in checklist (#2550)
  • Update default stylesheet to reenable styling of implicit lead role on first paragraph of preamble inside AsciiDoc table cell
  • Update default stylesheet to fix conflict between text decoration and bottom border on abbr[title] element
  • Change invalid font family "sans" in default stylesheet to "sans-serif"
  • Fix missing automatic reftext for internal xrefs in manpage output (#4110)
  • Replace numeric character reference for plus in manpage output (#4059)
  • Replace numeric character reference for degree sign in manpage output (#4059)
  • Convert apostrophe to the portable \*(Aq variable instead of the groff-specific escape \(aq (#4060) (@felipec)
  • Document the -e, --embedded option flag in the man page, which replaces the outdated -e, --eruby option flag


  • Use queue to iterate over lines in reader instead of stack (#4106)
  • Uppercase automatic reftext for level-2 section titles in manpage output if reftext matches section title (#4110)
  • Show safe modes in strictness order in CLI help (#4065)
  • Remove redundant styles from the default stylesheet
  • Update font styles for summary element in default stylesheet to match font styles of paragraph (#4114)
  • Update default stylesheet to indent content of details element (#4116)
  • Update default stylesheet to use custom marker for summary element to make appearance consistent (#4116)
  • Add Vietnamese translation of built-in attributes (PR #4066) (@nguyenhoa93)
  • Add Thai translation of built-in attributes (PR #4113) (@ammaneena)

Build / Infrastructure

  • Import source of default stylesheet into this repository; use PostCSS with cssnano to minify (#4062)
  • Use autoprefixer to manage browser prefixes in default stylesheet (#4118)


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.

one month ago