v2.0.24
This is a patch release in the 2.0.x release line to fix bugs and address compatibility and compliance issues.
After upgrading, you'll no longer see the warning about the use of the logger gem when using Ruby 3.4. This is only a short-term solution for Ruby 3.4 and will need to be permanently fixed in a future release for Ruby 3.5. On the topic of logging, an error is now logged if an unterminated preprocessor conditional directive is detected. If the sourcemap option is enabled on the processor, the message will identify the file and line where the conditional started. (This change also allowed us to uncover cases when the conditional stack was incorrect). If you are extending Asciidoctor Logger class to implement a custom logger, all kwargs are now passed to the superclass correctly.
If you're converting to DocBook, you will notice that the link attribute on an inline image is supported (but not yet for a block image). For reproducible builds, the SOURCE_DATE_EPOCH environment variable is now ignored if empty.
If you're writing a converter from scratch, you'll find the documentation on how to get started to be much more helpful. You'll also appreciate the fact that the converter will not crash if you're missing a convert handler for a node when extending the base converter.
When using the verse block, you'll notice that the code tag no longer displays as a block.
Finally, two changes have been made for better compatibility with Opal to support Asciidoctor.js.
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
Compliance
- Support link attribute on inline image macro when converting to DocBook (#4385)
- Add magic comment
backticks_javascript: trueto achieve compatibility with Opal 2.0 (#4775) (@janbiedermann) - Extract the require logic of the OpenURI library for Asciidoctor.js compatibility (#4244) (@ggrossetie)
Improvements
- Suppress warning about loading logger from stdlib when using Ruby 3.4 (#4769)
- Log error if unterminated preprocessor conditional directive is detected (#3545)
- Coerce names passed to the
positional_attrsdirective on an extension to strings (#4674) - Ignore
SOURCE_DATE_EPOCHenvironment variable if value is empty instead of exiting with non-zero exit code (#4631) - Change Brazilian Portuguese translation for toc-title (#4653) (@giflw)
Bug Fixes
- Consider
convert_prefix when looking for missing convert method in converter (#4669) (@eugoka) - Don't push conditional onto stack if conditional preprocessor directive is invalid when skipping lines (#4603)
- Only style code tag as block element when inside pre in listing block; not inside verse block (#4610)
- Pass kwargs to Logger superclass and only assign defaults when kwarg is not specified (#4773)
- Don't add role=include to link macro that replaces include directive when running in compat mode (#4608)
Documentation
- Rewrite documentation for how to create a custom converter from scratch and make examples more thorough (#4699)
Build / Infrastructure
- Fix classification of several substitution tests (#4691) (@scouten)
Release meta
Released on: 2025-10-13 Released by: @mojavelinux Release beer: Oktoberfest by Athletic Brewing Company
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.