WinaltChat for WooCommerce

Changelog

1.1.14

  • Fix: Comparison “View Full Details” links no longer show the 🔗 emoji — rendered as plain markdown links.
  • Fix: Implicit comparison pattern expanded — “which one is good?”, “whic one is better?” (typo), “should I buy”, “help me choose/decide/pick” now all trigger context-based comparison.

1.1.13

  • Fix: “which is better” with no product names now uses the two products shown in context instead of falling through to the single-product handler.
  • Fix: Comparison price for variable products no longer shows screen-reader span text — uses a clean price helper that formats min/max range directly from WooCommerce price data.

1.1.12

  • Fix: Comparison now picks the most relevant product per side using title keyword scoring — “Electromax cooler” now correctly selects Electromax Room Cooler over Electromax Sun Heater even when the heater has a lower product ID.

1.1.11

  • Fix: Comparison now shows exactly one product per side — takes only the top search result for each name instead of merging all results, preventing 6-product comparisons when a brand has multiple matching items.

1.1.10

  • Fix: Comparison responses now show a formatted text comparison (name, price, description, View Full Details link) instead of product cards with Add to Cart buttons.

1.1.09

  • Fix: Comparison queries (“which is better X or Y”) now correctly show both products — searches each name separately instead of combining into one AND-query that WordPress search could never match across two products.

1.1.08

  • Fix: Return status detection now matches messages with typos — “returen” (for “returned”) and “recvied” (for “received”) now correctly trigger the return status handler using prefix-matching patterns (returw+, recw+) instead of requiring exact spelling.

1.1.04

  • Fix: “thanks”, “thank you”, “thx”, “ty”, “cheers” now always return a friendly acknowledgement — added early-exit in process_query() and explicit thanks case in generate_response() so the message can never fall through to a search-failure response.

1.1.03

  • Fix: “thanks/ok/great” exact-match messages no longer misfire as information-intent queries — added conversational exclusion pattern to check_information_intent.
  • Fix: “how are you” now always routes to how_are_you conversation handler — reordered check_conversation_intent patterns so how_are_you is checked before greeting.
  • Fix: “thx” and “ty” now recognised as thanks in the conversation handler.
  • Fix: handle_explicit_comparison now passes an empty context to product search so stale previous-session products don’t pollute comparison results.
  • Fix: is_discount_query now matches “sale items”, “items on sale”, and “products on sale”.
  • Fix: “any other options” as a standalone message now routes to browse-more instead of variant-query — removed “options” from is_variant_query and added it to is_browse_more_request.
  • Fix: New is_product_count_query and handle_product_count_query methods added — “how many products do you have?” now returns an accurate live count.
  • Fix: New is_order_status_query and handle_order_status_query methods added — order-tracking queries are now intercepted before the purchase-intent step and directed to My Account / Contact.
  • Fix: New get_return_status_info method and return_status detection added — “where is my return/refund?” returns a direct contact-us response instead of the full return policy.
  • Fix: detect_price_filter now matches “budget of X”, “my budget is X”, “I have a budget of X”, and “spending limit of X”.
  • Fix: dropped_brand_note now only fires for proper nouns (keyword starts with a capital letter in the original message) — generic words like “cheap” or “best” no longer produce false “we don’t carry X” notes.
  • Fix: No-results messages now use “that product” instead of a quoted keyword when the keyword is too short (≤3 chars) or vowel-poor to read naturally in a sentence.
  • Fix: Product card flex content div now has min-width:0 and overflow:hidden — prevents long product names from overflowing the chat bubble.
  • Fix: Product card CSS — added max-width:100%, box-sizing:border-box, word-break:break-word, and responsive img rules to prevent card overflow on narrow screens.

1.1.02

  • Fix: Removed hardcoded “Standard delivery is 3-5 days. Returns accepted within 14 days.” from the knowledge base fallback — every store has different policies.
  • Fix: Return policy response now shows actual page content instead of hardcoded bullet points that assumed a specific store’s policy (defective items, unused packaging, change-of-mind shipping).
  • Fix: About store fallback now uses the store name dynamically instead of generic marketing copy.
  • Fix: Scanned entire plugin for store-specific strings — no store-specific hardcoded references found beyond the above.

1.1.01

  • Fix: Provider dropdown now correctly locks and Remove Key button stays visible after page refresh — fixed hasSavedKey detection in change handler to read data-has-saved-key attribute, and changed .remove() to .hide() so the Remove button is never permanently deleted from the DOM.

