Scalability Pro changelog
Speed up your whole site - big catalogues, big databases, no re-architecture
Latest version6.39.2
Released3 November 2026
Last 90 days37 releases
Last 90 days107 changes
Tested up toWordPress 7.1
Product page
What Scalability Pro does, what it costs and who it is for.
Knowledge base
Setup guides, how-tos and troubleshooting for Scalability Pro.
Discord support
Ask a question in the Scalability Pro channel and get an answer from Dave.
Downloads & licence
Grab the latest build or check your licence and renewal status.
6.39.23 November 2026
- Updated super-speedy-settings to 1.14.5 creating the MCP connection now needs permission to add users, so a multisite sub-site administrator cannot create the agent account when the network does not allow it.
6.39.12 November 2026
- The Fast Ajax endpoint editor shows active plugins on the never-unload list ticked and locked as Always loaded (protected).
6.39.02 November 2026
- Fast Ajax endpoints now always keep plugins on the never-unload list loaded, such as security, firewall, consent and payment plugins.
- The settings-page outbound HTTP shield now applies only to administrators, so a visitor's admin-ajax request can no longer have its external calls blocked by a
Refererheader.
6.38.030 October 2026
- Alter main query to use EXISTS rather than LEFT JOIN leaves pages Super Speedy Filters serves from its own index to Super Speedy Filters, so they no longer carry an extra product visibility check.
6.37.1130 October 2026
- Fixed database errors about missing
scalability_pro_post_count_cacheandscalability_pro_transient_cachetables after activating Scalability Pro with WP-CLI: activation creates the cache tables before anything uses them.
6.37.1029 October 2026
- Updated super-speedy-settings to 1.14.3 update downloads now send the licence key in a request header instead of the download URL.
6.37.929 October 2026
- Fixed native WordPress search running slower with Scalability Pro's indexes installed on large stores: the
wpi_scalability_pro_sitemapsindex now leads withpost_typeand is rebuilt automatically after updating.
6.37.829 October 2026
- Reworded the Alter main query to use EXISTS rather than LEFT JOIN description: it changes how the SQL is written, never which products are shown.
6.37.729 October 2026
- Clarified the Alter main query to use EXISTS rather than LEFT JOIN description: it changes only the front-end main query, mainly WooCommerce's product visibility clause, and lists what to check before leaving it on.
6.37.629 October 2026
- Fixed the Options Autoload, HTTP API and Imports tabs scrolling sideways on a phone; HTTP API rules now stack into labelled fields on narrow screens.
6.37.529 October 2026
- Fixed Cache [sale_products] shortcode and Cache [best_selling_products] shortcode showing no products inside page-builder widgets such as Elementor's Shortcode widget.
6.37.427 October 2026
- Enable good settings, Apply all settings and the Options Autoload scan keep retrying for as long as the server answers busy (503, 429, 502 or 504) and show how long it has been busy, instead of failing after about a minute.
- The Options Autoload scan waits for a slow page to finish instead of abandoning it after 60 seconds.
- Enable good settings no longer cancels a performance analysis started from the Performance Analysis screen; it asks you to cancel it there.
6.37.327 October 2026
- Fixed Cache [best_selling_products] shortcode showing the products on sale instead of the best sellers.
- The cached [sale_products] and [best_selling_products] output now refreshes as soon as a product is saved or an order changes sales counts.
6.37.226 October 2026
- Fixed Enable good settings and Apply all settings stopping on a large site with "The index build is taking more than 10 minutes"; they now wait for each index build however long it takes and show how long it has been building.
- Fixed the Indexes tab reporting an error and moving on when an index build outlasts the web server's request timeout; it now waits for the build to finish and shows its progress on the tab.
6.37.120 October 2026
- Fixed Plugin Unloads verification rejecting an unchanged page that has pagination links, with "the page output changed with the plugin unloads active: rendered HTML grew by 2.0 B".
6.37.020 October 2026
- Plugin Unloads and Fast Ajax endpoint unloads are out of beta: the Unload Plugins tab is always available, with no opt-in under Advanced.
- The Plugin unloading and Fast Ajax runtime switches are on by default, but nothing is unloaded and no mu-plugin is installed until you configure and enable a rule; sites that already saved rules keep their switch setting.
- Enable good settings no longer creates or enables plugin unload rules; unloads are always your decision on the Unload Plugins tab.
- The taxonomy EXISTS rewrite is now an ordinary setting under Advanced > Query rewrites and the next-page lookahead is an ordinary Query Speed option, both still off by default; updating never turns either on.
6.36.114 October 2026
- Fixed Cache wp-admin WooCommerce Products Category List so a cached category list skips the category and product count queries on wp-admin > Products, and filtering by a category reuses the same cache.
6.368 September 2026
- Simplified Fast Ajax theme handling to a Keep loading my theme checkbox, with the WordPress default theme used when unticked.
- Fast Ajax builds require recorded tests for the current source, current core and the approved SQL review.
- Fast Ajax drafts select only required plugins and group optional choices by related endpoint selections and deterministic capability hints.
- Added capture-time Fast Ajax policy details and a link to Performance Analysis AJAX before/after profiling.
- Added a default-off Fast Ajax endpoint-unloading beta with exact registered-route rules, safe keep-list defaults, automatic failure shutoff and optional Performance Analysis evidence
6.358 September 2026
- Restored the GROUP BY optimisation for joined
wp_posts.*queries without changing their selected columns
6.344 September 2026
- Fixed configured
SPRO_SQL_CALC_ROWS_FINGERPRINTentries causingstrpos(): Argument #1 ($haystack) must be of type string, array givenon PHP 8 - Fixed explicit WP-CLI term recounts while deferred term counting is enabled
- Fixed manual term recounts for stores where WordPress term and term-taxonomy IDs differ
6.334 September 2026
- Removed the
wp-config.phpbackup warning while retaining automatic cleanup of the old backup file
6.323 September 2026
- Added a direct Main-tab link from the high-autoload warning to Options Autoload
- Declared WordPress 6.4, MySQL 5.7 or MariaDB 10.2 as supported floors and updated legacy plugin links
- Restored "Alter main query to use EXISTS rather than LEFT JOIN" under Advanced as a disabled-by-default beta, with corrected multi-term AND and mixed-OR handling
- Added a disabled-by-default one-extra-row pagination lookahead under Remove SQL_CALC_ROWS, applied only to completed SQL after other query builders to avoid duplicate
LIMITclauses - Fixed beta lookahead totals for queries with explicit offsets so the reported page count includes the skipped rows
6.3125 August 2026
- Plugin Unloads is now an opt-in beta under Advanced, while sites with existing rules retain access; its global switch is always visible at the top of the beta tab
- Plugin unload choices now stay isolated from ordinary visitors until their page verification passes
- Fixed a PHP 8 fatal when another plugin returns
nullfrom aposts_resultsfilter; thanks to Glenn H for reporting it - Tested up to WordPress 7.1, including its updated posts list-table navigation
- The Unload Plugins tab now runs through a single code path, showing each plugin's verdict and the reason for it inside the scan popover
- The Unload Plugins master switch is now an ON/OFF toggle at the top of the tab
- Added an Abort scan button to the Unload Plugins scan monitor, which now closes on Escape or a click outside it
- An Unload Plugins scan now survives a dropped progress poll, and reports a permanent refusal instead of appearing to stall
- A deep scan can now reach certain confidence on a dynamic page, and explains how a page's output differed when it cannot
- The Unload Plugins tab is now usable by a site owner rather than only by the plugin's author
- Fixed plugins staying ticked in the Unload Plugins popover after being unticked
- Updated super-speedy-settings to the latest version
6.3019 August 2026
- New Unload Plugins tab stops selected plugins loading on the pages where Performance Analysis measured that they do nothing, using per-page rules compiled into an mu-plugin
- Unload rules are sorted into certain, likely and unknown confidence, and Enable good settings applies only the certain ones
- Only anonymous page views are ever trimmed, so a POST, wp-admin, REST, a system entry point and any logged-in visitor always load every plugin
- Payment, security, membership, consent, caching and multilingual plugins are never unloaded
- The Unload Plugins tab needs Super Speedy Performance Analysis 0.24.0 or later, and is not offered on multisite
6.29.4521 August 2026
- Performance Analysis now installs from its free public release when no licensed package is available, so a site with no licence key can still measure
6.29.3921 August 2026
- Removed the Slow Query Log tab; use your database server's own slow query log, or Super Speedy Performance Analysis for per-page timings
- Removed the
wp-content/db.phpdrop-in the Slow Query Log needed, so Scalability Pro no longer conflicts with Query Monitor's database drop-in, HyperDB, LudicrousDB or database-cache plugins - An existing installation has its Slow Query Log settings and any leftover drop-in removed on the next admin page load
- Removed the unused TGM Plugin Activation library
- Cleanup actions on multisite now require
manage_network_plugins
6.29.3420 August 2026
- Scalability Pro no longer reads, parses or writes
wp-config.php - A
wp-config.php.spro-backupfile left by an earlier version for those using slow query log is now correctly removed - MCP access is now opt-in
- Completed a three-pass security review of the plugin
6.29.3019 August 2026
- New HTTP API tab rules you write can stop another plugin's licence, update or telemetry calls while a wp-admin page renders
- Outbound requests are allowed by default, and a rule can never reach the front end, REST, cron, a form submission, the plugin and update screens, commerce screens, your own site's URLs or 22 named payment gateway hosts
- Removed the Switch off phone home setting, replaced by the HTTP API tab's per-rule controls; a site that had it enabled allows outbound requests again until you add rules
6.29.2415 August 2026
- Enable good settings and Apply all settings no longer configure or build Super Speedy Archives, which now does both from its own tab
- Clear all options now reverts only Scalability Pro's own settings, report and indexes, and leaves Super Speedy Archives and its table alone
6.29.2314 August 2026
- Moved MCP onto the one shared Abilities bridge and removed Scalability Pro's duplicate dedicated Adapter server and AI Engine registration
- MCP setup now uses a dedicated least-privilege agent user, with
spro_applyand plugin installation as separate execute permissions
6.29.2213 August 2026
- Updated super-speedy-settings to the latest version
6.29.2113 August 2026
- Options scans now use the administrator's browser when Basic Auth, a WAF, CDN or other security layer blocks server loopbacks
- Scan failures now name the failed page and mechanism instead of treating an HTTP response without recorded data as success
- Apply Good Settings now drives browser-transport Performance Analysis runs and reports failed steps honestly at completion
6.29.1713 August 2026
- A run that could not apply every step now says so on the results screen and names the steps, instead of reporting "All done".
- Fixed the archive optimisation being reported as applied when switching it back on had actually failed.
6.29.1613 August 2026
- This plugin now describes in plain English what it publishes to a shared analysis, listed on the Performance Analysis Share tab with a switch to turn it off.
6.29.1512 August 2026
- Clear all options now reverts Super Speedy Archives as well, switching the optimisation off and dropping its mirror table, because this plugin is what configured and built them.
- When Super Speedy Performance Analysis is active and you have opted in to sharing, this plugin publishes which of its optimisations are on alongside a shared analysis, so a before measurement can be told apart from an after one. Settings only, never your licence key.
- Added
options_optimizer,checkout_purge_shieldandcheckout_purge_timeout_capto the agent and MCP settings surface.
6.2910 August 2026
- When the Super Speedy Archives add-on is active, Enable good settings and Apply all settings now configure it from the same measurement and build its table for you, so the after measurement shows the archive speed-up alongside everything else
- The archive optimisation is turned off before the before measurement, so what gets configured comes from your real queries rather than ones Archives has already rewritten
- The first tab is renamed Main and is now a guided setup - measure, optimise, cache - with the Enable good settings button front and centre
- Buttons restyled to the Super Speedy Imports look across every tab including Save Changes, with the Inter and JetBrains Mono fonts bundled locally; the Advanced tab's buttons are all secondary, and the plugin version now shows in a chip beside the logo
- Enable good settings works through the plan one item at a time, showing each index being created and then each setting being applied, and can be re-run whenever you like to fill in anything missing; an index build that outlives the web request shows still applying and waits for the database to finish instead of reporting an error
- When our free Super Speedy Performance Analysis plugin is active, a good-settings run measures your key pages before and after and shows the results - per-page generation times, SQL time and which pages got faster, each linked to the URL that was measured
- The Getting Started tab can install Super Speedy Performance Analysis for you with one click
- New Apply all settings button next to Enable good settings adds the maximum-speed extras - next/previous page counts, natural sort order and the optimised private-content check - with each trade-off stated in the preview; also available as
wp spro recommended --allandmode=allon thespro/apply-recommendedability - New Clear all options button on the Main tab, under the good-settings buttons, returns every setting to its default, clears the stored before/after report and drops every index Scalability Pro created, so you can revert a good-settings run
- Good settings no longer touches the Query Speed row-count options, so page counts stay correct; use Apply all settings or the Query Speed tab if you want them
- Good settings now also turns on the checkout purge shield, and lists what it deliberately leaves alone and why
- New Optimise Options on the Options Autoload tab (called Single Pages until 6.29.11): scans your key pages (including wp-admin orders and product screens if you tick them) to see which options each really fetches, then stops autoloading big unused options and starts autoloading hot ones - reviewable before applying, fully revertible, with an automatic monthly mode; Enable good settings turns the automatic mode on with the default thresholds
- The options optimiser is also available as
wp spro options-scan,options-plan,options-applyandoptions-revert, and as four new abilities for AI agents - Indexes now survive deactivation and are removed when the plugin is deleted instead, so deactivating to test something no longer costs you your indexes; the cleanup setting is now called Delete indexes when the plugin is deleted and a pre-6.29 opt-out is carried over
- The plugin's abilities are now discoverable on the MCP Adapter's default server as well as the dedicated
/wp-json/mcp/scalability-proendpoint, and thedelete_indexes_on_deactivationability setting is renameddelete_indexes_on_uninstall - New
wp spro recommendedWP-CLI command applies the same preset from the command line, with--dry-run,--indexes-onlyand--settings-only - New
wp spro statusWP-CLI command lists every managed index and every good setting still outstanding - New
spro/describe-recommendedandspro/apply-recommendedabilities let an AI agent read the plan and, once you confirm, apply it - Fixed an index whose prefix length covers the whole column, such as
wpi_scalability_pro_sitemapsonwp_posts, being reported as needing a rebuild on every check
6.287 August 2026
- New Checkout purge shield on the WooCommerce tab, on by default: cache-purge plugins such as Nginx Helper no longer treat every WooCommerce order note as a page edit, which on a test store took a checkout from 30 outbound HTTP requests down to none
- New optional setting to cap the site's own purge requests at 3 seconds instead of the usual 5, off by default
- Fixed a front-end fatal
array_key_exists(): Argument #2 ($array) must be of type array, false givenwhen the plugin is activated without a wp-admin page having been loaded since - Licence corrected to GPLv3 in
readme.txt, matching the plugin header
6.27.36 August 2026
- Updated the shared Super Speedy settings module: the Super Speedy wordmark on the settings header is now a crisp high-resolution image with a dark-text variant
6.27.13 August 2026
- The
wpi_postmeta_boostindex now covers the whole ofmeta_keyrather than its first 50 characters, soSELECT DISTINCT meta_keylookups use the index instead of scanningwp_postmeta; existing installations have the index rebuilt automatically - Updated the shared Super Speedy settings module: AI agents can check your licence and install other Super Speedy plugins over MCP, now also exposed on AI Engine's MCP endpoint when AI Engine is active
- New Check frequency setting - cap licence, update and changelog checks to once a day or once a week, and see when the licence was last checked
- Licence and changelog checks fail fast when superspeedyplugins.com cannot be reached, instead of hanging the settings page
- The newest installed copy of the shared Super Speedy settings code now runs site-wide, whichever plugin loads first - previously the alphabetically-first plugin's often-older copy won
- The plugin's MCP abilities also appear on AI Engine's MCP endpoint as spro_ tools when AI Engine is active, so one AI connector reaches them
6.272 August 2026
- Added an Advanced-tab good-settings preset with a complete preview of settings changes and applicable indexes before confirmation
- Added estimated-total, maximum-page and progressive Previous/current/Next pagination strategies for archives where exact totals are disabled
- Added a one-result pagination look-ahead so a full final page no longer links to an empty Next page
- Added optional scheduled daily or weekly term recounts, configurable start time, batched progress and a manual Run now action
- Added a Performance Analyser status panel and link on the Advanced tab
- Added an Advanced-tab option to keep Scalability Pro indexes when the plugin is deactivated; index deletion remains enabled by default
- Added six WordPress Abilities API abilities for inspecting settings, measuring pages and database probes, changing safe or confirmed settings, and managing indexes
- Moved the WP All Import Query Monitor diagnostic into the separate
spro-addon-query-monitorsupport plugin, removingeval()from Scalability Pro - Replaced direct
wp-config.phprewriting with atomicwp-content/spro-config.phpgeneration and safe migration of the legacy$SPRO_GLOBALSblock - Added versioned index definitions, exact column and direction drift detection, retired-index cleanup and automatic resumable reconciliation for existing installations
- Added a server-side index-operation lock and bounded, resumable index deletion to prevent overlapping or timed-out DDL requests
- Removed two duplicate index definitions and corrected multisite user and usermeta index handling
- Fixed custom post type bulk actions disappearing when the Bulk Edit safety limit is exceeded; only Bulk Edit is now removed
- Fixed newly registered custom image sizes being removed even though the administrator had never deselected them
- Fixed concurrent cache writes causing duplicate-entry errors by replacing delete-then-insert with one atomic upsert
- Fixed post-count and WP All Export query filters inspecting unrelated queries for the rest of the request
- Added a scoped comment-query option for skipping exact totals inside custom query alterations
- Fixed the experimental taxonomy EXISTS rewrite interpolating unsanitised taxonomy names and term IDs
- Fixed GROUP BY optimisation applying DISTINCT to
wp_posts.*queries with joins - Fixed slow-query logging opening a new MySQL connection for every logged query and mishandling
DB_HOSTports or sockets - Fixed the original cache tables using inconsistent character sets and racy creation checks
- Added a WP Admin notice and manual action for clearing the deliberately persistent month-dropdown cache
- Hardened settings import/export, product-attribute term search and direct access to include files
- Removed production debug logging, stale hooks, a public developer shortcode and other unreachable code
Showing the 40 most recent of 214 releases. View the full history
