Version 2.2.0

October 17, 2026

Added

  • Setting "Cache pages with query strings" (cacheQueryStrings), off by default
  • The queue job has a timeout per page request and is retried up to 3 times

Changed

  • Pages with query strings are no longer cached by default, every new query string created a new cache file
  • Cached pages are only served to guests, not to logged-in users
  • Previews and requests with a token are never cached or served from the cache
  • Saving an element with a changed URI (slug or parent) deletes the cache of the old URI
  • Saving a nested element (e.g. a Matrix or Neo block) refreshes the page of its owner
  • Bulk resaves no longer push pages into the cache queue
  • Cache files are written atomically, folders are created with 0755
  • Fewer database queries when pushing pages into the queue
  • The rewrite examples skip the cache for logged-in users (CraftSessionId cookie)

Fixed

  • Query strings like ?a=/../../ could write cache files outside of the cache folder
  • A failed cache job blocked all later cache refreshes
  • pagecache/cache/refresh and pagecache/cache/delete without --tags did nothing
  • The cache job did not wait for all page requests, so some pages were not cached again
  • Elements of other sites than the primary site were not found by the cache job
  • Refreshing the cache crashed if a cached element was deleted, and duplicate elements were queued
  • Excluded/included URL patterns with / (e.g. news/archive) caused a PHP warning and never matched
  • The sidebar actions accepted GET requests, requests outside of the control panel and users without permission to save the element
  • The sidebar actions did not work in slideouts
  • The cache folder was not created on install
  • The brotli rewrite example used the wrong encoding name (brotli instead of br)
  • PHP 8 deprecation warnings for optional parameters before required ones
  • Console commands in the README

Version 2.1.5

October 17, 2026

Fixed

  • Saving an entry with nested Neo or Matrix blocks hung until the request timed out, so the entry was not saved and the cache was not refreshed
  • Saving drafts and revisions no longer triggers a cache refresh
  • Saving a new element could delete the cache of an unrelated entry
  • Related elements were resolved from the wrong element when collecting Neo and Super Table owners

Version 2.1.4

September 29, 2025

Fixed

  • Fixed a logged warning
  • Saved entries kept being a draft

Version 2.1.3

July 20, 2025

Added

  • Command to warm up all entries

Version 2.1.2

July 8, 2025

Fixed

  • Fixed error on initial cache folder creation if the folder already exists
  • Fixed Install migration

Version 2.1.1

May 2, 2025

Changed

  • Only Render meta tags once

Version 2.1.0

May 2, 2025

Changed

  • improved plugin settings template
  • removed HTML optimization
  • refactor code
  • added sidebar html
  • updated pagecache action buttons
  • added page cache html footer
  • added "exclude" variable
  • added "tags" variable
  • added delete cache command

Version 2.0.1

April 14, 2025

Fixed

  • Fixed implicitly nullable parameters deprecation warning
  • Decode URL before checking against include/exclude list

Version 2.0.0

February 10, 2025

Changed

  • Craft CMS 5.x ready

Version 1.4.1

May 2, 2025

Changed

  • Only Render meta tags once

Version 1.4.0

May 2, 2025

Changed

  • improved plugin settings template
  • removed HTML optimization
  • refactor code
  • added sidebar html
  • updated pagecache action buttons
  • added page cache html footer
  • added "exclude" variable
  • added "tags" variable
  • added delete cache command

Version 1.3.1

April 14, 2025

Fixed

  • Fixed implicitly nullable parameters deprecation warning
  • Decode URL before checking against include/exclude list

Version 1.3.0

February 10, 2025

Changed

  • Deprecated csrfInput() variable
  • Added includeUrls config option
  • Don't cache pages when the current user is logged in

Fixed

  • Drastically improved DB queries

Version 1.2.3

August 17, 2023

Fixed

  • fixed migrations run on install
  • log response errors

Version 1.2.2

August 13, 2023

Fixed

  • added uid to PageCacheQueueRecord

Version 1.2.1

August 13, 2023

Added

  • added console command

Version 1.2.0

August 13, 2023

Added

  • added rewrite rules in README.md
  • added batch job handling

Fixed

  • fixed excludedUrls on all sites
  • disabled ElementAction buttons if plugin is disabled

Changed

  • fixed async requests in PageCacheTask
  • disable optimize HTML by default
  • decode (special characters) in path

Version 1.1.0

June 3, 2023

Added

  • added clear caches utility

Version 1.0.0

May 13, 2023

Fixed

  • cleanup pagecache.php
  • prevent loading jquery when using PageCacheVariable

Version 1.0.0-beta.8

March 18, 2023

Fixed

  • Fixed typo in PageCacheService::deleteAllPageCaches()

Version 1.0.0-beta.7

March 1, 2023

Fixed

  • Refactor recreate/delete cache when globals change

Version 1.0.0-beta.6

March 1, 2023

Fixed

  • Don't cache pages with active assets transforms
  • Remove __home__ from URIs
  • Refactor recreate/delete cache when globals change

Version 1.0.0-beta.5

February 27, 2023

Fixed

  • Fixed exception of $owner->owner

Version 1.0.0-beta.4

February 25, 2023

Fixed

  • Check sub-owner elements on relations

Version 1.0.0-beta.3

February 1, 2023

Fixed

  • Fixed string replace in PageCacheService@parsePath()

Version 1.0.0-beta.2

February 1, 2023

Added

  • Changed .htaccess rewrite rules location
  • Added images for plugin store

Fixed

  • Settings validation rules
  • PHP 7 compatibility

Version 1.0.0-beta.1

January 31, 2023

Added

  • Going live with beta

Version 0.0.1

December 13, 2022

Added

  • Project setup
  • Initial beta release