Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 30, 2025

Updated QuestPDF from 2023.12.4 to 2025.7.2.

Release notes

Sourced from QuestPDF's releases.

2025.7.2

  • Disabled standard ligatures by default, as they often interfere with text copying and may pose accessibility issues,
  • Performance has been improved when generating multiple text-heavy documents at the same time. The more concurrent operations and text elements involved, the more noticeable the benefit,
  • Improved the developer experience by updating the behavior of the GeneratePdfAndShow method to always create a uniquely named file. It ensures that certain PDF viewers automatically refresh the preview,
  • Fixed exception triggered when generating a PDF without defining a Page in the Fluent API,
  • Increased test coverage,
  • Minor bug fixes and improvements.

2025.7.1

  • Fixed a significant memory leak in document operations involving overlay or underlay,
  • Fixed a minor memory leak in general document operations (e.g., merge, save with password),
  • Updated the Skia dependency to M140,
  • Removed unnecessary dependencies on Linux and macOS (OpenSSL, libjpeg-turbo) to improve compatibility across more platforms.

2025.7.0

  • Line element: Added gradient and dashed pattern support
  • Background element: Added linear gradient (multiple colors, arbitrary angle) and rounded corners
  • Border element: Added linear gradient (multiple colors, arbitrary angle), rounded corners, and alignment options (inside, outside, center)
  • Shadow element (new): Added blur, color, offset, and spread support
  • Internal: Introduced visual snapshot testing for the generation process
  • Updated Skia dependency to M138

2025.6.0-rc0

  • Line element: Added gradient and dashed pattern support
  • Background element: Added linear gradient (multiple colors, arbitrary angle) and rounded corners
  • Border element: Added linear gradient (multiple colors, arbitrary angle), rounded corners, and alignment options (inside, outside, center)
  • Shadow element (new): Added blur, color, offset, and spread support
  • Internal: Introduced visual snapshot testing for the generation process

2025.5.1

  • Reduced peak memory usage when generating PDF files by properly implementing a stream-based API,
  • Fixed the exception message displayed when the library cannot successfully parse the provided text as a color.

2025.5.0

  • Feature: Added the CaptureContentPosition API, allowing developers to inspect the exact position and size of arbitrary content. This enables the generation of dynamic, related content within the DynamicComponent, enhancing flexibility for complex layout requirements.
  • Enhancement: Changed the default page background color from white to transparent, which reduces developer confusion during document operations such as content overlaying. Only JPEG images are rendered with a white background.
  • Fix: ShowIfContext.TotalPages is now set to null during the initial rendering phase to avoid confusion when using the ShowIf API.
  • Fix: Improved memory management in the Companion App workflow by immediately disposing of native resources.

2025.4.4

Updated native dependencies:

  • Skia updated to version m137
  • Qpdf updated to version 12.2.0
  • OpenSSL updated to version 3.5.0

2025.4.2

  • Updated the Skia library to version m136,
  • Updated the NuGet package README,
  • Added DocumentOperation.Decrypt featre to remove encryption from PDF documents,
  • Added DocumentOperation.RemoveRestrictions feature,
  • Improved availability of native resources on the legacy .NET Framework,
  • Fixed compatibility with Unity3D on Linux and macOS builds,
  • Fixed encryption of PDF files with 40-bit keys,
  • Fixed encryption of PDF files with 128-bit keys.

2025.4.0

  • 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

  • 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

  • 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

  • Fixed: EnsureSpace did not render its content in some cases.

2025.1.4

  • 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

  • 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

  • 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

  • Fixed rarely broken text alignment caused by too aggressive cache optimization.

2025.1.0

  • 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

  • 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-alpha0

Implemented a Lazy element that delays content creation to reduce memory usage and enhance garbage collection efficiency in large documents.

2024.12.3

  • Updated the native dependency: qpdf.
  • Reduced Linux requirements by removing the GnuTLS dependency.

2024.12.2

  • Enhanced the EnsureSpace element to work dynamically without a pre-configured vertical space threshold.
  • Improved table rendering stability in rare scenarios.
  • Fixed an exception that occurred when rendering an image with a zero target size.

