Skip to content

Releases: plutoprint/plutobook

v0.16.0

19 Mar 02:14

Choose a tag to compare

  • Add full CSS :lang() locale support
  • Add language-specific default quotes
  • Fix calc() not preserving unitless results
  • Fix font fallback for grapheme clusters
  • Fix emoji variation selector detection
  • Fallback to monochrome when color glyphs are unavailable
  • Force layout during pagination to fix mismatched layouts
  • Include query component in base URL resolution
  • Enforce strict parsing for CSS matrix() and rect()
  • Reduce memory usage by avoiding redundant CSS property storage

Backers and sponsors:

v0.15.0

17 Feb 13:56

Choose a tag to compare

  • Add support for emoji variation selectors
  • Fast skip painting off-screen table content
  • Fix synthetic oblique slope range check
  • Fix table cell border attribute mapping
  • Fix empty-cells painting in separate border model

Backers and sponsors:

v0.14.0

09 Feb 11:57

Choose a tag to compare

  • Add selector filter for fast CSS selector rejection
  • Add lazy loading support for CSS @font-face fonts
  • Add support for padding in page boxes
  • Fix double slanting of remote CSS @font-face fonts
  • Fix fallback handling in SVG paint application
  • Fix rounding errors in fragment offsets, line, and flex layout
  • Apply page scale to page margin boxes
  • Reorder header and footer painting to fix collapsed border rendering
  • Revert change ensuring empty list items with outside markers generate boxes

Backers and sponsors:

v0.13.0

14 Jan 20:35

Choose a tag to compare

  • Support repeating table headers and footers
  • Support column group background painting and border resolution
  • Support absolute and fixed positioning inside page margin boxes
  • Fix table row and cell height sizing
  • Fix table column and row span width and padding calculations
  • Fix collapsed table border resolution order for adjacent columns
  • Prevent page breaks inside table rows
  • Remove table padding for collapsed border
  • Relicense under the Mozilla Public License 2.0 (MPL-2.0)

Backers and sponsors:

v0.12.0

23 Dec 15:29

Choose a tag to compare

  • Add support for the width style attribute on td, th, col, and colgroup elements
  • Support outline painting for table rows and sections
  • Fix unnecessary pseudo-element box generation when content is none or normal

Backers and sponsors:

v0.11.3

11 Dec 16:16

Choose a tag to compare

  • Fix GCC 12 compilation error
  • Refactor SSL verification settings in curl
  • Remove incorrect isElementNode assertion in BoxView::build()

Backers and sponsors:

v0.11.2

05 Dec 07:24

Choose a tag to compare

  • Fix :has() matching by preventing premature return so all sub-selectors are evaluated
  • Handle UTF-8 filenames on Windows when opening output files
  • Skip zero-width spaces during text rendering to prevent invisible characters in PDF output

Backers and sponsors:

v0.11.1

23 Nov 21:55

Choose a tag to compare

  • Fix URL resolution for Windows absolute paths by mapping them to proper file:// URLs
  • Add cairo-fix-font-options-leaks.patch to address memory leaks in Cairo

Backers and sponsors:

v0.11.0

17 Nov 10:14

Choose a tag to compare

  • Add support for <base> tag to resolve relative URLs
  • Add support for font-variant-emoji
  • Add support for min-content, max-content, and fit-content in flex shorthand
  • Add support for :local-link selector
  • Add support for :has selector
  • Add support for :where selector
  • Add line-height: normal to ::marker to prevent inherited line-height issues
  • Fix :nth-of-type and :nth-last-of-type sibling counting
  • Fix :nth() page selector matching
  • Fix CSS :lang() selector matching
  • Fix CSS selector specificity calculation to match W3C specification
  • Fix Windows Fontconfig failing to load its default config files
  • Refactor align and hidden presentational attributes
  • Reset form control font-size to match most browsers
  • Fully implement format() support in @font-face to skip unsupported font sources
  • Add some subset of ready-made counter styles (binary, octal, lower-hexadecimal, upper-hexadecimal)
  • Add plutobook_set_fontconfig_path() to set the Fontconfig configuration directory
  • Enable FreeType error strings for clearer diagnostic messages
  • Fix default border value for table elements
  • Account for relative positioning offsets when computing static distances
  • Handle RTL direction when computing horizontal relative offsets

Backers and sponsors:

v0.10.0

03 Oct 16:08

Choose a tag to compare

  • Add support for running headers and footers
  • Add support for CSS min(), max() and clamp() functions
  • Add support for unicode-range in @font-face for selective font coverage
  • Add support for type and fallback in attr() function
  • Prioritize color emoji fonts during font selection
  • Use serif as the last-resort fallback font
  • Handle UTF-8 BOM

Backers and sponsors: