Changelog
1.11.16 (2026-09-07)
Features
- Automatic detection of a cache flush made outside Magento — until now, emptying the Full Page Cache from outside PHP (a
redis-cli FLUSHDB, a deploy that clears the Redis instance, a Varnish restart) left every page marked as cached forever: the grid kept reporting "Found in FPC" while the cache held nothing, and those pages were never warmed again. One store had 141,390 of 150,427 pages still reported as cached more than a day after its Redis was flushed. The extension now checks once a minute whether the cache still holds what it put there, and returns the emptied pages to the warming queue by itself. The check runs over HTTP, so it works on every cache backend — built-in Redis or file cache, Varnish, LiteMage and NitroPack alike. Because a wrong verdict would re-warm an entire store, it only acts on a confirmed flush: a cache that was never storing pages, an entry that simply expired, or a store that was unreachable all leave page statuses untouched, and pages warmed after the flush are left alone. Every decision it makes is written to the log, whether or not Debug information is enabled - Reset the warming status of pages on demand — a new Reset status action in the Pages grid, and a new
bin/magento mirasvit:cache-warmer --reset-statuscommand, mark pages as pending so the warmer picks them up again. Use it after clearing the cache yourself, as a deploy step, or to recover a store whose statuses have gone stale without waiting for the automatic check. It changes only what the extension believes about a page — unlike Clean, nothing is removed from the cache — and it is fast enough for very large catalogues (a 635-page store was reset in a single pass)
Improvements
- Storefront pages render with fewer database queries when Debug information is enabled — the extension used to re-read the same page and warm-rule rows up to four times per request (15 queries against its own tables on a typical product page, now 6). Page output is unchanged
- ⚠️ On stores that leave Magento's Full Page Cache lifetime at 0 (common when LiteMage or LiteSpeed manages expiry itself), the cache-status check does something again. Version 1.11.15 stopped it entirely to end a crawl that re-requested every cached page on every run, which left those stores with no reconciliation at all: a page that lost its cache entry early kept its "Found in FPC" status indefinitely. It now checks one bounded batch per warm rule per run, least-recently-checked pages first, so consecutive runs cover the whole set and the runaway cannot come back.
bin/magento mirasvit:cache-warmer --statusreconciles on those stores again too, which means it now walks every page instead of returning immediately: worth knowing if you have that command in a deploy step, because on an external cache every page is one request to your site - ⚠️ Upgrading runs a database update: an index is added to the Cache Warmer pages table (which speeds up cache-status checks on large stores), and any rows the page collector had recorded for the extension's own internal heartbeat URL are removed. Run
bin/magento setup:upgradeas usual after updating - ⚠️ A new hidden configuration path,
cache_warmer/extended/session_cookie_ttl, controls how long a warmer session cookie stays valid. It defaults to 3600 seconds and cannot be set below 60; there is no need to change it unless you want a tighter bound - ⚠️ The Cache Warmer config model no longer takes a request object in its constructor. If you have a custom class that extends it or builds it by hand, drop that argument — everything wired through Magento's dependency injection updates itself
- ⚠️ Three unused classes were deleted:
Model\Config\Source\WarmStrategy,Model\Config\Source\WarmPageTypeOrderandModel\Page\Generator. Nothing in the extension or its companion modules referenced them, and no published interface changed
Fixed
- Fixed the cache status check re-verifying the same pages over and over on any store with a Full Page Cache lifetime configured — the check kept re-requesting pages that were still well inside their lifetime until it ran out of time, on every warming job, which at the default schedule means every two minutes. On a three-page test store this produced 148,741 verifications in a single run. On every cache backend except Magento's built-in one each verification is an outbound HTTP request to your own site, so the visible symptom was a hosting bill rather than a broken storefront: one store reported its AWS traffic tripling (~2.08M requests / 871 GB over two months) and dropping 72% the day the extension was switched off. Pages are now verified at most once per status run, dead URLs that answer 301/302/404 are dropped instead of being re-marked as cached, and a page that answers with a server error is no longer recorded as freshly cached
- Fixed pages found by crawling never being re-checked, so they kept a stale "Found in FPC" status long after their cache entry was gone — pages that had not yet been matched to a warm rule were skipped by the status check entirely (a regression introduced in 1.11.14)
- Fixed pages with no stored status never being warmed at all — on stores upgraded from an older version, such pages were invisible to the warmer permanently
- Fixed a security issue that allowed anyone who had seen a warmer cookie value — from a browser, an access log, or the admin Show curl request view — to forge one and be served pages as a logged-in customer of any customer group. Warmer session cookies are now signed with a per-installation secret that is never sent to the browser, and any cookie that fails the check is rejected. Cookies also carry a signed expiry now, so a captured one can no longer be replayed indefinitely; rejections are recorded in the log so a store that has quietly fallen back to guest rendering can be spotted
- Fixed a security issue that let an anonymous visitor empty your Full Page Cache — the "Clean Cache" storefront URL accepted any page id, so walking the ids purged the entire warmed set. The link is now signed by the extension and unsigned requests are refused
- Fixed a warm rule's HTTP header or cookie line being silently discarded when its value was
0(for exampleHeader:0) — the line was dropped without any message - Fixed an error when running
bin/magento mirasvit:cache-warmer --statuson a store with pages that had never been warmed yet — pages imported from a page source have no cache id until their first warming pass, and asking the cache about them raised a fatal error on Magento 2.4.9 and a deprecation notice on earlier versions - Fixed the storefront debug toolbar being visible to anyone who added
?debug=warmerto a page URL — the toolbar exposed cache status and the list of non-cacheable blocks to any anonymous visitor, even when Debug information was switched off in the module settings (the default) and no matter which IP addresses were allowed. The toolbar now shows up only when you enable it in the admin - Fixed cookie values containing an
=sign being cut short, and pages with an empty cookie value producing a PHP warning in the log
1.11.15 (2026-08-12)
Fixed
- Compatibility with PHP 8.5 — Reflection access in the debug plugin is now guarded by PHP version, so PHP 8.5 no longer reports a deprecation.
1.11.15-beta5 (2026-08-11)
Fixed
- Fixed
bin/magento cache:flushand admin "Flush Cache Storage" being silently blocked by "Forbid cache flushing" on Magento 2.4.9 — Magento 2.4.9 changedTagScope::clean()to rewrite a full flush into a matching-tag mode before it reaches the Cache Warmer decorator, causing the allow-check to never fire. The check now recognises both the pre-2.4.9CLEANING_MODE_ALLshape and the 2.4.9 tag-scoped shape as a legitimate full flush, restoring the documented behaviour where CLI and admin full flushes bypass the restriction
1.11.15-beta2 (2026-07-07)
Fixed
- Fixed the cache status check re-crawling every cached page when Magento's Full Page Cache TTL is 0 (common when LiteMage/LiteSpeed manages the TTL itself) — with no TTL there is nothing to expire, so both the cron status update and the
mirasvit:cache-warmer --statusCLI command now skip the crawl instead of re-requesting every cached page - Fixed LiteMage cache-status verification incorrectly reporting warmed pages as pending, and creating a new LiteMage cache object on every check — LiteMage treated the warmer's status cookie as a distinct cache variant, so each probe was a miss. For LiteMage, the status is now verified via the
X-LiteSpeed-Cacheresponse header instead of the status cookie, so probes hit the existing cache - Fixed a race condition that allowed two warming runs to start concurrently — the run lock now uses an atomic connection-scoped lock instead of a read-then-write on
core_config_data
1.11.15-beta1 (2026-07-03)
Fixed
- Fixed the cache status check running endlessly and re-crawling every cached page until the cron time limit on stores where Magento's Full Page Cache lifetime (TTL) is left at 0 — common when LiteMage/LiteSpeed manages the cache TTL itself. With no TTL set there is nothing to expire, so the status check now finishes correctly instead of looping
1.11.14 (2026-06-04)
Fixed
- Fixed incorrect page type detection for pages using Mirasvit SEO Filter with static filters (On Sale, In Stock, New Products, Rating) or category subcategory filters — these pages are now correctly identified as filtered navigation pages and warmed accordingly
- Fixed a PHP deprecation warning logged when the Cache Warmer debug toolbar received a request without the
nonCacheableBlocksparameter
1.11.13 (2026-05-27)
Fixed
- Warning messages were written to the log on every warmed page when any hole-punch or warming configuration field was left empty — empty values are now handled correctly before deserialization
1.11.12 (2026-05-25)
Fixed
- Fixed PHP Object Injection vulnerability in session cookie deserialization
1.11.11 (2026-05-18)
Fixed
- Fixed fatal error during cache warming on stores running PHP 8.5 —
curl_close()was removed in PHP 8.5 and is now only called on PHP 7.x where it is required
1.11.10 (2026-05-04)
Improvements
- Localized the extension into 15 core locales (Arabic, Czech, German, Spanish, French, Italian, Japanese, Dutch, Polish, Brazilian Portuguese, European Portuguese, Swedish, Turkish, Ukrainian, Simplified Chinese)
1.11.9 (2026-04-10)
Fixed
- Fixed warming cron crashing when a job's error status could not be saved due to a temporary database issue — the cron now logs the save failure and continues processing remaining jobs
1.11.8 (2026-04-09)
Improvements
- Stale warming jobs are now marked with a "timeout" status instead of being silently closed, making it easier to spot jobs that didn't finish in time
- Job errors are now logged with details for easier troubleshooting
Fixed
- Fixed warming locks never being released if a job crashed, which blocked all future warming runs until the store cache was manually cleared — locks now automatically expire after a safe timeout
- Fixed a single failing warming job stopping all remaining jobs in the queue — each job is now handled independently, and warming stops only after 3 consecutive failures
- Fixed an inverted lock condition that could allow concurrent warming runs or prevent legitimate runs from starting
1.11.7 (2026-03-26)
Improvements
- Improved detection of TTL-expired pages during cache status updates — pages re-cached by organic traffic now have their
cached_attimestamp refreshed, preventing repeated unnecessary checks
1.11.6 (2026-03-24)
Features
- Retry failed warming requests — new configuration option to control whether failed warming requests are retried (previously always retried, now opt-in)
Improvements
- TTL-aware cache status updates — pages whose cache has expired based on TTL are now prioritized during status checks
- ⚠️ New database index on
(main_rule_id, status, cached_at)for improved query performance - Compatibility with Magento 2.4.9
1.11.5 (2026-02-11)
Fixed
- Fixed "Trying to access array offset on null" error in cache fill rate calculation when no pages exist
1.11.4 (2025-12-17)
Fixed
- Fixed pages being collected and processed incorrectly when a custom base link URL (with custom store route) is configured in multistore setups
1.11.3 (2025-10-21)
Fixed
- Fixed unescaped output in admin templates for improved security (XSS hardening)
1.11.2 (2025-10-06)
Improvements
- Improved checkout page detection for cache tracking exclusion — now correctly excludes third-party checkout modules (e.g., Amasty OnePageCheckout)
1.11.1 (2025-07-29)
Fixed
- Fixed warm job custom cron expression not working as expected after the 1.10.3 settings restructuring
1.11.0 (2025-06-23)
Improvements
- WCAG 2.2 AA compliance improvements across admin and frontend templates
- Crawler and sources user-agents updated to modern browser signatures, with automatic background migration of existing page data
1.10.15 (2025-06-12)
Improvements
- Improved sitemap source sync for child sitemap files with custom or non-standard paths — now uses proper URL parsing for reliable path resolution
1.10.14 (2025-06-12)
Improvements
- Code quality annotation added for sitemap source processing
1.10.13 (2025-06-02)
Fixed
- Fixed page cache identifier interface detection for multistore instances running Magento 2.4.7+ with ACSD-62591 patch applied
1.10.12 (2025-05-26)
Features
- Exclude cookies from warmup queue — configure which cookies to ignore when building page cache identifiers, with sensible defaults for analytics cookies
Fixed
- Fixed page status checking for multistore instances running Magento 2.4.7+ with ACSD-62591 patch (new PageCacheId abstraction)
1.10.11 (2025-05-12)
Improvements
- Added detection of Mirasvit Brand filter pages for proper page type classification
- Added configurable delay between crawler requests to reduce server load
- Debug toolbar now checks authorization via AJAX before rendering, preventing it from showing to unauthorized users on Varnish-cached pages
Fixed
- Fixed SEO filter page detection logic (was always evaluating to true due to assignment instead of comparison)
1.10.10 (2025-04-10)
Improvements
- Compatibility with Magento 2.4.8 (updated method signatures with return type declarations)
1.10.9 (2025-03-19)
Improvements
- Cache statistics tracking is now automatically skipped on checkout pages
1.10.8 (2025-02-21)
Improvements
- Added NitroPack cache detection and compatibility — admin info panel and debug toolbar now correctly identify NitroPack cache status
1.10.7 (2025-02-05)
Fixed
- Fixed HTTP auth credentials not being read after the 1.10.3 settings restructuring (added fallback to legacy config paths)
1.10.6 (2025-01-29)
Improvements
- Improved database queries for cache status checking
1.10.5 (2025-01-20)
Fixed
- Fixed compatibility issue with Magento 2.3.x
1.10.4 (2025-01-13)
Fixed
- Fixed regex expression validation on config save broken by the 1.10.3 settings restructuring
1.10.3 (2025-01-13)
Improvements
- Redesigned admin configuration panel — settings regrouped into logical sections with improved tooltips, documentation, and styling
- ⚠️ System configuration group IDs changed (e.g.,
performance→performance_settings) — may affect third-party integrations referencing old config paths
1.10.2 (2025-01-08)
Fixed
- Fixed layout merging conflict with Hyva-based themes by refactoring from class preference to plugin approach
1.10.1 (2024-12-16)
Fixed
- Fixed error during execution of the
mst_cache_warmer_update_pagescron job when URLs don't match any configured warm rules
1.10.0 (2024-12-09)
Features
- Customer Group column — added filterable "Customer Group" column to the Pages grid
Improvements
- Statistics charts updated with improved visualizations
- Cache fill rate calculation now considers page popularity for more accurate reporting
- Server load detection improved
1.9.13 (2024-10-16)
Improvements
- Extended "Forbid cache flushing" feature to work with LiteMage cache
1.9.12 (2024-10-10)
Fixed
- Fixed warming pages with FishPig Bolt FPC — now checks both module presence and enabled status in config, and handles case-insensitive header detection
1.9.11 (2024-10-08)
Fixed
- Fixed incorrect page statuses when FishPig Bolt FPC is used (added
X-Bolt-Idheader detection)
1.9.10 (2024-08-05)
Features
- Clean cache from toolbar — added a "Clean Cache" link in the debug toolbar that clears cache for the current page with one click
1.9.9 (2024-06-07)
Improvements
- Minor JavaScript improvements in toolbar and tracking scripts
1.9.8 (2024-05-09)
Improvements
- Compatibility with Mirasvit GDPR 1.4.x — cache warmer cookies registered as required cookies for cookie consent
1.9.7 (2024-03-27)
Fixed
- Fixed extension functionality (cache flush logging, toolbar, tracking) still running when the extension is disabled in configuration — now properly checks enabled status across all components
1.9.6 (2024-03-25)
Improvements
- Added informational messages for Visitors' actions and Crawler sources when running the
sync-sourceCLI command
1.9.5 (2024-03-11)
Improvements
- Pages with uncacheable status for more than 90 days are now automatically removed during cron cleanup
1.9.4 (2024-03-01)
Improvements
- Ability to create the "Visitors' actions" source from the admin panel if it wasn't added during install/upgrade
- Admin panel now shows warnings when the default source is missing or data version needs updating
1.9.3 (2024-02-27)
Improvements
- Store label added to sitemap dropdown in source configuration
- Field validation added to admin forms
Fixed
- Fixed the extension stopping when the
trace_idfield inmst_cache_warmer_tracereaches the integer limit
1.9.2 (2024-02-23)
Features
- PHPSESSID cookie control — new "Use PHPSESSID cookie in requests" configuration option (opt-in) for the session-reuse feature introduced in 1.9.1
Fixed
- Fixed error when loading the Pages grid with a very large number of pages (500k+)
- Improved template output escaping for security hardening
1.9.1 (2024-02-05)
Improvements
- Reduced number of PHP sessions created by the warmer — crawler now reuses sessions by sending a deterministic PHPSESSID cookie
1.9.0 (2023-08-31)
Improvements
- Compatibility with FastlyCDN (Magento Cloud) — changed warmer status check response to HTTP 202 with
Cache-Control: no-storeheader
Fixed
- Fixed mass delete for sources in the admin panel
1.8.9 (2023-08-01)
Fixed
- Fixed error on Warm Rule edit page (Magento Commerce/EE compatibility)
1.8.8 (2023-07-10)
Fixed
- Fixed errors on popularity update requests (PHP 8.1 compatibility)
- Fixed link to user manual
1.8.7 (2023-07-03)
Fixed
- Fixed "mb_convert_encoding(): Unable to detect character encoding" errors in debug mode
1.8.6 (2023-06-23)
Improvements
- Added Fastly CDN cache type recognition in admin info panel and debug toolbar
Fixed
- Fixed default source being editable when it should be read-only
1.8.5 (2023-06-20)
Fixed
- Fixed pages not being collected when a config-dependent noncacheable block is present in the page layout
1.8.4 (2023-06-14)
Fixed
- Fixed error on Cache Flushes page (Magento Commerce/EE)
1.8.3 (2023-04-24)
Fixed
- Fixed "Impossible to process constructor argument" error on
module:uninstall
1.8.2 (2023-03-24)
Improvements
- Fixed CMS home page identification to use configured home page instead of hardcoded value
Fixed
- Fixed memory exhaustion when running
mirasvit:cache-warmer --remove-all-pages— now uses bulk table truncation instead of iterating over each page
1.8.1 (2023-03-17)
Fixed
- Fixed sitemaps being broken when debug mode is enabled (debug styles were injected into sitemap XML)
1.8.0 (2023-01-24)
Improvements
- CLI crawler output improved with better progress reporting
- Avoided unnecessary upgrade script execution on repeated deployments
1.7.11 (2023-01-16)
Fixed
- Fixed database upgrade errors when upgrading from pre-1.7.0 versions (corrected patch classification)
1.7.10 (2022-12-05)
Improvements
- Warm rules are now automatically re-evaluated when page popularity changes
1.7.9 (2022-12-05)
Fixed
- Fixed FishPig Bolt FPC being incorrectly detected as disabled full page cache
1.7.8 (2022-11-22)
Fixed
- Fixed PHP deprecation warning "curl_multi_exec(): Passing null to parameter 2 of type int is deprecated"
1.7.7 (2022-11-04)
Fixed
- Fixed jQuery.cookie compatibility issue with Magento 2.4.5
1.7.6 (2022-10-19)
Improvements
- Prevented unnecessary config cache flushes during the update-pages cron job
- Code quality improvements for Magento Marketplace compliance
1.7.5 (2022-09-22)
Improvements
- Debug toolbar now displays correctly by IP when Varnish is enabled
Fixed
- Fixed minicart not updating when FPC is disabled on Hyva themes
- Fixed console commands not returning proper exit codes
1.7.4 (2022-07-19)
Fixed
- Fixed "Call to undefined method Logger::err()" error
1.7.3 (2022-06-22)
Fixed
- Fixed conflict with Magento's built-in ChartJs library version
1.7.2 (2022-06-20)
Fixed
- Fixed potential database schema conflicts during upgrades
1.7.1 (2022-06-13)
Fixed
- PHP 8.1 compatibility fix in CURL service
1.7.0 (2022-05-23)
Improvements
- ⚠️ Migrated database schema from legacy install/upgrade scripts to Magento declarative schema (
db_schema.xml) and data patches — removed 20+ legacy setup files
1.6.14 (2022-05-17)
Improvements
- Updated mirasvit/module-report dependency
1.6.13 (2022-03-14)
Fixed
- PHP 8.1 compatibility — refactored Logger to use plugin-based approach and fixed type-related issues
1.6.12 (2022-01-20)
Improvements
- Crawler now stops automatically if a referenced customer group no longer exists or has no customers
1.6.11 (2022-01-11)
Fixed
- Fixed default source operations with custom
auto_incrementstep in database
1.6.10 (2022-01-05)
Features
- Configurable crawler delay — added setting to control delay between crawler requests to reduce server load
Fixed
- Fixed "Call to a member function getIsActive() on bool" error with custom
auto_incrementstep in database
1.6.9 (2021-12-17)
Improvements
- Cache records now vary based on design settings and User-Agent rules, creating separate cache entries for different device types
1.6.8 (2021-11-02)
Improvements
- Consolidated server load statistics into the main info panel
- Improved admin grid layouts and chart styling
1.6.7 (2021-10-13)
Improvements
- Removed unnecessary product and category save plugins for better performance
- Skip cache flush tracking during performance fixture generation
1.6.6 (2021-10-13)
Fixed
- Fixed trace/backtrace display in the Cache Flushes grid when the flush reason is not detected
1.6.5 (2021-10-06)
Features
- Disable cache flush backtraces — option to stop saving cache flush backtraces to the database while still recording the flush reason
- Disable default source — option to disable the default URL source
1.6.4 (2021-09-20)
Fixed
- Fixed crawler not sending store cookie in multistore setups
1.6.3 (2021-09-01)
Fixed
- Fixed warm rule request modifiers not being applied when generating CURL strings or warming pages from the admin panel
1.6.2 (2021-08-25)
Fixed
- Fixed unable to get server load rate on some operating systems
1.6.1 (2021-07-30)
Fixed
- Fixed ChartJs library missing on Magento 2.4.0 (bundled library added)
- Updated composer dependency requirements
1.6.0 (2021-07-15)
Improvements
- Improved statistics chart layout for small screens
1.5.9 (2021-07-13)
Improvements
- Redesigned admin statistics panel with ChartJs-based charts and warmer speed tracking
1.5.8 (2021-07-02)
Features
- Page variations warming — ability to warm different variations of the same page (e.g., different customer groups or currencies)
1.5.7 (2021-06-15)
Fixed
- Fixed default source not updating automatically when customer groups are added or removed
1.5.6 (2021-05-20)
Improvements
- CLI crawler now assigns the crawler source to pages when an active crawler source exists
Fixed
- Fixed negative values appearing in the efficiency report
1.5.5 (2021-05-05)
Fixed
- Fixed cache warmer test pages being indexed by search engines (added noindex/nofollow)
1.5.4 (2021-04-27)
Improvements
- Improved lock manager reliability
1.5.3 (2021-04-21)
Fixed
- Fixed lock manager compatibility with Magento 2.3.x
1.5.2 (2021-04-06)
Improvements
- Added configurable time threshold for ignored pages cleanup during cron
1.5.1 (2021-04-05)
Improvements
- Added lock manager to prevent concurrent cron executions
- Cron job scheduling optimized
Fixed
- Fixed sitemap source synchronization issue
1.5.0 (2021-03-23)
Fixed
- Fixed filter by Warm Rules not working correctly in the Pages grid
1.4.9 (2021-03-18)
Fixed
- Fixed inactive warm rules still appearing in the Pages grid filter
1.4.8 (2021-02-26)
Improvements
- Improved update of pages by warm rules — better rule matching and assignment
1.4.7 (2021-02-11)
Fixed
- Fixed URLs not being added from file-based sources in some cases
1.4.6 (2021-02-05)
Improvements
- Added ability to parse segmented sitemaps (sitemaps split into multiple files)
1.4.5 (2021-02-04)
Features
- URL sources — configure multiple URL sources including sitemaps, crawlers, files, and visitor actions
1.4.4 (2021-01-22)
Features
- Predefined performance levels — choose from preset performance configurations for quick setup
Improvements
- Overall performance optimizations
1.4.3 (2020-12-24)
Fixed
- Fixed warming pages not working (regression from 1.4.1)
1.4.2 (2020-12-23)
Fixed
- Fixed compatibility check error
1.4.1 (2020-12-21)
Improvements
- Improved database query execution performance
- Improved ignored pages cleanup performance
1.4.0 (2020-12-09)
Improvements
- Improved cleanup cron job efficiency
1.3.37 (2020-11-09)
Fixed
- Fixed "Call to a member function on boolean" warning
1.3.36 (2020-11-05)
Fixed
- Fixed potential performance issue with database queries
1.3.35 (2020-11-03)
Fixed
- Fixed XSS vulnerability in template output
1.3.34 (2020-11-03)
Improvements
- Debug toolbar and cache information now shows the cache backend type (e.g., Redis) when used
1.3.33 (2020-10-28)
Fixed
- Fixed trace display on Magento 2.4
1.3.32 (2020-10-28)
Fixed
- Fixed test page functionality
1.3.31 (2020-10-20)
Improvements
- Improved Cache Flushes page layout and information display
1.3.30 (2020-09-25)
Improvements
- Improved test page with better diagnostics
- Improved page status checking for Varnish
- Improved debug popup layout and information
1.3.29 (2020-08-18)
Fixed
- Fixed page status display in debug toolbar on Safari browser
1.3.28 (2020-08-12)
Improvements
- Debug toolbar now displays on first visit (without existing cookies)
Fixed
- Fixed log data retention — now automatically keeps only the last 3 months of data
- Fixed page type classification for URLs with advertising query parameters (e.g., AdWords gclid)
1.3.27 (2020-07-29)
Improvements
- Compatibility with Magento 2.4
1.3.26 (2020-06-16)
Fixed
- Fixed clearing cache for CMS pages from admin panel when Varnish is used
1.3.25 (2020-03-19)
Fixed
- Fixed saving ignored page types after all page types are unselected (regression from 1.3.24)
1.3.24 (2020-03-12)
Features
- Ignored page types — configure which page types should be excluded from cache warming
Fixed
- Fixed pages being deleted by
mst_cache_warmer_cleanupcron job when database table prefix is used (regression from 1.3.18)
1.3.22 (2020-01-24)
Fixed
- Fixed editing warm rules on Magento 2.1.x ("unserialize(): Error at offset" — regression from 1.3.12)
1.3.21 (2020-01-20)
Features
- Disable statistics collection — option to disable the
/cache_warmer/trackrequests
1.3.20 (2019-12-16)
Improvements
- Improved page cache status checking
1.3.19 (2019-11-29)
Fixed
- Fixed missing page types on fresh installation
1.3.18 (2019-11-12)
Improvements
- Added error logging in the job trace for better debugging
Fixed
- Fixed asymmetric transaction rollback error
- Fixed PHP out-of-memory error during page processing
1.3.17 (2019-11-01)
Fixed
- Fixed checkout issues in Safari 7.x and older
1.3.16 (2019-10-21)
Fixed
- Fixed server load rate calculation
- Fixed asymmetric transaction rollback error
1.3.15 (2019-09-19)
Fixed
- Fixed error when removing duplicates from empty pages table
- Fixed attachment links being incorrectly collected as pages
1.3.14 (2019-08-22)
Fixed
- Fixed server load rate calculation on certain server configurations
- Fixed URL pattern expression handling
- Fixed update process error
1.3.13 (2019-08-19)
Fixed
- Fixed error when saving warm rules
1.3.12 (2019-08-15)
Improvements
- Added serializer helper for better data handling across Magento versions
- Improved CLI command and warm rule configuration
1.3.11 (2019-06-13)
Improvements
- Improved SQL query performance
- Added ability to completely disable toolbar AJAX requests
Fixed
- Fixed pages returning 404/301/302 status codes now being automatically removed from the queue
1.3.10 (2019-05-03)
Fixed
- Fixed crawl command not correctly processing URLs without a base path
1.3.9 (2019-05-02)
Features
- Ignore pattern notification — debug toolbar now shows when a page is excluded by an ignore pattern
Fixed
- Fixed data migration from older versions
- Fixed saving store view in FPC hole punch settings
1.3.8 (2019-04-26)
Fixed
- Fixed warming issue introduced in 1.3.6
1.3.7 (2019-04-24)
Fixed
- Fixed warming issue introduced in 1.3.6
1.3.6 (2019-04-22)
Improvements
- Moved setup data migration to background processing via cron
1.3.5 (2019-04-18)
Fixed
- Fixed "Page already exists. Unable to save a duplicate" errors
1.3.4 (2019-04-16)
Fixed
- Fixed potential errors during extension upgrade from old versions
1.3.3 (2019-04-12)
Fixed
- Fixed status update not respecting priorities and scope defined by warm rules
1.3.2 (2019-04-09)
Improvements
- Console crawler now shows error messages when it cannot open a URL
Fixed
- Fixed "Unable to upgrade because of very long URLs" error (since 1.3.0)
1.3.1 (2019-04-02)
Improvements
- Improved monitoring of cache status
- Removed vary data modifier from warming rules
1.3.0 (2019-03-28)
Improvements
- Improved cache status management with better page tracking
1.2.18 (2019-03-27)
Features
- Crawling for logged-in customers — warm cache for different customer group pages
Fixed
- Fixed conflicts with some third-party extensions
1.2.16 (2019-03-11)
Improvements
- Google gclid parameters are now automatically removed from tracked URLs
- Allow crawling pages without vary data on Varnish and non-default stores
1.2.15 (2019-02-28)
Fixed
- Fixed "Cannot use Command because the name is already in use" error on Magento 2.1 with PHP 5.6
- Fixed "Could not resolve host" error on some server configurations
1.2.13 (2019-02-07)
Improvements
- Reduced excessive cache flush logging
Fixed
- Fixed incorrect
X-Magento-Cache-Debugheader - Fixed URL duplicates in pages list
- Fixed "unserialize(): Error at offset" in ExtendedConfig
- Fixed compilation error without database access
1.2.12 (2019-01-08)
Improvements
- URLs that fail with errors multiple times are now automatically removed
Fixed
- Fixed cache flush messages not appearing in production mode
- Fixed
mirasvit:cache-warmer:testconsole command failing with error
1.2.10 (2018-12-18)
Features
- Cache fill rate chart — visual chart showing cache fill rate over time
Fixed
- Fixed FPC hole punch not working when template is in a non-default theme
- Fixed warm rules not applying store filter correctly (requires cleaning
mst_cache_warmer_pagetable) - Fixed potential out-of-memory errors during log cleanup by cron
- Fixed incorrect cache headers on AJAX requests
- Fixed pages not being added to queue when store uses a direct IP address
- Fixed potential SSL certificate verification issues
1.2.8 (2018-12-05)
Fixed
- Fixed error during log cleanup (regression from 1.2.6/1.2.7)
- Fixed debug mode adding HTML to non-HTML pages (e.g.,
/robots.txt)
1.2.7 (2018-12-04)
Improvements
- Compatibility with Magento 2.3
- Improved trace log cleanup
Fixed
- Fixed extension potentially breaking AJAX calls of third-party extensions
- Fixed warming rules for customer groups
1.2.5 (2018-11-29)
Fixed
- Fixed admin rendering on Magento 2.1
- Fixed "Class Json does not exist" error on Magento 2.1 (since 1.2.0)
1.2.4 (2018-11-28)
Improvements
- Improved old log cleanup conditions
Fixed
- Fixed pages not being added to the warming list
1.2.3 (2018-11-23)
Fixed
- Fixed error when running crawl via SSH (regression from 1.2.2)
1.2.2 (2018-11-22)
Fixed
- Fixed "Argument 2 passed to WarmerService::warmCollection()" error when warming cache via admin (regression from 1.2.0)
1.2.0 (2018-11-09)
Features
- Cache clean trace — track and view what triggered each cache flush
- Warm Rules — priority-based system for controlling which pages get warmed first and how
Improvements
- Crawler now shows an error when HTTP authorization is configured but credentials are missing
Fixed
- Fixed incorrect cache hit rate calculation
- Fixed some pages not being warmed on Magento 2.1
- Fixed debug toolbar adding HTML to
/robots.txtwhen the file is missing - Fixed 301 redirects being logged as errors
1.1.62 (2018-10-29)
Fixed
- Fixed stored serialized vary data preventing correct warming of queued URLs
1.1.61 (2018-10-26)
Improvements
- Added CURL command display for individual pages in the admin grid
1.1.60 (2018-10-25)
Improvements
- Added CURL information to trace for debugging
- Warming is now automatically skipped when page cache is disabled
1.1.59 (2018-10-24)
Features
- HTTP authentication support — configure HTTP auth credentials for warming protected sites
Fixed
- Fixed compilation error
1.1.58 (2018-10-24)
Improvements
- FishPig Bolt FPC compatibility
1.1.57 (2018-10-24)
Improvements
- Pages are now removed from the queue only after 3 unsuccessful warming attempts (previously removed after first failure)
1.1.56 (2018-10-22)
Fixed
- Fixed unserialize error when processing cached data
1.1.55 (2018-10-17)
Improvements
- Improved statistics charts
- Added cache clean event logger
1.1.53 (2018-10-11)
Improvements
- Improved trace functionality with better timing information
Fixed
- Fixed time display in trace
- Fixed crawler not following redirects
1.1.52 (2018-09-24)
Features
- Ignored User-Agents — option to exclude specific user-agents from cache tracking
Improvements
- Job execution now stops after 3 consecutive errors to prevent resource waste
Fixed
- Fixed out-of-memory crashes during warming
1.1.51 (2018-08-31)
Improvements
- Old log entries are now automatically cleaned up by cron (30-day retention)
1.1.50 (2018-08-30)
Improvements
- Slightly improved Time To First Byte (TTFB)
1.1.49 (2018-08-30)
Improvements
- New visitors now receive the same cached pages (improved cache hit rate for first-time visitors)
1.1.48 (2018-08-27)
Fixed
- Fixed "Read timed out after 60 seconds" error on some store configurations
1.1.47 (2018-08-27)
Features
- Coverage rate — new metric showing what percentage of pages are cached
Fixed
- Fixed "Invalid URI supplied" error for URLs longer than 255 characters
- Fixed crawler rate limiting not matching the configured "Crawler limit" setting
- Fixed "Read timed out after 60 seconds" error on some store configurations
1.1.46 (2018-08-20)
Features
- Varnish cache status — debug toolbar now shows cache status for Varnish-cached pages
Fixed
- Fixed popularity tracking for Varnish setups
- Added detection of third-party extensions that may break Magento Page Cache
1.1.45 (2018-08-13)
Improvements
- Added info panel showing third-party extensions that may affect Magento Page Cache
1.1.44 (2018-08-03)
Fixed
- Fixed "Unable to Connect to ssl:..." error
- Fixed error when FPC Hole Punch is enabled for widgets
1.1.43 (2018-07-26)
Fixed
- Fixed error during Magento compilation (DI)
1.1.42 (2018-07-26)
Features
- Forbid empty cache — prevent empty pages from being cached or returned from cache
Improvements
- Added ability to set protocol (HTTP/HTTPS) in CLI warmer
Fixed
- Fixed "Flush Magento Cache" from admin panel being blocked when "Forbid cache flushing" is set to "Yes"
1.1.41 (2018-07-24)
Fixed
- Fixed CLI warmer when "Warm mobile pages separately" option is enabled
1.1.40 (2018-07-13)
Fixed
- Fixed configuration value not being read correctly on some store setups
1.1.39 (2018-07-13)
Fixed
- Fixed page type disappearing from page records
1.1.38 (2018-07-12)
Fixed
- Fixed crawler not working when "Add Store Code to URLs" is set to "Yes"
1.1.37 (2018-06-28)
Features
- Forcibly make pages cacheable by type — force specific page types to be cacheable even if they contain noncacheable blocks
1.1.36 (2018-06-23)
Improvements
- Pages are now warmed in order of page type priority
1.1.35 (2018-06-23)
Fixed
- Fixed crawling for URLs without domain names
1.1.34 (2018-06-15)
Improvements
- Mobile pages now use empty vary data for better cache compatibility
1.1.33 (2018-06-14)
Features
- Warm mobile pages separately — option to create and warm separate cache entries for mobile devices
1.1.32 (2018-06-13)
Features
- Currency-based warming — ability to prewarm stores for different currencies
1.1.31 (2018-06-11)
Improvements
- Cleaned up deprecated CLI command options
1.1.30 (2018-06-11)
Improvements
- Added TTL information display in the admin panel
1.1.29 (2018-05-18)
Fixed
- Fixed CSS styling issues in admin panel
1.1.28 (2018-05-08)
Features
- Clear cache by URL — ability to clear cache for individual products and categories from the Pages grid when Varnish is installed
1.1.27 (2018-05-07)
Fixed
- Fixed large number of warm jobs stuck in "Scheduled" status
1.1.26 (2018-05-03)
Fixed
- Fixed ability to run multiple warm processes simultaneously
1.1.25 (2018-05-02)
Fixed
- Fixed PHP parse error
1.1.24 (2018-05-02)
Fixed
- Fixed "Undefined property in WarmerService.php on line 128" error
1.1.23 (2018-04-26)
Fixed
- Fixed "Forbid Cache Flushing" option not working with Varnish
1.1.22 (2018-04-25)
Fixed
- Fixed noncacheable pages appearing in the pages list
1.1.21 (2018-04-20)
Features
- Forcibly make pages cacheable — force specific pages to be served from cache even if they contain noncacheable blocks
1.1.20 (2018-04-20)
Improvements
- Unified version for Magento 2.1 and Magento 2.2
Fixed
- Fixed "strpos(): Empty needle" warning when FPC hole punch is enabled without specifying Template or Block class
- Fixed compilation error in DebugService
- Fixed CLI warmer not using secure base URL
1.1.19 (2018-04-11)
Fixed
- Fixed multistore crawling from CLI
1.1.18 (2018-04-05)
Fixed
- Fixed error during feed generation
1.1.17 (2018-04-04)
Improvements
- CLI crawler can now handle pages with malformed HTML
Fixed
- Fixed re-crawling of previously crawled links
1.1.16 (2018-03-23)
Improvements
- CLI warmer now runs as the web server user for proper file permissions
1.1.15 (2018-03-22)
Improvements
- Improved crawl speed
1.1.14 (2018-03-07)
Fixed
- Fixed incorrect X-Magento-Vary header handling
1.1.13 (2018-03-05)
Fixed
- Fixed "Cannot instantiate abstract class" error
1.1.12 (2018-03-02)
Improvements
- Automatically uses "Don't verify peer" for SSL connections
Fixed
- Fixed compatibility with Varnish and Fastly
- Fixed
setup:di:compilefailing without database access
1.1.11 (2018-02-22)
Fixed
- Fixed "Class 'Report\Model\Query\Column\Date\Range' not found" error
1.1.10 (2018-02-22)
Improvements
- Switched to new module-report version for statistics
1.1.9 (2018-02-12)
Fixed
- Fixed "unserialize(): Error at offset 255 of 255 bytes" error in Job model
1.1.8 (2018-02-02)
Fixed
- Fixed "sysctl: command not found" error on servers without sysctl
1.1.7 (2018-01-29)
Fixed
- Fixed "Undefined property" notice in OnMissPlugin
1.1.6 (2018-01-23)
Fixed
- Fixed Magento "Unable to serialize value" error when content contains invalid characters
1.1.5 (2018-01-19)
Fixed
- Fixed FPC hole punch block exclusion when template belongs to a different module than the block class
1.1.4 (2018-01-18)
Fixed
- Fixed incorrect text display
- Fixed "unlink(cache-warmer.cli.crawl.lock): No such file or directory" error when using the CLI unlock command
1.1.3 (2018-01-05)
Fixed
- Fixed incorrect message display on Magento 2.2.x
1.1.2 (2018-01-04)
Improvements
- Added message when extension is installed without Composer (incorrect version detection)
1.1.1 (2017-12-08)
Fixed
- Fixed CLI error when
sysctlcommand is not found
1.1.0 (2017-12-07)
Fixed
- Fixed CLI command error
1.0.64 (2018-04-05)
Improvements
- CLI warmer now runs as the web server user
- CLI crawler can now handle pages with malformed HTML
1.0.63 (2018-04-05)
Fixed
- Fixed error during feed generation
- Fixed re-crawling of previously crawled links
1.0.62 (2018-03-29)
Improvements
- Switched to new module-report version
1.0.61 (2018-03-07)
Fixed
- Fixed incorrect X-Magento-Vary header handling
1.0.60 (2018-03-02)
Improvements
- Automatically uses "Don't verify peer" for SSL connections
Fixed
- Fixed
setup:di:compilefailing without database access
1.0.59 (2018-02-12)
Fixed
- Fixed "unserialize(): Error at offset 255 of 255 bytes" error in Job model
1.0.58 (2018-02-02)
Fixed
- Fixed "sysctl: command not found" error on servers without sysctl
1.0.57 (2018-02-02)
Fixed
- Fixed "sysctl: command not found" error on servers without sysctl
1.0.56 (2018-01-19)
Fixed
- Fixed FPC hole punch block exclusion when template belongs to a different module than the block class
1.0.55 (2018-01-18)
Fixed
- Fixed incorrect text display
- Fixed "unlink(cache-warmer.cli.crawl.lock): No such file or directory" error when using the CLI unlock command
1.0.54 (2017-12-08)
Fixed
- Fixed CLI error when
sysctlcommand is not found
1.0.53 (2017-12-07)
Fixed
- Fixed CLI command error
1.0.52 (2017-11-29)
Fixed
- Fixed CLI error
1.0.51 (2017-11-29)
Fixed
- Fixed CLI error
1.0.50 (2017-11-29)
Fixed
- Magento 2.2 compatibility
1.0.49 (2017-11-28)
Fixed
- Magento 2.1 compatibility
1.0.48 (2017-11-28)
Improvements
- LiteMage cache compatibility
1.0.47 (2017-11-27)
Fixed
- Fixed slow admin page load time caused by extension
1.0.46 (2017-11-24)
Fixed
- Fixed extended config recurring update issue
1.0.45 (2017-11-21)
Fixed
- Fixed recurring JSON configuration update
1.0.44 (2017-11-17)
Fixed
- Fixed error in console when running
setup:install - Fixed error when detecting CPU count on some systems
1.0.43 (2017-11-07)
Fixed
- Improved stability for edge cases
1.0.42 (2017-11-03)
Improvements
- Improved overall stability
Fixed
- Fixed "Cache frontend 'default' is not recognized" error on some stores
1.0.41 (2017-10-18)
Fixed
- Magento 2.2 compatibility
1.0.40 (2017-10-17)
Features
- FPC hole punching — exclude specific blocks from full page cache while keeping the rest of the page cached
1.0.39 (2017-09-28)
Fixed
- Magento 2.2 compatibility
1.0.38 (2017-08-09)
Fixed
- Fixed error with the warm command in CLI
1.0.37 (2017-08-04)
Improvements
- Documentation updates
1.0.36 (2017-08-04)
Fixed
- Minor compatibility adjustments
1.0.35 (2017-07-26)
Fixed
- Minor compatibility adjustments
1.0.34 (2017-07-24)
Improvements
- Improved admin menu layout
Fixed
- Fixed popularity tracking plugin error
1.0.33 (2017-07-24)
Improvements
- Major admin UI refactoring with new templates and components
1.0.32 (2017-07-18)
Fixed
- Fixed crawl command error
1.0.31 (2017-07-17)
Fixed
- Fixed "Area code is already set" error
1.0.30 (2017-07-10)
Improvements
- Version bump for release alignment
1.0.29 (2017-07-10)
Fixed
- Fixed crawl command error on specific server configurations
1.0.28 (2017-07-07)
Features
- Store-specific crawling — ability to crawl a particular store from CLI
Fixed
- Fixed issue with maximum job run time being exceeded
- Fixed compatibility with TemplateMonster themes
1.0.27 (2017-06-27)
Fixed
- Fixed popularity calculation counting internal crawler requests
1.0.26 (2017-05-15)
Improvements
- Documentation updates
1.0.25 (2017-05-15)
Features
- Report period filter — filter statistics reports by date range
1.0.24 (2017-04-25)
Fixed
- Fixed ability to enable reports for custom admin user roles
1.0.23 (2017-04-24)
Features
- Reports — cache warming efficiency reports with charts and statistics
1.0.22 (2017-04-18)
Features
- Manual job management — ability to run or remove warmer jobs manually
Fixed
- Fixed vary string handling
1.0.21 (2017-04-13)
Improvements
- Added lock file to prevent parallel warmer processes from running simultaneously
- Replaced product/category observer with plugins for better compatibility
1.0.20 (2017-04-12)
Improvements
- Improved popularity logging performance
1.0.19 (2017-03-24)
Fixed
- Fixed compilation error
1.0.18 (2017-03-24)
Improvements
- Improved fill rate feature performance
1.0.17 (2017-03-23)
Improvements
- Improved cron tab scheduling and admin UI
Fixed
- Fixed fill report display error
1.0.16 (2017-03-21)
Features
- Mass actions — added mass actions (warm, delete) to the pages grid
Fixed
- Fixed warming by page type not working correctly
1.0.15 (2017-03-15)
Improvements
- Changed default configuration for better out-of-the-box performance
- Invalid pages are now automatically removed from the warmer list
Fixed
- Fixed cache status checking for Varnish setups
1.0.14 (2017-02-22)
Features
- Test command — added
mirasvit:cache-warmer:testconsole command for verifying warming functionality
1.0.13 (2017-02-01)
Fixed
- Fixed Magento compilation error
1.0.12 (2017-01-27)
Fixed
- Fixed compatibility with older Mirasvit SEO module versions
1.0.11 (2017-01-26)
Fixed
- Fixed security issue
1.0.10 (2017-01-25)
Fixed
- Fixed observer event error
1.0.9 (2017-01-12)
Features
- Warm jobs — background job system for scheduling and managing warming tasks
1.0.8 (2017-01-10)
Improvements
- Debug toolbar is now automatically hidden for AJAX requests returning JSON
1.0.7 (2016-12-29)
Fixed
- Fixed error when Cache-Control object does not exist
1.0.6 (2016-12-28)
Improvements
- Documentation improvements
1.0.5 (2016-12-28)
Improvements
- Compatibility with Magento 2.2
1.0.4 (2016-12-16)
Fixed
- Fixed 404 page errors during CLI crawling
1.0.3 (2016-12-13)
Improvements
- Redesigned cache status info block on the storefront
1.0.2 (2016-11-24)
Improvements
- Compatibility with Mirasvit SEO version 1.0.34
1.0.1 (2016-11-07)
Features
- Debug toolbar — info block on the storefront to check if a page is served from FPC cache