Repository navigation
Releases: WebberZone/better-search
Release list
v4.5.2
Changelog
Release date: 15 October 2026
Security
- Prevented thumbnail fallbacks from using images inside or attached to password-protected posts before the password was entered.
- Hardened thumbnail URLs to reject unsafe protocols.
Fixed
- Malformed custom thumbnail dimensions caused PHP errors during image-size selection.
Full Changelog: v4.5.1...v4.5.2
v4.5.1
Changelog
Release date: 12 October 2026
Added
- [Pro] Ask AI in theme search forms, plus model settings for AI answers with a Compare models window.
Changed
- Cached searches with no matches, refreshing them when posts changed.
- [Pro] Renamed ECSI to Efficient Content Storage and Indexing.
- [Pro] Reused cached AI answers for reworded questions until their source posts change.
- Updated Freemius SDK to the latest version.
Fixed
- [Pro] AI answers crashed on single sites with ECSI, could cite another company's article, and Enter ran a normal search in Ask AI only mode.
- Searches raised a PHP 8.5 deprecation warning while loading stopwords.
Full Changelog: v4.5.0...v4.5.1
v4.5.0
Changelog
Release date: 2 October 2026
Release post: https://webberzone.com/announcements/better-search-v4-5/
Added
- Added WordPress Abilities API support for site searches, with an option to disable it in the Features tab.
- Added a Status section to Tools showing database, index and cache health.
- Added a setting to restrict search results to selected terms.
- Added
*wildcard support to filtered words, sospam*also blocked "spammer". - Added translated titles and language-specific links to TranslatePress live-search suggestions.
- Added the
data-bsearch-live-search="off"form attribute, so forms with their own live search did not show a second list of suggestions. - [Pro] Added abilities for popular search terms, spelling suggestions and cache clearing.
- [Pro] Added optional AI answers grounded in Better Search results, with source links, cached answers, usage limits and a Content gaps report.
- [Pro] Added WP-CLI commands for AI questions, answer-cache management and Content gaps.
- [Pro] Expanded Tools status with custom-table and AI-provider health.
- [Pro] Added optional recency weighting, disabled by default; existing custom-table indexes required a one-time backfill from Tools.
- [Pro] Added optional ranking weights for slug, metadata, author and comment matches.
- [Pro] Added wildcard search redirects, so
help*could match multiple search phrases.
Changed
- Raised the minimum WordPress version to 6.9 for the Abilities API.
- Improved keyboard and screen reader access to settings and repeater controls.
- [Pro] Expanded include and exclude settings to all public taxonomies.
- [Pro] Improved custom-table search performance on large sites.
- [Pro] Moved the REST API search setting to the Features tab.
Security
- Hardened thumbnail dimensions to prevent markup injection through custom image sizes.
Fixed
- Cached search results could appear in the wrong language on WPML, Polylang and TranslatePress sites.
- Searches covering taxonomies, metadata, authors or comments could time out on large sites.
- Common words were not excluded on sites without a Better Search translation.
- Network search caches remained stale after settings changes or manual cache clearing, and nested queries could prevent caching.
- Cache-clearing confirmation and error messages were missing.
- Live search suggestions could reopen after pressing Escape or submitting the search.
- [Pro] Custom-table searches ignored some search settings, taxonomy weights and term restrictions.
- [Pro] Custom-table searches could show empty pages, and multisite searches could repeat, skip or return posts from the wrong site.
- [Pro] Multisite custom-table searches returned no results when
posts_per_pagewas-1. - [Pro] Custom-table schema and taxonomy indexes were not reliably updated.
- [Pro] Fuzzy searches could ignore Boolean operators or match common words, returning too many results.
- [Pro] Multisite and fuzzy searches could omit posts matching slugs, taxonomies, metadata, authors or comments.
- [Pro] Search terms containing a dollar sign followed by a digit were omitted from relevance scoring.
Full Changelog: v4.4.4...v4.5.0
v4.4.4
Changelog
Release date: 10 September 2026
Fixed
the_bsearch_post_type()andget_bsearch_post_type()filtered their output through the term list hooks instead of thethe_bsearch_post_typeandget_bsearch_post_typefilters.
Full Changelog: v4.4.3...v4.4.4
v4.4.3
Changelog
Release Date - 5 September 2026
-
Improvements:
- Improved multisite and admin performance by caching Better Search table-existence checks, network table discovery, and FULLTEXT index status checks, eliminating repeated
SHOW TABLESandSHOW INDEXmetadata queries while adding live health checks and safe recovery when tables change outside WordPress. - Reduced database work for FULLTEXT searches that include post meta or comments by using existence checks instead of row-multiplying joins.
- Improved negative searches by separating excluded terms from the FULLTEXT match and applying them across the enabled search fields.
- Added the
bsearch_search_meta_keysfilter to limit meta searches to selected keys. - Added short-lived caching for live-search responses and heatmap counts, and avoided unnecessary result-count queries for live search.
- [Pro] Reduced memory usage during spelling-dictionary rebuilds by processing titles in batches and keeping the existing dictionary available until the replacement is ready.
- [Pro] Prevented repeated saves of the same post from inflating spelling-dictionary frequencies.
- [Pro] Optimized custom-table result counts by skipping relevance-score calculation when no relevance threshold is applied.
- Improved multisite and admin performance by caching Better Search table-existence checks, network table discovery, and FULLTEXT index status checks, eliminating repeated
-
Bug fixes:
- Fixed negative-only searches returning no results and negative terms being ignored in natural-language FULLTEXT searches.
- Fixed the dashboard's "Last 7 days", "Last 14 days" and "Last 30 days" tabs covering one day more than their labels, since the date range is inclusive of both endpoints.
- [Pro] Preserved negative-term exclusions when fuzzy LIKE matching is enabled.
- [Pro] Fixed spelling-dictionary rebuilds temporarily emptying the dictionary and ensured invalid batch sizes cannot stall a rebuild.
- [Pro] Fixed spelling-dictionary rebuild failures when words differ only by case or accents.
- [Pro] Fixed custom-table indexing missing taxonomy and indexed-meta changes made outside a post save (quick edit, SEO plugin primary-term changes), and moved large term refreshes to bounded background batches.
Full Changelog: v4.4.2...v4.4.3
v4.4.2
Changelog
-
Improvements:
- Updated the Settings API to version 3.0.0, adding missing sanitizers for radio, select, wysiwyg, file, password, css, html and other field types, and preventing unregistered submitted settings from being saved raw.
- Added the
bsearch_highlight_use_boundariesfilter to the client-side highlighter, allowing themes to enable whole-word-only matching on cached pages.
-
Bug fixes:
- Fixed stopword stripping breaking with a PHP
preg_replace()warning, and silently leaving stopwords in place, when the translated stopword list or thewp_search_stopwordsfilter contained a/. - [Pro] Fixed the ORDER BY clause being silently rewritten to
score DESCwhen full-text search was unavailable, which discarded the "Sort by date" ordering on short-term and LIKE-based searches. - Fixed plugin data being deleted when uninstalling one version while its paired free or Pro counterpart was active.
- Fixed stopword stripping breaking with a PHP
Full Changelog: v4.4.1...v4.4.2
v4.4.1
Changelog
Release Date - 20 August 2026
-
Improvements:
- Setting defaults are now resolved from a single lightweight list instead of building every settings field, so reading an option early in the page load no longer risks loading translations too early.
-
Bug fixes:
- Fixed the settings wizard silently dropping repeater field rows on save.
- Fixed settings not saving when submitted without a referer (e.g. via REST or WP-CLI).
Full Changelog: v4.4.0...v4.4.1
v4.4.0
Changelog
Release Date - 2 August 2026
Read more in the Better Search v4.4.0 release post.
-
Features:
- Added a Feature Manager to toggle optional features from a new Features tab.
- [Pro] Added "Did you mean" suggestions for zero-result searches, with Suggest and Auto-correct modes.
- [Pro] Added search redirects with exact or contains matching and 301 or 302 status codes.
- Added search to quickly find options across settings tabs.
-
Enhancements:
- Added the
bsearch_pre_index_content_partsfilter to modify content before it is stored in custom search tables. - Standardized FULLTEXT index names across database tools.
- Updated the Settings API to version 2.10.1 and refreshed admin assets.
- Added the
-
Bug fixes:
- Fixed settings page layout and field rendering issues.
- Fixed disabled Pro settings being discarded or remaining editable in the free plugin.
- Fixed validation preventing settings from saving when required fields were inside collapsed repeater rows.
- [Pro] Fixed the setup wizard changing steps while custom tables were being indexed.
- Fixed database checks not restoring the previous error display state.
- Fixed highlighting fallback behavior for queries containing an unclosed quote.
Full Changelog: v4.3.2...v4.4.0
v4.3.2
Changelog
Release Date - 12 July 2026
-
Enhancements:
- Search term highlighting now keeps double-quoted phrases intact: searching for
"richard harding"highlights the whole phrase instead of its individual words. Mixed queries (e.g."richard harding" smith) highlight the phrase plus the remaining words, and phrases match across whitespace variations, including non-breaking spaces. - Terms excluded with the
-operator are no longer highlighted, since they cannot appear in the results. - Added client-side JavaScript highlighting for cached pages. When a full-page cache (e.g. LiteSpeed Cache, WP Super Cache) serves a cached response, PHP-based highlighting is skipped. The new script reads
document.referrerin the browser and applies the same highlighting logic client-side, covering singular post/page views where "Highlight followed links" is enabled.
- Search term highlighting now keeps double-quoted phrases intact: searching for
-
Bug fixes:
- Fixed "Highlight followed links" silently not working when the site's Home URL scheme differs from the scheme visitors use (e.g. an
http://Home URL on a site served overhttps://, common behind SSL-terminating proxies).
- Fixed "Highlight followed links" silently not working when the site's Home URL scheme differs from the scheme visitors use (e.g. an
Full Changelog: v4.3.1...v4.3.2
v4.3.1
Changelog
Release Date - 8 July 2026
-
Bug fixes:
- Fixed phrase search: double-quoted terms (e.g.
"WordPress"or"WordPress plugin") now always perform a phrase search by automatically enabling boolean mode when quoted terms are detected. - Fixed LIKE search stripping hyphens from compound terms (e.g.
b-26was incorrectly searched asb26). Internal hyphens are now preserved; only leading/trailing hyphens used as boolean operators are stripped. - [Pro] Fixed: short search terms (below the FULLTEXT minimum character threshold) now target the custom table columns (
ct.title,ct.content,ct.excerpt) instead ofwp_postswhen custom tables are enabled. Previously the LIKE fallback always searched againstwp_postseven with a fully indexed custom table. - Fixed SQL syntax error when search query contains only negative terms.
- Fixed exclusion prefix handling and SQL precedence for negative search terms.
- Fixed phrase search: double-quoted terms (e.g.
-
Enhancements:
- [Pro] Removed a redundant
excerpt LIKEclause from search queries when the excerpt is already covered by the FULLTEXTMATCHclause, reducing unnecessary query overhead. - [Pro] The excerpt column is now only pulled into the FULLTEXT
MATCHclause (native or custom tables) when the excerpt weight is greater than zero or "Search Excerpt" is explicitly enabled, instead of unconditionally.
- [Pro] Removed a redundant
Full Changelog: v4.3.0...v4.3.1