2024.12.1

  • Fixed: The library now provides hints when an additional dependency is required.
  • Improved license-related explanation message.

2024.12.0

This release introduces several long-awaited features releated to document operations such as:

  • Assemble: Rearrange, select, and remove specific pages within a document.
  • Merge: Combine multiple PDF files into a single document.
  • Add Attachments: Embed additional files (such as text or images) as attachments within the PDF.
  • Underlay and Overlay: Apply other PDF as a background (underlay) or foreground (overlay) to another, adding layered content.
  • Linearize: Optimize files for fast web viewing, allowing compatible PDF readers to display the document before it’s fully downloaded.
  • Encrypt with Access Restrictions: Secure PDFs with user and owner passwords, applying access controls (like permissions for printing, filling forms, extracting or modifying content).

These features are built using the qpdf library, available under the "Apache-2.0" license.
The qpdf library is available at: https://github.com/qpdf/qpdf
We extend our thanks to the authors of qpdf for their contributions to the open-source community.

Further improvements:

  • Adjusted the default path for loading font files to prevent rare application hangs in certain environments
  • Performance optimization: improved scalability by limiting the maximum level of parallelism
  • Performance optimization for legacy .NET Framework: collect stack trace only when running with the Companion App
  • TextBlock: slightly reduced memory usage

2024.12.0-rc3

Fixed: When executing document operation on Windows, escaping file paths does not work as expected.

2024.12.0-rc2

Version 2024.12.0-rc2

  • Document Operations: improved compatibility with Windows operating systems.
  • Fixed: The text underline decoration was not rendering correctly.

2024.12.0-rc0

This release introduces several long-awaited features releated to document operations such as:

  • Assemble: Rearrange, select, and remove specific pages within a document.
  • Merge: Combine multiple PDF files into a single document.
  • Add Attachments: Embed additional files (such as text or images) as attachments within the PDF.
  • Underlay and Overlay: Apply other PDF as a background (underlay) or foreground (overlay) to another, adding layered content.
  • Linearize: Optimize files for fast web viewing, allowing compatible PDF readers to display the document before it’s fully downloaded.
  • Encrypt with Access Restrictions: Secure PDFs with user and owner passwords, applying access controls (like permissions for printing, filling forms, extracting or modifying content).

These features are built using the qpdf library, available under the "Apache-2.0" license.
The qpdf library is available at: https://github.com/qpdf/qpdf

We extend our thanks to the authors of qpdf for their contributions to the open-source community.

The code of qpdf library has been extended by QuestPDF to support important PDF/A-3b compliance requirements as well ZUGFeRD metadata extension.

2024.10.4

Fixed: The text underline decoration was not rendering correctly.

2024.10.3

  • Improved the layout debugging engine by fixing rare exceptions and increasing stability.
  • Updated the Skia dependency to version m131.
  • Changed conformance level to PDF/A-3b (confirmed with Adobe Acrobat Pro).
  • Strong-named the official nuget package.

2024.10.2

  • Fixed parsing of color values from both strings and uint.
  • Fixed a rare memory leak issue occurring on certain CPU architectures.

2024.10.1

  • Engine: Improved overflow annotation and layout algorithm for better handling of content overflow.
  • Companion App: Enhanced message clarity regarding compatibility with merged documents.
  • Companion App: Improved support for documents with multiple page configurations.
  • Font discovery: Fixed file-access related exceptions.
  • Font discovery: Improved default file path for font discovery.

2024.10

Version 2024.10.0

  • This version includes integration with the new QuestPDF Companion application.
  • Updated the Skia dependency to version m130.
  • Improved NuGet package determinism.
  • Enhanced rendering of underline text decoration for certain fonts.

2024.10.0-rc5

  • Fixed: Stack trace items in the generic exception view are no longer clickable when the file location is unavailable.
  • Fixed: Disabled the text fade effect in the document hierarchy TreeView.
  • Improved: Enhanced stack trace parsing for the generic exception view.

2024.10.0-rc4

