Skip to main content

Changelog

1.2.0 (2026-08-05)

Features

  • Connect to eChat without an OpenAI key — the eChat account page (Stores → Configuration → Mirasvit Extensions → eChat) now has a single "Connect with eChat" button instead of an OpenAI key form. It opens the eChat consent screen in a new tab, where you choose whether to create a new workspace, add this store to your existing eChat account, or restore a workspace you set up earlier; after you confirm, you land straight in the eChat backend to pick and configure the AI provider. Connecting by hand with an Instance ID and Secret Key is still available on the "Restore with credentials" tab, for moving a store to a new domain
  • Choose your AI provider and model — the eChat backend now supports OpenAI (GPT), Anthropic (Claude), Google (Gemini), and xAI (Grok), each with a curated list of vetted models, rather than OpenAI only. You pick the provider and model in the eChat backend after connecting, and can configure several providers as a fallback chain: if one is unavailable or out of quota, eChat switches to the next automatically and emails you if the assistant ends up disabled
  • All the stores of one Magento installation now share one eChat account — every connection reports the store name, storefront URL, Magento admin URL, and the extension license, so each store view you connect appears under one account with a recognizable name instead of as an unrelated workspace. Stores connected before this update join their account automatically on the next sync — no reconnect needed — and a change of domain is picked up the same way
  • Do not load the widget on selected pages — a new setting under Stores → Configuration → Mirasvit Extensions → eChat → Widget takes one pattern per line: either a URL fragment (/checkout/ excludes the whole checkout flow) or a Magento page type (checkout_cart_index, catalog_product_view). On a matching page no chat script is injected and no request is made to the eChat service at all. Leave it empty to keep the widget on every page
  • Other extensions can feed the chatbot — the knowledge-base sync is now an open list of content sources rather than the five built into eChat, so another module can add its own content (and eChat itself no longer has to be changed to make that possible). Products, categories, CMS pages, store information, and knowledge base articles continue to sync exactly as before
  • Preview what the chatbot will be sentbin/magento mirasvit:echat:sync --dry-run lists every content source and the documents it would send without contacting the eChat service, so you can check what will be shared even on a store whose credentials aren't set up yet. --limit N caps how many documents per source are shown

