Releases: asciidoctor/asciidoctor-pdf
v2.1.2
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_tocto determine if the TOC is non-empty rather thanDocument#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
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-radiusis > 0 - use
base-border-colorvalue 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
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-columnskey is set in theme (#327) - allow column gap to be specified using
page-column-gapkey (#327) - introduce
convert_index_categoriesmethod to handle rendering of categories for index inside column box (#327) - rename
convert_index_listmethod toconvert_index_termto make its purpose more clear (#327) - add
save_themehelper to work with a copy of the theme within a scope (#2196) - add support for
scaleattribute oriwunit onpdfwidthattribute 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-afterkey in theme isavoid(#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
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_bottomwhen:reflow_marginsoption 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
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
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
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
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
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
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.