Skip to content

Releases: Kozea/WeasyPrint

v63.1

10 Dec 15:52
Compare
Choose a tag to compare

Dependencies

  • #2297: Remove upper bounds for dependencies

Bug fixes

  • #2300, #2292: Don’t avoid floats for flex items
  • #2301, #2293: Include floats in calculation of minimum cell height
  • #2303, #2302: Set alpha even when current color channels didn’t change
  • #2306: Don’t try to increase column width when there’s no extra width
  • #2304: Don’t forget skip stack when drawing flex items
  • #2316: Don’t crash with SVG symbols
  • #2320: Fix currentcolor detection when parsing gradient color stops
  • #2322, #2289: Don’t add DLL directories when using Windows executable
  • #2323, #2305: Fix different rendering test

Performance

  • #2319: Fix memory leaks

Documentation

  • #2299: Update install instructions for Alpine
  • #2321: Add example invocation of WeasyPrint on the "Contribute" page

Contributors

  • Guillaume Ayoub
  • Jó Ágila Bitsch
  • Lucie Anglade
  • Alexander Gitter
  • Luke Cousins

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Syslifters
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • Simon Sapin
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Advance Insight
  • Docraptor
  • Method B
  • FieldHub
  • Yanal-Yvez Fargialla
  • Morntag
  • Xavid

v63.0

29 Oct 17:34
Compare
Choose a tag to compare

Read about this release on our blog.

Dependencies

  • Python 3.13 is now supported
  • pydyf 0.11.0+ is now needed
  • tinycss2 1.4.0+ is now needed
  • tinyhtml5 2.0.0+ is now needed, instead of html5lib

Features

  • #2252, #895: Handle page groups, with financial support from Code & Co.
  • #1630, #2286: Support CSS Color Level 4
  • #2192: Add PDF variant for debugging purpose
  • #2208: Support submit inputs in PDF forms
  • #2139: Support mask-border-* properties
  • #1831, #2143: Support radio inputs in PDF forms

Bug fixes

  • #2262: Avoid integer overflows when converting units from/to doubles
  • #2260: Avoid float collision with box establishing formatting context
  • #2240, #2242: Handle svg tags with no size
  • #2231, #1171, #2222, #1208: Fix several problems related to flex-direction: column
  • #2239: Don’t fail when SVG markers are undefined references
  • #2230, #2238: Set explicit flags when loading DLLs on Windows
  • #2228, #1942: Store original and PDF stream images in different cache slots
  • #2234: Apply stylesheet and other basic operations to SVG root tag
  • #2054, #2233: Keep auto margins on flex layout boxes
  • #1883: Don’t crash with empty list marker strings
  • #2216: Fix vertical alignment of out-of-flow elements in tables
  • #996, #2219: Don’t ignore absolutely positioned elements inside flex boxes
  • #2217: Don’t crash with normal column gaps
  • #1817: Don’t assume that lines break after spaces
  • #1868: Don’t break rows with atomic cells
  • #2166: Don’t display bottom border on cells in split rows
  • 61852c4: Capture fontTools logs when subsetting fonts
  • #2190: Don’t use a pattern when drawing backgrounds for no-repeat background images
  • #2185: Check that Harfbuzz version is at least 4.1.0 to subset fonts
  • #2180: Store width for all glyphs when font is not subset
  • #2183: Respect break-inside: avoid for flex items
  • #2055, #2058: Fix right-to-left tables with collapsed borders
  • #2179, #1128: Handle buggy Adobe Photoshop CMYK JPEGs
  • #2175: Don’t compress PDF metadata for PDF/A-1
  • #2174: Fix extra width distribution for auto table layout

Performance

  • #1155: Improve rendering speed for large colspan values
  • #2120, #2178: Use Harfbuzz to subset fonts by default

Documentation

  • #2282, #2284: Simplify Alpine install instructions
  • #2254: Add warning about antivirus false detection
  • #2220: Add extra information to debug logs
  • #2211: Fix link to samples
  • #2195: Update cache argument documentation
  • #2105, #2151: Use MSYS2 instead of GTK+3 for Windows

Contributors

  • Guillaume Ayoub
  • David Huggins-Daines
  • Xavid Pretzer
  • Yann Trividic
  • Kevin Kays
  • Alejandro Avilés
  • Gianluca Teti
  • Gregory Goodson
  • Lucie Anglade
  • Roman Sirokov

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Syslifters
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • Simon Sapin
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Advance Insight
  • Docraptor
  • Method B
  • FieldHub
  • Yanal-Yvez Fargialla
  • Morntag
  • Xavid

