Skip to content

Releases: asciidoctor/asciidoctor

v2.0.12

10 Nov 07:48
Compare
Choose a tag to compare

Summary

This is a minor patch release that fixes some regressions that were introduced during the long release cycle of 2.0.11. We strongly recommend upgrading to this version instead of using 2.0.11.

Notable changes include restoring the type and target on unresolved footnotes (so they display properly), fixing a crash when an extension set a numeric width or height on an SVG image when using opts=inline, resetting the word wrap behavior to normal on tables to avoid aggressive word breaks, reverting the use of a Ruby 2.3 construct that prevented Asciidoctor from working on CentOS, including the role on an inline image in the DocBook output, and passing through the explicit width and height values on an SVG image as is when using opts=inline.

Please note that it will not be possible to use Asciidoctor on Ruby < 2.3 after the 2.0.x release line. Those versions are already unsupported. However, since we had not yet made a change that prevented them from working, we'll wait until 2.1.x to do so.

During this release, all the CI jobs were migrated from Travis CI to GitHub Actions. We also added a CI job to run the test suite on macOS.

As usual, consult the CHANGELOG for all the details.

Distributions

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-11-10
Released by: @mojavelinux
Release beer: For the Animals: Imperial Breakfast by Alternation Brewing Company

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

Changelog

