Version 5.1.0

February 20, 2026

Added

  • New "Clean Filenames" setting to strip the .pdf extension from generated filenames (e.g. document-123.jpg instead of document.pdf-123.jpg). Disabled by default for backward compatibility.
  • New "Colour Space" setting with sRGB (default), RGB, CMYK, Grayscale and None options. Fixes inverted colours on CMYK PDFs (#24)

Fixed

  • PDF files are now read via Craft's filesystem API instead of HTTP requests, fixing SSRF risk
  • getVolumeOptions() now uses Craft::$app->getVolumes() instead of instantiating an unconfigured Volumes service
  • Replaced predictable mt_rand temp filenames with uniqid to avoid collisions
  • Asset save event listener now only fires for assets instead of all element types
  • Temporary PDF files are now cleaned up after conversion to prevent disk space leaks
  • render() now re-creates the image asset if the file exists on disk but the asset record is missing
  • pdfToImage() now returns null explicitly on failure instead of returning void
  • url() Twig variable now returns null explicitly when no render is available
  • Added ?Asset type hints and null guards to render() and url() methods
  • Removed empty CSS/JS asset bundle files that caused unnecessary HTTP requests
  • File existence check now uses volume path instead of filesystem path, fixing duplicate generation on volumes with subpaths (#25)
  • Auto-transform on upload no longer crashes when the asset file is not yet available, fixing corrupt image headers (#23)
  • Added null checks for image volume to prevent "getFs() on null" errors when volume is misconfigured (#18)

Changed

  • imageFormat setting is now validated to only allow jpg or png values

Version 5.0.1

May 30, 2024

Changed

  • Icon to a new shiny (literally) icon

Version 5.0.0

May 30, 2024

Changed

  • Craft 5 compatibility

Version 2.0.1

November 14, 2022

Added

  • Amazon S3 Compatability
  • Servd Compatability (Thanks @mattgrayisok / @servd)
  • New .render() method that outputs the transformed image as a Craft asset (No longer just the URL 🎉)

Version 2.0.0

June 17, 2022

Changed

  • Now requires PHP ^8.0.0.
  • Now requires Craft CMS ^4.0.0

Version 1.0.6

April 13, 2022

Fixed

  • Updated Composer dependencies
  • Updated Composer to work with Composer 2
  • Added PHP 8.0 support with spatie/pdf-to-image package

Version 1.0.5

November 11, 2020

Fixed

  • Source path for asset bundle

Version 1.0.4

November 6, 2020

Fixed

  • Case issue on settings Assets Bundle

Version 1.0.3

October 29, 2020

Fixed

  • Composer 2 Compatibility

Version 1.0.2

November 15, 2018

Fixed

  • Issue where any element that was saved was throwing an error because it wasn't a PDF.

Version 1.0.1

November 14, 2018

Added

  • PDF's are now transformed when any .pdf file is uploaded to the CMS. Speeding up the .url() method
  • Transformed PDF's are now indexed in the Asset Volume specified in settings

Version 1.0.0

October 25, 2018

Added

  • Initial release