1.1.00

  • Fix: API key UI now correctly shows Remove Key button and locks the provider dropdown after page refresh — root cause was PHP not setting data-original-value on the input, so JS could not detect the saved key state after reload.
  • Fix: Added data-has-saved-key attribute to the key input in PHP — JS initialization now reads this directly instead of relying on trigger(‘change’) which could lose the disabled state.

1.0.99

  • Fix: Provider dropdown now correctly locks (disabled) on page load when a key is saved.
  • Fix: Remove Key and Show Key buttons now correctly appear on page load when a key is configured — JS now reads PHP-rendered data-has-key attribute instead of inferring state from masked input value.
  • Fix: Quick API Setup Guide now hidden on page load when any provider has a saved key.

1.0.98

  • Fix: Remove Key and Show Key buttons now correctly appear when an API key is saved — added explicit page-load initialisation that reads the provider from the selected option element directly, fixing a disabled-select edge case where trigger(‘change’) could leave the row hidden or buttons in the wrong state.

1.0.97

  • Fix: “Error saving API key” message after successful save eliminated — removed dead call to winalt_fetch_provider_models() that was deleted in the previous release but not cleaned up from the save handler, causing a PHP fatal error.

1.0.96

  • Fix: Removed dynamic model selector from admin UI — replaced with fixed smart defaults per provider (Groq: llama-3.3-70b-versatile, OpenAI: gpt-4o, Claude: claude-haiku-4-5, Gemini: gemini-2.0-flash).
  • Fix: Removed winalt_fetch_models AJAX handler and all provider model fetch functions — no longer needed.

1.0.95

  • Fix: Updated Gemini test and chat models from deprecated gemini-1.5-flash/pro to gemini-2.0-flash.
  • Fix: Gemini chat model now reads from saved option, falling back to gemini-2.0-flash.
  • Fix: Added support contact section to plugin description.

1.0.94

  • Fix: Gemini API key validation now accepts Google AI Studio keys (AQ.Ab prefix) in addition to legacy AIza keys.
  • Fix: Provider names updated in readme for clarity (Groq — LLaMA, ChatGPT (OpenAI), Claude (Anthropic), Gemini (Google)).

1.0.92

  • Fix: Corrected Tested up to version to 6.7.
  • Fix: Cleaned up changelog entry HTML.
  • Fix: Contributor username updated.

1.0.91

  • Fix: Removed blank gaps between product cards by hiding
    extra line-break elements injected between card HTML blocks.

1.0.90

  • Fix: “Thanks” detection fixed — thx/ty aliases added so acknowledgement fires correctly.
  • Fix: Blank gaps between product cards collapsed in PHP and system prompt updated.
  • Fix: Variant follow-up after discount response now finds the last single product, not a bulk listing.
  • Fix: Markdown headers in AI/KB responses converted to bold text for correct chat display.
  • Optimization: Default Claude model changed to claude-haiku-4-5 (10x cheaper). Catalog browse routes to Basic AI. Prompt size reduced ~25%. Estimated 94% cost reduction.

1.0.89

  • Fix: Claude models auto-migrated to 4.5 family on first admin page load.

1.0.88

  • Feature: Live Model Selection dropdown in admin fetches available models from the provider API with 24-hour cache and manual refresh button.
  • Feature: Models auto-fetched on API key save; manual model ID entry option added.

1.0.86

  • Fix: Basic AI fallback no longer exposes internal mode details to users.
  • Fix: Product searches during fallback return clean unavailable-product responses.

1.0.85

  • Feature: Real AI falls back to Basic AI on provider failures (rate limits, timeouts, errors).
  • Fix: Failures logged server-side only; never exposed in chat responses.

1.0.84

  • Fix: AI responses always use WooCommerce store currency symbol.
  • Fix: Duplicate product name bullet and wrong About Us page routing both corrected.

1.0.83

  • Fix: Negative sentiment detection expanded for standalone “expensive” and Urdu/English patterns.
  • Fix: Cheapest product and price filter routing expanded with more natural phrasings.

1.0.82

  • Fix: Standalone budget number replies now correctly trigger the price filter.
  • Fix: Price hallucination guard strips false AI price claims; price filter includes result type.

1.0.81

  • Fix: Purchase intent, variant query, and location/delivery intent patterns all expanded.
  • Fix: Duplicate product name bullets stripped from product card responses.

Plugin Website
Visit website

Author
Fahad Ali
Version:
1.1.14
Last Updated
June 3, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

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