This update applies only to the QuestPDF Companion App, with no changes made to the QuestPDF library NuGet package.

  • Improved accuracy and availability of the source code preview for the selected element.
  • Enhanced the presentation of source code in the selected element bar.
  • Improved error message when the application cannot open source code in the default code editor.
  • Changed the default code editor from Rider to Visual Studio Code.

2024.10.0-rc3

  • Further responsiveness improvements and reduced battery usage.
  • Fixed the "Open source-code" action for macOS.
  • Improved source-code snippet for the selected item bar (the preview is wider, and the code is also scrollable).
  • Added a notification for communication errors when the host server cannot be started.

2024.10.0-rc2

  • Improved performance and responsiveness.
  • Fixed compatibility issues with Windows and Linux.
  • Enhanced readability of source code snippets in dark mode.
  • Various other improvements.

2024.10.0-rc1

  • Improved performance and fixed battery drainage issues.
  • Redesigned the generic exception view to emphasize essential content and show corresponding code snippets.
  • Redesigned the presentation of details for the currently selected layout element.
  • Enhanced clarity and added more details in the document hierarchy tree section.
  • Added an interactive scrollbar to the document preview section.
  • Improved window management, including moving and resizing.
  • Refactored internal code,
  • And more.

Important: This version requires QuestPDF 2024.10.1-rc1 nuget package. While the Companion App aims to enhance backward compatibility, in the RC stage, there is no point in investing in it.

2024.10.0-rc0

This release focuses on the new QuestPDF Companion application.

Please find more in the documentation:

2024.7.3

  • Introduced FontDiscoveryPaths setting for specifying directories for automatic font registration and improved font search performance.
  • Updated native dependencies: from skia m126 to m128.
  • Improved the exception message related to the "Any CPU" architecture incompatibility.

2024.7.2

  • Fixed a memory leak issue when generating documents as images using the GenerateImages method.

2024.7.1

  • Fixed: the ShowOnce element does not work as intended
  • Updated native assets.

2024.7.0

New Features:

  • Implemented TextStyle support for OpenType font features such as ligatures, kerning, and more.
  • Introduced support for MultiColumn layouts, offering more flexible content arrangement.

Layout Issue Debugging Experience:

  • Improved the layout debugging feature by providing more detailed information on the reasons behind the SpacePlan.Wrap operation.
  • Enhanced visualization for elements that were not drawn or measured on a faulty page.
  • For the Row element, added detailed layout debugging information, including type and size for each item.

Optimizations:

  • Improved paragraph cache utilization for TextBlock elements within repeating content, such as page footers/headers and decorations before/after content.

Fixes and Enhancements:

  • Updated predefined page sizes to use integer values for better consistency with other software.
  • Fixed an issue where the Dynamic SVG element might scale its content incorrectly when using certain size units.
  • Fixed incorrect spacing in TextBlock elements containing only injected layout elements and no text.

2024.7.0-rc0

Version 2024.7.0

New Features:

  • Implemented TextStyle support for OpenType font features such as ligatures, kerning, and more.
  • Introduced support for MultiColumn layouts, offering more flexible content arrangement.

Layout Issue Debugging Experience:

  • Improved the layout debugging feature by providing more detailed information on the reasons behind the SpacePlan.Wrap operation.
  • Enhanced visualization for elements that were not drawn or measured on a faulty page.
  • For the Row element, added detailed layout debugging information, including type and size for each item.

Optimizations:

  • Improved paragraph cache utilization for TextBlock elements within repeating content, such as page footers/headers and decorations before/after content.

Fixes and Enhancements:

  • Updated predefined page sizes to use integer values for better consistency with other software.
  • Fixed an issue where the Dynamic SVG element might scale its content incorrectly when using certain size units.

2024.6.4

Version 2024.6.3

  • Improved performance of Text elements containing null, empty, or whitespace content only.

Version 2024.6.4

  • Fixed a bug where Text elements, containing only null, empty, or whitespace content, could cause document layout issues.

