Back to JetSmartFilters
JetSmartFilters changelog
Release notes for every version we have on record, newest first.
Latest 3.8.6.3
40 versions
3.8.6.3 Latest 1 security
Security
- Fixed a stored XSS vulnerability in the Listing Link block by properly escaping URLs, labels, and HTML attributes.
3.8.6.2 1 fixed
Fixed
- Listing Field block now restricts wrapper tags to safe, supported HTML tags to prevent stored XSS.
3.8.6.1 1 improved2 fixed
Improved
- UPD: JetDashboard module was updated to version 2.2.4.
Fixed
- Apply Button redirects now reject unsafe URLs to prevent stored XSS.
- Map Sync filters no longer trigger warnings when no query variable suffix is set.
3.8.6 7 fixed1 security1 changed
Fixed
- Select dropdowns now stay correctly positioned in Safari when used inside Elementor menus.
- Pagination no longer returns to the first page when filtering providers with an existing paged query.
- Number controls now preserve decimal values while editing filter settings.
- Elementor Pro Loop Grid now filters correctly on archive templates and no longer duplicates the empty-results message.
- Listing Builder now saves advanced Posts Query settings correctly.
- Frontend filter labels, admin URL previews, and SEO rule titles now sanitize unsafe HTML while preserving supported markup.
- Signed AJAX requests now preserve Hierarchical Select updates, indexed counters, Plain Query filters, and legacy integration APIs.
Security
- Provider- and query-bound signatures for default queries, allowed filter values, referrer context, and provider settings are now enabled by default. Unsigned compatibility mode restricts client defaults to public query scope.
Changed
- IMPORTANT: Purge all page, object, and CDN caches after updating or re-enabling signatures. Custom filtering clients must send the signed defaults, query_context, and settings values localized by JetSmartFilters while request signatures are enabled. Disabling signatures is available as a compatibility opt-out and reduces public request protection.
3.8.5.1 1 fixed
Fixed
- Active filter item labels now strip potentially unsafe HTML correctly.
3.8.5 9 fixed1 changed
Fixed
- Elementor Pro Products provider wrappers are now preserved when filtered requests return no results.
- Alphabet filtering now works with JetEngine term listings and Elementor taxonomy Loop Grids.
- WooCommerce archive pagination now updates correctly during AJAX filtering, including JetEngine archive templates.
- Filtered user meta queries no longer return duplicate users.
- WooCommerce product attribute filtering and indexed counts now support Unicode taxonomy names.
- Range filters now apply keyboard step changes correctly.
- Elementor Pro Loop Grid now preserves the posts-per-page value for Current Query sources.
- Signed AJAX requests now work correctly with JetEngine Calendar filtering.
- Self-referrer AJAX requests no longer collide with public WordPress provider query variables.
Changed
- UPD: JetDashboard license handling now avoids automatic remote synchronization and refreshes plugin update data correctly after license changes.
3.8.4 1 improved8 fixed
Improved
- UPD: JetDashboard now improves remote license synchronization and plugin management safeguards.
Fixed
- Plain query parsing and self AJAX referrer URLs now support custom permalink symbols while preserving legacy URL compatibility.
- Polylang permalink filters and Apply Button redirects now use the correct translated pages and taxonomy terms.
- Indexed Collapsible Group filters no longer show parent toggles when all child terms are empty.
- Direct visits to self-referrer URLs now redirect to the clean frontend URL instead of being processed as AJAX requests.
- JetEngine archive templates no longer trigger warnings when pagination query properties are missing.
- Dynamic Range min/max values now use published products only.
- WooCommerce product taxonomy filters now hide terms with no catalog-visible products when out-of-stock items are hidden.
- Permalink filter values are now encoded correctly.
3.8.3.1 1 fixed
Fixed
- SQL query handling for filters and the indexer was hardened, including meta filter indexer conditions.
3.8.3 9 fixed
Fixed
- Hierarchical Select and grouped Select filters now calculate responsive widths correctly.
- WooCommerce attribute filtering and indexed counts now handle hidden out-of-stock variations correctly.
- Datepicker styles are now scoped to JetSmartFilters controls to prevent leakage into other datepickers.
- Gutenberg filter controls layout was corrected for the latest WordPress editor behavior.
- Elementor Pro Loop Grid filtering now works correctly on single templates and preserves query constraints with in-stock variation filtering.
- Range filter decimal maximum values now respect the default step.
- WooCommerce compatibility settings now show the correct notice when WooCommerce is inactive.
- Filtering inside Bricks popups now works correctly.
- Checkboxes and Radio filters in Bricks now apply Gap correctly between the marker and label on RTL websites.
3.8.2.1 2 fixed
Fixed
- Dynamic Range min/max values now work correctly for CPT listing providers.
- Empty filter requests no longer trigger unnecessary provider data decoding.
3.8.2 10 fixed
Fixed
- Private posts no longer appear in AJAX filter results.
- WPML-translated Apply Button redirects now preserve the correct translated URL.
- Additional Settings search now keeps parent chains visible.
- JetDashboard Smart Filters admin links now point to the correct plugin pages.
- Custom URL Symbols delimiters now work correctly with prefiltered URLs.
- Filter template scroll height is now rendered correctly.
- Hierarchical Select no longer duplicates level updates and stays synchronized after popup reopen.
- Visual filter "All" option color control now works correctly.
- Dynamic Range min/max values now work correctly with auto indexing, WooCommerce variation prices, non-indexed post types, and JetEngine custom storage.
- Search filter plain query parameters are now URL-encoded correctly.
3.8.1.1 1 fixed
Fixed
- SQL injection, appeared on combination Hide out of stock option + taxonomies/attributes filter.
3.8.1 11 fixed
Fixed
- Active filter values set to 0 now remain visible and reload correctly.
- AJAX pagination now falls back to the correct page after filters are removed.
- Elementor Pro Loop Grid provider now works correctly on archive pages and uses the correct filtered post IDs.
- Date Period filter custom relative date limits and disabled date styling now work correctly.
- Dynamic Range filter display in the admin area was corrected.
- JetSmartFilters text domains and UI typos were corrected.
- Pagination Filter active page state now updates correctly.
- Apply button and filter labels are no longer rendered when filter markup is empty.
- Security hardening for SQL query handling.
- AJAX GET requests with jsf_ajax=1 no longer trigger fatal errors.
- PHP warning for the missing show_counter option was fixed.
3.8.0.1 2 fixed
Fixed
- Fatal error after update
- Dynamic range preload without provider query
3.8.0 6 new1 improved7 fixed
New
- Listing Builder now supports JetEngine queries, including registration of custom query types.
- JetEngine blocks can now be used inside Listing Builder items with proper preview/render support.
- Range filter can dynamically recalculate min/max values based on the current filtering context.
- Filter duplication was added in the admin area with redirect to the duplicated filter edit page.
- JSF Listing items can now be made clickable.
- Filter Query macro now supports the Array Value parameter.
Improved
- UPD: Style Manager UI and shared framework loader were updated for the new builder behavior.
Fixed
- JetEngine current object and query context are now handled correctly in JSF listings.
- Sorting Filter now correctly triggers the "Remove Filters" button state.
- Products Result Count widget values now update correctly during AJAX filtering.
- Visual filter option labels are rendered correctly.
- Pagination SEO canonical links were corrected for filtered pages.
- Listing Builder now saves posts query arguments correctly.
- CollapsibleContent now correctly respects the initialOpen prop.
3.7.5 2 new10 fixed1 changed
New
- Divi addon compatibility
- Pagination Filter SEO
Fixed
- Taxonomy term name in URL with tax-query options
- EPro Archive Products bug after resetting sorting filter
- Add Load More Button role button
- Filter Listing Image Block height style
- Radio filter 'Add All' option for third-party plugins
- Active filters/Active tags with a numeric value
- JSF List block
- Bricks Pagination filter tabindex focus
- CCT filtering not working correctly with special characters
- PHPCS
Changed
- UPD: Blocks ApiVersion 3
3.7.4.1 1 fixed
Fixed
- Bricks PHPCS
3.7.4 1 new2 fixed
New
- PHPCS Check
Fixed
- Fatal error when using Query Builder and tax_query with "Taxonomy term name" => Slug
- Issue with Bricks Loop
3.7.3 1 new5 fixed
New
- Allow to set dynamic default value for the filters
Fixed
- Issue with styles for filters inside Bricks popup
- Compatibility Elementor filters widgets with WPML
- Minor issues with new blocks styles manager
- Search Filter. Issue with quotes in the search request when searching by custom fields
- Listing Builder. Correctly handle Additional CSS classes for the blocks.
3.7.2 1 new9 fixed
New
- Admin URL Structure Settings URL Aliases warning text
Fixed
- WooCommerce Shortcode sorting
- Sort filter with Products
- Date Period filter reset with minDate & maxDate
- Visual filter Behavior->Radio all option remove indexer count
- Filter Query Variable = _tax_query:: with Taxonomy term name type in URL = slug
- JetProductTable Warnings
- Query Variable: _plain_query Warning
- WooCommerce Shortcode provider with Apply type Page reload/Mixed
- Jet-elementor-extension framework
3.7.1 3 new9 fixed
New
- Compatibility with weglot
- Filter additional settings text controls to WMPL Advanced Translation Editor
- Indexer group_concat_max_len hook
Fixed
- Rewrite rules for custom taxonomy subposts
- Visual filter label XSS
- Removing tags in active items
- WooCommerce Shortcode provider Pagination
- Filter is hidden by Indexer after disabling Indexer
- Increase group_concat_max_len
- Admin filter wpml taxonomy terms translate
- Woocommerce Attributes with JSF Permalinks
- Remove custom loop marker logic after Bricks 2.0 update
3.7.0 2 new
New
- Listing Builder
- New style manager
3.6.11 8 fixed
Fixed
- Plain query for Date Period/Range
- Admin settings subtitle font weight
- Filter predefined value
- Active Filters/Tags label with " symbol
- If the parent element is excluded, preserve the hierarchy in its descendants
- Products Loop with Listing Grid
- Woocommerce wpml multi currency current
- Plain_query data with suffix
3.6.10 6 fixed1 changed
Fixed
- For warning after activating the plugin
- Date Period with Apply type -> Page reload
- Filter Label with HTML
- Editor block Search with apply type Mixed
- Auto re-indexing
- Add missing styles to enable Hierarchical Select customization for Bricks.
Changed
- UPD: indexer item_id change to BIGINT
3.6.9 3 fixed
Fixed
- Pagination for Products Loop is incorrect in some cases
- Fatal error when submitting form on the page built with Bricks
- PHP error in some cases.
3.6.8.2 2 fixed
Fixed
- Slug name in hierarchical select
- Rollback if filter is not displayed
3.6.8.1 4 fixed
Fixed
- Active filter not working and breaks all filters on the page
- Additional providers doesn't work
- Filter indexer doesn't work properly
- Cross-site scripting(XSS) vulnerabilities
3.6.8 5 fixed
Fixed
- Woocommerce archive pagination
- Wrong apply type if there are multiple identical filters on the same page
- Woocommerse shortcode with query ID
- More than one plain query parameter
- Js uniqueFilters update
3.6.7.1 1 changed
Changed
- UPD: JetQuery Control module to the latest secure version
3.6.7 2 new4 fixed
New
- Default Woo Archive provider
- Cct checkboxes info
Fixed
- Ensure parent class Jet_Smart_Filters_Provider_WooCommerce_Archive is included
- Better compatibility with various themes & not found msg
- Apply Button Active Button State doesn't recognize Location & Distance filter
- Error when receiving cct data when jet engine is disabled
3.6.6 3 fixed
Fixed
- Range filters apply on Enter in Safari browser
- Remove dangerous tags from DB values before usage
- Elementor Archive & Archive Products providers & optimized DOM
3.6.5 3 fixed1 changed
Fixed
- Fixed query variable merging for 'Page Reload' filters in Bricks for more reliable behavior
- Deprecated Dynamic Properties
- Warnings
Changed
- UPD: links in the Need Help button
3.6.4 6 fixed
Fixed
- Sorting filter with meta key containing date
- Active button state with Radio filter
- Other filters changed indexer
- Bricks infinite scroll/load more after filtering
- Add validation for Bricks to check if selected filters are published
- Override the main WordPress query when the 'Is main query' option is enabled for Bricks query loop
3.6.3.1 1 fixed
Fixed
- Rating filter icon esc_attr (XSS)
3.6.3 2 new10 fixed
New
- Date range filter apply on enter
- Disabling Rank Math SEO integration if there are SEO filter rules on the page
Fixed
- Filter styles with grouped items in popup
- Search filter with _plain_query
- Options from the postmeta table indexer
- Elementor Pro Archive Products provider with experimental optionOptimized Markup
- Uncaught TypeError: i.filterGroup.isCurrentProvider is not a function
- Hierarchical toggle enabled after switching to another filter type
- Fatal errors in some cases
- Indexer in some cases
- Added detail object to the bricks/ajax/query_result/displayed event to prevent TypeError on queryId
- Add check for window.JetSmartFilters object to prevent console errors
3.6.2 7 fixed
Fixed
- Filters with Elementor Portfolio widget
- If taxonomy does not exist
- Canonical ref link with Yoast SEO
- Visual filter labels
- Missing jQuery dependency in script enqueue
- Ensured compatibility with Bricks query loop by forcing useQueryFilter to true for correct filtering with JetSmartFilters
- Resolved issue where taxonomy filter didn't work with Bricks query loop when a parent term was selected in 'Terms (Include)'
3.6.1 3 new12 fixed
New
- Hidden filter
- Custom URL symbols options
- Allow to get options from the postmeta table
Fixed
- Exclude taxonomy terms options
- Default filter value with JetEngine Lazy Load
- Sanitize the incoming settings using a dedicated method
- Disable 'Fixed position' option for Provider Preloader in Bricks query loop
- Vertical alignment for Preloader provider in Bricks query loop
- Initialize plugin in Bricks popup after JSF filtering
- Move inline JS for Bricks query loop and filters to external file
- Add '_query_type' property to ensure indexer works correctly
- Add updated_query property to AJAX filtering response
- Prepare queryUpdatePayload for passing to the handle method
- Refactor method for updating filtering results using bricks method
- Handle auto-scroll option after refactoring for Bricks provider integration
3.6.0.1 1 fixed
Fixed
- Prevent system notices appearing
3.6.0 5 new2 fixed
New
- SEO Title & Description
- Taxonomy term name type in URL (ID/Slug)
- Filters compatibility with the products variation
- Filter taxonomy terms options sorting
- UPD: added description for "Apply button" with redirect
Fixed
- Re-init Bricks builder scripts after filtering dynamic calendar
- Add property to store base query variables for "reload" filter type
3.5.8 1 new1 improved1 fixed
New
- Ability to close the dropdown on clicking the Apply button
Improved
- UPD: Compatibility with Elementor 3.26
Fixed
- Indexer with _tax_query
