Skip to content

Releases: asciidoctor/asciidoctor-pdf

v2.3.19

11 Oct 07:23
Compare
Choose a tag to compare

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

27 Jul 19:11
Compare
Choose a tag to compare

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

01 Jun 07:57
Compare
Choose a tag to compare

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 producer attribute to /Producer field in document info to override or default value (#2510)
  • map publisher attribute 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

31 May 22:02
Compare
Choose a tag to compare

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

12 Mar 03:51
Compare
Choose a tag to compare

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.

v2.3.14

08 Mar 09:19
Compare
Choose a tag to compare

Another week, another round of compatibility and bug fixes. This is a patch release in the 2.3.x release line that furthers the compatibility with Ruby 3.3 and upgrades prawn-svg.

The most critical fix in this release is to remove use of the base64 library since it will no longer being provided as part of the Ruby language starting with Ruby 3.4. When using Ruby 3.3, users would see a warning if this library is used. The functionality has been replaced with a lower-level method on the String object (String#pack), which the base64 library delegates to anyway. The same issue affected prawn-svg, which required upgrading it to the latest version.

To verify these fixes, Ruby 3.3 was added to the CI workflow during this development cycle.

This release also updates the log message when an item in a horizontal dlist is truncated to include the file and line number of the description block. This information was missing because the source location information was not being passed to the table cell.

Distribution

Changelog

Improvements

  • upgrade prawn-svg to 0.34 to add support for SVG referenced by image tag (SVG in SVG)

Bug Fixes

  • propagate source location to table cell for description in horizontal dlist so it is included in truncation warning message (#2502)
  • eradicate use of the base64 library to fix warning about base64 gem when using Ruby >= 3.3
  • upgrade prawn-svg to 0.34 to fix warning about base64 gem when using Ruby >= 3.3; apply additional patch to fix bug in prawn-svg

Build / Infrastructure

  • bump upper Ruby version to 3.3 in CI workflow

Release meta

Released on: 2024-03-08
Released by: @mojavelinux
Release beer: Soft Terra by The Drowned Lands

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.13

16 Feb 22:09
Compare
Choose a tag to compare

Another week, another round of bug fixes. This is a patch release in the 2.3.x release line that fixes inconsistencies between what the documentation says and how the software behaves.

The key fix in this release is to support the toc start-at value for page numbering and running content when the toc is inserted using the toc macro. This release also fixes the page number of index entries in a prepress book when page numbering starts at or after the toc and the toc is inserted using the toc macro.

We discovered that the matcher for an isolated image macro in the content key of the running content (header or footer) was checking per line instead of across the whole string, which caused the text on other lines to be dropped in some instances. This matcher has been corrected so that all the lines are preserved.

Another case was discovered when the placeholder character for an inline image was triggering a warning about a missing character when using a fallback font.
Since this placeholder is not meant to be rendered, the code has been updated to ensure this character is skipped when analyzing the fonts for fallback font support.

Distribution

Changelog

Bug Fixes

  • don't drop text on line above inline image macro in running content value (#2495)
  • when looking for a value that only contains an image macro, match the whole string instead of per line (#2495)
  • don't warn about missing character in fallback font when inline image is advanced to next page (#2492)
  • support toc start at value for page numbering and running content when toc is added using macro (#2489)
  • fix page number of index entries in prepress book when page numbering starts at toc or after toc and toc is inserted using macro (#2487)

Release meta

Released on: 2024-02-16
Released by: @mojavelinux
Release beer: Gnoel de Abbey by The Lost Abbey

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.12

02 Feb 08:41
Compare
Choose a tag to compare

This is a patch release in the 2.3.x release line that improves the bundled fonts and fixes an issue we thought we had licked, but came back from the dead.

The key fix of this release is to, once and for all, fix the creeping margin on pages in the index when media=prepress. If the index term fell right on a page boundary, the indentation would get reset at the page transition, which would cause the margin to shift to the left by the same amount. The indentation is now preserved so that this doesn't happen.

This release also adds the most commonly used combining characters to the bundled prose fonts, which can be used to support characters written using the decomposed normalized form (NFD) of Unicode. Most notably, this includes smallcaps letters that have a diacritical mark, such as an accent. (Note that support for the smallcaps transformation on lowercase letters containing a diacritical mark (e.g., é) will be deferred until the next major release for compatibility reasons).

Distribution

Changelog

Improvements

  • add combining characters to bundled fonts (#2482)

Bug Fixes

  • ensure indentation is preserved at page transition of index when media=prepress; prevents margin from shifting to the left (#2480)

Release meta

Released on: 2024-02-02
Released by: @mojavelinux
Release beer: Always With Flow by Tripping Animals 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.11

23 Jan 10:25
Compare
Choose a tag to compare

This is a patch release in the 2.3.x release line that fixes a few bugs that have been lingering or discovered since the 2.0.0 release.

The key fix of this release is to define the color space on pages that have running content but no text in the main content area. This fix allows the generated PDF to be accepted by publishing platforms such as KDP and Lulu. This release also upgrades the prawn-svg dependency to 0.33 to add support for the dominant-baseline attribute in SVG (used by bytefield-svg). The smallcaps method has been extracted from the smallcaps_pcdata method in TextTransformer to make it easier to override. The table node being converted is assigned to the @node instance variable on the Prawn::Table instance so it can be accessed from the Prawn::Table#add_header method or other Prawn::Table extensions.

Distribution

Changelog

Enhancements

  • upgrade prawn-svg dependency to 0.33.x (PR #2469)

Improvements

  • extract shared smallcaps method from TextTransform#smallcaps_pcdata to make it easier to override
  • assign node to @node instance variable on table instance to make it easer to access from Prawn::Table extension (#2471)

Bug Fixes

  • ensure color spaces are set on page before adding running content (#2477)

Release meta

Released on: 2024-01-23
Released by: @mojavelinux
Release beer: Heady Topper by Alchemist Beer

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.10

04 Dec 21:51
Compare
Choose a tag to compare

This is a patch release in the 2.3.x release line that fixes a few bugs that have been lingering or discovered since the 2.0.0 release.

The highlight of this release is that an image taller than the page that's the first child of a block that itself starts at the top of the page no longer causes an empty page to be inserted. Instead, the image is resized to fit the current page. If toclevels is increased for a given section, the dot leaders will now appear in the TOC for those levels. For those using the built-in (AFM) fonts in PDF, a visible fallback character will now be used as a placeholder when a glyph is missing. And when analyzing glyphs for fallback font support in a TTF font, inherited styles are taken into account. Finally, tests have been decoupled from PWD to simplify packaging.

Distribution

Changelog

Bug Fixes

  • show dot leaders in TOC entry if toclevels is increased for a given section (#2441)
  • decouple tests from path of PWD (#2444)
  • consider inherited styles when analyzing glyphs for fallback font support (#2463)
  • add fallback character for placeholder character when using AFM font (#2453)
  • don't advance image that's first child of block at top of page if image is taller than page (#2012)

Release meta

Released on: 2023-12-04
Released by: @mojavelinux
Release beer: Westbound Select by Westbound & Down

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.