SwiftSearch for Typesense

Changelog

1.5.0

  • Feature: Dedicated Shop & Catalog Page Mode replacing WooCommerce default shop page with horizontal sorting, sticky pagination, and flat card aesthetics.
  • Developer: Added custom JavaScript DOM events (swift-search:hit-rendered and swift-search:results-rendered) to support custom integrations (wishlists, ratings, ajax cart).
  • Fix: Resolved price sorting returning zero results by indexing price as a float and utilizing Typesense missing_values parameter support.

1.4.9

  • Library: Upgraded Chart.js to v4.5.1.
  • Security: Resolved REST API permission callback warning for the /log endpoint.

1.4.8

  • Library: Upgraded Chart.js to v4.4.4.
  • UI: Removed inactive Coming Soon settings placeholders from styling card.
  • Documentation: Consolidated key features and capabilities in the readme file.

1.4.7

  • Design: Introduced Plus Jakarta Sans font family.
  • Design: Modernized overall admin UI dashboard variables, card borders, radii, and shadows.
  • Fix: Unified text/number inputs and select elements heights to prevent alignment mismatch in connection settings card.

1.4.6

  • Fix: Resolved a bug where browser-driven indexing fallback ran recursively in an infinite loop upon completion.
  • Fix: Set active flag to false in the database when completing index types that are disabled (e.g. user indexing).

1.4.5

  • Feature: Added automatic browser-driven AJAX fallback for servers with local loopback or cURL block restrictions (e.g. OpenResty WAF 403 Forbidden blocks).
  • Improvement: Added real-time loopback diagnostics printed to the browser developer tools console.
  • Maintenance: Force-bust CSS/JS browser cache by appending dynamic version timestamps in admin.

1.4.4

  • Security: Implemented universal sanitization for all background processes and REST API inputs.
  • Compliance: Refined admin asset enqueuing logic to use official WordPress Screen IDs instead of URL parameters.
  • Compliance: Added proper PHPCS logic annotations for all direct database queries on custom tables.
  • Compliance: Finalized template variable prefixing ($swift_search_pt) across the entire admin dashboard.

1.4.3

  • Security: Complete SQL hardening by removing all variable interpolation from $wpdb->prepare statements.
  • Security: Implemented mandatory nonce verification and strict input sanitization for all processes.
  • Compliance: Prefixed all internal hooks and variables to ensures zero collisions.
  • Compliance: Replaced legacy strip_tags() with wp_strip_all_tags() and fixed deprecated parameters.
  • Maintenance: Truncated short description to <150 characters as per repository requirements.

1.4.2

  • Fix: Resolved a “ReferenceError: resolve is not defined” in the frontend search script that caused search clusters to fail during user input.
  • Improved: Hardened frontend fetch logic to gracefully handle network timeouts and server errors.

1.4.1

  • Fix: Resolved a critical JavaScript syntax error in the admin dashboard that caused the “Connect” button to fail silently.
  • Improved: Enhanced REST API error reporting for Typesense connection handshakes to provide localized, actionable feedback.
  • Stability: Properly scoped variables and added robust XHR error parsing to prevent UI lockups.

1.4.0

  • Security: Hardened all database interactions with $wpdb->prepare() for SQL injection prevention.
  • Security: Implemented wp_unslash() and safe input handling for background indexing processes.
  • Compliance: Replaced legacy strip_tags() with wp_strip_all_tags().
  • Compliance: Removed redundant textdomain loading to follow WP.org central translation policy.
  • Maintenance: Updated wp_count_terms() and date functions for WordPress 6.7 compatibility.

1.3.20

  • Security: Hardened server-side validation for Synonyms, Weights, and Facet parameters.
  • Security: Implemented frontend data masking to prevent configuration leakage.
  • Security: Optimized Indexer protection to block unauthorized metadata extraction.
  • Performance: Optimized connection checking with static caching in Gatekeeper.

1.3.19

  • Fix: Corrected accidental “faded” disabled style from the “Show Excerpts” setting.

