This file gets updated before a stable release. There is a detailed changelog in the manual.
- XPath Support for arrays and maps, fn:serialize()
- New documentation
- PDF/UA (accessibility) enhancements
- HTML/CSS enhancements (colspan/rowspan in tables,..)
- New match attribute in Record (similar to XSLT template matching)
- Tables: alternating row colors restart on each page.
- Tables: colspan="*"
- Remove Debian package generation
- Memory usage reduction
- Variable fonts
Released 2026-03-04
- Massive speed improvements!
- More unit testing and refactoring
- More HTML/CSS support
- More XPath functions
- Section element to structure layout
- New VScode extension (separate repository)
- Fix margin protrusion
- Letterspacing
The planned rust library is not part of this release.
Released 2025-10-14
Major changes from version 5.1:
- New XML parser The XML parser has been completely reimplemented. It is now more robust, includes automated tests, and records source file information (.__file) for better XInclude handling and error diagnostics.
- Improved XPath functions Added several new XPath functions, including translate() and distinct-values(). The doc() function now returns the document node instead of the root element for more standard-compliant behavior. Numeric and boolean functions (format-number(), round-half-to-even()) and general boolean logic have been improved for more consistent results.
- Better international and typographic support Added initial Japanese typesetting support and improved multi-character fallback handling.
- Enhanced HTML/CSS rendering
- Many refinements to the internal HTML/CSS engine:
- Support for pseudo-class selectors and list-style-position
- Better handling of borders, padding, and spacing
- font-family now accepts multiple fallbacks
- Improved custom @font-face and font-size calculations (rem, px)
- PDF metadata improvements Dates in PDF metadata now use ISO format, and additional metadata fields (like “Producer” and color profile defaults) are included automatically.
- Reliability and diagnostics
- Improved logging and clearer error messages
- Multi-run behavior continues even after previous errors, when needed
- Safer handling of file attachments and image conversions
- More detailed debug output for troubleshooting
- Stability and maintainability Numerous internal cleanups, documentation improvements, and test enhancements make this release more stable and easier to maintain.
Released 2025-03-11
This software is now completely error free ;-)
Now it is time to make a good release, and then add some more features.
Major changes from version 4:
- New default XML and XPath parser
- New default Text shaper (Harfbuzz) with left-to-right, right-to-left and mixed typesetting
- Accessibility support (PDF/UA)
- speedata Pro package
- And much more, see below
Released 2025-01-15
The last version before 5
- Fully accessible documents
- Make new XPath parser robust
- ZUGFeRD attachment enhancements
- Ability to flip (mirror) objects
- Strict namespace handling (optional)
- Spot color saturation
Released 2024-04-19
- New defaults for the XPath engine and the font loader (preparation for the version 5)
- New output / logging backend.
- New dpi attribute with PDFOption for automatic image resizing.
- Markdown.
Released 2024-01-07
- Complete overhaul of the MetaPost integration.
- New XPath engine (optional).
Released 2023-07-03
- New syntax for filename, page number and PDF box in image functions (#502).
- Outline fonts.
- Tables: new Column spec
minwidthand new keywords for width (minandmax). - New XPath function
matches()(#453). - Pro package.
- Bug fixes
Released 2022-09-30
- PDFOptions displaymode
- Delay execution on SetVariable.
- Set border color for hyperlinks.
- Add sha256, sha512 functions.
- New command Clip.
- Remove LuaJIT/FFI, add new lua glue library.
- Mostly bug fixes
runtime.execute()in Lua filter/preprocessing for executing external programsxml.decode_xml()in Lua filter/preprocessing for reading XML files
Version 4.10 will be the last stable version that runs with LuaJIT/FFI.
Released 2022-05-02
- Bug fixes
- Allow
color="-"in<Tablerule> <VSpace>with attributesheightandminheight
Released 2021-11-10
- Lots of bug fixes, as always.
- REST API: set number of runs.
- REST API: enhanced server verbosity.
- REST API: new route for direct publishing (send data and get PDF in one request).
- NewPage deprecation (use ClearPage instead).
- macOS 12.0 compatibility.
- Include color profile in distribution.
- Easier calculation with lengths.
- Use new Go based XML parser.
Released 2021-05-11
- Transparency (available for text and images).
- MetaPost integration.
- Windows 64 binaries.
- Document separation (frontmatter, mainmatter).
- Logical and visible page numbering.
- Better hyperlinks within a document (pages, page numbers, leaders, images and boxes).
- Lots of bug fixes (mostly related to table head/foots and HTML support).
Released 2021-01-07
- Better OpenType (
.otfand.ttf) font support. Including font features, colored fonts and perhaps variable fonts. - Basic print CSS support. This includes a completely new HTML parser and renderer.
- This branch now has a new paragraph builder, a new font shaper (harfbuzz) and an enhanced HTML mode. The HTML mode is currently limited to Textblock/Paragraph, but will be enhanced in the next versions.
- New language settings (
Other) to let the font shape guess the language and the script. - Support for non-western scripts such as CJK and Arabic. This includes right to left (rtl) typesetting.
- Support for mixing left to right and right to left typesetting (bidi).
Released 2020-09-07
Most visible changes from version 3.8
- New XPath functions
firstmark()andlastmark()to get the first and the last marker on a page. Useful for headers in dictionaries. - New internal variable
$_lastpagewhich has the number of the last page from the previous run. - Improved server mode
- New HTML mode
- New English manual
- Better support for Adobe Acrobat (remove colored links)
- External image conversion tools (for example Inkscape)
The main reason to release this as version 4 is that this version includes some changes that might break the backward compatibility promise. The paragraph building mode is completely rewritten in version 4 and could lead to different results in line breaking.