Improvements

  • Chat widget scripts now load in the background after the page has rendered, instead of competing with it for resources — a noticeable mobile page-speed and Core Web Vitals gain. The chat still loads on every page, so the live connection, proactive messages, and unread popover keep working; and if a visitor left the chat window open, it reopens immediately as they move between pages
  • "Configure Chat" now verifies the connection before opening anything: if eChat can't be reached it shows a retry message and leaves your credentials untouched (previously an unreachable server could clear them), and if the workspace was deleted on the eChat side the stale credentials are cleared and you are prompted to register a new one. Every button on the page — the global one and each store-level override — checks its own store, and no blank tab is opened while the check runs. The separate "Check connection" action is gone; it is part of this button now
  • Clicking "Connect with eChat" on a store that is already connected (for example, registered in another browser tab) now opens that workspace's eChat backend instead of starting a second registration, and the consent screen opens in a new tab so the Magento configuration page you were on stays open
  • Resetting the registration now also removes the workspace on the eChat side, so it no longer lingers there after you disconnect
  • The account page and its buttons at website or store-view scope now read and act on the credentials of the scope you are actually editing — previously the default-scope screen could pick up a store view's override and show or configure the wrong workspace
  • Knowledge-base sync is more resilient: one failing content source (for example, a knowledge base that isn't installed) is logged and skipped instead of stopping the whole run, content is streamed so memory stays flat on large catalogs, and the HTML/CMS-directive cleanup plus the rate-limit pause now apply to every content type rather than only some
  • The admin eChat account page and the invoice-download error messages are now translatable, with ready-made translations for 15 languages: Arabic, Czech, German, Spanish, French, Italian, Japanese, Dutch, Polish, Brazilian and European Portuguese, Swedish, Turkish, Ukrainian, and Simplified Chinese
  • ⚠️ The storefront chat widget now also requires an active Mirasvit license: with no active license no widget is served (development domains are unaffected, as elsewhere in Mirasvit extensions)
  • ⚠️ For developers: the content exporters were replaced. Mirasvit\EChat\Exporter\ExporterInterface and the Mirasvit\EChat\Exporter\* classes have been removed — a sync source now implements Mirasvit\EChat\Api\SyncProviderInterface and is registered as an item of the Mirasvit\EChat\Model\ProviderPool pool in di.xml. Custom exporters have to be reworked as providers

Fixed

  • Invoices the chatbot offers for download now go through the store's own invoice extension, so the customer gets the branded PDF instead of the plain Magento template — third-party invoice extensions that render PDFs through their own mechanism were previously bypassed
  • A guest who confirmed their email with a one-time code is now remembered for the rest of the conversation — looking up an order and then submitting a return or exchange ticket no longer asks for a new code at every step
  • Syncing no longer leaves an empty category behind in the knowledge base when a content source has nothing to send — for example, a "Knowledge Base" category on a store without the Mirasvit Knowledge Base installed, or a "CMS Pages" category on a store with no pages
  • Category links shared by the chatbot now use the store's real category URL instead of always appending .html, so recommendations no longer point to broken pages on stores that use a different (or empty) category URL suffix

1.1.4 (2026-06-05)

Fixed

  • Chat widget no longer fails to load on stores with Content Security Policy in restrict mode — the module now ships a CSP whitelist allowing the eChat service host for scripts, styles, API calls, WebSocket connection, images, and notification sounds

1.1.3 (2026-05-27)

Improvements

  • Store registration now sends the store's General Contact email (Stores → Configuration → General → Store Email Addresses → General Contact) to the eChat service, so the chatbot platform can associate each registered instance with a real contact address for account notifications

1.1.2 (2026-05-12)

Improvements

  • Product sync now exports multiselect attribute values (such as material, climate, or eco collection) so the chatbot can answer questions and make recommendations based on these characteristics — previously only single-value attributes were sent and multiselect values were silently skipped

1.1.1 (2026-05-12)

Improvements

  • Rich-text content shared with the chatbot is now properly cleaned up before being indexed — Page Builder pages whose body consists of widget, block, or store url directives are now expanded into their actual text (previously such pages reached the chatbot empty), embedded style and script blocks no longer leak CSS or JavaScript into AI responses, and encoded entities like   or & are decoded to plain characters. Applies to product descriptions, product attribute values, category descriptions, CMS pages, knowledge base articles, and the configured store hours
  • Category sync now also exports meta_title and meta_description as document attributes, giving the chatbot richer context to draw on when recommending categories

1.1.0 (2026-05-11)

Features

  • Sale prices and price ranges in chat — for configurable, grouped, and bundle products the chatbot now shares the cheapest variant's price, the "from/to" price range, and strikethrough regular prices, matching how variants and discounts are presented on the storefront product card
  • Product images shared by the chatbot — each synced product now exports an image URL so the chatbot can show shoppers a picture of the product it is recommending

Improvements

  • Verification code is now required before the chatbot can return order details, generate invoice download links, or read helpdesk tickets for guest visitors; logged-in customers looking up their own orders or tickets continue to skip this step
  • The chatbot tool execution endpoint is now rate-limited to 30 calls per minute per IP address, returning a friendly "Too many requests" response when the limit is reached — abusive scripts and accidental client-side loops no longer hammer the store
  • Store information sync now includes the store's currency code, currency symbol, and locale code, so the chatbot can format prices and respond in the conventions of each store view
  • ⚠️ When several Magento store views are configured with the same eChat Instance ID, sync now picks the website's default store as the source of documents and skips the rest (logged to the console and cron log). To index multiple storefronts independently, configure a distinct Instance ID per store view — previously the stores overwrote each other's knowledge base documents

Fixed

  • Fixed bin/magento setup:install failing with "The default website isn't defined. Set the website and try again." after this module was installed — caused by eagerly loading a configurable product service before Magento's stores were ready
  • Fixed product price missing from chat exports for simple products due to a typo that wrote the value into the wrong variable
  • Admin registration, reset, and restore actions now accept POST requests only, closing a way to trigger these operations through crafted GET links

1.0.14 (2026-04-22)

Improvements

  • Product sync now includes special_price, final_price, and msrp attributes so the AI assistant can recognize sales and discounts
  • Added Store Information sync — general store contact details (name, phone, hours, address, VAT, emails, website) from Magento configuration are now exported to the eChat Knowledge Base as a dedicated document per store

1.0.13 (2026-04-21)

Fixed

  • Fixed product URLs in chat exports — exported products now use the store's SEO-friendly URLs (with URL rewrites applied) instead of raw catalog paths, so links the chatbot shares with customers match what the storefront actually uses

1.0.12 (2026-04-21)

Improvements

  • CMS page export now includes URL and meta fields (title, keywords, description, content heading) as document attributes

1.0.11 (2026-04-09)

Fixed

  • Fixed product sync failing with "Item with the same ID already exists" error when stock filters produce duplicate products

1.0.10 (2026-03-27)

Improvements

  • Switched API client to cURL with persistent connection for faster sync operations
  • Product sync now pauses briefly every 100 items to avoid API rate limits
  • Improved error logging during product export with detailed exception info

Fixed

  • Fixed sync command failing with HTTP 100 status due to Expect: 100-continue header handling

1.0.9 (2026-03-19)

Improvements

  • ⚠️ Renamed OtpService to EmailVerificationService, SendOtp tool to SendVerificationCode, and related email template identifiers — clear generated data if upgrading
  • Increased email verification rate limit to allow more requests per session
  • Removed unnecessary cooldown between verification code requests

1.0.8 (2026-03-18)

Features

  • Multi-store support — register, configure, and sync each store view independently with its own chat instance
  • AI tools for the chat widget — the chatbot can now look up order details, generate invoice PDFs, view helpdesk tickets, and submit new tickets on behalf of customers
  • Email verification for ticket submission — customers verify their email with a one-time code before the chatbot can create a helpdesk ticket
  • Knowledge Base article sync — Mirasvit KB articles are now exported to the chat knowledge base
  • CMS page sync — CMS pages are now exported to the chat knowledge base

Improvements

  • Sync command and cron now iterate over all active store views automatically
  • Added --store option to the sync CLI command to sync a specific store
  • Admin account panel is now scope-aware and shows per-store instance overrides
  • ⚠️ New ACL resource Mirasvit_EChat::echat_manage controls access to registration and credentials
  • ⚠️ Exporters moved from Mirasvit\EChat\Api namespace to Mirasvit\EChat\Exporter — update any custom exporters

1.0.7 (2026-03-13)

Improvements

  • Improved product data export with better attribute handling

1.0.6 (2026-03-12)

Features

  • Initial stable release