Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 29, 2025

Updated QuestPDF from 2024.10.2 to 2025.12.1.

Release notes

Sourced from QuestPDF's releases.

2025.12.1

  • Fixed an issue where merged documents rendered incorrectly for the second and subsequent documents.
  • Fixed an issue where the Table layout could fail to render all items in certain row-span scenarios.
  • Fixed semantic tagging in advanced layouts (e.g., MultiColumn) and refactored canvas-related code.

2025.12.0

Features:

  • Added support for the .NET 10 SDK.
  • Added support for semantic tagging.
  • Added support for bookmarks via header-level semantic tags.
  • Added support for the following conformance standards: PDF/A-2b, PDF/A-2u, PDF/A-2a, PDF/A-3b, PDF/A-3u, PDF/A-3a, and PDF/UA-1.

Future-proofing:

  • Introduced automated standard conformance testing using veraPDF.
  • Introduced automated ZUGFeRD conformance testing using Mustang.

Bug fixes:

  • Fixed a bug where row-span calculation logic in the Table component could cause infinite document generation.
  • Fixed an issue where Dynamic components rendered incorrect content when placed inside a MultiColumn layout.
  • Fixed missing input parameter validation for Hyperlink, Section, and SectionLink methods.
  • Fixed an issue where Hyperlinks in the page footer broke accessibility conformance.

Maintenance:

  • Updated the Skia native dependency to version m142.
  • Increased test coverage and test quality.
  • General code cleanup.

2025.12.0-alpha4

  • Simplified the Fluent API.
  • Made minor semantic adjustments.
  • Added a conformance test suite based on the Mustang project (for ZUGFeRD).
  • Performed code refactoring and cleanup.

2025.12.0-alpha3

  • Ported all changes from the 2025.7.3 release.
  • Updated the Skia native dependency to version m142.
  • Added experimental support for the following conformance standards: PDF/A-1a and PDF/A-1b.
  • Improved automated tagging, which is now enabled only when a relevant conformance standard is active.
  • Created a conformance test suite based on the VeraPDF project.

2025.12.0-alpha2

  • Added semantic auto-tagging for paragraphs.
  • Enhanced auto-tagging feature for tables by supporting more complex cases where cells are spanning multiple rows or columns.
  • Adjusted semantic meaning of MultiColumn spacer to be an artifact.
  • Adjusted semantic meaning of contents that repeats on pages by marking the first occurrence as content, and repetitions as artifacts. This change applies to the Repeat, Decoration and Page Header/Footer elements.
  • Fixed semantic handling of background and watermark page layers.
  • Fixed adding content to the semantic tag tree if it is part of the artifact.
  • Improved visual representation of SemanticTags and ArtifactTags in the Companion App.

2025.12.0-alpha1

  • Ported all changes from the 2025.7.2 release.
  • Added support for the following conformance standards: PDF/A-2b, PDF/A-2u, PDF/A-2a, PDF/A-3b, PDF/A-3u, PDF/A-3a, and PDF/UA-1.
  • Improved the semantic structure of links (both external hyperlinks and internal links to named destinations) for better compatibility with PDF/UA-1.
  • Corrected semantic tagging of decorative elements such as shadows, backgrounds, borders, and lines by marking them as artifacts.
  • Enhanced the semantic structure and accessibility of simple tables (without cells spanning multiple rows or columns) by automatically tagging header cells.
  • Introduced support for horizontal headers to further improve the semantic structure and accessibility of simple tables.

2025.12.0-alpha0

We’re excited to share that this release adds initial support for semantic tagging and bookmarks! 🎉

For more details on both features, please see: QuestPDF/QuestPDF#1177

2025.7.4

  • Fixed the DocumentOperation.ExtendMetadata operation to preserve /Metadata tag attributes (/Subtype /XML) and improve compatibility with the Mustang validation tool for ZUGFeRD files.

2025.7.3

  • Fixed an issue that caused the PDF generation process to fail when the application lacked file access permissions to the default temporary folder.
  • Added support for specifying a custom temporary storage path through the QuestPDF.Settings.TemporaryStoragePath property.

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.

Commits viewable in compare view.

Dependabot compatibility score

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.12.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 29, 2025

Labels

The following labels could not be found: dependencies, desktop. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant