Skip to content

Releases: QuestPDF/QuestPDF

2024.3.10

25 May 13:24
Compare
Choose a tag to compare
  • Updated Skia to M126 release,
  • Enhancement: SVG content supports embedded PNG/JPEG images,
  • Enhancement: SVG content supports loading external images from application local directory.

2024.3.9

23 May 20:24
Compare
Choose a tag to compare
  • Fixed: the thickness of text decorations was significantly higher than defined by the font settings.

2024.3.7

20 May 14:24
Compare
Choose a tag to compare
  • Introduced an explicit CallingConvention.Cdecl to address and fix the issue of stack imbalance on Windows platforms.

2024.3.6

14 May 21:05
61f5310
Compare
Choose a tag to compare
  • Introduced support for the win-x86 platform.
  • Improved SVG image support for less common unit types.
  • Enhanced automated testing environment.

2024.3.5

12 May 06:32
Compare
Choose a tag to compare
  • Enhancement: text uses half-leading by default.
  • Fixed: default text decoration color should match font color.
  • Fixed: the Column element may not render successfully when it has non-zero spacing, contains a child with zero height, and is repeated.

2024.3.4

06 May 07:33
Compare
Choose a tag to compare
  • Improved font rendering by setting half-leading when line-height is overridden.
  • Enhanced exception messages for unsupported x86 platforms.

2024.3.3

02 May 14:01
Compare
Choose a tag to compare
  • Improved the default scaling behavior of Image and SvgImage elements when they are direct descendants of the Constrained element (Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight).
  • Enhanced handling of texts containing the carriage return character '\r' within the custom page format setting.
  • Fixed: enhanced the handling of the TextStyle.LineHeight modifier for better consistency with industry-standard software, as well as adjusted the default value.
  • Fixed: when the UseEnvironmentFonts setting is enabled, the Lato font was not being properly registered. This issue could lead to runtime exceptions in specific minimal environments.
  • Fixed: Addressed a potential null reference exception in the SvgImage object’s finalizer that could lead to application crashes when handling invalid SVG content.

2024.3.2

25 Apr 19:34
Compare
Choose a tag to compare
  • Introduced support for the linux-musl-x64 platform.
  • Adjusted how the Lato font is embedded in the NuGet package to prevent issues with the files not being provided on the platform-specific runtimes.
  • Improved compatibility with texts that contain the carriage return character '\r'.
  • Enhanced exception messages when the FontManager.RegisterFont method fails due to an invalid font file.
  • Enhanced the Canvas element deprecation message by adding a link to the documentation.
  • Fixed: the SVG image is not always scaled properly, especially when uses relative units internally (percentage, cm, "mm", etc.).
  • Fixed a sporadic AccessViolationException that occurred when UseEnvironmentFonts was set to false and documents were generated in parallel.
  • Fixed an issue where dynamic SVG images were not utilizing the available space correctly. This resulted in images with a zero size.

2024.3.1

22 Apr 08:08
Compare
Choose a tag to compare
  • Enhanced discoverability of text alignment options (AlignLeft, AlignCenter, AlignRight, AlignStart, AlignEnd and Justify) when using the shorthand Text method (common use case).
  • To enhance compatibility with existing codebases, we've removed the breaking change associated with the deprecation of the TextStyle.Fallback method. Although this method remains obsolete, we've reintroduced it with a compatibility layer to prevent disruptions.
  • Enhanced compatibility with dotnet standard projects.
  • Fix: on the Windows platform, the "Could not find an appropriate font fallback for the following glyphs: $U-000D" exception is thrown when the "QuestPDF.Settings.CheckIfAllTextGlyphsAreAvailable" is set true, and the "TextDescriptor.Line" method is used (that inserts the '\r' character).
  • Fix: resolved an issue where the positioning of hyperlinks was incorrect when text contained injected block items.

2024.3.0

12 Apr 11:05
1b9c81b
Compare
Choose a tag to compare

The primary theme of this release is the removal of the SkiaSharp dependency and the introduction of a custom native layer built on top of Skia M124.

Primary features

This change was necessary to provide much higher flexibility and enable several new long-awaited features:

  • Font subsetting - this feature includes only necessary font glyphs in the output document, significantly reducing the file size, especially when using glyph-rich fonts supporting multiple languages,
  • Improved text-related capabilities, including but not limited to text justification, bi-directionality, enhanced line-breaking algorithms, more styles for text decoration, word spacing, and more,
  • Introduced additional document compression to reduce file size further,
  • Integrated native SVG support,
  • In future releases: enhanced accessibility through support for PDF tags.

Other changes

  • Removed the SkiaSharp dependency, thereby making QuestPDF a standalone library,
  • Updated the Lato font to the latest version (2.015),
  • Included licenses of the third-party dependencies in the NuGet package,
  • Included a list of Contributors in the NuGet package to acknowledge the valuable input from our Community in improving QuestPDF.

Breaking changes

Unfortunately, this release also introduces breaking changes:

  • Removed support for injecting SkiaSharp content directly into the document. It is still possible to integrate SkiaSharp through vector and raster graphics; please consult the documentation for more details,
  • Removed support for platforms: Android, iOS, UWP, WASM, and Linux-Alpine. We are currently investigating reintroducing support for WASM and Linux-Alpine in future releases.

Acknowledgments

The work on this release took many months and was only possible with proper development funding. We would like to thank every company that followed the licensing terms and purchased the license.

The help of the QuestPDF Community was also astounding. Thank you for active testing and for providing valuable feedback and contributions.

We would also like to thank the SkiaSharp project, its maintainers, and its contributors for creating an exceptional graphics library. It was a fantastic foundation for QuestPDF for over 3 years.