Releases: QuestPDF/QuestPDF
Release list
2026.7.3
- Breaking change: The Rotate API now rotates elements around their center instead of the top-left corner. Center-origin rotation is the expected behavior in virtually all use cases.
- Behavioral change: Generated images now use a white background by default, so the output matches how the document appears in a PDF viewer. Previously, PNG and WEBP images had a transparent background. To restore the old behavior, enable
ImageGenerationSettings.UseTransparentBackground(applies only to formats supporting transparency: PNG and WEBP). - Automated table semantic tagging is now applied whenever a Table element is placed inside a SemanticTable container, even indirectly. Nested semantic captions are now supported as well.
- Image elements now emit the
/BBoxattribute, improving PDF/UA-1 compliance with validators that require it. - Improved the stability and speed of the QuestPDF Companion integration. The integration now requires .NET 8 or newer.
- Improved the developer experience of the
GeneratePdfAndShowandGenerateXpsAndShowmethods. - Deprecated
AsSemanticHorizontalHeaderin favor ofSemanticHorizontalHeaderfor API naming consistency. - Deprecated
RotateLeftandRotateRightin favor ofRotateLayoutCounterclockwiseandRotateLayoutClockwise, which better describe what these methods do.
2026.7.2
- Fixed a rare Windows x64 concurrency issue where generated PDF documents appeared correct in viewers, but selected and copied text was corrupted.
- Improved text rendering representation to resolve rare compatibility issues in certain PDF viewers that could cause incorrect results when selecting or copying text.
- Improved compatibility for complex glyphs, such as ligatures, by annotating them with the
/ActualTexttag. This improves text selection, copying, extraction, and screen-reader accessibility. Ligatures remain disabled by default. - Added support for the
AllowModificationpermission inDocumentOperationswhen encrypting PDF documents with 128-bit or 256-bit keys. - Added minor fixes and expanded test coverage for the
DocumentOperationsAPI.
2026.7.1
Improved performance
PDF generation is now significantly faster. The Skia native dependency has been recompiled with speed-oriented optimizations (favoring performance over binary size) and with SIMD instructions enabled.
The impact depends on document content and platform. For example, generating image-heavy documents that require image rescaling can be several times faster on Windows x64 🎉
Note: this change slightly increases the size of the native dependency by around 20%.
Continuous performance monitoring
We have also built a solid foundation for measuring library performance going forward. A new GitHub Actions workflow benchmarks QuestPDF across all supported operating systems, processor architectures, and .NET releases.
This infrastructure helps us ensure that performance remains stable and consistent across all platforms, and allows us to detect regressions early — before they ever reach a release.
2026.7.0
- Updated licensing terms and conditions to version 3.0, including the removal of the developer seat limit for all paid licenses (details: https://www.questpdf.com/pricing).
- Added full support for .NET Native AOT and trimming.
- Added and improved warning messages related to library configuration.
- Fixed a rare rendering issue where the footer was placed incorrectly when the page content was empty.
2026.6.1
- Updated the Skia native dependency to M150.
- Improved text rendering stability when handling an excessive number of whitespace characters.
- Improved the failure message shown when the library runs on an unsupported platform (e.g., Android, iOS, or WASM).
- Improved platform compatibility checks and introduced more advanced fallback mechanisms.
- Improved diagnostics for missing font glyph exceptions.
- Improved PDF output consistency of section links by avoiding name escaping and removing unnecessary documentId prefix.
- Made the Image.Size property public.
2026.6.0
- Substantially revised the QuestPDF legal documents to better support enterprise procurement and compliance requirements and to define usage terms more clearly.
- Introduced native support for Windows ARM64 (win-arm64) environments.
- Improved compatibility with older Linux distributions (glibc 2.28 and newer).
- Reduced the NuGet package size by optimizing native dependencies.
- Renamed the
TranslateX/TranslateYmethods toOffsetX/OffsetYto improve discoverability. - SVG rendering improvements:
- Prevented zero-width strokes from being rendered as hairlines, aligning behavior with the SVG specification.
- Added support for embedded Base64 images that use the modern
hrefattribute instead ofxlink:href. - Added support for the
#RGBAand#RRGGBBAAcolor formats. - Added support for the
transparentnamed color.
- Fixed PDF bookmark titles so they include only text from the associated paragraph, excluding the alternative text of images.
- Fixed SectionLink behaving incorrectly when target Section is placed in page header.
- Updated the Skia native dependency to version m149.
- Updated the qpdf native dependency to version 12.3.2.
- Modernized the build system for native dependencies, including how QuestPDF-specific patches are applied.
- Updated all GitHub Actions workflows to use standard runners, reducing costs and making it easier for everyone to contribute to the project.
2026.5.0
- Fixed a bug where Table elements with RowSpan could render incorrectly or break when spanning across pages.
- Fixed visual rendering artifacts that could appear in complex or very large paragraphs.
- Improved error message when native dependency versions are mismatched — the error now includes step-by-step guidance for updating manually copied native files.
- Updated the underlying Skia native dependency to version m146.
2026.2.4
- Fixed a bug where using Page.MinSize() or Page.MaxSize() could produce unexpected results
- Added more helpful validation messages for minimum and maximum size constraints in the Constrained element
- Improved the welcome message with a clearer explanation of the library license
2026.2.3
- Fixed visual regression when rendering complex borders
2026.2.2
- Updated the Skia native dependency to improve compatibility with the win-x86 runtime