2024.6.2

  • Reduced peak memory usage in documents with high number of text elements.
  • Implemented a new caching mechanism to reduce the number of layout-related calculations.
  • Introduced caching for DynamicSvgImage to enhance performance when the image is repeated across multiple pages.
  • Introduced caching for DynamicImage to enhance performance when the image is repeated across multiple pages.
  • Generating debugging information now respects the QuestPDF.Settings.EnableDebugging flag.
  • Enhanced the accuracy and conciseness of layout-issue debugging messages.
  • Fixed an issue where text width calculation was unnecessarily rounded, which caused text overflow.
  • Resolved an issue where the Text element was not visible when it contained only the page number.

2024.6.1

  • Layout debugging: significantly improved calculation performance and accuracy of issue detection.
  • Text element: improved the default sizing behavior for the Text element. Now, when the text is empty, it works more consistently by taking up zero width while still reserving vertical space based on the font size.
  • Fixed compatibility with .NET Standard 2.0.
  • Fixed an issue causing invisibility of Table elements containing only Header/Footer elements without content.
  • Improved the Document Composition Fluent API for Page, Table and Decoration elements. An exception is now thrown if any layer is configured more than once, preventing unexpected behavior.

2024.6.0

New Features:

  • Paragraph Formatting: Added support for paragraph spacing and first-line indentation.
  • SVG Output: Introduced support for SVG output format.
  • Exception Messaging: Improved exception messages for layout issues, providing detailed information and suspected locations.

Enhancements:

  • Content Drawing: Enhanced default content drawing behavior, so content does not unexpectedly repeat in certain cases.
  • Library Dependencies: Disabled visibility of native dependencies and the Lato font for cleaner output.
  • Compatibility Messaging: Enhanced compatibility exception messages for supported but potentially outdated environments.
  • Image Loading: Added fallback path for image loading to enhance development experience on ASP.NET.
  • Color Conversion: Added implicit conversion from hex numbers to color.
  • Inline Element: Simplified implementation and improved performance.
  • Column Element: Simplified implementation and improved performance.

Bug Fixes:

  • Column Element: Resolved instability issues in nested layouts with spacing and zero-sized elements.
  • JPEG Quality: Disabled JPEG image downsampling/downscaling to maintain the highest quality levels.
  • Image Compression: Disabled additional image compression performed by Skia.
  • Fixed Text.LineHeight calculation.

2024.4.3

  • Resolved a rare rendering issue that prevented shared images from displaying,
  • Updated the README file reference in the package and corrected the packaging path for the project description.

2024.3.10

  • 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

  • Fixed: the thickness of text decorations was significantly higher than defined by the font settings.

2024.3.7

  • Introduced an explicit CallingConvention.Cdecl to address and fix the issue of stack imbalance on Windows platforms.

2024.3.6

  • Introduced support for the win-x86 platform.
  • Improved SVG image support for less common unit types.
  • Enhanced automated testing environment.

2024.3.5

  • 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

  • Improved font rendering by setting half-leading when line-height is overridden.
  • Enhanced exception messages for unsupported x86 platforms.

2024.3.3

  • 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

  • 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

  • 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

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.

2024.3.0-rc2

  • Fixed critical issue: the library fails during PDF generation

2024.3.0-rc1

  • Greatly reduced memory usage by reusing SkParagraphBuilder instances,
  • Fixed memory leaks in the native code,
  • Fixed: the DocumentMetadata.CreationDate and DocumentMetadata.ModificationDate properties are not properly populated in generated PDF,
  • Fixed: when changing the TextStyle.FontFamilies property, the cache does not work correctly leading to higher memory usage.

2024.3.0-rc

  • Updated Skia to version m124,
  • Linux support: Removed dependency on the FontConfig library,
  • Linux support: added support for older Linux distributions, equivalent to Ubuntu 18,
  • Linux support: Introduced support for arm64 architecture,
  • Resolved an issue causing an "Invalid UTF8" error message showing in the console,
  • Addressed a problem with the text underline effect not functioning as expected due to Skia's DecorationMode.Gaps not handling all fonts correctly,
  • Optimized the algorithm for loading fonts provided in the application folder, including default fonts, for better performance.
  • Included a list of contributors in the nuget package, to acknowledge the valuable input from our community in improving QuestPDF,
  • Implemented safeguards in the native code wrapper to throw an exception when a native object pointer is null,
  • Optimized runtime (Avalonia) and development dependencies,
  • Refined the native artifacts build system through code refactoring and the integration of execution tests, improving build reliability and efficiency,
  • Planned: in the next major release, the WASM support will be investigated and potentially reintroduced,
  • Known Issue: During stress testing, an issue was identified that native memory usage is higher than expected when generating long documents rich in short text elements. This issue is currently under investigation and will be addressed in the next major release.

