Search Manager
Version 5.54.2
August 7, 2026
Fixed
- queue: clear stale index cache before rebuild (64877aa)
Version 5.54.1
August 7, 2026
Fixed
- widgets: correct split heading highlights (1d9ef72)
Version 5.54.0
August 6, 2026
Added
- analytics: enforce Pro gating while preserving data controls (09ceeb8)
- editions: add Standard and Pro foundation (f031b09)
- editions: gate cache warming behind Pro (c1237d4)
- editions: gate pending sync console behind Pro (5c57e64)
- editions: gate Pro-only widget settings and style presets (0bba678)
- editions: gate query rules and promotions behind Pro (f1278c9)
- editions: wire Standard and Pro feature availability (949c247)
- expose available indices (c5c9567)
- helpers: add presentHitOptions method for hit option normalization (d7daa52)
- indexing: validate config indices and surface readiness findings (aa4c862)
- templates: package search playground examples (6c98e36)
Fixed
- align autocomplete language filtering and analytics query casing (bf31a35)
- align config loading, search side effects, and validation feedback (6b8bc9c)
- align indexing failure and observability contracts (ec2e355)
- align install schema, recurring job status, and package metadata (7796438)
- align permission-aware CP navigation (225597c)
- align Postman with public API contracts (b4db055)
- align settings and widget validation redisplay variables (f4078a3)
- align table actions and permission order (e285675)
- align widget style usage with effective configs (02c99fa)
- analytics: align scope and presentation (47325a2)
- analytics: clear rule and promotion tracking data (21838e6)
- analytics: honor skipAnalytics for multi-index redirects (aa65520)
- analytics: select trending query casing by frequency (9883641)
- analytics: show request failures (eaa740f)
- api: simplify Postman collection (716ef9d)
- apply aggregate pagination once (15dd173)
- autocomplete: normalize regional languages for local terms (d07e462)
- backends: correct hosted pagination (e93d738)
- batch search hot paths and harden cache freshness (b8d0bfe)
- centralize index reference safety and configuration error recovery (30942e7)
- correct @since tags against release history (b4dc75d)
- correct @since version for getDocumentsByElementIds method (d675a0a)
- correct index counts, promotion targets, and UI rendering (9b4483d)
- correct search indexing, backend results, and UI consistency (d41ddb5)
- correct settings persistence, widget validation, and config output (df800b6)
- correct split index health and format document counts (775ccf6)
- cp: present comparable index counts (b1072a9)
- dashboard: align card permissions (205a9dd)
- editions: complete downgrade lifecycle safeguards (a1621ca)
- editions: hide Pro surfaces in Standard and preserve widget saves (9477d77)
- editions: hide pro-only search test surfaces in standard (e95eaca)
- enforce authoritative resource persistence (0570df5)
- enforce autocomplete cache and limit contracts (40012f4)
- enforce File storage I/O truth (b9bafe8)
- enforce hosted index lifecycle truth (0e6c14a)
- enforce index maintenance capabilities (df87c26)
- enforce native Redis connection contracts (f85ec6b)
- enforce search cache failure and invalidation contracts (1373219)
- enforce Typesense import result truth (4180808)
- gate debug metadata and validate cache keys (99471ee)
- gql: remove 'uri' field from SearchHitType definitions (a93f24e)
- harden backend access and default lifecycle (78dd131)
- harden config, section splitting, analytics, and autocomplete (3696d22)
- harden destructive index and storage maintenance (ba92b5e)
- harden local index storage and test resolution (25dd207)
- harden Search Manager public API contracts (02c6d6b)
- harden Search Manager salt generation (f1239b7)
- harden search scoring, JavaScript escaping, and debug metadata (7f5d6ac)
- hide Sync Count for unsupported backends (707ea6c)
- indexing: exclude nested entries from standalone search documents (0c1e24e)
- indexing: fail closed before clearing rebuilt indices (ac25f66)
- indexing: isolate invalid config index items (654892a)
- indexing: preserve config closure criteria during rebuilds (0836c09)
- indexing: report rebuild failures and counts accurately (fe6251f)
- make analytics source attribution deterministic (22f9ba6)
- migrations: support fresh MySQL installs (9687d83)
- normalize public search query semantics (036e0ca)
- preserve local batch failure truth (60c1426)
- preserve validation errors in conditional fields (0f9caa2)
- promotions: align application truth (ef89b4b)
- reconcile site and provider index lifecycles (8735b21)
- remove dead search paths and bound docs source caching (97292e5)
- remove unused linkMode parameter from error summary (c0e6e67)
- require base 5.37 and logging library 5.18 (3839d50)
- restore pending sync retry wakeups (043e048)
- scope analytics lifecycle operations (6dafe23)
- secure credential persistence failure logs (e436d52)
- show only actionable storage options (dc5ee32)
- sync: reconcile document counts before deferred continuation (e14d6cc)
- test-tool: add explicit noopener to new-tab links (210be0e)
- unify bulk mutation contracts (4b8e4f0)
- widgets: harden modal behavior and build parity (65c3774)
- widgets: stabilize initial focus verification (ab3e7e8)
- widgets: stabilize production builds (f99ce58)
Changed
- batch hosted search deletions (dc96476)
Miscellaneous Chores
- trigger release 5.54.0 (70b686f)
Version 5.53.2
July 18, 2026
Fixed
- backends: ensure query_by and query_by_weights match for Typesense (f7b8aaf)
- highlighter: paint prefix extensions at word starts (17ce151)
- highlighter: respect field-scoped query terms (e3720e0)
- search: enforce field scopes across filtering and highlighting (1f7ec71)
- search: enforce typo budgets on fuzzy candidates (f386f41)
- search: reject ultra-short fuzzy candidates (87f8b80)
- templates: include plugin credit in snippets settings template (fe3eff5)
Version 5.53.1
July 18, 2026
Fixed
- analytics: normalize SQL query syntax in action identity expression and zero outcome condition (33784ab)
- analytics: normalize SQL query syntax in analytics calculations (411cdcf)
- analytics: normalize SQL query syntax in analytics summary calculations (af94e05)
- analytics: normalize SQL query syntax in device and browser breakdowns (170d6b6)
- analytics: normalize SQL query syntax in performance metrics (f503feb)
- analytics: normalize SQL query syntax in search query metrics (853f942)
- jobs: normalize SQL query syntax in CacheWarmJob for searchCount (517d79d)
- require PostgreSQL-compatible shared dependencies (f283d91)
- storage: normalize SQL query syntax in actionClearStorage (3aa8704)
- storage: normalize SQL query syntax in actionClearStorage (34b8c75)
- storage: normalize SQL query syntax in storeDocument frequency calc (cdaecb1)
- sync: normalize SQL query syntax in upsertRows method (7a0b5c3)
Version 5.53.0
July 17, 2026
Added
- add batch processing for section and category boosts in QueryRuleService (d0447f6)
- add PostgreSQL storage (a432c14)
- add TwigSearchOptionsHelper for search limit normalization (61a37df)
- analytics: add date-bounded logic for popular query caching (46a395f)
- analytics: require JSON acceptance for analytics endpoints (eab5379)
- api-keys: add stable handles for widget key selection (95b3297)
- commerce: add shared Commerce element type helper (93419ac)
- commerce: support commerce promotion and rule targets (c1490d9)
- controllers: require JSON acceptance for delete and clear actions (f821fd4)
- cp: add duplicate actions for search objects (36b97c9)
- dependencies: add style usage check before deleting widget styles (3fd5700)
- deps: add DependencyService for backend usage management (a562dd9)
- gql: add search manager queries (f4f9d0e)
- gql: restore GraphQL cache setting after search queries (dea6bbd)
- i18n: add internationalization strings for analytics dashboard (2e6e7b9)
- i18n: add new translation keys across multiple locales (9ff439a)
- i18n: add new translations and strings for search manager (7d29de2)
- i18n: add setup-related translations across multiple locales (9d92893)
- i18n: add translations for analytics tooltips and intent labels (fc5adc2)
- i18n: add translations for pending sync status badge labels (9e2794d)
- i18n: rename promotion keys across multiple locales (1ce81ee)
- i18n: update behavior labels for widget settings (2f4de77)
- indices: add Commerce index transformer support (2956e18)
- indices: expose Commerce element types (e545a61)
- jobs: add claim token handling in BatchSyncJob (c3ad2ab)
- jobs: avoid custom field hydration in status sync queries (7a7d627)
- results: add hierarchical layout support in results widget (fc27565)
- search-manager: restructure settings pages and navigation (3202f78)
- search-manager: unify search and autocomplete on a shared term-resolution core (16332e4)
- search: add attribute change handling for theme and state preservation (18fea08)
- search: add autocomplete term selection functionality (a093d0b)
- search: add document-key storage operations (3717312)
- search: add hierarchy and path context to search hits (cbdb56c)
- search: add language matching logic for document filtering (fdc32c7)
- search: add leading snippet fallback for empty headings (59a7692)
- search: add native catch-all index creation (b93b1de)
- search: add native search replacement settings and coverage report (c9d38d7)
- search: add query length validation and limit normalization (bd4ae1f)
- search: add retrievable fields for public hits (70943fe)
- search: add section metadata rendering for search results (94c3231)
- search: add SourceDoc section-split indexing (043fb48)
- search: add support for term boosting in search queries (02d8361)
- search: drop public elementType hit key (98ccebb)
- search: enhance search functionality with hit presentation options (42a29d5)
- search: expose indexed field values and normalize hit metadata contract (2402f8d)
- search: finalize public asset hit contract (ba63669)
- search: implement cleanup of orphaned term n-grams after indexing (7869145)
- search: normalize language handling across services (90161c4)
- search: normalize tracking site ID and add validation logic (151529b)
- search: replace KEYS with SCAN for non-blocking key retrieval (66ecfc8)
- search: split AutoTransformer section records (fcea0ac)
- search: split stored search record projections (6ff0fc8)
- setup: add setup checklist and service for readiness verification (5cc6206)
- setup: include full name in setup completion message include (e30265a)
- snippets: add settings for search-result snippets configuration (bab621a)
- tests: add GraphQL search and autocomplete tests with site handling (3620219)
- tests: add trafficType handling in analytics session dedup test (2707996)
- widget: add promotion display modes with themable debug panel (14d5755)
- widget: overhaul style system with icon, footer, and chrome controls (f2397b7)
- widget: remove line clamping, titles and snippets wrap naturally (15da1c9)
- widget: validate API key format in widget configuration (584b4e4)
Fixed
- analytics: harden robustness boundaries (98aefb7)
- analytics: include all sources in unique query counts (05f884e)
- analytics: remove orphan analytics endpoints (1fa4947)
- analytics: resolve effective site ID for export queries (590d526)
- analytics: sanitize analytics parameters to prevent injection (aa51903)
- analytics: sanitize backend entry counts and move tab flags to controller (bf3ea28)
- analytics: stop defaulting unknown geo data to Dubai (c875ffa)
- api-keys: align widget key handle UX (1f6546f)
- api-keys: block deleting keys used by widgets (85d2ff1)
- api-keys: reject server keys on public widget endpoints (c319d78)
- api: harden rate limiting and geo defaults (fd63a01)
- autocomplete: dedupe merged results and honor backend proxy suggestions (04b316d)
- autocomplete: prefix filtering storage path (c5122be)
- backends: escape storage path display (a02e0fd)
- backends: harden external filter merging (5752c1d)
- backends: split external backend API keys (5646824)
- cache: normalize analytics identity for popular queries (0b16bd6)
- controllers: improve error handling in Backends and Indices controllers (08cf011)
- deletes: standardize bulk delete guards (1f0499a)
- dependency: enhance usage retrieval with permission checks and kind mapping (08f2a65)
- frontend: harden widget and test-tool rendering (787d1d2)
- i18n: complete search-manager coverage sweep (b1ca924)
- i18n: correct error messages in controllers for JSON responses (d757bbc)
- i18n: correct label casing for manage settings button (e0220f6)
- i18n: correct label translation for backend settings (d0a2664)
- i18n: correct referrer pattern validation message format (9629d66)
- i18n: correct status label translations in pending syncs table (e7401ff)
- i18n: correct Swedish translation for browser engine (2ffc81d)
- i18n: correct translations across multiple locales (a725dec)
- i18n: correct translations across multiple locales (b810d7f)
- i18n: correct translations across multiple locales (4a925b0)
- i18n: correct translations for "Developer resources" across locales (2b7e6ed)
- i18n: correct validation messages and descriptions in WidgetConfig (39708b0)
- i18n: correct validation messages in WidgetStyle model (a3fba1f)
- i18n: escape dynamic inner HTML values in search test tool (b7bad47)
- i18n: localize analytics and test tool labels (94a8aae)
- i18n: translate query length labels (548baea)
- i18n: update analytics settings instructions for clarity (e5a9a5f)
- indexing: gate adapter sync behind auto-index (f9481e8)
- indexing: guard batch sync lifecycle consistency (7a9345e)
- indexing: limit URL-less skip to entries (fc7c742)
- indexing: reduce indexing and enrichment round trips (e6de81b)
- indexing: report document creation inside index lock (594d429)
- indexing: use canonical availability for rebuild counts (079f201)
- indices: harden SearchIndex malformed data loading (008a5de)
- models: normalize audit date and analytics schema fixes (8a2aad2)
- promotions: preserve site context for all-sites promoted results (fcf081e)
- promotions: resolve Commerce Variant live status (0bf4c9b)
- queue: complete rebuild progress reporting (97aeb30)
- redis: replace blocking KEYS command with SCAN for key retrieval (f7f51b3)
- remove Redis blocking key scans (0b46f87)
- robustness: tighten controller and job error handling (15d1f01)
- search-manager: clear stale index storage on index changes (c797877)
- search-manager: reject malformed GraphQL filters (cc1bd5a)
- search-manager: reject oversized indexHandles fan-out (17b0615)
- search: add main snippet fallback (c221da0)
- search: align autocomplete compound ranking (15f625a)
- search: apply dark widget style aliases (ec55da5)
- search: auto-queue rebuilds after config and enable changes (1881cfc)
- search: auto-queue rebuilds after index identity changes (fe2ec49)
- search: auto-queue rebuilds after index shape changes (27140e6)
- search: clean docs snippet sources (6d492ba)
- search: clean indexed hit metadata contract (7700933)
- search: clean up batch seven audit findings (91ff6b7)
- search: clear cached index instances in AbstractSearchEngineBackend (2626c80)
- search: close audit finding 330 (210d9af)
- search: close audit findings 323-326 (95711a5)
- search: close audit findings 327-329 (4076643)
- search: close post-refactor audit regressions (7d486b5)
- search: correct element info retrieval in search results (45edb70)
- search: correct local type filtering and tracking source caps (0dc0064)
- search: enhance regex patterns for better term matching (71fe4d5)
- search: exclude non-searchable custom fields from the index (088cacb)
- search: gate CP exception messages (89e8f82)
- search: harden analytics metadata and translate residual CP labels (9a0dc7d)
- search: harden highlight tags and backend resolution (988c48a)
- search: harden modal widget surface (dc8a392)
- search: isolate index stats in tests (dbd4eea)
- search: keep Control Panel search native (cc475d8)
- search: localize DB model validation labels (8923859)
- search: maintain native index for manual adapter indexing (9d8a72f)
- search: make exact match boost phrase aware (914a7b5)
- search: normalize hit identity and provider filters (d66240a)
- search: normalize search hit document types (625055c)
- search: normalize Unicode whitespace in query identity (7a92d3c)
- search: preserve promotion site mapping and escape prefix queries (5ff0626)
- search: purge orphaned storage and clear caches on settings save (fd74176)
- search: remove popular-only cache gate (19c699c)
- search: remove vestigial queueEnabled setting (54ac66e)
- search: repair native multi-site search adapter (87d33c2)
- search: repair native replacement fallback coverage (794c31a)
- search: resolve index handle parsing and validation logic (6ccadf4)
- search: restore exact-match boosts after stop-word filtering (a75f9e1)
- search: reuse promotions and translated rule descriptions (f2a00ff)
- search: scope native coverage UI to meaningful states (15003d6)
- search: scope orphan document cleanup by element (5206e3a)
- search: slim CP test result cards (01750a4)
- search: support filename-like dotted queries (bdc6d86)
- search: support selected multi-site search scope (2a0478d)
- searchwidget: sync keyboard and mouse navigation on item hover (d3db18d)
- security: harden public search surfaces (7542adf)
- security: harden widget highlight markup (cd9e1bf)
- security: neutralize executable URL schemes and close audit batch (b695b8e)
- security: neutralize executable URL schemes in public search hits (1efefaa)
- security: validate query rule redirects with base helper (c251a48)
- settings: require JSON accept header for analytics cleanup (ce6686c)
- settings: validate highlightClass as plain CSS class tokens (3b9c68a)
- storage: avoid logging Redis secrets (0c028ac)
- storage: exclude language metadata from terms (9211539)
- storage: handle invalid file backend storage paths gracefully (8527dd6)
- storage: index File and Redis lookup paths (8e8afd8)
- storage: lock file backend shared index updates (f8d2cbe)
- storage: make Redis compound indexes atomic (c60efb1)
- storage: preserve Unicode file-backend terms (cb7df35)
- storage: serialize deletes and atomic stats (21523d7)
- storage: use shared lock for file reads in FileStorage (bee3f76)
- sync: batch status sync element queries (5e83877)
- sync: clear caches and reduce repeated index lookups (78d576a)
- sync: consolidate queued element indexing (5bdb1c5)
- sync: remove unnecessary dirty row checks in PendingSyncRepository (aab0274)
- test-tool: hydrate Commerce promotion targets correctly (7d6fc96)
- validate backend settings regardless of enabled state (805d727)
- widget: derive debug styling from theme tokens (df809c0)
- widget: relabel history section from Recent searches to Recently viewed (e3b6405)
- widget: render SourceDoc section hits as grouped results (2ea47b3)
- widgets: align API key selection with widget scope (1075167)
- widgets: harden config deletion and API key validation (928dcd5)
Security
- analytics: escape HTML in analytics dashboard to prevent XSS (009166d)
Changed
- dashboard: count records in database (a415895)
- query-rules: batch legacy category boost lookup (c62f46f)
- search: batch all-sites element lookups (dbca4ed)
- search: batch local filter and analytics lookups (3be872a)
- search: batch test tool element lookups (0d2a3a0)
- search: reduce analytics and local backend query load (023cac5)
- search: reuse query rule matches (5be5bc7)
- sync: batch pending sync element loading (4bed5f5)
Version 5.52.0
June 18, 2026
Added
- align analytics traffic metadata (33b9f24)
- analytics: add site column and reorder analytics export fields (4e23cb4)
- bulk-actions: replace button group with bulk status and actions menus (11a803b)
- controllers: add validation for unknown index handles in API key creation (3dd7574)
- helpers: add RedisConnectionHelper for consistent Redis settings resolution (7b76b9c)
- jobs: add pluginHandle parameter to DateFormatHelper calls (2fb6ea8)
- pending-syncs: implement AJAX auto-refresh for pending syncs table (766d30e)
- queue: schedule status sync and analytics cleanup jobs (377414b)
- redis: integrate RedisConnectionHelper for effective Redis settings resolution (7d4a8b9)
- styles: add bulk enable and disable actions for widget styles (52783c0)
Fixed
Version 5.51.0
June 11, 2026
Added
- analytics: add performance time classification for average query times (c03c754)
Version 5.50.0
June 11, 2026
Added
- add indexId handling for clear cache action (b0d94ad)
Version 5.48.2
June 11, 2026
Version 5.48.1
June 9, 2026
Fixed
- ensure metadata increment does not drop below minimum value (f2518a7)
- i18n: correct API key phrasing in German, French, and Italian translations (2205bd7)
- i18n: correct phrasing in cache clearing confirmation messages (56af083)
- search: update document metadata on deletion if terms exist (5817e13)
Changed
Version 5.47.0
June 7, 2026
Added
- add act-static-analysis script for CI integration (93e632e)
- add backend management permissions and navigation (01b300f)
- add dateCreated and dateUpdated properties to SearchIndex model (f0061a1)
- add handle option for scoped rebuild and clear operations (bb9c403)
- add ID and source display for index details (10b6232)
- add ID display for index details and enhance source representation (1a858df)
- add ID display for promotions in edit view (8af6768)
- add ID display for query rules in edit view (786e42e)
- add method to return file backend storage path display (2c4039f)
- add navigation link for managing settings (444239a)
- add plugin credit component to edit templates (0a1ed1c)
- add plugin handle to device detection configuration (92db65c)
- add save and continue editing functionality in API keys form (db4009b)
- add storage path display for file backend settings (1a39a33)
- analytics: add API key attribution breakdown for analytics data (a241a63)
- analytics: format local analytics datetime for API/export payloads (051f4cd)
- analytics: sync visible tab based on active tab selection (6c7fee6)
- api: enforce API key validation and referrer restrictions (d7b6f99)
- api: enforce per-key request rate limit for API keys (18e0aa1)
- api: require API key for public search, autocomplete, and tracking endpoints (7793ac1)
- cli: add HelpController for cli command assistance (6798c87)
- edit: add ID display for backend and improve source representation (bd9b0bf)
- expand default date range options for analytics (205d024)
- helpers: add FileBackendStoragePathHelper for storage path management (715c3f9)
- i18n: add API access and key requirement translations (930545f)
- i18n: add new translation keys for user notifications (cdb8cfe)
- i18n: add new translation keys for user settings (7adbe06)
- i18n: add new translation keys for various actions across locales (43984a6)
- i18n: add new translations strings (2aeead2)
- i18n: add new validation messages for storage paths (f37c2ee)
- i18n: add required field messages for Redis cache configuration (93015d5)
- i18n: add translation for phone synonyms placeholder (25b0eaa)
- i18n: add translations for quick operator test buttons and table headers (da3b8ae)
- i18n: add unique handle validation message in multiple languages (4a1c88c)
- i18n: add user-facing error messages for not found resources (854a456)
- i18n: rename 'Max hits per page' to 'Max hits' and 'Rate limit (requests per minute)' to 'Rate limit' across multiple languages (fec0d53)
- jobs: refresh index counts after batch sync drain completion (1100d82)
- jobs: schedule initial run time for sync and cleanup jobs (38ee150)
- search: add error handling and display for search failures (0ebe587)
- search: add siteIdFilter method to scope results by site (88dc7f2)
- search: add siteIdFilter method to scope results by site (dfabd0f)
- search: add siteIdFilter method to scope search results by site (90cf703)
- settings: add link to analytics settings in device detection caching message (232ea44)
- settings: add require API Key setting for public endpoints (bfa1a4b)
- settings: add requireApiKey setting for API key enforcement (fe68697)
- storage: replace base path resolution with FileBackendStoragePathHelper (4456f9b)
- tests: add ApiKeyAnalyticsAttributionTest for analytics key tracking (81903d2)
- tests: add build verification tests for SearchModalWidget (30b5e07)
- tests: add tests for API key attribution in search analytics (35f3d25)
- validate unique handle for database-backed search indices (953d8e3)
- widget: add ID and type display for widget configurations (315fd69)
Fixed
- clear search cache for promotions based on index handle (c0dd894)
- controllers: ensure unique handle assignment for backends, indices, and widgets (a1832b5)
- escape HTML in Highlighter to prevent XSS vulnerabilities (ca8fa4a)
- handle JSON response for widget config deletion errors (24f875b)
- i18n: correct 'New API key' label to 'New API Key' in API keys template (ca20104)
- i18n: correct caching terminology in Spanish translations (a51ea8a)
- i18n: correct empty message translation for indices (1346d7b)
- i18n: correct Portuguese translations for browser and OS terms (c819c7a)
- i18n: correct punctuation in Japanese translation strings (784540c)
- i18n: correct status label from 'Active' to 'Enabled' in API keys (fd94b54)
- i18n: correct style deletion messages across multiple locales (9fde26b)
- i18n: update deletion message for widget styles (f251072)
- promotions: clear all search caches on promotion save and delete (766a208)
- search: handle non-JSON error responses in search error message (41261f8)
- settings: add validation for indexPrefix to allow only alphanumeric characters, underscores, and hyphens (fa036c9)
- settings: clarify API key requirement description in settings model (a8f3f9d)
- settings: ensure posted settings are cast to array and validate correctly (ee81f3e)
- url: normalize control characters in unsafe navigation URL check (9d30284)
Version 5.46.0
May 22, 2026
Added
- add attribute labels for various settings in Search Manager (438082e)
- add pre-commit hook for ECS and PHPStan code quality checks (95ec7aa)
- analytics: add log category to analytics settings (99bf488)
- analytics: add log category to geo configuration (fcf5777)
- analytics: update search analytics to use indexSearches instead of searches (6798586)
- api-keys: add API key management functionality (546edab)
- criteria: consolidate criteria matching in SearchIndex model (68088b3)
- i18n: add API key management strings to translation file (d7f281b)
- i18n: add new keys for index searches in multiple languages (30fbc5b)
- i18n: add new keys for sync management in multiple languages (7defc3d)
- i18n: add translation issue template for reporting translations (b5cba94)
- i18n: translate batch sync, last-indexed debounce, and export-limit strings (5532194)
- i18n: update sync failure messages to pending syncs in multiple languages (50a2262)
- indexing: add lastIndexedDebounceSeconds setting for automatic metadata updates (6d05743)
- pending-syncs: add Pending Syncs management interface and functionality (f1a532d)
- pending-syncs: add Pending Syncs management template and functionality (e0ee614)
- pending-syncs: update Pending Syncs management and UI elements (908bdf0)
- search: add cache telemetry to search tracking for analytics (2334f9e)
- sync-status: implement L3 buffer for status sync job and queue entries (669bf72)
- sync: add integration tests for pending sync pipeline (f0375f4)
- sync: enhance pending sync processing and indexing efficiency (5a8f64c)
- sync: implement batch processing for pending sync rows (651a7ac)
- widgets: implement in-memory filtering, sorting, and pagination for widget configurations and styles (af17842)
Fixed
- core: enhance boolean parsing in ConfigParser (dc18bb8)
- correct error messages for various actions in controllers (026c06b)
- i18n: align 3-plugin shared translations + clean up orphan/period/convention drift (2a26c46)
- i18n: correct API Key translations in multiple languages (c7a369e)
- i18n: correct ellipsis in search placeholders and error messages (67ac36a)
- i18n: correct index rebuild and deletion messages for consistency (664ef04)
- i18n: correct Swedish translations for cache and search terms (9bfcb39)
- i18n: remove deprecated plugin settings from translations (82b5ffd)
- i18n: remove deprecated translation for number of items per page (2ee28c4)
- i18n: translate API Keys feature, clean up orphan/period drift across 12 languages (69c4fe7)
- i18n: translate API Keys feature, clean up orphan/period drift across 12 languages (0726808)
Version 5.45.0
May 6, 2026
Features
- translations: update copyright year and add new translation keys for settings (0c9d212)
Bug Fixes
- apply config overrides through shared settings helper (786d46b)
- translations: correct translations for various languages (27c5923)
- widgetConfig: add missing analytics settings to search modal (64bb5b4)
- WidgetConfigService: correct styleHandle key in widget config (0c6e5d1)
Miscellaneous Chores
- update version annotations across multiple files (0f59020)
Version 5.44.1
April 18, 2026
Bug Fixes
- IndexingService: run stale-doc cleanup when element matches zero indices (35a0845)
Version 5.44.0
April 17, 2026
Features
- Add 12-language translation support with 1,250 keys across EN, DE, FR, NL, ES, AR, IT, PT, JA, SV, DA, NO (577625d)
- stopwords: add stop word lists for Danish, Italian, Japanese, Dutch, Norwegian, Portuguese, and Swedish (827593e)
Bug Fixes
- edit.twig: update Redis connection handling and messaging (c494308)
- IndexingService: clean up stale documents from non-matching indices (6718f3e)
- QueryParser: support localized operators in all 12 shipped languages (ed75206)
- release-please: drop PAT requirement for release-please — use built-in GITHUB_TOKEN (58d5c0f)
- templates: translate hardcoded strings in CP editors (d33ef5e)
- TermNormalizer: improve diacritic handling and recomposition (2a22f7c)
Version 5.43.0
March 17, 2026
Features
- analytics: streamline IP processing using AnalyticsIpHelper (956795a)
Version 5.42.0
March 17, 2026
Features
- assets: update build scripts and add package-lock.json (6c01c78)
- searchmanager: add installation experience configuration (229239b)
- searchwidget: update version and license, remove minified file check (791e4b0)
Bug Fixes
- settings: remove redundant submit button from settings forms (9a53d00)
Miscellaneous Chores
- searchwidget: update dependencies in package.json and package-lock.json (9a48204)
Version 5.41.0
March 4, 2026
Features
- controller: add widget type options and style error handling (bb30573)
- model: enhance query rule validation (bb30573)
- model: enhance widget configuration validation (bb30573)
- model: implement settings schema validation for backends (bb30573)
- model: improve settings validation in Settings (bb30573)
- model: validate backend handle and heading levels in SearchIndex (bb30573)
Bug Fixes
- jobs: implement RetryableJobInterface in job classes (4e53a87)
- jobs: implement RetryableJobInterface in job classes (52ace2d)
- template: ensure proper error handling in widget behavior settings (bb30573)
- template: improve error handling in settings and edit templates (bb30573)
Miscellaneous Chores
- gitignore: update node_modules entry to exclude root directory (e12a6bf)
Version 5.40.2
February 24, 2026
Bug Fixes
- RebuildIndexJob: implement canRetry method for job retries (f42b6e9)
Version 5.40.1
February 24, 2026
Bug Fixes
- RebuildIndexJob: update getTtr method documentation for clarity (a4949f9)
Version 5.40.0
February 24, 2026
Features
- TermNormalizer: add shared Unicode-aware text normalization (bc4798d)
Version 5.39.0
February 22, 2026
Features
- add dedicated widget style permissions and fix nested permission pattern (eef2f96)
- add hierarchical result display for search widget (381a0be)
- add prose-only snippets (_contentClean) and rename allowCodeSnippets to showCodeSnippets (7c8e746)
- analytics: add recent searches and unhandled data loading (885b429)
- merge search endpoints, add enrichment service, search/transform (5f53fd5)
- plugin-docs: add support for PluginDoc indexing and transformation (d893b3e)
- searchwidget: add query parameter handling and destination page highlighting (610a9a6)
- searchwidget: enhance styling configuration for header and input (237c056)
- server-side matched terms, always-on document data, heading extraction, (fa46c76)
- smart query parsing for standalone highlighter, enrichment test controls, and widget CSS isolation (32b51b2)
- widget: enhance search functionality with new settings and UI updates (5ecb74c)
Bug Fixes
- harden export CSRF protection, CSS injection sanitization, and docs-manager rename (6b124b7)
- Remove confirmation prompt for index rebuild action (cb66de0)
- styles: escape collision handles in warning message (781eb77)
Miscellaneous Chores
Version 5.37.0
February 5, 2026
Features
- actionButton: add quick actions menu for indices, promotions, query rules, and settings (e4b7c37)
Bug Fixes
- autocomplete: results not searching all sites when siteId omitted (392019c)
- index: enhance collision handle warnings with bold formatting (6aed492)
- SearchManager: @since version in getCpSections method to 5.37.0 (572dcee)
- UtilitiesController: add handle collision check before clearing caches (8f79631)
- UtilitiesController: add handle collision check before rebuilding indices (712e8c6)
Miscellaneous Chores
Version 5.35.2
January 26, 2026
Bug Fixes
- models: ensure type-safe handling of siteId in SearchIndex model (1256089)
Version 5.35.1
January 26, 2026
Bug Fixes
- backends: enhance document preparation for multi-site support (ef4287b)
Version 5.35.0
January 26, 2026
Features
- indices: add sync count functionality for backend indices (981b015)
Version 5.34.1
January 26, 2026
Miscellaneous Chores
- remove unused document (7d9d063)
Version 5.33.0
January 21, 2026
Features
- Add configurable geo IP provider settings with HTTPS support (706dc9e)
- add security guardrails for public search endpoints (69913a9)
- disable CSRF validation for analytics tracking endpoints to simplify frontend integration (b917eea)
- switch from PHP serialize() to JSON for file storage to enhance security and prevent object injection risks (ebe3184)
Bug Fixes
- enhance index validation logic to ensure both enabled and analytics settings are checked (a6791ce)
- security: address multiple security vulnerabilities (67a3d49)
- swap cache and interface links in settings layout (1f88238)
- update Redis configuration info box to include important notes on database isolation and managed hosting platforms (c647a02)
Version 5.32.0
January 20, 2026
Features
- add debug enhancements, loading indicator config, and spinner customization (3143156)
- add debug option to performSearch function (084a54d)
- Add SearchModalWidget with modular architecture and debug toolbar (853d607)
- add skipEntriesWithoutUrl, hideResultsWithoutUrl, and external backend improvements (1c88bab)
Version 5.30.0
January 19, 2026
Features
- a11y: Enhance accessibility features and tests for search widget (43e0690)
- add deduplication for search results and improve result rendering in SearchWidget (1180b19)
- add highlighting feature to SearchWidget with customizable options (ba05ed9)
- add muted color styles for search widget (2b7dc77)
- Add option to skip analytics tracking for internal operations (b424e63)
- add search widget and fix backend prefix/autocomplete bugs (a67d52d)
- Add tooltip display for raw widget configuration in the widget view (0930f6a)
- Add view action and template for index details in IndicesController (619c715)
- Add widget management interface and enhance search widget functionality (070db8e)
- Add widget view functionality and improve backend/widget settings handling (5ac2670)
- Enhance permissions for backend and widget configurations with user capability checks (e79d39d)
- Enhance widget configuration management by preventing deletion of default configs and improving error handling (bedbf58)
- Implement auto-assignment of default backend and widget after deletion (3e705da)
- Implement widget management settings and update backend configuration references (f32fb70)
- Remove isDefault property from WidgetConfig and related logic (434277f)
- Update column headers and sorting functionality for source in backend and widget templates (1fc9c63)
- Update default backend and widget handle descriptions for auto-assignment behavior (4f48fa1)
Bug Fixes
- Autocomplete for Redis/File backends and redesign utilities overview (b6d5e9d)
- Update widget styles retrieval to use preview method for appearance customization (59f432e)
Miscellaneous Chores
- Add optional widget configuration section to README (b736491)
Version 5.29.0
January 16, 2026
Features
- Add analytics column to indices table based on global settings (604e99e)
- Add autocomplete caching functionality with clear cache options in UI (28076ef)
- add backend diagnostics and search testing tabs to the settings interface (a299f98)
- add backend handle management and enhance backend index listing functionality (93582f8)
- add BackendVariableProxy for backend-specific queries and enhance SearchManagerVariable with withBackend method (21e0ec5)
- Add comprehensive cache settings for autocomplete and cache warming functionality (16ab3d1)
- add functionality to list indices with their respective file sizes (8f40c7e)
- Add index-level analytics toggle to disable tracking per index (6b113f2)
- Add popular query threshold settings with select options in cache settings (e5fb6a5)
- Add query normalization for improved cache key generation and search count accuracy (45ef300)
- Enhance cache clearing by adding autocomplete cache clearing in indexing operations (10206a5)
- Enhance caching with autocomplete support and cache warming functionality (effe9cb)
- expand element type options in index settings to include Assets, Categories, and SmartLinks (5d5d837)
- Implement cache warming functionality after index rebuild with configurable settings (4c811d9)
- Implement getTermsForAutocomplete method in storage classes for enhanced autocomplete functionality (e31aec2)
- Queue geo-location lookups for improved search performance (1d1a2ea)
Bug Fixes
- format numerical values for better readability in analytics templates (ecc7929)
- Redis env var resolution, indices table layout, and multi-site status sync (9922a0b)
- update cache location message to use searchHelper for dynamic path (e07e992)
- update filename generation to use lower display name instead of plural lower display name (93f11ca)
- update hardcoded cache paths with PluginHelper for consistency (9e46d07)
- update PluginHelper bootstrap to include download permissions for logging (301612b)
Miscellaneous Chores
- update autocomplete cache path for consistency in README (bb6b301)
Version 5.28.2
January 13, 2026
Bug Fixes
- backend handling to use defaultBackendHandle and improve compatibility checks (daee11e)
Version 5.28.1
January 13, 2026
Bug Fixes
- backend creation logic to use defaultBackendHandle and improve fallback handling (d40af39)
Version 5.26.1
January 11, 2026
Bug Fixes
- plugin name retrieval to use getFullName method (da20354)
Version 5.26.0
January 10, 2026
Features
- Replace custom country name retrieval with GeoHelper utility (c6e49fc)
Version 5.25.0
January 9, 2026
Features
- analytics: add per-tab export buttons with consistent filenames (e28d68b)
- enhance action type badge styling for improved visibility and clarity (88a7005)
- enhance multi-index search with redirect handling and metadata aggregation (0e50b74)
- enhance redirect functionality to support element-based redirects and improve UI for redirect type selection (41974c7)
- enhance redirect handling to display element info in query results (5d9849b)
- refine zero-result analytics to exclude handled searches and improve accuracy (aff45c5)
- update redirect URL resolution to support optional site ID for accurate element URLs (9a6cbc9)
Bug Fixes
- update filename generation to use 'alltime' instead of 'all' for clarity (cc1982c)
Version 5.24.0
January 8, 2026
Features
- refactor permissions to use grouped nested structure with granular access control (3774d8c)
Version 5.23.0
January 6, 2026
Features
- migrate to shared base plugin (125dfff)
Version 5.22.0
January 5, 2026
Features
- add backend filtering to indices for improved data management (d837e1f)
- add sorting functionality to indices, promotions, and query rules templates (178b801)
- enhance color coding for backend, source, and match types in indices, promotions, and query rules templates (2f939c0)
Bug Fixes
- backend filter logic and prepare for per-index backend overrides (e5f5faf)
Version 5.21.2
January 5, 2026
Bug Fixes
- add tab-content class to analytics sections for improved styling (a6df207)
Version 5.21.1
January 4, 2026
Bug Fixes
- auto-indexing for config indices and add real-time document count tracking (de90fa8)
Version 5.21.0
January 4, 2026
Features
- enhance indexing service to support Closure-based criteria for config indices (b078f49)
Version 5.20.2
December 20, 2025
Bug Fixes
- format numerical values in dashboard for improved readability (5759a85)
Version 5.20.1
December 20, 2025
Bug Fixes
- query rules table to rename 'Match Type' to 'Query Pattern' and add a new 'Match' column with color indicators (3bbaa96)
Version 5.20.0
December 20, 2025
Features
- enhance promotions and query rules to support multi-pattern matching with commas (c841691)
Version 5.19.0
December 20, 2025
Features
- update promotions handling to support null indexHandle for global promotions and improve UI placeholders (a866fd2)
Version 5.18.0
December 20, 2025
Features
- add title attribute to promotions and update related templates for better identification (e2e2a8a)
Version 5.17.0
December 20, 2025
Features
- enhance Arabic language support with spelling variations for boolean operators (8d8fa83)
Version 5.15.0
December 19, 2025
Features
- Enhance language support in search storage and autocomplete services (ea78e60)
Version 5.14.1
December 19, 2025
Bug Fixes
- move index retrieval logic to a separate section in test.twig (48ae33a)
Version 5.14.0
December 19, 2025
Features
- Add 'pgsql' to searchBackend options in Settings model (7191b1b)
Version 5.13.0
December 19, 2025
Features
- Enhance test settings template to include siteId mapping for indices (ce02eaf)
Version 5.12.0
December 19, 2025
Features
- Enhance autocomplete functionality with siteId parameter and update test template (f9d8a8d)
Version 5.11.0
December 19, 2025
Features
- Add promotion and query rule testing actions to settings controller and update test template (d8c4b57)
Version 5.10.0
December 19, 2025
Features
- Add Promotions and Query Rules systems with analytics improvements (64a3c67)
- Enhance dashboard with promotions and query rules statistics, and add analytics overview (eeeb904)
- Update cache settings instructions and add human-readable duration for cache inputs (3d33c5e)
Bug Fixes
- ui: boost multiplier spacing (e347acb)
Version 5.8.0
December 18, 2025
Features
- add unified autocomplete endpoint with suggestions and results (35e7ddb)
Version 5.6.0
December 18, 2025
Features
- add rich autocomplete with element type detection (1be13b5)
Version 5.5.9
December 17, 2025
Bug Fixes
- Enable plugin name setting in configuration (a24c9fa)
Version 5.5.8
December 17, 2025
Bug Fixes
- Update similarity threshold to improve fuzzy matching accuracy (e473f01)
Version 5.5.7
December 17, 2025
Bug Fixes
- Enhance search functionality by using index's configured siteId and adding wildcard support (5c9851e)
Version 5.5.6
December 17, 2025
Bug Fixes
- Make fuzzy matching limit configurable and fix n-gram settings save bug (872cf0a)
Version 5.5.5
December 17, 2025
Bug Fixes
- Limit results in similarity query to improve performance (dc3572a)
Version 5.5.4
December 17, 2025
Bug Fixes
- Use REPLACE INTO for document storage to handle duplicates and improve data integrity (ffe33c4)
Version 5.5.3
December 17, 2025
Bug Fixes
- Prevent duplicate key errors and add comprehensive cleanup across all storage backends (7a4fe0a)
Version 5.5.2
December 17, 2025
Bug Fixes
- Clear storage now handles orphaned indices and resets metadata (7050d63)
Version 5.5.1
December 17, 2025
Bug Fixes
- Implement proper wildcard search and fix fuzzy matching across all backends (07ccbad)
Version 5.4.0
December 17, 2025
Features
- Fix config index metadata sync and optimize SearchIndex model (94dce2d)
Version 5.2.2
December 16, 2025
Bug Fixes
- critical backend bugs and add PostgreSQL support (e1e81fa)
Version 5.2.1
December 16, 2025
Bug Fixes
- improve analytics display and error handling for Chart.js loading (9210a33)
Version 5.1.0
December 16, 2025
Features
- update backend support in search functionality to include PostgreSQL (2e7a467)
Version 5.0.0
December 16, 2025
Features
- initial Search Manager plugin implementation (6b63c10)