Bug Fixes

  • Set type and target property on unresolved footnote reference and unset id property (fixes regression) (#3825)
  • Fix crash when inlining an SVG if the explicit width or height value on the image node is not a string (#3829)
  • Reset word wrap behavior to normal on tables, then reenable again for admonition content, horizontal dlist description, and AsciiDoc table cells (#3833)

Improvements

  • Pass through role to DocBook output for inline image (#3832)

Compliance

  • Defer use of Ruby >= 2.3 constructs to restore compatibility with Ruby 2.0 until at least next minor release (#3827)
  • Don't append the default px unit identifier to the explicit width or height value when inlining an SVG (#3829)

Build / Infrastructure

  • Migrate Linux CI jobs to GitHub Actions (#3837)
  • Migrate Windows CI jobs to GitHub Actions (#3839)
  • Run CI job on macOS (#3842)

Credits

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.

v2.0.11

03 Nov 03:57
Compare
Choose a tag to compare

Summary

This is a big patch release that fixes a slew of issues that have been discovered from heavy usage. It's a larger release than we had planned because we're in the process of rewriting the docs and have been holding minor releases until the docs were merged. Unfortunately, that has taken longer than expected. But we're nearly there. In the meantime, we're putting out this patch release to publish the fixes that have accumulated in the meantime.

Notable changes include fixing two infinite loop scenarios, applying text formatting to cells in the implicit table head row when the column has the "a" or "l" style, restoring compatibility with Rouge >= 3.4 (by defining entry point API methods as class methods instead of module functions), fix bottom margin collapsing on an AsciiDoc table cell, removing excess hard line breaks in multi-line AsciiMath blocks, preserving repeating blackslashes in manpage output, move style tags for syntax highlighters into head of HTML output, for wrapping to avoid overflow in HTML output, fix cell borders for colspan or rowspan cells when frame and grid attribute values are congruent, and allow the encoding of the include file to be specified using the encoding attribute.

Oh, and the API docs on rubydoc.info are working once again! https://www.rubydoc.info/gems/asciidoctor/

As usual, consult the CHANGELOG for all the gory details. 🎃

Distributions

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-11-02
Released by: @mojavelinux
Release beer: Chimay Blue

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

Changelog

Bug Fixes

  • Fix infinite loop when callout list with obsolete syntax is found inside list item (#3472)
  • Fix infinite loop when xreftext contains a circular reference path in HTML and manpage converters (#3543)
  • Apply text formatting to table cells in implicit header row when column has the "a" or "l" style (#3760)
  • Fix errant reference warning for valid reference when running in compat mode (#3555)
  • Initialize backend traits for converter (if not previously initialized) using assigned basebackend; mimics Asciidoctor < 2 behavior (#3341)
  • Set source_location on preamble block when sourcemap option is enabled (#3799)
  • Link the notitle and showtitle attributes so they act as opposites for the same toggle (#3804)
  • Pass options to constructor of Rouge lexer instead of #lex method; restores compatibility with Rouge >= 3.4 (#3336)
  • Don't clobber cgi-style options on language when enabling start_inline option on the Rouge PHP lexer (#3336)
  • Fix parsing of wrapped link and xref text, including when an attrlist signature is detected (#3331)
  • Restore deprecated writable number property on AbstractBlock
  • Always use title as xreftext if target block has an empty caption, regardless of xrefstyle value (#3745)
  • Allow a bibliography reference to be used inside a footnote (#3325)
  • Fix bottom margin collapsing on AsciiDoc table cell (#3370)
  • Remove excess hard line break in multi-line AsciiMath blocks (#3407)
  • Only strip trailing spaces from lines of AsciiDoc include file (#3436)
  • Remove errant optional flag in regexp for menu macro that breaks Asciidoctor.js (#3433)
  • Preserve repeating backslashes when generating manpage output (#3456)
  • Honor percentage width specified on macro of inline SVG (#3464)
  • Removing leading and trailing blank lines in AsciiDoc include file to match assumption of parser (#3470)
  • Activate extensions when :extensions option is set even if Extensions API is not yet loaded (#3570)
  • Don't activate global extensions if :extensions option is false (#3570)
  • Escape ellipsis at start of line in manpage output (#3645) (@jnavila)
  • Don't register footnote with ID if a footnote is already registered with that ID (#3690)
  • Honor start attribute on ordered list in manpage output (#3714)
  • Warn instead of crashing if SVG to inline is empty (#3638) (@mogztter)
  • Compute highlight line ranges on source block relative to value of start attribute (#3519) (@mogztter)
  • Prevent collapsible block from incrementing example number by assigning an empty caption (#3639)
  • Use custom init function for highlight.js to select the correct code elements (#3761)
  • Fix resolved value of :to_dir when both :to_file and :to_dir options are set to absolute paths (#3778)
  • Fix crash if value of stylesheets attribute contains a folder and the destination directory for the stylesheet does not exist (even when the :mkdirs option is set) (#3808)
  • Fix crash if value passed by API for copycss attribute is not a string (#3592)
  • Restore label in front of each bibliography entry in DocBook output that was dropped by fix for #3085 (#3782)
  • Apply max width to each top-level container instead of body in HTML output (#3513)
  • Don't apply border-collapse: separate to HTML for table blocks; fixes double border at boundary of colspan/rowspan (#3793) (@ahus1)
  • Don't remove right border on last table cell in row (#2563)
  • Rework table borders to leverage border collapsing (apply frame border to table, grid border to cells, and selectively override border on cells to accommodate frame) (#3387)

Compliance

  • Add support for muted option to self-hosted video (#3408)
  • Move style tag for convert-time syntax highlighters (coderay, rouge, pygments) into head (#3462)
  • Move style tag for client-side syntax highlighters (highlight.js, prettify) into head (#3503)
  • Define entry point API methods (load, convert, load_file, convert_file) as class methods instead of module_function to avoid conflict with Kernel.load (#3625)
  • Retain attribute order on HTML code tag for source block to remain consistent with output from 1.5.x (#3786)
  • Correct language code for Korean language file from kr to ko (#3807) (@jnavila)

Improvements

  • Apply word wrap (i.e., word-wrap: anywhere) to body in default stylesheet (#3544)
  • Allow nobreak and nowrap roles to be used on any inline element (#3544)
  • Preserve guard around XML-style callout when icons are not enabled (#3319)
  • Use .fam C command to switch font family for verbatim blocks to monospaced text in manpage output (#3561)
  • Remove redundant test for halign and valign attributes on table cell in DocBook converter
  • Allow encoding of include file to be specified using encoding attribute (#3248)
  • Allow template to be used to override outline by only specifying the outline template (#3491)
  • Upgrade MathJax from 2.7.5 to 2.7.6
  • Skip unused default attribute assignments for embedded document
  • Allow a URL macro to have a preceding single or double quote (#3376)
  • Add support for erubi template engine; use it in place of erubis in test suite; note the use of erubis is deprecated (#3737)
  • Download and embed remote custom stylesheet if allow-uri-read is set (#3765)
  • Remove direction property from default stylesheet (#3753) (@abdnh)
  • remove max width setting on content column for print media in default stylesheet (#3802)
  • Normalize frame value "topbot" to "ends" in HTML output (consistently use frame-ends class) (#3797)
  • Add role setter method on AbstractNode (#3614)

Build / Infrastructure

  • Run test suite on TruffleRuby nightly (@mogztter, @erebor)
  • Upgrade TruffleRuby to 20.0.0 (@mogztter)
  • Trigger upstream builds for AsciidoctorJ on Github Actions (@robertpanzer)

Credits

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.

v2.0.10

01 Jun 05:58
Compare
Choose a tag to compare

Summary

This is a patch release that fixes two regressions, one when using the header_footer option with Asciidoctor.convert_file and one when the icons attribute is set to image. It also addresses a minor issue in the default stylesheet with excerpt blocks and passes a consistent set of arguments to SyntaxHighlighter#docinfo. The Japanese version of the README has been brought up to date thanks to @soishino and @wotsushi.

Distributions

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: 2019-05-31
Released by: @mojavelinux
Release beer: Elevated IPA by La Cumbre

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

Changelog

Bug Fixes

  • fix Asciidoctor.convert_file to honor header_footer: false option when writing to file (#3316)
  • fix placement of title on excerpt block (#3289)
  • always pass same options to SyntaxHighlighter#docinfo, regardless of value of location argument
  • fix signature of SyntaxHighlighter#docinfo method (#3300)
  • when icons is set to image, enable image icons, but don't use it as the value of the icontype attribute (#3308)

v2.0.9

30 Apr 19:44
Compare
Choose a tag to compare

Summary

This is a bug fix release that fixes compatibility with Asciidoctor Diagram by registering images correctly in the catalog, fixes the parsing of multiple single-item menus in the same line, renames AbstractNode#options to AbstractNode#enabled_options to fix a conflict with the Document#options method, doesn't fail to convert the document if an image block is missing the alt attribute, and fixes source line numbers following a detached list continuation.

Distributions

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: 2019-04-30
Released by: @mojavelinux
Release beer: Kentucky Breakfast Stout by Founders Brewing Company

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

Changelog

Bug Fixes

  • process multiple single-item menu macros in same line (#3279)
  • register images in catalog correctly (#3283)
  • rename AbstractNode#options method to AbstractNode#enabled_options so it doesn't get shadowed by Document#options (#3282)
  • don't fail to convert document if alt attribute is not set on block or inline image (typically by an extension)
  • fix lineno of source location on blocks that follow a detached list continuation (#3281)
  • assume inline image type is "image" if not set (typically by an extension)

v2.0.8

22 Apr 11:13
Compare
Choose a tag to compare

Summary

This is a bug fix release that restores the background color on literal blocks and restores the bottom margin on passthrough blocks inside table cells in the default stylesheet, addresses compatibility issues with Asciidoctor.js, allows any Unicode word character to be used for the footnote ID, allows symbols to be passed to the register_for methods, defines helper methods using module_function (instead of extending self), and some other internal refactoring and polishing.

Distributions

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: 2019-04-22
Released by: @mojavelinux
Release beer: Kentucky Breakfast Stout by Founders Brewing Company

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

Changelog

Bug Fixes

  • restore background color applied to literal blocks by default stylesheet (#3258)
  • use portability constants (CC_ALL, CC_ANY) in regular expressions defined in built-in converters (DocBook5 and ManPage)
  • use portability constant (CC_ANY) in regular expression for custom inline macros
  • use smarter margin collapsing for AsciiDoc table cell content; prevent passthrough content from being cut off (#3256)
  • don't limit footnote ref to ASCII charset; allow any word character in Unicode to be used (#3269)

Improvements

  • register_for methods accept arguments as symbols (#3274)
  • use Concurrent::Map instead of Concurrent::Hash in template converter
  • use module_function keyword to define methods in Helpers
  • move regular expression definitions to separate source file (internal change)

v2.0.7

13 Apr 09:36
Compare
Choose a tag to compare

Summary

This release fixes crash in xref resolution that was discovered from running Asciidoctor on GitHub. It also fixes compatibility with Rouge 2.0, and improves documentation for the -a CLI option.

Distributions

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: 2019-04-13
Released by: @mojavelinux
Release beer: Cheat Code by Cerebral Brewing

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

Changelog

Bug Fixes

  • fix crash when resolving ID from text and at least one candidate contains an unresolved xref (#3254)
  • fix compatibility with Rouge 2.0

Improvements

  • improve documentation for the -a CLI option; explain that @ modifier can be placed at end of name as alternative to end of value
  • move source for main API entry points (load, load_file, convert, convert_file) to separate files (#3257)

v2.0.6

04 Apr 22:04
Compare
Choose a tag to compare

Summary

A bug fix release that restores the 1.5.x behavior of the interdocument xref macro when the target has no file extension, doesn't fail to load if the call to Dir.home fails (which allows Asciidoctor to be used in the GitHub application), and only drops the file extension from the last path segment when cataloging the include path.

Distributions

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: 2019-04-04
Released by: @mojavelinux
Release beer: Rye on Rye 6 by Boulevard Brewing

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

Changelog

Bug Fixes

  • assume implicit AsciiDoc extension on interdoc xref macro target with no extension (e.g., document#); restores 1.5.x behavior (#3231)
  • don't fail to load application if call to Dir.home fails; use a rescue with fallback values (#3238)
  • Helpers.rootname should only consider final path segment when dropping file extension

Improvements

  • implement Helpers.extname as a more efficient and flexible File.extname method
  • check for AsciiDoc file extension using end_with? instead of resolving the extname and using a lookup

v2.0.5

01 Apr 20:11
Compare
Choose a tag to compare

Summary

A bug fix release that marks the encoding of stdio objects used by the CLI as UTF-8, fixes a crash when the source highlighter is Rouge and the source language is not set, makes the register_for method on a SyntaxHighlighter implementation public, and allows the CLI to be used on any Ruby 2 version.* A few lines of unnecessary code were dropped for the Asciidoctor.js build to further reduce its size.

* Keep in mind Asciidoctor is only officially supported and tested on Ruby 2.3 or better.

Distributions

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: 2019-04-01
Released by: @mojavelinux
Release beer: Transparently Trendy by Resolute Brewing

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

Changelog

Bug Fixes::

  • fix crash when source highlighter is Rouge and source language is not set on block (#3223)
  • update CLI and SyntaxHighlighter to allow Asciidoctor to load cleanly on Ruby 2.0 - 2.2
  • CLI should use $stdin instead of STDIN to be consistent with the use of $stdout
  • mark encoding of stdio objects used in CLI as UTF-8 (#3225)
  • make Asciidoctor::SyntaxHighlighter::Config.register_for method public as documented

v2.0.4

31 Mar 08:55
Compare
Choose a tag to compare

Summary

A bug fix release that makes some API clarifications and enables Asciidoctor to be run on any Ruby 2 version. Keep in mind Asciidoctor is only officially supported and tested on Ruby 2.3 or better. However, it's at least possible now for a distribution vendor to provide support for running Asciidoctor on older versions of Ruby 2.

Distributions

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: 2019-03-31
Released by: @mojavelinux
Release beer: Rye on Rye 6 by Boulevard Brewing

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

Changelog

Bug Fixes::

  • allow Asciidoctor to load cleanly on Ruby 2.0 - 2.2 for distributions that provide support for these older Ruby versions
  • make Asciidoctor::Converter::Config.register_for method public as documented
  • remove unused Asciidoctor::Converter::BackendTraits#derive_backend_traits private method
  • move Asciidoctor::Converter::BackendTraits.derive_backend_traits method to Asciidoctor::Converter
  • mark render and render_file methods as deprecated in API docs

v2.0.3

29 Mar 00:01
Compare
Choose a tag to compare

Summary

A bug fix release to address compatibility with Asciidoctor.js and Asciidoctor Diagram. Also fixes a crash when an attrlist is used on a literal monospace phrase (e.g., [.bar]`+foo+`).

Distributions

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: 2019-03-28
Released by: @mojavelinux
Release beer: The Dark One by High Hops Brewing

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

Changelog

Bug Fixes::

  • fix crash when attrlist is used on literal monospace phrase (#3216)
  • update use of magic regexp variables to fix compatibility with Opal / Asciidoctor.js (#3214)
  • support 'figure' as context argument to AbstractBlock#assign_caption (fixes compatibility with Asciidoctor Diagram)