Version 5.1.0
August 3, 2026
Added
- DomPDF 3 support with explicit
rootDir,fontDir,fontCache,tempDir, andchrootdefaults under Craft storage. - Optional signed, expiring download URLs for PDFs stored in Craft storage (
requireSignedUrlssetting; default off for backwards compatibility). - PHP service aliases
fromHtml()/fromTemplate()plus Twig/PHPqueueHtml()/queueTemplate()helpers. - Queue job
GeneratePdfJobfor asynchronous PDF generation. - Output modes:
download,string, andbase64(in addition torenderandobject). - Header/footer support via
headerHtml/footerHtmlorheaderTemplate/footerTemplate. {PAGE_COUNT}placeholder alias forSUPER_PDF_TOTAL_PAGES.- Clear Caches option for Super PDF font cache.
- Entry element action Download PDF when
entryPdfTemplateis configured. - Settings for signed URL expiry and entry PDF template.
allowedRemoteHostsDomPDF option passthrough.- English translation file.
- In-repo documentation under
docs/. - Plugin bootstrap class
amici\SuperPdf\Plugin(legacySuperPdfclass retained as a deprecated subclass). - PDF and General helpers moved from
libraries/to first-classservices\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 unlessrequireSignedUrlsis enabled. - DomPDF options are built through a dedicated
Optionsobject; plugin settings are no longer passed wholesale into Dompdf. - PDF streaming for
render/downloaduses Dompdfstream()+exitagain (Craft$app->end()blank-pages Twig responses). - Settings remain viewable when
allowAdminChangesis 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/Generalremoved; useamici\SuperPdf\services\Pdf/General(accessed viaPlugin::$plugin->pdf).
Deprecated
amici\SuperPdf\SuperPdfclass — useamici\SuperPdf\Plugin.type: url— usetype: object(still works with a deprecation log).streamContext— usehttpContext(still works with a deprecation log).
Security
- Optional HMAC-signed storage URLs (
requireSignedUrls). - Filename handling rejects path traversal attempts.
Fixed
- DomPDF
rootDirnot applied correctly (cause of the 5.0.4 DomPDF 3 revert). - Removed
error_reportingmasks from Twig variable methods. - Blank page when using
{{ craft.superpdf.html(...) }}/template()withtype: render(CraftApplication::end()during template responses).
Version 5.0.4
December 24, 2025
- Reverted DomPDF v3 force back to v2 as there is an issue with
rootDirthat 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
streamContextvariable. - Introducing new
httpContextvariable that accepts and set that array as DomPdf httpContext. In most cases, it will be just to replace variable fromstreamContexttohttpContextin config/super-pdf.php file. - Solved a bug where all this variables
streamContext,encrypt,print,modify,copy,add,password,adminPasswordwere 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
streamContextwhere user can pass any HTTP Context.