Version 5.1.0

August 3, 2026

Added

  • DomPDF 3 support with explicit rootDir, fontDir, fontCache, tempDir, and chroot defaults under Craft storage.
  • Optional signed, expiring download URLs for PDFs stored in Craft storage (requireSignedUrls setting; default off for backwards compatibility).
  • PHP service aliases fromHtml() / fromTemplate() plus Twig/PHP queueHtml() / queueTemplate() helpers.
  • Queue job GeneratePdfJob for asynchronous PDF generation.
  • Output modes: download, string, and base64 (in addition to render and object).
  • Header/footer support via headerHtml / footerHtml or headerTemplate / footerTemplate.
  • {PAGE_COUNT} placeholder alias for SUPER_PDF_TOTAL_PAGES.
  • Clear Caches option for Super PDF font cache.
  • Entry element action Download PDF when entryPdfTemplate is configured.
  • Settings for signed URL expiry and entry PDF template.
  • allowedRemoteHosts DomPDF option passthrough.
  • English translation file.
  • In-repo documentation under docs/.
  • Plugin bootstrap class amici\SuperPdf\Plugin (legacy SuperPdf class retained as a deprecated subclass).
  • PDF and General helpers moved from libraries/ to first-class services\ components.
  • Lifecycle events: Pdf::EVENT_BEFORE_RENDER, EVENT_AFTER_RENDER, EVENT_BEFORE_SAVE, EVENT_AFTER_SAVE.
  • Email attachment helper asEmailAttachment() (PHP + Twig).
  • Console command php craft super-pdf/generate.
  • Dev Mode render timing / options logging.

Changed

  • Storage PDF object URLs include optional signed query parameters (e, s). Legacy unsigned /super-pdf/{file} links still work unless requireSignedUrls is enabled.
  • DomPDF options are built through a dedicated Options object; plugin settings are no longer passed wholesale into Dompdf.
  • PDF streaming for render / download uses Dompdf stream() + exit again (Craft $app->end() blank-pages Twig responses).
  • Settings remain viewable when allowAdminChanges is false (read-only).
  • Composer support/docs/changelog URLs now point at amici-infotech/craft-super-pdf.
  • Plugin version requirement remains Craft CMS 4 and 5 (^4.0 || ^5.0).
  • amici\SuperPdf\libraries\Pdf / General removed; use amici\SuperPdf\services\Pdf / General (accessed via Plugin::$plugin->pdf).

Deprecated

  • amici\SuperPdf\SuperPdf class — use amici\SuperPdf\Plugin.
  • type: url — use type: object (still works with a deprecation log).
  • streamContext — use httpContext (still works with a deprecation log).

Security

  • Optional HMAC-signed storage URLs (requireSignedUrls).
  • Filename handling rejects path traversal attempts.

Fixed

  • DomPDF rootDir not applied correctly (cause of the 5.0.4 DomPDF 3 revert).
  • Removed error_reporting masks from Twig variable methods.
  • Blank page when using {{ craft.superpdf.html(...) }} / template() with type: render (Craft Application::end() during template responses).

Version 5.0.4

December 24, 2025
  • Reverted DomPDF v3 force back to v2 as there is an issue with rootDir that sets blank for custom fonts unless you manually override it in super-pdf.php

Version 5.0.3

December 6, 2025
  • Fixed an issue where in DomPDF v3, Root directory is not auto assigned from dompdf library.

Version 5.0.2

December 3, 2025
  • Fixed an issue with SUPER_PDF_TOTAL_PAGES variable where on text alignment to right, it was added spaces of those characters after parsing. #30

Version 5.0.1

June 29, 2024
  • Added a feature where pdf can have page counter and total variables to show a page counter in pdf file.

Version 5.0.0

March 27, 2024
  • Upgraded plugin to support Craft 5.

Version 2.0.2.5

May 19, 2023
  • Solved a bug where strict syntax of PHP classes want allowing to set $dompdf as null. #17

Version 2.0.2.4

May 17, 2023
  • Solved a bug where looping data to create multiple pdf creates only 1 pdf due to variable not reseting. #17

Version 2.0.2.3

March 24, 2023
  • Solved a bug where yii2 head, body and footer comments were added in PDF HTML #11

Version 2.0.2.2

March 9, 2023
  • Fix the issue where clear cache was clearing main folder instead of sub folder.
  • Fix the issue where Preview file was creating main folder path instead of sub folder path. that was throwing file not found error.

Version 2.0.2.1

January 23, 2023
  • Deprecated streamContext variable.
  • Introducing new httpContext variable that accepts and set that array as DomPdf httpContext. In most cases, it will be just to replace variable from streamContext to httpContext in config/super-pdf.php file.
  • Solved a bug where all this variables streamContext, encrypt, print, modify, copy, add, password, adminPassword were using object pointer instead of array and due to that none of it was working. #12

Version 2.0.2

September 30, 2022

For "url" type, PDF code will return object instead of URL. Code will not break but advisable to use {{ object.getUrl() }} instead {{ object }}.

New Settings section added to give user more control over PDF behaviour. Make sure to review and change settings according to your needs.

  • Adding Settings to give user more control over the plugin.
  • Introducing filesystems so user can store pdfs outside of storage folder.
  • Depending on the settings, We can now set wether we want to regenerate file on each page load, override it or ignore new file creation.
  • Type "url" is deprecated. Use "object" instead.
  • Object can be use with variables or methods to get the URL or other meta data from the file.

Version 2.0.1

August 3, 2022

Super PDF now requires DomPdf v2.0.0 or newer.

Version 2.0.0

May 10, 2022
  • Upgraded to support craft cms 4.

Super PDF now requires PHP 8.0.2 or newer.

Super PDF now requires Craft CMS 4.0.0 or newer.

Version 1.0.7

March 9, 2022
  • Added new setting streamContext where user can pass any HTTP Context.