Back to Super Speedy Filters
Super Speedy Filters changelog
Release notes for every version we have on record, newest first.
Latest 6.66.0 · 22 Oct 2026
40 versions
Since Aug 2026
2026 40 versions
6.66.0 Latest 22 Oct 2026 1 fixed
Fixed
- Fixed Fragment AJAX leaving the Active Filters chips on screen after the last filter was removed.
6.65.0 22 Oct 2026 1 fixed
Fixed
- Fixed the Active Filters widget showing no chip when the only filter is a brand or tag, so it could not be removed.
6.64.0 21 Oct 2026 2 fixed3 changed
Fixed
- Fixed search results with Show Filtered Variations listing a product once per matching variation when Super Speedy Search shows one result per product.
- Fixed filter counts on a search that matches only a product's variation, such as a variation SKU, showing no options.
Changed
- Faster filter counts on attributes with the per-variation stock check, and on any count filtered by one, once the object-ancestors table is rebuilt (queued automatically on update).
- Faster filter counts on Super Speedy Search results.
- Search results now follow the stock check (hide out of stock), as filtered archives do.
6.63.0 21 Oct 2026 1 fixed1 changed
Fixed
- Fixed search-page filter counts that load after the page (Bot-fighting AJAX, lazy-loaded filters) counting the whole shop when Super Speedy Search was not ticked in the Fast page AJAX plugin list, or not installed.
Changed
- An active Super Speedy Search is now always loaded during Fast page AJAX, whatever the plugin list says.
6.62.0 21 Oct 2026 1 fixed
Fixed
- Fixed filters set to "Show but delay execution" on search results, in Bot-fighting AJAX mode, showing whole-shop counts and links that dropped the search.
6.61.0 21 Oct 2026 5 new9 improved57 fixed1 security1 removed7 changed
New
- Added an experimental Developer option, SSPSSF_OA_CANDIDATE_STOCK_COUNT (off by default), that counts a filter widget's terms for an attribute with the per-variation stock check from the filtered products first instead of every product with that attribute, which is much faster on large catalogues.
- Added an experimental Developer option, SSPSSF_OA_CANDIDATE_MAIN_QUERY (off by default), that builds a filtered product archive's results from the performance table first instead of checking every product, which is much faster on large catalogues.
- Added a wp-admin error notice when page AJAX, Bot-fighting AJAX or archive protection cannot install or read their MU-plugin files, for example when wp-content/mu-plugins is not writable or the archive policy file is corrupt.
- Added a warning on the Plugins and Filters settings screens when "Disable WooCommerce widget code" is set to Remove while WooCommerce still filters through its product attribute lookup table, which then goes stale.
- Added an error notice in wp-admin when a requested rebuild of the performance table has not started because WP-Cron or loopback requests are not running.
Improved
- Improved AJAX filtering in the ajax and ajaxeverywhere modes: on a filtered page that defers its filter widgets, the widgets now load alongside the products and update with them instead of afterwards.
- Changed bundled add-ons so an update never switches a new add-on on: a new install still enables every add-on, but an add-on that first arrives in an update (or when moving from Lite to Pro) starts switched off and is listed in a notice on the Plugins and Filters screens.
- Changed filter links that name a term which does not exist, such as ?filter_colour=999999, /product-category/clothing/brand/no-such-brand/ or /category/music/?genre=999999, to answer 410 Gone on product and custom post type archives when Issue 404 for missing terms is on, and to show an empty archive when it is off, instead of the unfiltered archive.
- Changed filter links that use another language's term slug on a WPML or Polylang store, such as ?filter_colour=red on a French page, to show that term's translation, as term IDs already did, instead of answering 410 Gone.
- Changed filter paths that name their filters in a different order from the one Super Speedy Filters builds, such as /colour/beige/brand/halcyon/ for /brand/halcyon/colour/beige/, to redirect (301) to the built address with the page number and query string kept, instead of answering 410 Gone.
- Changed WordPress's own product taxonomy parameters, such as ?product_brand=30, ?product_tag=summer or ?pa_colour=46, to filter like any other filter link in term ID or slug form, instead of showing no products or a 404.
- Changed deactivation to remove every WP-Cron event Super Speedy Filters schedules, whatever "Delete all plugin's data on plugin uninstall" says; settings, options and tables are kept.
- Changed activation to schedule the plugin's recurring WP-Cron events, and to resume a performance table rebuild, sitemap rebuild or cache wipe that was queued or part way through when the plugin was deactivated.
- Changed missing-term handling so the feed and embed addresses WordPress adds to every attribute and tag archive, such as /colour/red/feed/, are never treated as a missing term.
Fixed
- Fixed a requested object-ancestors rebuild, after an update or a "Back-orders stock" change, not running when an earlier rebuild event was still pending after a manual Rebuild.
- Fixed a filter widget count, with the stock check and Show Filtered Variations on, including a product none of whose in-stock variations matches the filtered combination (for example size M under red for a product with only red S and blue M), so each count equals the products its link shows.
- Fixed Auto Infinite Scroll in Bot-fighting AJAX mode adding the unfiltered category's products after a filter click; it now loads the next page of the filtered results.
- Fixed pagination and add-to-cart links in Bot-fighting AJAX results carrying ?ssf_ajax=1.
- Fixed adding or editing a media attachment, including the images External Images creates as shoppers browse, queuing a filter cache wipe ("product changes") when no filter data changed.
- Fixed products that share a menu order and title appearing in a different order, or on a different page, from one request to the next on the default product sorting.
- Fixed AJAX filtering in the ajax and ajaxeverywhere modes showing an earlier filter click when its products arrived after a later click's: the last click now wins.
- Fixed pagination, add-to-cart links and the sort form in AJAX-loaded products carrying ?ssf_ajax=1, which reached the address bar after clicking page 2.
- Fixed the category description showing twice on classic themes that print the archive description in their own page header, such as Hestia, when Archive Descriptions is set to All or the page is filtered.
- Fixed the wp-admin notice about page AJAX, Bot-fighting AJAX and archive protection MU-plugins showing its problems in English only; they are now translatable, and it names the setting "Fast page AJAX" as the settings screen does.
- Fixed deactivating Super Speedy Filters with Fast page AJAX on leaving its page AJAX MU-plugin and plugin list installed; deactivation removes both again, as in 6.58.9.
- Fixed a request that was already running when Super Speedy Filters was deactivated putting its MU-plugins back afterwards.
- Fixed the Bot-fighting AJAX, archive protection and filter sitemap MU-plugins being installed by the first page load after activating Super Speedy Filters instead of by the activation itself.
- Fixed product category, tag, brand and attribute feeds such as /product-category/clothing/feed/ serving the archive page instead of RSS with Pretty URLs on.
- Fixed Fast page AJAX and Bot-fighting AJAX filter requests on Polylang, WPML, WooCommerce Multilingual or TranslatePress stores showing the default language's products and text; active language plugins are now always loaded.
- Fixed a category address naming a subcategory that does not exist, such as /clothing/no-such-child/ or /product-category/clothing/no-such-child/, showing the parent category; it now answers 410 with "Issue 404 for missing terms" on and 404 otherwise.
- Fixed Fast page AJAX and Fragment AJAX filter requests unloading Super Speedy Archives, so with Archives replacing the performance table those requests showed products and counts from Super Speedy Filters' own out-of-date table instead of the ones on the full page.
- Fixed lazy-loaded block filters on category and filtered pages showing "Couldn't load these filter options" with Bot-fighting AJAX (400 "Invalid filter request").
- Fixed child categories disappearing from filters and Category Display under their new parent after their parent category was deleted, until the next Rebuild.
- Fixed filter counts and category counts changing once the performance table was built: before the first Rebuild they also counted catalogue-hidden products and bundles whose items are out of stock.
- Fixed the stock filter and filter counts showing a WooCommerce Product Bundles bundle in its previous stock state for a while after one of its items changed stock; the bundle now updates as soon as Product Bundles syncs its stock.
- Fixed a product briefly disappearing from stock-filtered archives, filter counts and the on-sale filter while it was being updated after a save.
- Fixed the same brief disappearance on databases whose default storage engine is MyISAM: the performance table is now always created as InnoDB, and an existing MyISAM table is converted by the next Rebuild.
- Fixed the performance table gaining another copy of a variation's rows each time its variable product was updated on its own.
- Fixed filter links that name terms by ID, such as ?filter_colour=43, showing no products when WooCommerce is set to use its product attributes lookup table for catalog filtering.
- Fixed products with no stock status recorded, such as products created by some importers, being left out of filtered product grids, filter counts and category counts while WooCommerce sells and lists them as in stock; they now count as in stock, as in WooCommerce.
- Fixed the Back-orders setting being ignored before the performance table was built: products on back-order were hidden from the grid and the counts even when the setting treats back-orders as in stock.
- Fixed an update switching Inline Filters back on for sites that had turned it off before it was renamed.
- Fixed a database fault in the request rate limiter showing visitors "Too many filter requests" (429) on every archive page; they now see "The site is busy, please try again shortly" (503), the real database error is shown to administrators, and a missing rate-limit table is re-created.
- Fixed the rate-limit table install being retried on every page view when the database user cannot create tables; it is now retried every 5 minutes and the database error is shown to administrators.
- Fixed the first page load after installing printing Super Speedy Filters verbose debug comments into the page source and briefly switching on the inline filter reset and do-follow options.
- Fixed the Meta Pagination Tags setting resetting to All after it was changed.
- Fixed a site without WooCommerce loading the filter scripts on every page when any plugin named like "something-for-woocommerce" was active.
- Fixed "Delete all plugin's data on plugin uninstall" not deleting any tables (its SQL was invalid) and missing the SEO override, sitemap, rate-limit and archive performance tables.
- Fixed "Delete all plugin's data on plugin uninstall" leaving about 36 settings and status entries behind, which after a reinstall stopped the archive performance table from being recreated and made the filter sitemap and performance table report as built with their tables gone; uninstall now also clears Super Speedy Filters' scheduled tasks and cached entries.
- Fixed deleting Super Speedy Filters Lite after moving to Pro failing with a critical error, and deleting Pro while Lite was still installed removing the tables and settings Lite uses; nothing is removed while the other edition is installed.
- Fixed an external add-on with a missing file failing silently; administrators now see a notice naming it.
- Fixed Bot-fighting AJAX archive protection serving filter links whose query-string filters go beyond your indexable limits, such as /shop/?filter_colour=red,blue or /category/music/?genre=3,4 with each taxonomy capped at 1 term; these now redirect exactly when the page's robots meta says noindex.
- Fixed archive protection redirecting an indexable link that names the same filter in both the path and the query string, such as /product-category/clothing/colour/red/?filter_colour=blue.
- Fixed ?filter_= links for attributes without archives not counting towards archive protection.
- Fixed Fast page AJAX never trimming plugins on Super Speedy Filters Lite or when the plugin folder is not named super-speedy-filters.
- Fixed Bot-fighting AJAX product requests unloading plugins kept by the SSF_PAGE_AJAX_EXTRA_PLUGINS constant or the old extra plugins setting; both Fast AJAX paths now use one plugin list.
- Fixed updated MU-plugin files not being installed after an update unless their version number changed; they are now replaced on the next wp-admin page load whenever their content differs.
- Fixed a category, brand or attribute whose slug matches your On Sale slug showing the Shop instead of its own archive, so with the slug set to sale your Sale category page works again; the On Sale slug now only switches the on-sale filter on as the first part of the address, which is where the on-sale addresses actually route.
- Fixed old filter links carrying narrow_=1 showing products matching any selected value instead of all of them; they now narrow as intended and the links built from them use narrow_pa_.
- Fixed child category addresses under a removed category base, such as /clothing/hoodies/, returning 404 on sites where WordPress lives in its own directory.
- Fixed the page title and the filter state disagreeing about on-sale on addresses carrying ?onsale=0.
- Fixed filters set to "Show on search results but don't filter" being filtered by the search, and one search's cached counts and links then appearing on other searches and on the shop page.
- Fixed a filter or Category Display showing nothing for up to an hour after a database error such as a lock timeout, because the failed result was cached.
- Fixed filters on a WooCommerce search containing braces, such as "Product {1}", counting products the search does not match.
- Fixed old FWW Product Categories and FWW Product Attributes widgets never loading when set to load by Ajax.
- Fixed multi-select filters being cached for every combination of their own selected terms.
- Fixed a PHP warning when rendering an old filter widget saved without a taxonomy.
- Fixed re-running Auto Configure with "copy the blocks" deleting the filters the previous run had created; nothing is removed when nothing is written, and an unknown placement target is now refused.
- Fixed a re-run of Auto Configure on a block theme losing the shop's filters when the new placement failed, because the previous run's template copy was deleted before the new one was written.
- Fixed Auto Configure on a site without WooCommerce returning a server error for a post type Super Speedy Filters is not enabled for; it now says to enable the post type first.
- Fixed filters that Auto Configure restricted to certain categories disappearing when one of those categories was renamed; new runs record the categories by ID, and existing conditions keep working as they are.
Security
- The term image and swatch colour fields are now saved only from the term screen, with a security check, by users who can edit that term.
Removed
- Removed a wasted selected-items request for each collapsed, not yet loaded, paged filter list on every page load and filter click.
Changed
- Turned on by default the faster filtered product archive query (SSPSSF_OA_CANDIDATE_MAIN_QUERY) and the faster stock-checked filter widget count (SSPSSF_OA_CANDIDATE_STOCK_COUNT), with the same products and counts; untick either under Advanced > Developer/Ultra-Advanced options to switch it off.
- Faster filter widget counts with the stock check and Show Filtered Variations on, including when more than one attribute filter is active (for example the size or category count under a colour filter); the object-ancestors table rebuilds automatically after this update.
- Changing the "Back-orders stock" setting now rebuilds the object-ancestors table automatically, so filtered archives and counts follow the new setting without a manual Rebuild.
- With "Treat backorders as in-stock" selected, Show Filtered Variations now prefers a back-order variation over an out-of-stock one as the product's tile.
- With "Treat backorders as in-stock" selected, the variation stock check on an attribute (for example size) now lists and counts products whose matching variation is on back-order.
- Filter widget counts now refresh after an update that changes how products are counted, instead of showing the counts cached by the previous version.
- With Show Filtered Variations and the stock check on, a product whose variations in the filtered colour, size or other attribute are all out of stock is no longer listed or counted, so "Showing all N results" and the filter counts match the products shown.
6.60.0 20 Oct 2026 1 fixed
Fixed
- Fixed accordion and minimizable filter headings not opening, the inline filter search not filtering, and empty filters leaving their heading behind on themes whose widget wrapper has no widget class, such as Divi.
6.58.9 6 Oct 2026 1 fixed
Fixed
- Fixed archive protection not applying to custom post type filter links that use the address bar, such as /category/music/?genre=3, with Fragment AJAX. Beyond your indexable limits these now redirect like product filter links, instead of loading the full filter page for bots.
6.58.8 6 Oct 2026 1 fixed
Fixed
- Fixed filter widgets taking 15 seconds or more to load on MySQL 8 before the performance table has been built (for example on a new install before Rebuild). They now take about 1 to 2 seconds and show the same terms and counts.
6.58.7 6 Oct 2026 1 improved
Improved
- Changed the 6.58.3 fix for filters appearing twice on /shop/?product_tag=... with block themes: Super Speedy Filters now shows its own output once instead of removing WooCommerce's block template hooks, so other plugins on those pages are no longer affected.
6.58.6 6 Oct 2026 1 fixed
Fixed
- Fixed pretty filter URLs that start with a post category, such as /category/music/genre/rock/, showing as the blog home page with the site title instead of the category archive.
6.58.5 6 Oct 2026 1 fixed
Fixed
- Fixed Rebuild not recovering after a failed performance table build: the retry was refused as "already running" for 30 seconds, and with a persistent object cache the error could stay hidden behind "Waiting for the background process to start".
6.58.4 6 Oct 2026 1 fixed
Fixed
- Fixed editing Super Speedy filter widgets in the Customizer, which failed with "widget_setting_too_many_options" since 6.56.5.
6.58.3 6 Oct 2026 1 fixed
Fixed
- Fixed the filter widgets above the products, inline filters and the archive footer appearing twice on the shop page with a tag in the address (/shop/?product_tag=...) on block themes.
6.58.2 6 Oct 2026 1 fixed
Fixed
- Fixed custom taxonomy and post type archives returning 404 after a settings change when the next request was a Page Ajax or Bot-fighting AJAX filter request.
6.58.1 2 Oct 2026 1 changed
Changed
- A new install no longer starts the performance table build on activation: filters work straight away using live counts, and a notice asks you to click Rebuild (or run wp ssf rebuild) for fast counts on large catalogues and a complete on-sale filter. Upgrades still rebuild in the background.
6.58.0 2 Oct 2026 1 fixed
Fixed
- Fixed Category Display tiles listing a category several times with a count of 1 each, such as "Dogs (1), Dogs (1), Dogs (1)" instead of "Dogs (3)", while the performance table is not built or the Performance add-on is off.
6.57.2 2 Oct 2026 1 fixed1 changed
Fixed
- Fixed product saves logging "Table ... fww_object_ancestors doesn't exist" database errors before the performance table has been built; on-sale flags are still kept up to date.
Changed
- The filter sitemap's early output buffer is now a must-use plugin installed by the SEO & Indexing add-on, so notices from any plugin can no longer reach sitemap XML; it removes itself when the add-on is turned off.
6.57.1 2 Oct 2026 1 fixed
Fixed
- The Filter Sitemap setting on the SEO & Indexing tab now says whether the Performance Tables add-on is turned off or its table needs a rebuild, with a link to the place to fix it.
6.57.0 2 Oct 2026 2 changed
Changed
- Turning off the Performance add-on now stops filters reading the object ancestors table: widget counts, classifier scoping and the filter sitemap fall back to their live or unavailable paths, and rebuilds (wp ssf rebuild, the Rebuild button, MCP and the automatic triggers) refuse with a message naming the add-on.
- Turning the Performance add-on back on no longer uses the out-of-date table; the Performance tab says so and filters use live counts until you click Rebuild.
6.56.5 1 Oct 2026 3 changed
Changed
- Filters now pick up product changes (categories, stock, publishing, imports) without clearing the cache: the cache is wiped 5 minutes after the last change and at most once every 30 minutes, both set on the Advanced tab, which also shows when the next wipe runs.
- Wp ssf rebuild and the Rebuild button now clear the filter cache when the rebuild completes.
- The filter query cache now follows "Cache age (minutes)" instead of keeping entries for 24 hours.
6.56.4 1 Oct 2026 2 fixed1 changed
Fixed
- Fixed sub-categories appearing twice on filtered category pages when WooCommerce's Category display shows sub-categories and a Category Display rule is active; WooCommerce's own sub-categories now show the filtered counts and links instead.
- Fixed sub-categories outside the product grid keeping their old counts and links after an AJAX filter change.
Changed
- Category Display tiles for brands and attributes now use WooCommerce's sub-category template, so they match the theme's own sub-categories.
6.56.3 1 Oct 2026 1 fixed1 changed
Fixed
- Fixed wp ssf rebuild failing with "Table ... fww_object_ancestors_temp already exists" or "Cancelled SQL query is still rolling back" when it ran alongside the rebuild started after activation.
Changed
- A rebuild that is already running is now reported with its stage and left to finish; use wp ssf rebuild --force, or Force rebuild on the settings page, to cancel it and start yours. Activation, upgrade and scheduled rebuilds never interrupt a running one, and a crashed rebuild is taken over automatically.
6.56.2 30 Sep 2026 1 fixed
Fixed
- Fixed multi-select of sibling terms in pretty filter URLs, such as /region/north/south/, which 6.56.1 read as the first term only.
6.56.1 29 Sep 2026 3 fixed
Fixed
- Fixed Bot-fighting AJAX redirecting product pages to /shop/#ssf=... on stores whose product permalinks are /shop/%product_cat%/ and have a category slug matching a filter, such as a category and an attribute both called colour.
- Fixed choosing another mode in "Use Ajax to update products" not switching Bot-fighting AJAX off; the separate "Redirect non-indexable filter documents" checkbox is removed because archive protection now simply follows the chosen mode.
- Fixed filter links on a category whose slug matches a filter name, such as /shop/category/colour/brand/cadence/, ignoring the category or returning page not found.
6.56 23 Sep 2026 1 fixed
Fixed
- Fixed saving a hidden product alongside one other product duplicating filter index rows and counting hidden products in filters.
6.55.20 17 Sep 2026 1 fixed
Fixed
- Fixed stock filtering for Product Bundles whose required components are unavailable.
6.55 16 Sep 2026 1 new13 fixed5 changed
New
- Added AJAX filtering support for Elementor Pro Current Query Loop Grids.
Fixed
- Fixed WPML language parameters being changed by trailing slashes in filter links.
- Fixed Enfold price and popularity sorting when using its shop controls.
- Fixed WCFM vendor filters including products from other stores after a selection.
- Fixed Lite multi-select links dropping earlier terms when expanding a taxonomy filter.
- Fixed missing French filter options after switching language with Polylang.
- Fixed custom CSS descendant selectors that start on a filter root.
- Fixed postmeta checkbox labels failing to apply or clear their filter.
- Fixed duplicate posts when restoring filtered archive links through Fragment AJAX.
- Fixed inline searching and opening delayed taxonomy filters on search pages
- Fixed Customizer filter previews stopping after changing taxonomy
- Fixed selected numeric ranges not being highlighted in filter widgets
- Fixed average-rating sorting returning no products on filtered category archives
- Fixed the default stock filter being skipped on an unfiltered Shop page
Changed
- Allowed automatic filter placement beside product grids referenced through theme patterns.
- Made the archive performance report scroll within the mobile screen width.
- Made Lite publishing require the native WordPress runtime checks.
- Preserved category descriptions when applying additional product filters
- Made category accordion arrows easier to tap on touch screens
6.54 15 Sep 2026 2 fixed1 changed
Fixed
- Fixed completed AJAX rebuilds remaining in progress with persistent object caching
- Fixed ancestors rebuild failure handling and cancellation so pending SQL is not duplicated or reported as completed
Changed
- Background filter sitemap rebuilds now continue from saved progress without repeating completed SQL and stop on failed or uncertain writes
6.53 15 Sep 2026 1 new3 changed
New
- Added a narrow PHP provider for evidence-backed landing-content tools to read and update exact SEO Override HTML and resolve taxonomy, search, sale and stock product scopes without approximating unsupported price or meta filters
Changed
- Filter sitemap builds now stop on an estimate query error, preserving the published sitemap and reporting failure from wp ssf rebuild without retrying
- Filter sitemap generation now defaults to off until enabled in SEO & Indexing, while existing saved on/off choices are preserved
- Tested up to WordPress 7.1
6.52.30 23 Aug 2026 3 new1 fixed1 removed6 changed
New
- Added default-on anonymous render rate limits with separate configurable catalogue and legacy-widget token buckets
- Added configurable public request limits which reject excessive filter URLs, search words, taxonomies and terms before catalogue or widget queries run
- New installations now start with Bot-fighting AJAX and archive protection enabled, while the optional Ultra-fast page AJAX remains off with clearer plugin compatibility guidance
Fixed
- Fixed parallel public filter requests bypassing the configured burst limit by making catalogue and legacy-widget token debits atomic
Removed
- Removed an unused legacy developer shortcode which exposed filter term data as inline JavaScript
Changed
- Limited lazy-widget pagination to pages 1 through 100 and SQL offsets no greater than 2,000
- Invalid /page/-1/ and /page/0/ archive requests now redirect to the equivalent unpaginated local archive before catalogue queries run
- Kept Remove base 301 redirects local when a proxy preserves a request path beginning with two slashes
- Sitemap page-set rebuilds triggered by filter settings now run as recoverable scheduled jobs, so saving settings returns without waiting for catalogue-wide SQL
- Bot-fighting AJAX now refreshes products and every filter in one archive POST, removing the extra page-level filter request after each selection
- Lazy filter containers in Bot-fighting AJAX now share cacheable static or state-specific requests, so matching hover, click and event widgets load together while retaining each widget's own layout and settings
6.52.23 22 Aug 2026 1 improved
Improved
- Updated super-speedy-settings to the latest version
6.52.13 21 Aug 2026 1 security
Security
- Hardened the shared settings module and removed its Jetpack Autoloader dependency
6.52.12 21 Aug 2026 2 changed
Changed
- Super Speedy Archives now replaces SSF's object_ancestors builder, maintenance and fast query consumers only when Replace Super Speedy Filters object_ancestors table is enabled; existing sites keep the SSF table by default
- Wp ssf rebuild now rebuilds the SSF table by default and directs Archives takeover sites to wp ssa rebuild
6.52.10 18 Aug 2026 1 improved1 changed
Improved
- Updated super-speedy-settings to 1.8.0, restoring the official WordPress MCP Adapter
Changed
- Shortened the plugin submenu label to Filters under the Super Speedy menu
6.50.0 16 Aug 2026 2 new1 fixed4 changed
New
- Added the speedyfilters_post_type_archive_url filter for pointing a post type at a landing page of your own, for custom post types registered without an archive
- Added the speedyfilters_term_placeholder_image filter for setting your own fallback term image per post type
Fixed
- Fixed the FWW Custom Taxonomy widget ignoring its own Choose Post Type setting and always filtering products
Changed
- Filter links, clear-filters links and canonicals on a non-product archive now use that post type's own archive instead of the shop page, so filtering a custom post type on a WooCommerce site no longer sends every link to /shop/
- Posts now base their filter links on the Posts page set in Settings > Reading
- Filter these post types is now a single choice rather than a checklist, because every other setting on these tabs is one site-wide value that all selected post types would share
- Filter widgets on a non-product post type no longer emit the WooCommerce product-categories and wc-layered-nav-term classes or the WooCommerce placeholder image; they use ssf-terms and ssf-term, which products now carry as well
6.49.0 16 Aug 2026 4 fixed7 changed
Fixed
- Fixed pretty permalinks for a taxonomy whose query variable differs from its name, such as category and post_tag
- Fixed a product category archive filtered by an attribute ignoring the filter, so ?rating_filter=, star ratings and third-party filter plugins now narrow the results
- Fixed a category archive filtered by two or more taxonomies losing the category and listing posts from other categories
- Fixed the term description under the archive heading not rendering
Changed
- Taxonomies registered by a theme or another plugin are now picked up automatically, so filtering a custom post type works without visiting the settings page and hitting save
- Filter links using term IDs and links using term slugs both work now, whichever form the site is set to generate
- Moving a category to a new parent now updates the filter counts for products in it and below it, instead of leaving them under both parents
- Renaming a term no longer rebuilds the filter index for everything under it
- Very large category moves now hand the rebuild to the background instead of running it inline
- Filter widgets no longer emit a robots directive on a single-term archive of a taxonomy that is not configured in SSF
- No longer emits a PHP warning on sites without WooCommerce
6.48.2 14 Aug 2026 1 removed1 changed
Removed
- Moved MCP onto the one shared Abilities bridge, removed the AI Engine namespace registration and kept the existing deterministic 18-ability surface unchanged
Changed
- MCP setup now uses a dedicated least-privilege agent user, with filter application and plugin installation as separate execute permissions
6.48.1 13 Aug 2026 1 improved
Improved
- Updated super-speedy-settings to the latest version
6.48.0 12 Aug 2026 2 fixed
Fixed
- Fixed an empty browser title on filtered pages carrying more than one filter, on stores that have not built their own SEO title template on the SEO & Indexing tab
- Fixed the Check Stock and Show Filtered Variations attribute lists on the Main tab not being untickable once ticked
