Version 3.15.0
Polyfills for IE have been removed from the Blitz inject script due to
polyfill.io
having been compromised.
Removed
- Removed the
fetch
,Promise
andCustomEvent
polyfills for IE from the Blitz inject script – if you need to support IE, you will need to add the polyfills yourself (#677).
Version 3.14.0
Version 3.12.10
Fixed
- Fixed a bug in which URLs containing the control panel trigger were not being cached (#532).
Version 3.12.9
Fixed
- Fixed a bug in which the Blitz Cache Utility was throwing an error when the
countCachedFiles
config setting was enabled (#492).
Version 3.12.8
Fixed
- Fixed a bug in which the "Served by Blitz" comment was not respecting the page specific options in the first request (#459).
Version 3.12.7
Changed
- Improved the performance of refresh job requests when cache generation is disabled (#456).
Version 3.12.6
Changed
- The cache is now purged at most once per cache refresh.
Version 3.12.5
Fixed
- Fixed an issue in which expiry dates were not being added or updated for pending entries (#422).
Version 3.12.4
Fixed
- Fixed a bug introduced in 3.12.3 when running PHP version 7 (#401).
Version 3.12.3
Fixed
- Fixed a bug in which queue drivers that do not support priorities were throwing an exception (#400).
Version 3.12.2
Changed
- Improved instruction text for
Query String Caching
setting and cleaned up settings elements.
Fixed
- Fixed a bug in which the
permissionsPolicyHeader
anddisallowRobots
general config settings were being accessed without ensuring that they exist first, since they were added in Craft 3.x (#398).
Version 3.12.1
The cache should be manually refreshed following this update in order to ensure the fix is applied.
Fixed
- Fixed responses being too eagerly cached, resulting in unintentionally cached pages (#397).
Version 3.12.0
Added
- Added
beforeRefreshCacheTags
andafterRefreshCacheTags
events to theRefreshCacheService
class (#386).
Changed
- Cached page responses now include the headers that Craft normally adds (#385).
Fixed
- Fixed deployers not being added as queue jobs when running via a console command (#384).
- Fixed exception handling in GitWrapper version 3.
Version 3.11.1
Changed
- The dynamic content inject script now only makes a single AJAX request per unique URL, including CSRF inputs and tokens (#329).
- The refresh cache job now ignores exceptions when executing element queries (#355).
Fixed
- Fixed a bug in which the URI passed into
craft.blitz.getUri()
was being converted into an action URL (#361). - Fixed a bug in which the query string was not being removed from a requested URI before determining the mime type.
Version 3.11.0
Added
- Added a duration to the Yii cache storage driver that is set from the value of the cache options
cacheDuration
property, which defaults to thecacheDuration
config setting (#353).
Changed
- Changed the SEOmatic integration to no longer trigger a refresh of single URIs, since Blitz takes care of those cases.
Fixed
- Fixed a bug in the element changed behavior logic that was not detecting modified fields and attributes in updated entries and therefore not refreshing cached pages in Craft 3.7.5 and above.
Version 3.10.8
The cache should be manually refreshed following this update in order to ensure the fix is applied.
Fixed
- Fixed action URIs by switching to using absolute URIs in template tags (#352).
Version 3.10.7
Fixed
- Fixed another bug in which pages in multi-site setups with subdirectories were not being cached to the correct URI (#351).
Version 3.10.6
Fixed
- Fixed a bug in which pages in multi-site setups with subdirectories were not being cached to the correct URI (#351).
Version 3.10.4
Changed
- The URL and query string is now URL-decoded in order to ensure that the requested site URI should be cached (#344).
- Changed action URIs to relative URIs in template tags (#345).
- Element queries are no longer cached when a query contains an expression criteria (#346).
- The deployer no longer removes files when pages are cleared from the cache (#348).
Version 3.10.3
Changed
- Improved the detection of whether a new entry was created in Craft CMS version 3.7.5 and above.
Security
- Query string paths are now validated to be at least one level deep if URLs with query strings are set to be cached as unique pages (#343).
Version 3.10.2
Fixed
- Fixed the cache not being refreshed when a new entry was created with Craft CMS version 3.7.x installed.
Version 3.10.1
Fixed
- Fixed a database migration error that could occur when Craft CMS is updated to version 3.7.0 before Blitz’s own migrations have run (#332).
Version 3.10.0
Added
- Added
paginate
as a page specific option for automating the warming of paginated URIs (#319). - Added user permissions for the refresh site utility (#214).
- Added the
includedQueryStringParams
config setting that compares query string params using regular expressions (#326). - Added the
warmPagesWithQueryStringParams
config setting that determines whether pages containing query string parameters should be warmed (#326).
Changed
- Front-end API requests now run the queue so that actions complete fully.
Fixed
- Fixed a bug in which expired entries were not being refreshed (#320).
Version 3.9.0
Added
- Added the ability to refresh a cached site with the new
Refresh Site
utility andrefresh-site
console command (#214). - Added the
isCacheableRequest
event toCacheRequestService
(#306). - Added the
queueJobTtr
andmaxRetryAttempts
config settings (#308).
Changed
- Improved console command messaging when a component is disabled.
- Changed the token request parameter check to use the value defined in the general config settings (#307).
- The site is now determined by matching the site with the longest base URL that matches a provided URL (#309, #310).
Fixed
- Fixed an error that could occur when an empty response was encountered with the local warmer (#305).
Version 3.8.0
Added
- Added a
Create Brotli File
setting to the File Storage driver (#297). - Added the ability to use
*
as a wildcard in theRefresh Cached URLs
utility andrefresh-urls
console command (#300).
Changed
- The values in the
excludedQueryStringParams
are now compared to query string params using regular expressions (#272). - The check for a cacheable request is now done inside the
Application::EVENT_INIT
event (#299).
Fixed
Version 3.7.0
This update optimises the performance of refresh cache jobs. The cache should be manually refreshed following the update in order to get the full performance benefits.
Added
- Added compatibility with Solspace Calendar and other plugins that use joins in element queries.
- Added an indication of how many pages were not warmed, if any, in console commands (#221).
- Added the ability to disable the warm cache utility by setting the cache warmer to “None” (#275).
Changed
- The deployer now removes files when pages are cleared from the cache (#218).
- The value of the
X-Powered-By
header is now appended, rather than added. - Optimised cached element queries.
Fixed
- Fixed a bug in which expired entries were not being cleared (#267).
Version 3.6.10
Fixed
- Fixed a bug introduced in version 3.6.9 that could prevent URL patterns being matched.
Version 3.6.9
Added
- Added the
countCachedFiles
config setting to the file storage driver.
Fixed
- Fixed a bug in which cached files containing encoded characters would not be cleared correctly (#252).
- Fixed a bug in which cached pages were not being correctly refreshed by the Yii Cache Storage driver (#257).
- Fixed a bug in the base site URL replacement logic (#258).
- Fixed hard-coded path param in check for cacheable request.
Version 3.6.8
Version 3.6.7
Version 3.6.6
Changed
- Added the ability to override site URIs before they are warmed (#230).
- Added primary keys to all database tables (#237).
- Optimised the element query parameters that are cached.
- Reordering elements within in a structure now triggers a cache refresh.
- The results of console commands are now logged.
- Improved IE compatibility in inject script.
Fixed
- Fixed a bug in which URLs containing encoded characters would not be served from cached files (#222).
- Fixed a bug in which query string containing encoded characters could result in a 404 error using the file storage driver (#224).
- Fixed a bug in which updated User elements were not triggering the clearing of the cache.
- Fixed a bug in which the homepage was not being cached if it had query strings.
Version 3.6.4
Fixed
- Fixed a bug with the SEOmatic integration that could cause issues when saving or deleting entry types (#215).
Version 3.6.3
Changed
- Output comments are no longer included for URIs that have a mime type that is not HTML (#76).
- Changed how the SEOmatic integration works so it respects the
clearCacheAutomatically
setting (#204).
Fixed
- Fixed a bug in which an expired element that did not exist in the primary site would not be refreshed (#199).
- Fixed a bug when trying to set a queue job priority when using a cache drive that does not support it (#201).
- Fixed an error that could be thrown in rare cases when saving an entry with Neo blocks (#205).
- Fixed an exception that could be thrown when using Redis cache if the connection is broken while attempting to get a cached value.
Version 3.6.2
Fixed
- Fixed a potential error if the
customSiteUris
setting was set to a string.
Version 3.6.1
Version 3.6.0
Added
- Added
refreshCacheWhenElementSavedUnchanged
andrefreshCacheWhenElementSavedNotLive
config settings. - Added
beforeAddElement
andafterAddElement
events toRefreshCacheService
.
Changed
- The cache will no longer be refreshed when an element is saved but unchanged (in Craft 3.4.0 or above), configurable using the new
refreshCacheWhenElementSavedUnchanged
config setting. - The cache will no longer be refreshed when an element is saved but not live, configurable using the new
refreshCacheWhenElementSavedNotLive
config setting. - The
craft.blitz.getTemplate
tag now renders the template using the same site as the request originated from.
Fixed
- Fixed an error that could occur if a site defined in the Cloudflare Zone ID settings was deleted (#192).
- Fixed a bug that could prevent the homepage from being refreshed in some cases.
- Fixed the table alignment in Blitz Cache Utility when the Yii Cache Storage was used.
Version 3.5.2
This update contains an important bug fix when using Blitz with multi-site. Once updated, the included/excluded URI patterns should be checked that they apply to the correct sites.
Fixed
- Fixed a bug in which the included/excluded URI patterns could be applied to the wrong sites if their IDs were out of original order.
Version 3.5.1
Changed
- The cached response is now output when the
Application::EVENT_INIT
event is triggered so that other plugins can perform actions before Blitz ends the script (#189).
Fixed
- Fixed a bug in which pages were being cached when a path param was provided in the query string.
Version 3.5.0
Added
- Added
excludedQueryStringParams
config setting (#177). - Added
injectScriptEvent
config setting (#179). - Added Commerce Order as a default non-cacheable element type (#180).
Changed
- Changed
getTemplate
tag to render a template as if it was a page. - Changed Blitz inject script to use
CustomEvent
instead of theEvent
constructor (#183). - Improved UI of tables in settings.
Version 3.4.1
Changed
- Improved File Storage utility UI.
Fixed
- Fixed incorrect cached page count in File Storage utility when the
Create Gzip Files
setting is enabled.
Version 3.4.0
Added
- Added refreshing of source tags to the refresh cache job.
Version 3.3.0
Added
- Added a
Create Gzip File
setting to the File Storage driver (credit to solvr.no). - Added
experimental
label to Local Warmer.
Changed
- Improved foreign key constraint checks before writing to the database (#174).
- Removed triggering of Blitz's garbage collection from Craft's garbage collection procedure.
Version 3.2.0
Added
- Added the automatic warming of new and updated elements that have not previously been cached (#141).
Changed
- If the URI has an extension with a matching mime type then it is used in the response (#167).
Fixed
- Fixed an error that could occur if
limit
oroffset
was set to a string rather than an integer. - Fixed call to undefined function
array_key_first
error (#168).
Version 3.1.1
Added
- Added an autosuggest environment variable
Email
field to the Cloudflare Purger. - Added
BaseIntegration
class.
Changed
- Element queries that are ordered by random are no longer stored in the database.
Version 3.1.0
This update optimises the performance of refresh cache jobs. The cache should therefore be manually refreshed following the update.
Added
- Added element query source IDs for more performant refresh cache jobs.
- Added a
X-Blitz-Warmer
header to cache warming requests. - Added
beforeSaveCache
andafterSaveCache
events.
Changed
- Element query ID parameters are now normalized for more performant refresh cache jobs.
- Improved debug messages.
Fixed
- Fixed a debug message error that could affect the local cache warmer.
Version 3.0.3
Added
- Added
beforeBlitzInject
,afterBlitzInject
,beforeBlitzInjectAll
,afterBlitzInjectAll
events to inject script. - Added more debug logs for cases in which pages are not cached.
Version 3.0.2
Added
- Added a
commands
config setting to define the paths to executable shell commands. - Added config setting warning messages for driver settings in the control panel.
- Added better support for custom remote deployers.
Changed
- The
cachePurgerTypes
anddeployerTypes
config settings now define the classes that will be added to the plugin’s default respective types.
Version 3.0.1
Changed
- Removed the addition of the
X-Powered-By
header forCraft CMS
.
Fixed
- Fixed an error that could occur when updating the plugin without having previously ever saved the settings.
Version 3.0.0
The
clearCacheAutomaticallyForGlobals
andwarmCacheAutomaticallyForGlobals
config settings have been replaced by a single newrefreshCacheAutomaticallyForGlobals
config setting. The URI patterns config setting format has changed, see the new format here. The folder path config setting format has changed, see the new format here.
Added
- Added replaceable remote deployers (Git Deployer).
- Added replaceable cache warmers (Guzzle Warmer, Local Warmer) with the ability to specify custom site URIs to be warmed.
- Added remote deploy and refresh cached URI actions to utility, console commands and user group permissions.
- Added a table to the database in which drivers can store data.
- Added an optional
params
parameter to thecraft.blitz.getUri
andcraft.blitz.getTemplate
variables. - Added logging of utility actions and other events and errors to
storage/logs/blitz.log
. - Added a
debug
config setting to debug why pages are not being cached. - Added a
refreshCacheAutomaticallyForGlobals
config setting. - Added a
mutexTimeout
config setting. - Added
beforeGetResponse
,afterGetResponse
,beforeClearCache
,afterClearCache
,beforeClearAllCache
,afterClearAllCache
,beforeFlushCache
,afterFlushCache
,beforeFlushAllCache
,afterFlushAllCache
,beforeRefreshCache
,afterRefreshCache
,beforeRefreshAllCache
,afterRefreshAllCache
,beforeWarmCache
,afterWarmCache
,beforeWarmAllCache
,afterWarmAllCache
,beforePurgeCache
,afterPurgeCache
,beforePurgeAllCache
,afterPurgeAllCache
,beforeDeploy
,afterDeploy
,beforeDeployAll
,afterDeployAll
events.
Changed
- Changed the URI patterns config setting format, see the new format here.
- Changed the File Storage folder path config setting format, see the new format here.
- Replaced the
clearCacheAutomaticallyForGlobals
andwarmCacheAutomaticallyForGlobals
config settings with arefreshCacheAutomaticallyForGlobals
config setting. - Replaced the
warmCacheJobPriority
with adeployJobPriority
config setting. - Replaced the
WarmCacheService
service with aBaseCacheWarmer
driver. - Removed the
beforeOutput
event (usebeforeGetResponse
orafterGetResponse
instead). - Changed the
cacheControlHeader
to includemax-age
. - Made the Mutex locks broader to help catch integrity constraint violation errors.
- General performance and control panel UI improvements.
Fixed
- Fixed user group permissions for refreshing the cache.
Version 2.3.4
Changed
- Improved element query caching to help catch exceptions (#136).
Version 2.3.3
This update optimises the cache invalidation process therefore the cache should be refreshed following the update to take advantage of the improvements.
Changed
- Improved performance and stability of cache invalidation by removing redundant element queries.
Version 2.3.2
Fixed
- Fixed bug introduced in 2.3.1.
Version 2.3.1
Added
- Added a timestamp to the
Served by Blitz
HTML comment.
Fixed
- Fixed element queries not being stored for cache invalidation if they specified an ID to exclude using the
id
parameter. - Fixed response headers not being sent in the initial cache output in some cases.
Version 2.3.0
Added
- Added the ability to dynamically get and inject templates with the
craft.blitz.getTemplate
template tag and theTemplatesController::actionGet
controller action (#129). - Added unique zone IDs for each site to the Cloudflare reverse proxy purger settings.
- Added warm cache delay setting to the Cloudflare reverse proxy purger settings.
- Added the
refreshCacheJobPriority
andwarmCacheJobPriority
config settings to change the priority of the respective cache jobs. - Added unit tests to the plugin.
Changed
- Cached pages that Blitz knows about are now cleared earlier in the refresh cache job process.
Fixed
- Fixed warming of cache URLs that should be excluded from caching (#130).
- Fixed links to the documentation in the plugin settings.
Version 2.2.3
Changed
- Improved tracking of element queries in the database.
Version 2.2.2
Fixed
- Fixed bug introduced in 2.2.0.
Version 2.2.1
Changed
- Improved the performance of warming the entire site by excluding irrelevant URLs.
Version 2.2.0
Added
- Added
X-Requested-With: XMLHttpRequest
header to dynamic content AJAX requests. - Added a
$cacheComponent
setting toYiiCacheStorage
(#128).
Changed
- Pages are no longer cached if there are any transform generation URLs in the body (#125).
- Improved tracking of element queries in the database.
Fixed
- Fixed the warning about the
cachingEnabled
config setting that was not appearing.
Version 2.1.5
Added
- Added the ability to dynamically fetch the CSRF param and a CSRF token with the
craft.blitz.csrfParam
andcraft.blitz.csrfToken
template tags and theCsrfController::actionParam
andCsrfController::actionToken
controller actions. - Added the
blitz/cache/generate-expiry-dates
console command that generates expiry dates for entries and stores them to enable refreshing expired cache (this generally happens automatically).
Changed
- Changed how
X-Powered-By
headers are returned.
Fixed
- Fixed an issue in which the cache could be warmed even when caching was disabled.
Version 2.1.4
Changed
- Changed minimum requirement of Craft to version 3.2.1 for detecting preview requests.
- Improved SEOmatic integration when resaving elements.
Fixed
Version 2.1.3
Fixed
- Fixed commented code in SEOmatic integration. 😈
Version 2.1.2
Fixed
- Fixed minimum required SEOmatic version number.
Version 2.1.1
Changed
- Changed SEOmatic integration to require version 3.2.14.
Fixed
- Fixed MySQL database error that could occur with
innodb_large_prefix
disabled when installing or updating the plugin (#113). - Fixed plugin integrations to only be loaded if the required plugin version is met.
Version 2.1.0
This update requires some changes to the server rewrite code in order to continue working with live preview. Please reference the documentation for details.
Added
- Added compatibility for drafts and revisions in Craft 3.2.0.
- Added integrations with Feed Me and SEOmatic (#93).
- Added queue job progress labels when refreshing and warming the cache.
- Added Campaign plugin contacts as non cacheable element type.
- Added new events to detect when elements are being resaved and propagated in order to prevent multiple refresh cache jobs from being unnecessarily created (#98).
- Added user group permissions for each of the available functions in the Blitz cache utility (#104).
- Added
beforeOutput
event (#112).
Changed
- Changed minimum requirement of Craft to version 3.2.0.
- Improved queue job progress feedback when refreshing and warming the cache.
- Assets that are being indexed no longer trigger refresh cache jobs.
- Settings are now saved with a warning message even if purger test fails.
- Changed maximum length of URIs to 500 characters(#105).
Version 2.0.10
Added
- Added the
blitz/cache/generate-expiry-dates
console command that generates entry expiry dates and stores them to enable refreshing expired cache (this generally happens automatically)
Version 2.0.9
This update adds better handling of drafts and revisions and is recommended to install before updating to Craft 3.2.
Added
- Added better handling of drafts and revisions for the update process to Craft 3.2.
- Added Super Table elements and Campaign plugin contacts as non cacheable element types.
Version 2.0.8
Added
- Added
clearCacheAutomaticallyForGlobals
config setting.
Changed
- Removed prepending of BOM characters to cached values to force UTF8 encoding (#89).
- Changed default
cachePurgerSettings
to reflect Cloudflare purger inconfig.php
.
Version 2.0.7
Changed
- Implemented extra preventative measures to help avoid integrity constraint violations when writing to the database.
Version 2.0.6
Changed
- Optimised how element site URIs are fetched from database.
Fixed
- Fixed check for cacheable request when system is turned off.
Version 2.0.5
Added
- Added CP template roots for custom cache purgers.
Version 2.0.4
Changed
- Changed use of database transaction with mutex when generating and saving cache in database.
Fixed
- Fixed redirect after install to only be called on web requests.
- Fixed error that could occur when migrating from Blitz version 1.
Version 2.0.3
Changed
- Reverted changes to migrations to only run if schema version in
project.yaml
has not already been updated (red herring).
Version 2.0.2
Added
- Added a warning in the settings if the
@web
alias is used in a site’s base URL.
Changed
- Changed migrations only run if schema version in
project.yaml
has not already been updated. - Changed how database rows are inserted in bulk to prevent integrity constraint violation errors.
Version 2.0.1
Added
- Added
refreshAll()
method toRefreshCacheService
.
Fixed
- Fixed site base URL when it contains an environment variable (#80).
Version 2.0.0
Added
- Added replaceable cache drivers (File Storage, Yii Cache).
- Added replaceable reverse proxy purgers (Cloudflare Purger).
- Added twig tag for setting template specific cache options including tags and expiry dates.
- Added refresh tagged cache action to utility and controllers.
- Added purge cache action to utility and controllers.
- Added environment variables to file driver field.
- Added garbage collection to cache records and element query records.
- Added welcome screen that appears after install.
- Added logging of file and request exceptions.
- Added prevention of caching dynamically injected content.
- Added an API key that can be used to clear, flush, purge, warm and refresh cache via a URL.
- Added cache tag header when reverse proxy purger is enabled.
- Added warning in console
cache/warm
command if@web
is unparsed in a site base URL. - Added
clearCacheAutomatically
setting. - Added
cacheControlHeader
config setting. - Added
outputComments
config setting.
Changed
- Changed minimum requirement of Craft to version 3.1.0.
- Changed behaviour of flush and warm cache actions.
- Cache header tags are added on the first render of a cacheable page.
- Cache is invalidated when elements are updated through non control panel requests.
- The primary site is now warmed first.
- Global set updates only clear the cache of the site that they belong to.
- Neo blocks are now considered non-cacheable element types.
- Cached pages are not output to users who cannot access the site when the system is off.
- File storage driver only saves files in sub paths of the site path.
Version 1.11.5
Fixed
- Fixed refreshing of expired cache when run through a console command.
Version 1.11.4
Fixed
- Fixed error which could appear when query params were longer than the available column size.
Version 1.11.3
Added
- Added clear cache options in control panel and console commands (requires Craft 3.0.37 or above).
Fixed
- Fixed bug whereby the the cache was being flushed too early when warming with the utility.
- Fixed expiry date being deleted too early when an element cache was refreshed if it had both a future post and expiry date.
Version 1.11.2
Changed
- Expiry dates are now applied to all element types that have
postDate
andexpiryDate
fields, not just entries. - Changed cache folder path to relative path in utilty.
Fixed
- Fixed functionality for elements with future post dates when refreshing expired cache.
Version 1.11.1
Fixed
- Fixed bug when refreshing expired cache.
Version 1.11.0
This update optimises the plugin's database tables and the cache should therefore be warmed manually following the update.
Added
- Added expiry date to elements, specifically to entries with future post dates or expiry dates.
- Added utility and console command to refresh elements with expiry dates.
- Added
nonCacheableElementTypes
config setting. - Added optimisations to make the cached element queries more lightweight.
Changed
- Replaced ability to clear sites in utility with table of cached sites.
Version 1.10.2
Added
- Added flush cache utility and console command.
- Added
warmCacheAutomaticallyForGlobals
config setting.
Version 1.10.1
Added
- Added comments to Blitz console commands when running
./craft
from the terminal.
Fixed
- Fixed error when clearing the cache from the utility.
Version 1.10.0
This update optimises the plugin's database tables and the cache should therefore be warmed manually following the update.
Added
- Added optimisations to make the caching process faster and more performant.
- Added
afterRefreshCache
event for third-party plugins to use. - Added a blank field as an alias for the homepage when matching URI patterns.
Changed
- Changed ability to clear individual file paths to entire sites in utility.
- Changed dynamically injected tag from
div
tospan
and added ablitz-inject
class for easier styling.
Fixed
- Fixed config warnings that were not being displayed on settings page.
Version 1.9.2
Added
- Added
sendPoweredByHeader
config setting to determine whether anX-Powered-By: Blitz
header should be sent.
Fixed
- Fixed a bug in which homepage was not cached if the site base URL contained a trailing slash.
Version 1.9.1
Fixed
- Fixed a bug that prevented the CSRF field being shown to anonymous users.
Version 1.9.0
You can now inject dynamic content into cached pages using the new twig tags.
Added
- Added a twig tag to dynamically inject the content of a URI into a cached page.
- Added a twig tag to dynamically inject a CSRF input field into a cached page.
Version 1.8.0
A new
concurrency
setting is available in the plugin settings for faster cache warming.
This update optimises the plugin's database tables and the cache should therefore be warmed manually following the update.
Added
- Added multiple concurrent requests when warming the cache with a new plugin setting.
- Added new option to cache URLs with unique query strings as the same page (#40).
- Added the ability to disable element caches and element query caches from being stored in the database with the config settings
cacheElements
andcacheElementQueries
(#41). - Added check for currently logged in user having the
enableDebugToolbarForSite
setting enabled, in which case caching does not happen.
Changed
- Optimised how element queries are stored to avoid duplicates and reduce required database storage (#41).
- Improved messages and progress bar behaviour in warm cache console command.
Fixed
- Fixed bug where warm cache job fails if a server error is encountered (#42).
Version 1.7.1
Fixed
- Fixed info text for URI patterns.
Version 1.7.0
Added
- Added multi-site functionality to URI pattern matching (#39).
- Added progress bar to warm cache console command.
Version 1.6.9
Changed
- Optimised caching process to speed up initial page load time.
- Changed Guzzle client to use default config values.
Fixed
- Fixed a bug with caching paginated pages.
Version 1.6.8
Fixed
- Fixed a bug that affected sites with locale/language segments in the base URL.
Version 1.6.7
Fixed
- Fixed caching and invalidation of URIs with query strings.
Version 1.6.6
Fixed
- Fixed a bug introduced in 1.6.5.
Version 1.6.5
Fixed
- Fixed a bug when checking whether URLs with query strings should cached.
- Fixed an error that could occur if the URI pattern was set to "
*
".
Version 1.6.4
Changed
- Cached files are deleted immediately when elements that have a URI are updated.
Version 1.6.3
Changed
- Improved performance of cache invalidation in refresh job.
Version 1.6.2
Fixed
- Fixed an error that could occur if no host was found in the site URL.
Version 1.6.1
Fixed
- Fixed a site URL alias that was not converted to an absolute URL.
Version 1.6.0
Added
- Added queue job for refreshing cache based on element changes which can require a lot of processing.
- Added
registerNonCacheableElementTypes
event toCacheService
class.
Changed
- Optimised caching tables by not caching global sets or matrix blocks.
Version 1.5.5
Fixed
- Fixed a bug that originated from leading slashes not being trimmed when matching a URI [#29].
Version 1.5.4
Fixed
- Fixed bug when saving elements when caching is enabled.
Version 1.5.3
Fixed
- Fixed bug that could occur when element query cache records had no existing cache ID.
Version 1.5.2
Added
- Added "Warm Cache Automatically" setting (#21).
Version 1.5.1
Changed
- Patterns are normalized to strings to allow for flat arrays in config settings (#17).
Version 1.5.0
Added
- Added "Query String Caching" setting.
- Added
%{QUERY_STRING}
tomod_rewrite
code sample in docs.Changed
- Disabled caching of URLs beginning with
/index.php
to avoid issues whenmod_rewrite
is enabled.
Version 1.4.3
Fixed
- Fixed bug with App not being defined when cache warmed.
Version 1.4.2
Changed
- Calls for max power before warming the cache to prevent timeouts or memory limits being exceeded.
- Enabled cache clearing even if "Caching Enabled" setting is disabled.
Version 1.4.1
Fixed
- Fixed bug where 404 error templates were being cached.
- Fixed error that occurred when warming cache with the console command when
@web
was used in a site URL.
Version 1.4.0
Added
- Added automatic cache clearing and warming to pages that contain element queries.
Version 1.3.0
Added
- Added functionality for multi-site setups.
- Added UTF8 encoding to cached files .
Version 1.2.3.1
Fixed
- Fixed bug when reordering structure elements in the CP.
Version 1.2.3
Fixed
- Fixed bug when reordering structure elements in the CP.
Version 1.2.2
Changed
- Changed plugin icon.
Version 1.2.1
Fixed
- Fixed bug where excluded URIs were still being cached.
Version 1.2.0
Added
- Added button to utility to clear all cache.
- Added button to utility to warm cache.
- Added console command to warm cache.
Version 1.1.1
Added
- Added console command to clear all cache.
Fixed
- Fixed error that occurred when running console commands.
Version 1.1.0
Added
- Added cache breaking for all cached template files that used an element that is saved or deleted.
Changed
- Changed template render event to a later firing event.
Version 1.0.4
Fixed
- Fixed clearing cache when URI is homepage.
Version 1.0.3
Fixed
- Fixed error that could occur when a section has a blank URI format.
Version 1.0.2
Fixed
- Fixed cachingEnabled setting checks.
Version 1.0.1
Fixed
- Fixed error when URI Patterns were empty.
Version 1.0.0
- Initial release.