v62.3

21 Jun 15:51
Compare
Choose a tag to compare

Bug fixes

  • #2174: Fix extra width distribution for auto table layout
  • #2175: Don’t compress PDF metadata for PDF/A-1
  • 61f8bb3: Set default PDF variant values in options before generating PDF
  • 2c4351e: Avoid PDF artifacts when drawing 0-width borders
  • d9d7f62: Don’t duplicate column when container is split on multiple pages
  • 4617b94: Don’t set default Fontconfig values for unset properties
  • 4c81663: Fix layout when all footnotes are removed from the footnote area
  • #2184: Make items overflowing grid wrap to the next row/column
  • #2187: Don’t append useless tracks when grid elements are positioned

Contributors

  • Guillaume Ayoub

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • Simon Sapin
  • René Fritz
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Docraptor
  • Yanal-Yvez Fargialla
  • Douwe van Loenen
  • Morntag
  • Xavid

v62.2

04 Jun 14:18
Compare
Choose a tag to compare

Features

  • #2142, #2162: Support grid-auto-flow: column, with financial support from Menutech

Bug fixes

  • #2167: Fix space added by CSS gap at the end
  • #2134: Remove absolute placeholders from discarded content
  • #2154: Don’t crash when grid items have auto margins
  • 8cdd66f: Fix CSS nesting for nested selectors with comma
  • 3359db5: Fix and test grid shorthand
  • 82deda4: Fix wrong resume_at for split floats
  • ff2acf1: Ensure that gradient size is positive to please some PDF readers

Contributors

  • Guillaume Ayoub

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • Simon Sapin
  • René Fritz
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Docraptor
  • Yanal-Yvez Fargialla
  • Douwe van Loenen
  • Morntag
  • Xavid

v62.1

06 May 14:50
Compare
Choose a tag to compare

Bug fixes

  • #2144, #2149: Avoid broken fonts when generating multiple documents
  • c10c689: Display at least one grid row on empty pages
  • #2146: Don’t crash when flex container’s parent’s height is auto

Contributors

  • Guillaume Ayoub
  • Claudius Ellsel

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • Simon Sapin
  • René Fritz
  • TrainingSparkle
  • Healthchecks.io
  • Docraptor
  • Yanal-Yvez Fargialla
  • Douwe van Loenen
  • Morntag
  • Xavid

v62.0

30 Apr 13:58
Compare
Choose a tag to compare

Read about this release on our blog.

Dependencies

  • Python 3.9+ is now needed, Python 3.7 and 3.8 are not supported anymore
  • pydyf 0.10.0+ is now needed
  • tinycss2 1.3.0+ is now needed

Features

  • #543, #2121: Support CSS Grid layout
  • #2124, #2125: Support border-image-* properties
  • #2084, #2077: Support CSS nesting
  • #2101: Support HTML maxlength attribute for form fields
  • #2095: Apply overflow to replaced boxes
  • 245e4f5: Add support of PDF/A-?u

Bug fixes

  • #2136: Don’t clip aligned text in SVG
  • #2135: Allow column-direction flex containers to use percentage-based heights
  • #2128: Don’t crash when a FontConfig object is destroyed early
  • #2079: Fix executable file for some Windows versions
  • #2131: Fix alpha for images before/after transparent text
  • #2111: Handle auto and none values for CSS quotes property
  • #2103: Don’t crash with overconstrained columns
  • #2100: Fix rounding error when detecting overflows
  • #2093, #2097, #2094: Mark use of md5() and sha1() as not for security
  • #1956, #2087: Use CSS table module level 3 to compute widths
  • #2086: Fix selects with empty values displaying None
  • #1112, #2082, #2085: Fix computation for outer min-content width for table cells
  • 016bd81: Fix many different bugs with SVG markers

Performance

  • #2130: Cache font key instead of whole font content

Documentation

  • #2108: Update documentation about CSS leader() function

Contributors

  • Guillaume Ayoub
  • Lucie Anglade
  • Xavid Pretzer
  • kygoh
  • Germain Gueutier
  • Vagner José Nicolodi