1.3.18

  • Fix: Resolved critical “undefined” JavaScript error when loading the admin dashboard.
  • Maintenance: Removed orphaned references to legacy shortcode overrides.

1.3.17

  • UX: Reordered Search UI tab to place Experience Options at the top.
  • Feature: Fully implemented Frontend visibility toggles for Thumbnails, Prices, and Excerpts.
  • Roadmap: Added “Coming Soon” placeholders for Sort Results and Floating Mobile Button.
  • Fix: Cleaned up redundant Instant Search override from Shortcode Generator.

1.3.16

  • Refactor: Reorganized Experience settings to prioritize Global defaults over overrides.
  • Feature: Moved Thumbnail, Price, and Excerpt toggles to Global Experience Options.
  • Fix: Consolidate Shortcode Generator to only output attributes for explicit overrides.
  • Fix: Resolved a structural JavaScript error in admin.js that was breaking state restoration.

1.3.15

  • UI Optimization: Consolidated redundant “Instant Search” setting in the admin dashboard.
  • Roadmap: Labeled Sort and Mobile experience options as “Coming Soon” to accurately reflect current implementation status.
  • Improved UX: Corrected feature descriptions and added visual states for disabled roadmap settings.

1.3.14

  • Fix: Resolved a critical JavaScript ReferenceError in search results processing.
  • Improved: Stabilized organic match counting for analytics.

1.3.12

  • Fix: Improved search analytics accuracy by excluding pinned items from organic match counts.
  • Improvement: Added CSS hooks for identifying pinned items in search results.

1.3.11

  • Fix: Search tracking for zero-result queries (previously skipped, now correctly populates analytics dashboard).
  • UI: Removed redundant synonym path debug buttons to clean up settings dashboard.

1.3.10

  • Fix: Modernized Typesense v0.30+ Global Synonym linking via collection schema patching.
  • Improvement: Dynamic admin UI for collection management (cached for performance).
  • UI: Fixed layout breakage in Relevance settings tab.

1.3.0

  • New: Full support for Typesense v0.30.1+ Global Synonym Sets.
  • Fix: Resolved 404 errors during synonym synchronization on modern Cloud clusters.
  • Improvement: Enhanced error reporting in Admin UI.
  • Improvement: Multi-way synonym support for better search expansion.

1.2.7

  • Fix: Resolved synonym saving and Typesense synchronization logic mismatch.
  • Fix: Prevented ‘undefined’ string rendering in the admin synonyms list.

1.2.4

  • Fix: ‘Advanced Data’ custom fields now correctly persist deletions in the database.
  • New: Dynamic Search Results heading based on active post types (e.g. ‘Products’ vs ‘Products & Posts’).
  • New: Strict Post-Type filtering in search queries to prevent old content from appearing.
  • UX: Added ‘Re-index Required’ warning when searchable content types are changed.

1.2.3

  • Fix: Critical configuration bottleneck in ConfigLoader.php resolved.
  • Improvement: Enhanced Typesense Response logging for diagnostic transparency.
  • Version: Synced core logic with Universal Facet Registration Bridge.

1.2.1

  • Fix: Resolved an issue where some enabled facets were hidden in the frontend sidebar due to redundant validation logic.

1.2.0

  • New: Universal Facet Registration Bridge.
  • New: Advanced Facet Settings (Target Mapping & Data Types).
  • Fix: Zero-results for numeric/boolean facets by implementing type-safe filtering.
  • Improvement: Unified schema and indexing logic for all WordPress plugins.

1.0.22

  • Fix: Facet configuration freezing on load due to data type mismatch.
  • Fix: Security warning persistence after saving settings.
  • Fix: Improved error handling for PHP-to-JS data serialization.

1.0.21

  • Fix: Saved Custom Fields button visibility.
  • Improvement: Connection workflow.

1.0.0

  • Initial release.

Plugin Website
Visit website

Author
Loopstates
Version:
1.5.0
Last Updated
June 25, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
8.0.0

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.