> For the complete documentation index, see [llms.txt](https://changelog.ajaxsearchpro.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://changelog.ajaxsearchpro.com/most-recent-changes.md).

# Most Recent Changes

### 4.29.1 - 2026-06-16 <a href="#id-4291---2026-06-16" id="id-4291---2026-06-16"></a>

This release builds on the 4.29.0 foundations. It overhauls Index Table exclusions, adds built-in numeric indexing and manually addable custom-field keys, makes the Priority Groups condition system far more flexible, and ships a batch of admin-panel and block-editor fixes — including Gutenberg block support for the WordPress 6.9 iframe editor.

#### New Features <a href="#new-features" id="new-features"></a>

* **Index Table — Exclusions overhaul** ([#343](https://github.com/wpdreams/ajax-search-pro-development/issues/343)):
  * All exclusion rules are now consolidated into a single **Exclusions** panel.
  * New **date-based exclusions** — skip content older than a given date, applied globally or separately per post type (e.g. don't index very old posts).
  * New **author** exclusions and manual **post-ID** exclusions (pick specific posts to leave out).
  * These join the existing taxonomy-term and custom-field exclusion rules.
* **Index Table — numeric data extraction** ([#44](https://github.com/wpdreams/ajax-search-pro-development/issues/44)) — a new option (on by default) that extracts numbers embedded in your content as separate searchable tokens, so a search for `1234` can match an indexed `SKU1234`. This is a built-in replacement for the previous `asp_indexing_keywords` filter snippet.
* **Index Table — manually addable custom-field keys** ([#164](https://github.com/wpdreams/ajax-search-pro-development/issues/164)) — the "Custom fields to index" selector is now a creatable select: type any meta key and choose **Add "key"**, even for keys that aren't yet present in `postmeta`. This covers ACF / Meta Box / Pods fields not yet saved on any post, and externally stored fields (e.g. Jet Engine custom meta storage) that never appear in `postmeta`.
* **Priorities — more flexible condition system** ([#340](https://github.com/wpdreams/ajax-search-pro-development/issues/340)):
  * A new **"+ Add condition"** gate lets a priority group target multiple search instances and multiple phrases (with matching logic), and gate the group on **taxonomy or custom-field filter values** taken from the live search query.
  * New **per-boost priorities** and an **Ordered Posts** boost for arranging promoted posts in an explicit order.

#### Fixes & Changes <a href="#fixes--changes" id="fixes--changes"></a>

* **Gutenberg blocks — WordPress 6.9 iframe editor**: both ASP blocks now register with block **API version 3**, clearing the "API version 1 is deprecated" notice and rendering correctly inside the iframe editor; the search preview also stays full-width in the editor ([#342](https://github.com/wpdreams/ajax-search-pro-development/issues/342)).
* **Index Table post-type selector** now lists custom post types registered with `show_in_rest => false`, which were previously missing from the selector and could never be added to the index from the UI ([#345](https://github.com/wpdreams/ajax-search-pro-development/issues/345)).
* **Priority Groups follow-up** — correctness and polish fixes surfaced by the redesigned conditions and boosts ([#344](https://github.com/wpdreams/ajax-search-pro-development/issues/344)):
  * Accurate migration of pre-4.29 priorities — including multisite networks — into groups with a single Ordered Posts boost.
  * Full custom-field operator support in both conditions and boosts: `LIKE`, `NOT LIKE`, `=`, `≠`, numeric comparisons, `BETWEEN`, and multi-value `IN` / `NOT IN` via a tags input.
  * Stable, fixed-width group editor modal and consistent dropdown styling.
* The Index **Overview history chart** now appears immediately instead of only after the first refresh.
* Refreshed the WordPress admin menu icon (a crisp vector magnifier) and moved the Ajax Search Pro menu to a tidier position in the admin sidebar.

### 4.29.0 - 2026-06-03 <a href="#id-4290---2026-06-01" id="id-4290---2026-06-01"></a>

This is a major release. It introduces the new **Search AI** — a suite of AI-powered tools that help you configure, diagnose and improve your search instances — and ships ground-up rebuilds of the **Index Table**, **Analytics**, and **Priorities** systems, a reworked **Synonyms** engine, several new suggestion sources, and a wide range of admin-panel, performance and stability improvements.

{% embed url="<https://youtu.be/MZzpdUs5sjg>" %}

#### New Features <a href="#new-features" id="new-features"></a>

* **AI Assistant** — a new, license-gated suite of AI-powered tools available from a dedicated admin menu, with its own usage-tracking tab and interaction log:
  * **Configuration Wizard** — guides you through setting up a search instance and applies a recommended configuration for you.
  * **Search Quality Report** — analyses a search instance and reports issues and actionable recommendations.
  * **Priorities Advisor** — reviews your priority rules and flags problems such as orphaned terms/posts, empty rules, misconfigured phrase logic and nameless groups.
  * **Synonym Discovery** — suggests synonyms based on your content to improve recall.
  * **Stopword Conflict Detector** — detects stopwords that conflict with your indexed content.
  * **Diagnostic Chat** — ask questions about your search setup and get guided answers.
  * **AI Keyword Suggestions** — an AI-powered autocomplete and keyword-suggestion source; AI-sourced phrases are flagged in the frontend with a sparkle badge.
* **Index Table — rebuilt** with a new management interface and engine:
  * New Overview panel with live indexing stats, a Stop button and restart support.
  * Index-size history chart with daily snapshots (recorded via REST, WP-CLI and WP-Cron) and a keyword-count series.
  * Cursor-based re-indexing for reliable processing of large sites.
  * New taxonomy-term exclusion rules and custom-field exclusion rules with AND/OR logic.
  * Re-index notification banner after settings that affect the index are saved.
  * In-panel WP-CLI tips; the "Post Types & Taxonomies" panel is now "Post Types & Filters".
* **Analytics — rebuilt** fully:
  * Configure multiple Google Analytics 4 events with a flexible `items[]` format and 8 event triggers (including "try this").
  * New `{search_id}` and `{search_name}` template variables for event values.
  * Legacy Google Analytics 3 (`window.ga`) support has been removed.
* **Priorities — overhauled**:
  * Individual Priorities have been merged into Priority Groups via a new post rule type.
  * Per-group enable/disable toggle with panel descriptions.
  * Multisite per-blog targeting for priority groups.
* **Index table keyword suggestions** — a new autocomplete and keyword-suggestion source backed by the search index. It surfaces the words closest to what the visitor typed, with typo and transposition correction, ranked by popularity ([#337](https://github.com/wpdreams/ajax-search-pro-development/issues/337))
* **User Searches block** — a new Gutenberg block displaying Popular or Latest visitor searches, replacing the removed Top/Last search widgets ([#318](https://github.com/wpdreams/ajax-search-pro-development/issues/318))
* **Synonyms — reworked**: expansion is now always bidirectional (the "synonyms as keywords" option has been removed), synonyms are expanded at query-time for taxonomy term searches, and the panel shows a stale-index warning after changes so you know when a re-index is needed ([#335](https://github.com/wpdreams/ajax-search-pro-development/issues/335))
* **Admin pages modernized**: the Compatibility (now absorbing the former Performance page), Maintenance, and Help & Updates pages were refactored to a React/REST architecture, with a "Reset to defaults" option on Compatibility. The legacy Export/Import submenu has been removed.
* **All Searches**: media panel reordering and bulk-delete support.
* **License activation gate**: admin pages now prompt for activation when the license is inactive, with clearer activation and validation error messages.

#### Fixes & Changes <a href="#fixes--changes" id="fixes--changes"></a>

* Optimized taxonomy filtering in search queries by replacing nested `IN`/`NOT IN` sub-queries with `EXISTS`/`NOT EXISTS`, preventing oversized queries that were being killed on some managed hosts ([#287](https://github.com/wpdreams/ajax-search-pro-development/issues/287))
* Fixed statistics-based keyword suggestions querying a dead legacy table; they now read from the active statistics table ([#326](https://github.com/wpdreams/ajax-search-pro-development/issues/326))
* Removed a dead code that made unneccessary db writes for legacy script data ([#339](https://github.com/wpdreams/ajax-search-pro-development/issues/339))
* Fixed possible fatal errors during plugin updates caused by a stale autoloader held in PHP memory ([#336](https://github.com/wpdreams/ajax-search-pro-development/issues/336))
* Fixed the Inter font not loading and the admin body font being incorrectly overridden ([#334](https://github.com/wpdreams/ajax-search-pro-development/issues/334))
* Upgraded the back-end color picker (spectrum) from v1.1.1 to v2.0.10, fixing a Safari white-swatch bug and transparent gradient handling.
* Prevented theme-bundled jscolor scripts from hijacking the admin color pickers and resetting values after save.
* Fixed a dbDelta error on activation by dropping stale duplicate synonym indexes.
* The indexing UI now stays alive across admin menu switches, and stops & refreshes correctly when settings are saved.
* Removed the performance-tracking feature; improved decoding of legacy encoded values during compatibility and post-type migrations.
* Statistics panel improvements: switched charts to an area-chart style and fixed checkbox contrast and sizing in light and dark modes.
* Admin UI polish: semantic button variants, refreshed stat-card tiles, and removal of unintended coloured accents.
