github asciidoctor/asciidoctor v2.0.19

latest releases: v2.0.22, v2.0.21, v2.0.20...
10 months ago

Development on Asciidoctor 2.1 has been on pause while we focus on progressing the AsciiDoc Language Specification. In the meantime, we extracted some of the minor improvements and bug fixes from main and put them into this patch release in the 2.0.x release line.

The most impactful fix is a switch from recursion to a while loop to prevent a stack limit error when looking for the next line to process. Those using JRuby will appreciate that fact that a uri:classloader: prefix is treated as an absolute path rather than a URL, which will allow those paths to be read correctly and avoid misleading security warnings.

A few refinements where made to how the AsciiDoc source is parsed. First, constrained passthroughs inside a monospace span are now always processed as expected. When parsing a dlist, a nested list that starts with at least one block attribute line is now attached correctly. The partintro block is now generated consistently, despite how it's defined in the AsciiDoc source. Numeric character references are passed over when searching for the URL fragment in the xref target. An inline ref is cataloged even if the resolved reftext is empty. An include target may not start or end with a space (to distinguish it from a dlist entry). Finally, square brackets are not swallowed when parsing an escaped URL macro.

Several improvements have been made when converting to man pages. When generating DocBook, the root <reftext> tag is correctly enclosed in an <article> tag and reftext substitutions are applied to the value of the mantitle attribute. When converting to the man page format, the alt text of a block image is processed correctly (i.e., "manified"). In the HTML output, a monospace span in a section title is not converted to uppercase.

The default stylesheet has been updated so that the margin on the first and last child of a sidebar is collapsed correctly and so the font size of a term in a horizontal list matches the font size of a term in a regular dlist.

The code has been updated to be compatible with recent software releases, including Ruby 3.2, Haml 6, and Rouge 4.1.

Distribution

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.

Changelog

Improvements

  • Return empty string instead of nil if raw or verbatim block has no lines
  • Don't uppercase monospace span in section title in manpage output (#4402)
  • Simplify processing of implicit link (i.e., autolink) by separating implicit and explicit match
  • Generate partintro block consistently (#4450)
  • Add Kiswahili translation for built-in labels (PR #4454) (@bkmgit)

Compliance

  • Fix call order so use of an include file with invalid encoding continues to raise error when using Ruby >= 3.2.0
  • Fix test assertion for fallback Rouge stylesheet to be compatible with Rouge 4.1 (#4406) (@tmzullinger)
  • Support notitle option on section as alternative to untitled to hide title (#4437)
  • Add support for Haml 6 to template converter (#4429)

Bug Fixes

  • Process constrained inline passthrough inside monospace span (#4458)
  • Catalog inline ref defined using anchor macro even when resolved reftext is empty
  • Use while loop rather than recursion to locate next line to process; prevents stack limit error (#4368)
  • Avoid matching numeric character references when searching for # in xref target (#4393)
  • Use correct selector to collapse margin on first and last child of sidebar
  • Don't allow target of include directive to start with a space (to distinguish it from a dlist item) or to end with a space
  • Manify alt text of block image in manpage output (#4401)
  • Adjust font size of term in horizontal dlist to match font size of term in regular dlist
  • Implicitly attach nested list that starts with block attribute lines to dlist entry (#4268)
  • Don't swallow square brackets when processing escaped URL macro
  • Treat uri:classloader: as an absolute path prefix when running on JRuby (#3929)
  • Apply reftext substitutions to value of mantitle attribute in DocBook output (#4448)
  • Enclose <reftext> tag in <article> tag in DocBook output for man page (#4452)
  • Correctly handle compat role on monospace and constrained passthrough when box attrlist or formatted text is escaped

Build / Infrastructure

  • Update latest CRuby in CI workflow to 3.2
  • Update latest JRuby in CI workflow to 9.4.2.0

Release meta

Released on: 2023-05-17
Released by: @mojavelinux
Release beer: Yerba Mate IPA by Athletic Brewing

Logs: resolved issues | source diff | gem diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

Don't miss a new asciidoctor release

NewReleases is sending notifications on new releases.