Backers and sponsors:

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • Simon Sapin
  • René Fritz
  • TrainingSparkle
  • Healthchecks.io
  • Docraptor
  • Yanal-Yvez Fargialla
  • Douwe van Loenen
  • Morntag
  • Xavid

v61.2

08 Mar 10:36
Compare
Choose a tag to compare

This is a security update.

We strongly recommend to upgrade WeasyPrint to the latest version if you use WeasyPrint 61.0 or 61.1. Older versions are not impacted.

Security

  • Always use URL fetcher for attachments

Contributors

  • Guillaume Ayoub
  • Ilia Novoselov

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • René Fritz
  • Simon Sapin
  • Arcanite
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Docraptor
  • Yanal-Yvez Fargialla
  • Morntag
  • NBCO

v61.1

26 Feb 12:56
Compare
Choose a tag to compare

Released on 2024-02-26.

Bug fixes

  • #2075: Use default value when variable is not defined
  • #2070: Don’t crash when rendering SVGs with non-text a children
  • Don’t crash when SVG file can’t be rendered

Documentation

  • #2067: Suggest "dnf" instead of "yum" to install Fedora packages
  • Improve documentation for Windows
  • Fix required version of TinyCSS2

Contributors

  • Guillaume Ayoub
  • Felix Schwarz
  • Lucie Anglade

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • René Fritz
  • Simon Sapin
  • Arcanite
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Docraptor
  • Yanal-Yvez Fargialla
  • Morntag
  • NBCO

v61.0

12 Feb 10:05
Compare
Choose a tag to compare

Read about this release on our blog.

Python API

  • DocumentMetadata.attachments is now a list of Attachment objects, not
    a list of (url, description) tuples.

New features

  • #1219, #2017: Support var() in shorthand and multiple-value functions
  • #1986: Support percentages for opacity
  • #2050: Build executable file for Windows
  • #2000: Support select fields
  • #1993: Handle background-attachment: fixed to cover the whole page
  • #2023, #2022: Allow text-based file objects for HTML and CSS classes
  • #2014: Remove warnings for PDF/A and PDF/UA compatibility

Bug fixes

  • #2052, #1869: Handle attachments for PDF/A documents
  • #2013, #2051: Apply margin to running tables
  • #1278, #1884: Draw collapsed borders of running tables
  • #2029: Fix page counter in non-root absolute boxes
  • #2043: Fix text-anchor on SVG tspan elements
  • #1968, #2039: Use cell's border-height to calculate table row height
  • #2030: Ensure that bounding box is set to invisible text tags
  • #2040, #2041: Don’t crash on malformed URLs
  • #2026: Don’t break pages when fixed-height elements don’t overflow page
  • #2038: Don’t mix original streams when drawing transparent text
  • #2016: Avoid duplication when breaking out-of-flow boxes
  • #2012: Don’t crash when CSS properties have no value
  • #2010, #1287: Fix many corner cases with CSS variables
  • #1996: Don’t crash when drawing groove/ridge collapsed borders
  • #1982: Fix SVG markers size, position and drawing

Contributors

  • Guillaume Ayoub
  • kygoh
  • Lucie Anglade
  • Timo Ramsauer
  • Alexander Gitter
  • Michael Lisitsa
  • Vagner José Nicolodi
  • Manolis Stamatogiannakis
  • Pascal de Bruijn
  • Viktor Shevtsov
  • Eduardo Gonzalez
  • Kesara Rathnayake

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • René Fritz
  • Simon Sapin
  • Arcanite
  • TrainingSparkle
  • Healthchecks.io
  • Hammerbacher
  • Docraptor
  • Yanal-Yvez Fargialla
  • Morntag
  • NBCO

v60.2

11 Dec 12:13
Compare
Choose a tag to compare

Bug fixes

  • #1982: Fix SVG markers size, position and drawing
  • 23cfc77: Draw background behind absolutely positioned replaced boxes
  • fe2f0c6: Don’t crash with bitmap fonts with no "glyf" table
  • 1460522: Improve SVG text-anchor attribute

Contributors

  • Guillaume Ayoub

Backers and sponsors

  • Spacinov
  • Kobalt
  • Grip Angebotssoftware
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • NCC Group
  • René Fritz
  • Nicola Auchmuty
  • Syslifters
  • Hammerbacher
  • TrainingSparkle
  • Daniel Kucharski
  • Healthchecks.io
  • Yanal-Yvez Fargialla
  • WakaTime
  • Paheko
  • Synapsium
  • DocRaptor