Skip to content

Releases: asciidoctor/asciidoctor-pdf

v2.1.2

17 Jun 22:23

Choose a tag to compare

This is a patch release in the 2.1.x release line. It fixes a few minor bugs. If the layout is changed from portrait to landscape or vice-versa in the main document, that same change is applied to the scratch document. This ensures that the extent of the content block is computed correctly. If an extended converter overrides the get_entries_for_toc method, the converter looks at that result instead of Document#sections? to determine if the TOC should be inserted. And the converter now uses the correct logic to insert an empty page before the TOC with automatic placement in a prepress book.

Numerous updates and enhancements were made to the docs during this release cycle as well.

The 2.2.x release line will be created following this patch release.

Distribution

Changelog

Bug Fixes

  • apply page layout from main document to new page in scratch document (#2248)
  • use correct logic to insert page before TOC with automatic placement when doctype=book and media=prepress
  • use get_entries_for_toc to determine if the TOC is non-empty rather than Document#sections?

Release meta

Released on: 2022-06-17
Released by: @mojavelinux
Release beer: Strata-Ford IPA by Athletic Brewing Co.

Logs: resolved issues | full 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.1.1

15 Jun 00:29

Choose a tag to compare

This is the first patch release in the 2.1.x release line. It's once again focused on the columnar layout, fixing one edge case and providing additional information for extensions. This release also addresses a crash when using CodeRay as the syntax highlighter and a code block uses a source language that CodeRay does not recognize.

An SVG that's shorter than the height of the current column will be placed in the correct column. The Extent for a decorated block provides access to the zero-based column where the block starts (from.column) and where the cursor was when the block was encountered (current.column). This information is used by the extended converter in the docs that demonstrates how to imprint the source language label on a code block.

The converter now draws a border around a phrase with a custom role using the base border color if the role defines a border width without a border color.

Distribution

Changelog

Improvements

  • store zero-based column on Extent for extensions to use to position cursor at start of extent

Bug Fixes

  • place block image in SVG format in correct column when align is left and page columns are enabled (#2241)
  • accurately trap LoadError from CodeRay if source language is not recognized on code block
  • only draw rounded rectangle around phrase if border-radius is > 0
  • use base-border-color value if border width is set on role for inline phrase but not border color

Release meta

Released on: 2022-06-14
Released by: @mojavelinux
Release beer: Field Guide by Outer Range Brewing Co.

Logs: resolved issues | full 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.1.0

11 Jun 00:08

Choose a tag to compare

We did it! We got beyond the Asciidoctor PDF 2.0 release. This is the first minor release in the Asciidoctor PDF 2 release line. This release introduces the long-awaited support for multiple columns on the document body, which is activated using the page-columns theme key. This version also brings support for scaling images relative to the intrinsic width using either the scale attribute or the pdfwidth attribute expressed using a value with the iw unit. Support for text formatting on the index term is honored when the term is displayed in the index. You can avoid a page break between the part and its first chapter by setting the heading-part-break-after theme key to avoid. Finally, a bibliography entry now includes a backlink to the first reference to it in the body of the document.

During the development of this release, numerous bugs were founds and fixed, which have all been backported to the 2.0.x branch and included in the 2.0.8 release.

Don't forget that there are loads of examples of how to extend the converter to customize it to suit your specific publishing needs. See https://docs.asciidoctor.org/pdf-converter/latest/extend/use-cases/

Distribution

Changelog

Enhancements

  • arrange body of article or manpage doctype into multiple columns if page-columns key is set in theme (#327)
  • allow column gap to be specified using page-column-gap key (#327)
  • introduce convert_index_categories method to handle rendering of categories for index inside column box (#327)
  • rename convert_index_list method to convert_index_term to make its purpose more clear (#327)
  • add save_theme helper to work with a copy of the theme within a scope (#2196)
  • add support for scale attribute or iw unit on pdfwidth attribute on image macros (#1933)
  • add backlink from bibref on bibliography entry to first reference to that entry in the document (#1737)
  • preserve text formatting on index term in index section (#897)
  • don't insert page break between part and first chapter if heading-part-break-after key in theme is avoid (#1795)

Release meta

Released on: 2022-06-10
Released by: @mojavelinux
Release beer: Atomic Torpedo by Sierra Nevada Brewing Co.

Logs: resolved issues | full 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.0.8

08 Jun 23:11

Choose a tag to compare

This is a patch release in the 2.0.x release line focused on fixing various rendering bugs when the content in the document body is arranged into columns. These issues were discovered while working on multi-column support in the main branch. Although support for multiple columns is not included in this release line, users who are using an extended converter to add multi-column support will benefit from these fixes. The main fix is that the converter correctly computes the value of end cursor of an extent when the column box starts below top of page. The code for how columns are handled in the scratch document has also been refactored so that the logic is encapsulated in the ColumnBox class.

This is also the first release where the release notes were generated automatically (except for this summary) as part of the release process.

Distribution

Changelog

Improvements

  • encapsulate logic to adjust column box inside float and dry run
  • automatically set height on column box if not specified; update value automatically when reflowing margins

Bug Fixes

  • correctly compute value of to cursor on extent when column box starts below top of page (#2230)
  • fix crash in ColumnBox#move_past_bottom when :reflow_margins option is not set
  • fix x position of SVG when advanced to next column of column box
  • at_page_top? should consider top of column box to be top of page
  • prevent SVG image taller than column from being advanced to next column
  • don't push section that follows index section in article to new page if last page of index does not extend to bottom of page

Release meta

Released on: 2022-06-08
Released by: @mojavelinux
Release beer: Houblon Deluxe by Pure Project Brewing

Logs: resolved issues | full 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.0.7

03 Jun 09:07

Choose a tag to compare

This patch release focuses on fixes related to image processing and rendering. First, it fixes a crash if an inline image without an explicit width is used in the doctitle or a section title with an automatic ID. The converter now delegates to prawn-gmagick, if available, to read an image referenced in an SVG, thus adding support for more formats and improving performance. The path of that image can now refer to any location within the Asciidoctor jail (i.e., base dir) rather than being restricted to the docdir. When prawn-gmagick is not available, and the converter encounters a corrupt or incomplete PNG or JPG, it will not recommend using prawn-gmagick (as the problem is with the image data, not the format). The prawn-gmagick integration is now verified to work on macOS.

This release was the first test of automating the release notes. The script didn't work entirely, but we're a step closer.

Distribution

Changelog

Improvements

  • don't recommend prawn-gmagick if PNG or JPG is corrupt or incomplete
  • add helper method to determine when to recommend the prawn-gmagick gem

Bug Fixes

  • fix crash when doctitle or section title with automatic ID contains inline image without explicit width (#2228)
  • use prawn-gmagick, if available, to read raster image referenced by SVG (#2223)
  • allow image path in SVG to refer to any location within Asciidoctor jail (no restriction if safe mode is unsafe) (#1941)

Release meta

Released on: 2022-06-03
Released by: @mojavelinux
Release beer: Living the Ska Dream by Living the Dream Brewing

Logs: resolved issues | full 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.0.6

30 May 07:19

Choose a tag to compare

This is a patch release that further stabilizes the 2.0.x release line. This release fixes a regression/inconsistency with the layout of collapsible blocks, patches prawn-gmagick to fix a long-standing issue where the bit depth is sometimes read incorrectly, and correctly handles an SVG with a width specified using px units. It also ensures that the converter does not crash if a custom role for an inline phrase defines a border width without a border color, ignoring the border in this case.

Distribution

Changelog

Bug Fixes

  • indent content of collapsible block and apply bottom margin to match style of HTML output (#2219)
  • patch prawn-gmagick to reread bit depth of a PNG image if it extracts the wrong value (#2216)
  • interpret width of SVG correctly when width is defined in file using px units (#2215)
  • don't crash if inline role defines border width but not border color

Release meta

Released on: 2022-05-30
Released by: @mojavelinux
Release beer: Angel of Darkness by Wild Blue Yonder Brewing Co.

Logs: resolved issues | full diff

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.

v2.0.5

26 May 22:01

Choose a tag to compare

This patch release is a continuation of 2.0.4 to fix a long-standing issue in the calculation of the TOC extent (the page range) when the sectids attribute is unset. All TOC entries are now included when computing the TOC extent so it matches the TOC extent when inked in the primary document. This patch release fixes another long-standing issue in the calculation of the width of a marked phrase (a phrase with a background color and/or border) when text justification is on.

Distribution

Changelog

Bug Fixes

  • do not filter TOC entries without an ID when computing the TOC extent (#2210)
  • fix width of multi-word phrase with background and border offset (#2059)

Release meta

Released on: 2022-05-26
Released by: @mojavelinux
Release beer: 7-Speed IPA by Living the Dream

Logs: resolved issues | full diff

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.

v2.0.4

26 May 00:13

Choose a tag to compare

This is a very minor patch release to fix a regression in the calculation of the TOC extent (the page span of the TOC) when the sectids attribute is toggled in the document. We expect to put out another patch release shortly to fix the issue more comprehensively.

Distribution

Changelog

Bug Fixes

  • fix calculation of TOC extent when TOC entry has children but no ID (#2208)

Release meta

Released on: 2022-05-26
Released by: @mojavelinux
Release beer: Ghost in the Machine by Parish Brewing Co.

Logs: resolved issues | full diff

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.

v2.0.3

25 May 09:12

Choose a tag to compare

Leveraging our new automated release process, we're putting out patch releases as fast and furious as the fixes for bugs we discover. This is a patch release that only fixes bugs and does not introduce any new functionality.

The fixes include adjusting the TrimBox on pages so the optimizer can successfully produce PDF/X compatible documents using Ghostscript, setting the height of an image resized to fit the height of a page accurately so it does not cause a page to be skipped, and truncating the title page contents to fit on a single page, logging a warning if this occurs. The one minor improvement is that an extended converter can access the optimize quality and compliance settings specified by the user through the @optimize instance variable.

Distribution

Changelog

Improvements

  • compute the optimize settings in init_pdf and store as Hash instead of after writing the PDF file

Bug Fixes

  • adjust TrimBox to fit inside of BleedBox when using optimizer and compliance is PDF/X (#2203)
  • set height of resized image to available height to avoid float precision error when scaling down image to fit page (#2205)
  • prevent content on title page from overrunning the bounds of a single page and warn; restriction applies to ink_title_page

Release meta

Released on: 2022-05-25
Released by: @mojavelinux
Release beer: Ghost in the Machine by Parish Brewing Co.

Logs: resolved issues | full diff

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.

v2.0.2

23 May 00:32

Choose a tag to compare

In keeping with semantic versioning, this is a patch release that only fixes bugs and does not introduce any new functionality. We're continuing to work on bug fixes that didn't make it into 2.0.0. This release fixes two issues that pertain to table layouts. The first is that the column width calculation has been fixed in certain cases when the table contains colspans. The second is that the table will be advanced to the next page if the first row does not fit in the remaining space on the page when it contains a rowspan.

Distribution

Changelog

Bug Fixes

  • use specified column widths to avoid bugs in column width calculation when using colspans (#1368)
  • advance table to next page if rowspan in first row does not fit in space remaining on current page (#403)

Release meta

Released on: 2022-05-22
Released by: @mojavelinux
Release beer: The Citra Bomb One by HopLark

Logs: resolved issues | full diff

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.