Skip to content

v59.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@liZe liZe released this 14 Apr 14:14

This version is experimental, don't use it in production. If you find bugs, please report them!

Read about this release on our blog.

Command-line API

  • The --optimize-size option and its short equivalent -O have been deprecated. To activate or deactivate different size optimizations, you can now use:

    • --uncompressed-pdf,
    • --optimize-images,
    • --full-fonts,
    • --hinting,
    • --dpi <resolution>, and
    • --jpeg-quality <quality>.
  • A new --cache-folder <folder> option has been added to store temporary data in the given folder on the disk instead of keeping them in memory.

Python API

  • Global rendering options are now given in **options instead of dedicated parameters, with slightly different names. It means that the signature of the HTML.render(), HTML.write_pdf() and Document.write_pdf() has changed. Here are the steps to port your Python code to v59.0:

    1. Use named parameters for these functions, not positioned parameters.

    2. Rename some the parameters:

      • image_cache becomes cache (see below),
      • identifier becomes pdf_identifier,
      • variant becomes pdf_variant,
      • version becomes pdf_version,
      • forms becomes pdf_forms,
  • The optimize_size parameter of HTML.render(), HTML.write_pdf() and Document() has been removed and will be ignored. You can now use the uncompressed_pdf, full_fonts, hinting, dpi and jpeg_quality parameters that are included in **options.

  • The cache parameter can be included in **options to replace image_cache. If it is a dictionary, this dictionary will be used to store temporary data in memory, and can be even shared between multiple documents. If it’s a folder Path or string, WeasyPrint stores temporary data in the given temporary folder on disk instead of keeping them in memory.

New features

  • #1853, #1854: Reduce PDF size, with financial support from Code & Co.
  • #1824, #1829: Reduce memory use for images
  • #1858: Add an option to keep hinting information in embedded fonts

Bug fixes

  • #1855: Fix position of emojis in justified text
  • #1852: Don’t crash when line can be split before trailing spaces
  • #1843: Fix syntax of dates in metadata
  • #1827, #1832: Fix word-spacing problems with nested tags

Documentation

  • #1841: Add a paragraph about unsupported calc() function

Contributors

  • Guillaume Ayoub
  • Lucie Anglade
  • Alex Ch
  • whi_ne
  • Jonas Castro

Backers and sponsors

  • Castedo Ellerman
  • Kobalt
  • Spacinov
  • Grip Angebotssoftware
  • Crisp BV
  • Manuel Barkhau
  • SimonSoft
  • Menutech
  • KontextWork
  • NCC Group
  • René Fritz
  • Moritz Mahringer
  • Yanal-Yvez Fargialla
  • Piotr Horzycki
  • Healthchecks.io
  • TrainingSparkle
  • Hammerbacher
  • Synapsium