Find more details about this release in the following discussion: QuestPDF/QuestPDF#622

2024.3.0-beta1

🎊 Version 2024.3.0-beta1 🎊

  • Greatly reduced the size of the native binaries by switching from ICU to libgrapheme,
  • Improved the logic for finding and loading native dependencies (implemented in Fix: Update logic to find native files (icudtl.dat & QuestPdfSkia.dll) QuestPDF/QuestPDF#813 with massive help from @​samceustermanscoteng, thank you!),
  • Fixed an issue where the font fallback does not work when the Settings.UseEnvironmentFonts setting is set to false,
  • Added the ability to provide multiple font families or fallbacks,
  • Fixed an issue where the text element does not render its content in certain scenarios when it contains page numbers,
  • Fixed an issue where SkSvgCanvas may produce incomplete results, resulting in invalid SVG content,
  • Improved memory management for SkParagraph in certain scenarios.

Find more details about this release in the following discussion: QuestPDF/QuestPDF#622

2024.3.0-beta

🎊 Version 2024.3.0-beta 🎊

  • Updated the codebase to Skia m122 and resolved all backward-incompatible changes,
  • Added support for the .NET Standard 2.0,
  • Improved P/Invoke and marshaling compatibility with the legacy .NET Framework,
  • Fixed a bug in the Text element that could cause an exception under certain conditions,
  • Updated the Lato font to the latest version (2.015),
  • Improved the loading method for native dependencies,
  • Added the Text.ClampLines functionality,
  • Added support for adjusting the thickness and style of text decorations (overline, strikeout, underline),
  • Added support for word spacing,
  • Reduced the risk of race conditions in Avalonia in the QuestPDF Previewer,
  • Enhanced exception message when the QuestPDF Previewer fails to load due to missing required dotnet 8 runtime,
  • Improved native memory management and fixed memory leaks,
  • Include licenses of the third party dependencies in the NuGet package,
  • Performed code cleanup and made minor adjustments.

Find more details about this release in the following discussion: QuestPDF/QuestPDF#622

2024.3.0-alpha

This release's primary theme is removing the SkiaSharp dependency and introducing a custom native layer built on Skia M121. 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, reducing the file size. The size difference can be enormous when complex fonts are used of various styles,
  • Improved text-related capabilities, including text justification, bi-directionality, enhanced line-breaking algorithms, and more,
  • Introduced additional document compression to reduce file size,
  • Integrated native SVG support,
  • Improved performance by 25% on average,
  • In the future release: enhanced accessibility by support for PDF tags.

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

This release requires at least .NET Standard 2.1. The beta release will reintroduce support for the .NET Standard 2.0.

This significant achievement was made possible by introducing the hybrid license and substantially improved funding for development. Thank you!

2023.12.5

  • Fix: resolved an issue where the Column element applies double spacing when its child does not occupy any space
  • Fix: the Text.SectionLink element does not work correctly
  • Improvement: redesigned the automated layout issue detection algorithm
  • Improvement: when drawing content with the Canvas element, the library now clips drawn content to the element's boundaries. This prevents potential overflow when integrating with other libraries
  • Improvement: enhanced layout stability

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: QuestPDF
  dependency-version: 2025.7.2
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: QuestPDF
  dependency-version: 2025.7.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Sep 30, 2025
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Oct 20, 2025

Superseded by #52.

@dependabot dependabot bot closed this Oct 20, 2025
@dependabot dependabot bot deleted the dependabot/nuget/Flixen.CurriculumVitae.Builder/multi-26a2a7c398 branch October 20, 2025 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants