Releases: asciidoctor/asciidoctor-pdf
v2.3.24
This is a minor patch release in the 2.3.x release line to optimize some behavior and to fix minor annoyances.
The most noticeable change is that the built-in prose fonts (Noto Serif and Noto Sans) now provide the checkmark glyph (U+2713) to avoid having to use the fallback font. Additionally, the minimum toclevels value is coerced to avoid creating an empty TOC.
Internally, the logic to check if a section heading fits on a page has been slightly optimized. And the import_page method on the converter returns true if page was imported to align with the functionality of the method it overrides.
Distribution
Changelog
Improvements
- bypass any dry run logic if remaining height on page is less than heading font size
- update import_page method on converter to return true if page was imported (nil otherwise), on par with the functionality of method it replaces
- limit min toclevels value so it does not cause TOC to be empty (#2619)
- add checkmark glyph (U+2713) to prose fonts (Noto Serif and Noto Sans) to avoid need for fallback font (#2617)
Release meta
Released on: 2025-11-15
Released by: @mojavelinux
Release beer: Side Stage by Athletic Brewing Co
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.
v2.3.23
This is the smallest of the small patch release in the 2.3.x release line to fix a problem with spacing between entries in a horizontal list caused by the fix for #2591.
Distribution
Changelog
Bug Fixes
- fix incorrect spacing between entries in horizontal dlist when entry description crosses page boundary (#2614)
Release meta
Released on: 2025-10-25
Released by: @mojavelinux
Release beer: Oktoberfest 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.
v2.3.22
This is a small patch release in the 2.3.x release line to fix problems with avoiding orphaned section titles and the related page number assignment.
Distribution
Changelog
Bug Fixes
- don't orphan section with unbreakable option that spans page boundary (#2608)
- correctly track start page number of section title that self-advances when section is breakable (#2609)
Release meta
Released on: 2025-10-23
Released by: @mojavelinux
Release beer: Not 5 o'clock yet
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.
v2.3.21
This is a small, but mighty patch release in the 2.3.x release line to address some AsciiDoc compliance issues and improve the overall usability of the software.
In terms of AsciiDoc compliance, the float-group enclosure is now honored for floats and see and see-also associations on index terms are now included in the index. In terms of usability, the pdf-fontsdir attribute has a more sensible default so it doesn't need to be set when using custom fonts in a custom theme. When text cannot be parsed, shy hyphens are removed to make the text easier to find in the source document.
Distribution
Changelog
Improvements
- remove shy hyphens from text in log message when formatted text cannot be parsed (#2599)
- clear float box if next block falls outside of flaot group (#2596)
- resolve fonts relative to theme dir before GEM_FONTS_DIR if
pdf-fontsdirnot specified (#2349) - add see and see-also associations on index terms to index (#2527)
Release meta
Released on: 2025-10-07
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.
v2.3.20
This is a significant patch release in the 2.3.x release line to address compatibility with Ruby 3.3 and Ruby 3.4, fix numerous bugs, and provide some welcomed improvements.
This release suppresses the warning issued by Ruby 3.3 and 3.4 about the use of Ruby's logger gem when loading Asciidoctor. It also fixes a crash when Asciidoctor PDF attempts to preload the bigdecimal gem when using Ruby 3.4.
This release include numerous bug fixes. If the font is missing the NULL character, the converter will ensure no space is allocated for it. If a resolved attribute value in the running content contains an attribute reference (recursive), the converter will not drop that line. If a bordered or shaded block gets carried over to the next column on the first page of a document that uses page columns, the block's extent will be computed correctly. If the link on an image targets an (internal) anchor, that link will resolve properly.
In terms of improvements, the big one is that a horizontal dlist is now rendered without the use of prawn-table, which means the description for an entry may exceed the height of a single page. This release also bundles the glyphs for the shift, command, option and return keys to the fallback font. The font size for sub and sup can now be set independently of one another using an extended converter. The value of the minimum font size keys in the theme accept a relative value (e.g., 0.75em). When generating a print or prepress PDF, the hide-uri-scheme attribute is honored when appending the URL to the link text.
Distribution
Changelog
Improvements
- add symbols for shift, command, option, and return keys to the fallback font
- render horizontal dlist without using prawn-table, allowing the description to exceed the height of one page (#2591)
- allow relative font size for sub and sup to be set independently (support combined setting for backwards compatibility)
- allow value of
base-font-size-minand<category>-font-size-mintheme keys to be relative (e.g., 0.75em) (#2547) - respect
hide-uri-schemeattribute when appending URL to link text when media is print or prepress (#2583)
Bug Fixes
- always force NULL character to have 0 width, even if missing from font (#2585)
- don't drop line in running content if attribute reference resolves to text that contains attribute reference (not originally present)
- correctly calculate extent for block in columns that starts below doctitle (#2579)
- support internal link on image (value of link attribute starts with #) (#2572)
Compliance
- suppress warning about the use of Ruby's logger gem when loading Asciidoctor
- ignore error if bigdecimal gem cannot be eagerly required
Release meta
Released on: 2025-09-16
Released by: @mojavelinux
Release beer: Oktoberfest 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.
v2.3.19
This is a patch release in the 2.3.x release line to fix several bugs and address another Ruby 3.3 compatibility issue.
This release backports the fix to support horizontal alignment on an AsciiDoc table cell that only contains paragraphs. It also fixes an issue where the AsciiDoc table cell would overrun the bottom of the page even when it would otherwise fit. Finally, the requirement for a custom font to provide the NULL glyph is now lifted to avoid line height calculation errors.
Regarding compatibility, this release loads the theme using a custom ThemeData class instead of OpenStruct to remove the dependency on ostruct.
Distribution
Changelog
Improvements
- replace OpenStruct with internal ThemeData class for storing theme data (#2535)
Bug Fixes
- support horizontal alignment on AsciiDoc table cell that only contains paragraphs (#2358)
- don't allow AsciiDoc table cell to overrun bottom of page on which it fits (#2538)
- don't look for NULL glyph in fallback font as this can impact line height (#2541)
Release meta
Released on: 2024-10-11
Released by: @mojavelinux
Release beer: Duvel 6,66% by Duvel
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.
v2.3.18
This is a patch release in the 2.3.x release line to fix one bug and address one Ruby 3.3 compatibility issue.
If the page layout changes, the foreground image is now positioned correctly. The version lock on the rexml gem has been released now that the upstream issue has been resolved. The rexml upgrade does not require building native extensions in the strscan gem, but this is unavoidable since it was a change in Ruby itself.
Distribution
Changelog
Bug Fixes
- position foreground image correctly when page layout changes (#2528)
Compliance
- release lock on version of rexml (pulled in by asciidoctor-diagram and prawn-svg) now that incompatibility is resolved
Release meta
Released on: 2024-07-27
Released by: @mojavelinux
Release beer: Sidewalk Surfer by Maplewood Brewery
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.
v2.3.17
This is a patch release in the 2.3.x release line to backport an improvement that was left out of the previous release.
The /Producer field in the document info is now consistently used to credit Asciidoctor PDF and Prawn, regardless of whether the author is set. The publisher attribute is now mapped to the /Creator field, a field which is mapped to the author by default. The new producer attribute has been introduced to override the /Producer field.
Distribution
Changelog
Improvements
- always use /Producer field in document info to credit Asciidoctor PDF and Prawn, even when author is set (#2510)
- map
producerattribute to /Producer field in document info to override or default value (#2510) - map
publisherattribute to /Creator field instead of /Producer field in document info; use author as fallback (#2510)
Release meta
Released on: 2024-06-01
Released by: @mojavelinux
Release beer: From Below by Cerebral 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.
v2.3.16
This is a patch release in the 2.3.x release line that addresses a few bugs, furthers compatibility with Ruby 3.3, and addresses a few minor annoyances.
The most critical fix in this release is to duplicate the attributes on the table when handling the breakable or unbreakable option so that the option is honored properly. This fix addresses the case when one of these options is used along with the heading-min-height-after: auto setting in the theme. The rexml dependency has been locked to fix an API breakage that was introduced in the latest version of rexml.
In the area of improvements, support for base64-encoded SVG images references in an SVG has been activated (unlocking new functionality in prawn-svg). If hyphens are enabled on the document, they are not applied to the URL of an autolink.
Distribution
Changelog
Improvements
- don't hyphenate autolink when hyphenation is enabled (#2521) (@meonkeys)
- add support for base64-encoded SVG image reference in SVG (#2512)
Bug Fixes
- duplicate attributes on table when wrapping table in breakable or unbreakable container (#2520)
Compliance
- lock version of rexml (pulled in by asciidoctor-diagram and prawn-svg) to fix incompatibility
Release meta
Released on: 2024-05-31
Released by: @mojavelinux
Release beer: Moist Green Organic by Knotted Root 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.
v2.3.15
Back with another patch release in the 2.3.x line. This release was necessary to lock ttfunk to 1.7.0 since the transitive upgrade added a new requirement for installation which violates semantic versioning. This release also drops links from entries in the TOC so that they appear like all other entries and don't confuse the reader.
Distribution
Changelog
Improvements
- drop links from entries in TOC (#2505)
Compliance
- lock ttfunk to 1.7.x to avoid requiring Ruby headers (i.e., development libraries) to install gem (#2508)
Release meta
Released on: 2024-03-11
Released by: @mojavelinux
Release beer: Star Light by Equilibrium Brewery
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.