Skip to content

Releases: QuestPDF/QuestPDF

2025.4.0

07 Apr 21:57
Compare
Choose a tag to compare
  • Introduced a new Z-Index feature that allows you to alter the rendering order of content, ensuring elements are displayed in the correct sequence regardless of their definition order,
  • Added automated caching mechanism for Shared Image API to improve performance of static assets,
  • Fixed text measuring issues where Skia doesn't properly respect maxWidth when planning layouts, particularly with small maxWidth values,
  • Fixed rendering artifacts occurring at container edges when text spans multiple pages,
  • Optimized rendering performance for lengthy text elements,
  • Enhanced the EnsureSpace and PreventPageBreak elements to provide more consistent page layout management,
  • Improved XPS generation to throw exceptions when encountering non-Windows operating systems,
  • Added argument validation for Fluent API to prevent unpredictable behavior,
  • Redesigned Column implementation for improved stability and layout consistency,
  • Fixed incorrect URL in obsolete message for Skia Canvas API (contributed by user-named-void).

2025.1.7

21 Mar 17:19
Compare
Choose a tag to compare
  • Enhanced Layout Issue Debugging Algorithm,
  • Fixed a memory leak related to rendering text elements with page numbers,
  • Added finalizer warnings to various classes to help prevent memory leaks in the future,
  • Optimized memory management for native objects across multiple areas,
  • Adjusted the QPDF implementation to reliably handle non-ASCII content using a UTF-8 marshaler,
  • Improved cross-platform compatibility by including required dependencies for macOS,
  • Fixed: the Line element was rendered in an incorrect position.

2025.1.6

13 Mar 22:13
Compare
Choose a tag to compare
  • Likely fixed a memory leak related to layout calculation caching by adjusting how Skia objects are used,
  • Optimized memory usage by disposing native objects as early as possible in many rare scenarios, such as when an exception is thrown during generation,
  • Improved caching algorithm accuracy,
  • Updated skia native dependency to version 134,
  • Updated qpdf native dependency to version 11.10.1,
  • Updated OpenSSL native dependency to version 3.4.1.

2025.1.5

03 Mar 23:48
Compare
Choose a tag to compare
  • Fixed: EnsureSpace did not render its content in some cases.

2025.1.4

28 Feb 13:48
Compare
Choose a tag to compare
  • Added support for creating empty containers that can be injected into the document, significantly enhancing component extensibility.
  • Added new element: PreventPageBreak.
  • Updated in-code links to documentation to reflect recent changes.
  • Fixed: AspectRatio element rarely positioned its content incorrectly.
  • Fixed: The Row element incorrectly calculated the size of AutoItem when it contained text representing page numbers
  • Fixed: Paragraph spacing was not applied when a span contained only a newline.

2025.1.3

20 Feb 13:53
Compare
Choose a tag to compare
  • Fixed a rare layout rendering bug in the Table element.
  • Improved memory management for Shared Image API by adjusting GC Memory Pressure.
  • Fixed a bug in the DocumentOperation.AddAttachment method that incorrectly detected the file's MIME type when it was not explicitly provided.
  • Added a new Placeholders.WebpageUrl() method.

2025.1.2

08 Feb 12:28
Compare
Choose a tag to compare
  • Adjusted the behavior of Row.AutoItem to preserve its size when a Row element spans multiple pages.
  • Improved Linux compatibility by including the necessary native dependencies (OpenSSL and libjpeg-turbo).

2025.1.1

03 Feb 19:06
Compare
Choose a tag to compare
  • Fixed rarely broken text alignment caused by too aggressive cache optimization.

2025.1.0

02 Feb 18:10
Compare
Choose a tag to compare
  • Implemented a Lazy element that delays content creation to reduce memory usage and enhance garbage collection efficiency in large documents.
  • Optimization: releasing native objects as early as possible to reduce peak memory usage,
  • Various performance and memory optimizations,
  • Increased maximum level of parallelism from 2 to 4.

2025.1.0-rc0

24 Jan 15:36
Compare
Choose a tag to compare
2025.1.0-rc0 Pre-release
Pre-release
  • Optimization: releasing native objects as early as possible to reduce peak memory usage,
  • Various performance and memory optimizations,
  • Increased maximum level of parallelism from 2 to 4.