PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.23
MxChat – AI Chatbot & Content Generation for WordPress v3.2.23
3.2.25 3.2.24 3.2.23 3.2.22 3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 All 156 releases
← All changes | readme.txt +66 -8 3.2.20 → 3.2.23 View file →
@@ -1,12 +1,12 @@
1 1 === MxChat - AI Chatbot & Content Generation for WordPress ===
2 2 Contributors: mxchat
3 3 Author: [MxChat](https://mxchat.ai)
4 4 Tags: ai chatbot, chatgpt, woocommerce, customer support, content generation
5 -Requires at least: 5.0
6 -Tested up to: 7.0
7 -Requires PHP: 7.2
8 -Stable tag: 3.2.20
5 +Requires at least: 5.3
6 +Tested up to: 7.1
7 +Requires PHP: 7.4
8 +Stable tag: 3.2.23
9 9 License: GPLv2 or later
10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html
11 11
12 12 Free AI chatbot and content generation for WordPress. Train ChatGPT, Claude, Gemini or Grok on your content. WooCommerce ready with RAG.
@@ -71,9 +71,9 @@
71 71 Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5, Claude Sonnet 4.5, Claude Opus 4.1, Claude Haiku 4.5, Claude 4 Opus, Claude 4 Sonnet
72 72 **X.AI**:
73 73 **Grok 4.1 Fast (Reasoning)**, **Grok 4.1 Fast (Non-Reasoning)**, Grok 4, Grok-3, Grok-3 Fast, Grok-3 Mini, Grok-3 Mini Fast
74 74 **Google Gemini**:
75 -Gemini 3.5 Flash, Gemini 3.1 Pro, Gemini 3 Flash, Gemini 3.1 Flash-Lite, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite
75 +Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.5 Flash, Gemini 3.1 Pro, Gemini 3 Flash, Gemini 3.5 Flash-Lite, Gemini 3.1 Flash-Lite, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite
76 76 **DeepSeek**:
77 77 DeepSeek V3
78 78
79 79 ## Lead Management Dashboard — Turn Chat Traffic Into a Real Lead List
@@ -170,9 +170,9 @@
170 170 == Frequently Asked Questions ==
171 171
172 172 = What AI models does MxChat support? =
173 173
174 -MxChat supports 100+ AI models including OpenAI GPT-5.5, GPT-5.1 Chat Latest, GPT-5, Anthropic Claude Opus 4.8, Claude Sonnet 4.6, Claude Haiku 4.5, Google Gemini 3.5 Flash, Gemini 3.1 Pro, xAI Grok 4, Grok 3, DeepSeek V3, and many more. With OpenRouter integration, you get access to models from OpenAI, Anthropic, Google, Meta, Mistral, and other providers with a single API key.
174 +MxChat supports 100+ AI models including OpenAI GPT-5.5, GPT-5.1 Chat Latest, GPT-5, Anthropic Claude Opus 4.8, Claude Sonnet 4.6, Claude Haiku 4.5, Google Gemini 3.8 Flash, Gemini 3.1 Pro, xAI Grok 4, Grok 3, DeepSeek V3, and many more. With OpenRouter integration, you get access to models from OpenAI, Anthropic, Google, Meta, Mistral, and other providers with a single API key.
175 175
176 176 = How do I get API keys for the AI chatbot? =
177 177
178 178 For OpenAI, visit platform.openai.com and create an account. For Anthropic Claude, visit console.anthropic.com. For Google Gemini, visit ai.google.dev. For xAI Grok, visit x.ai. For DeepSeek, visit platform.deepseek.com. For OpenRouter (100+ models), visit openrouter.ai. Each provider offers different pricing tiers and free credits for new users.
@@ -190,9 +190,9 @@
190 190 Yes. MxChat includes full WooCommerce integration. The AI chatbot can be trained on your product catalog including titles, descriptions, pricing, SKUs, categories, and custom fields. Enable auto-sync to automatically update the knowledge base when products change. Your chatbot can answer questions about products, pricing, availability, and help customers find what they need.
191 191
192 192 = Can I customize the AI chatbot appearance? =
193 193
194 -Yes. MxChat offers extensive customization options including custom colors, chatbot icon, AI avatar, chat bubble size, light/dark/system themes, positioning (left/right), custom CSS, greeting messages, placeholder text, and widget layouts. Use the built-in AI Theme Generator to describe your ideal design and let AI create custom styling automatically.
194 +Yes. The free plugin lets you set the widget position (left or right), the greeting and placeholder text, and add your own custom CSS. The MxChat Theme Customizer add-on (Pro) handles the rest of the look: custom colors for around 20 widget elements, your own chatbot icon and avatar image, chat bubble size, light, dark and system themes, widget layouts, and a built-in CSS editor. Its AI Theme Generator lets you describe the design you want and generates the theme for you.
195 195
196 196 = How do I add the chatbot to my WordPress site? =
197 197
198 198 You can add the chatbot using the shortcode `[mxchat_chatbot floating="yes"]` for a floating widget or `[mxchat_chatbot floating="no"]` for an embedded chat. Alternatively, enable "Append to Body" in settings to automatically display the chatbot on all pages without shortcodes.
@@ -267,9 +267,9 @@
267 267 Yes. MxChat's Custom Provider setting accepts any OpenAI-compatible API endpoint, including locally hosted ones like Ollama, LM Studio, vLLM, and LocalAI. Point the Custom Provider base URL at your server, choose your chat model, and optionally enable "Use custom provider for embeddings" with a local embedding model such as nomic-embed-text or mxbai-embed-large to keep the entire pipeline — chat and vector search — on your own hardware with no per-token costs.
268 268
269 269 = Is there a free version of MxChat? =
270 270
271 -Yes. MxChat is available for free on the WordPress plugin repository with full AI chatbot functionality. Premium add-ons are available for advanced features like the AI Theme Generator and priority support.
271 +Yes. MxChat is available for free on the WordPress plugin repository with full AI chatbot functionality. Premium add-ons are available for advanced features such as the Theme Customizer with its AI Theme Generator, and come with priority support.
272 272
273 273 == Developer Hooks & Filters ==
274 274
275 275 MxChat provides WordPress filter hooks so developers can extend and customize chatbot behavior without modifying core plugin files. [View full documentation with code examples](https://mxchat.ai/mxchat-developer-hooks-filters/).
@@ -281,8 +281,12 @@
281 281 = mxchat_system_instructions =
282 282
283 283 Dynamically modify the system prompt before every AI response. Use this to inject live data such as business hours, inventory status, or user-specific context into the prompt at runtime. Receives the instructions text, bot ID, and session ID. MxChat also supports WordPress shortcodes directly in the system prompt field — any registered shortcodes are automatically expanded before being sent to the AI.
284 284
285 += Added in 3.2.22 =
286 +
287 +mxchat_client_ip (the visitor address behind a trusted proxy), mxchat_current_datetime_line (the date and time line sent with each message), mxchat_transcript_user_message and mxchat_ai_conversation_history (what humans and the model each see of a transcript), mxchat_chat_toolbar_items with the mxchat:toolbar-ready and mxchat:opened browser events (toolbar buttons from an add-on), mxchat_handoff_card_sections (extra sections on the Telegram and Slack handoff card), and the MxChat_Utils::save_session_message helper for writing to a transcript. Each is documented with examples on the page linked above.
288 +
285 289 ## ✅ Get Started with MxChat AI Chatbot Today
286 290
287 291 Installing MxChat for WordPress takes just a few clicks. Get started with our free plan and upgrade anytime to access our complete add-on ecosystem and premium features.
288 292
@@ -317,11 +321,59 @@
317 321 *(Note: Screenshots will be added in future updates)*
318 322
319 323 == Changelog ==
320 324
325 += 3.2.23 - September 29, 2026 =
326 +* Fixed: Pressing Enter with an empty message no longer locks the chat input. The box stays usable, and only a real message disables it while the reply is generated. A message made only of spaces or blank lines now counts as empty too, so nothing is sent to the model for it.
327 +* Improved: Pages imported from a web address or a sitemap now remember their own page title (from the page's title tag or its social-sharing title, with the site name trimmed off). Add-ons that name a source, such as MxChat AI Search's source cards, can show the real title instead of a guess made from the address.
328 +* Improved: On a Pinecone document index, part numbers typed without their spaces, hyphens or dots now find the right record. R165321320 reaches the records that describe R1653 213 20 or the R1653 family, in any letter case, and an exact match always ranks above a family match. Records copied or added from now on carry the matching tokens; run Migrate again to add them to records copied earlier.
329 +* Improved: Migrate now copies your vector index into the document index while the chatbot keeps answering from the vector index. Nothing switches until you save the Pinecone settings, and saving is held back while a copy into that index is still running unless you tick Switch anyway. An interrupted copy continues from where it stopped, each request copies several batches and retries a dropped connection on its own, the real reason is shown if it does stop, and the progress line reports records remaining, records in other namespaces that are not copied, and the count the document index itself reports when done.
330 +* Fixed: Create index for me no longer fails with an HTTP 409 when the Index Name field still holds your vector index's name. Switching to the document index type suggests a free name ending in -docs, an existing name is refused in plain words with a suggestion filled in, and creating or checking an index no longer moves the chatbot to it before you save.
331 +* New: The GPT-6 models are in the model picker: GPT-6 Astra (recommended), GPT-6 Sol and GPT-6 Luna. They work for chat, the content generator and the editor assistant, and the request settings each one requires are applied automatically.
332 +* Improved: When AI Tools are on, the model is now told how many tool calls it may make for a message, is told how many remain after each round, and is asked for a single call when only one is left. Before, a model could request several lookups at once when only one was allowed, have the rest refused, and answer from partial results.
333 +* Fixed: Delete old index now checks every namespace of the old vector index, not just the one copied last. It refuses, and names the namespace, while any namespace with records has no finished copy whose count matches. Before, a site with several namespaces (one per bot, or a namespace from an earlier setup) could delete records that were never copied.
334 +* New: Migrate can copy every namespace of the vector index in one run. When the source index holds records in other namespaces, the Pinecone card offers a Copy every namespace switch beside Migrate. Each namespace is copied into the same-named namespace of the document index, so every bot keeps reading its own; the progress line shows which namespace is being copied and the counts for each, an interrupted copy continues with the right namespace, and a namespace already copied is kept rather than copied again.
321 335
322 336
337 += 3.2.22 - September 20, 2026 =
338 +* New: An opt-in Pinecone Document index with full-text search, so a question carrying a part number, SKU or code finds the record that holds it. Create index for me, Check index and Migrate move an existing index across with no re-embedding, and classic vector indexes are untouched.
339 +* New: The chatbot knows the current date and time in your site's timezone, so it can tell past events from upcoming ones. The line travels with each message and does not affect prompt caching; {current_date} and {current_datetime} also work as placeholders in the instructions.
340 +* New: Knowledge base content can be restricted to any role on your site, including custom ones from User Role Editor, Members or a membership plugin. The built-in Subscribers and Above through Administrators Only choices behave exactly as before.
341 +* New: Every post and page has a Knowledge base access setting in the MxChat box on its edit screen, so content without tags is no longer stuck as public. Where both apply, the stricter of the tag rule and the page setting wins.
342 +* New: PDF, Word, text and Markdown files already in your media library can be imported into the knowledge base, with the text read from the file itself. The Media source now lists only those four types.
343 +* New: Switch on Media under Advanced Custom Post Sync Settings and a supported file adds itself to the knowledge base on upload, updates its entry when replaced and is removed when deleted.
344 +* New: The pre-chat lead form can be shown to signed-in visitors too, pre-filled from their profile, and the email address can be made optional so you can collect a name and consent alone. Leads captured either way appear in the Leads tab and the CSV export.
345 +* New: The API can remove knowledge base entries by source URL, singly or up to 50 at a time, so a document deleted in SharePoint, Drive or your CMS can be taken out of the chatbot by your sync job. Deleting a URL that is not stored is reported as nothing removed, not an error.
346 +* New: Lead capture submissions can be read over the API, with paging and a since filter, so leads can be synced into a CRM or spreadsheet automatically.
347 +* New: Gemini 3.8 Flash, 3.7 Flash and 3.6 Flash join the model picker, with 3.8 Flash as the recommended Gemini default and 3.5 Flash-Lite as the lowest-cost choice. Sites already on 3.5 Flash keep it until they pick something else.
348 +* New for developers: Add-ons can put a button in the chat toolbar with the mxchat_chat_toolbar_items filter, and the mxchat:toolbar-ready and mxchat:opened page events mean no more watching the page or running requests on every view. The WooCommerce cart button is the first to use it.
349 +* New for developers: Add-ons can append to a chat transcript with save_session_message, shape what humans read with mxchat_transcript_user_message and mxchat_ai_conversation_history, and add sections to the Telegram and Slack handoff card with mxchat_handoff_card_sections.
350 +* Security: Hardened how links are written into the chat window and how a visitor's own earlier messages are restored after a page reload. Ordinary links, encoded addresses and file names with brackets look and behave exactly as before.
351 +* Security: Hardened per-visitor rate limiting and its hourly reset. A visitor's allowance is now counted against the address the request really came from, with Cloudflare handled automatically, and daily, weekly and monthly limits hold for the full period; other proxies can use the new mxchat_client_ip filter.
352 +* Fixed: Restricting a knowledge entry to a custom role no longer leaves it readable by every signed-in visitor.
353 +* Fixed: Choosing Media in the WordPress Content importer now lists your files instead of coming back empty on every site.
354 +* Fixed: With Pinecone, the Knowledge Entries heading shows the vector count Pinecone reports instead of 50 for any index over 500 vectors, paging uses Previous and Next and continues where the last page ended, and a bot with its own empty namespace shows 0.
355 +* Fixed: With Contextual Awareness on, sending a message on a page with a video or audio player no longer starts an invisible copy playing or downloads the media again. The page text is read from an inert copy, gathered once per page.
356 +* Fixed: The function-calling loop no longer sends an invalid request when the per-turn tool budget is reached. Every tool call gets a result, the model answers from what it has, and a provider failure after a tool has run is logged even with developer mode off.
357 +* Fixed: Words joined with underscores, such as file names, SKUs and placeholders, no longer lose their underscores and turn italic. A backslash writes an underscore, asterisk, tilde or backtick literally, and anything inside backticks is shown exactly as written.
358 +* Improved: The Hybrid keyword boost now applies to Pinecone document indexes as well as the WordPress database, and the Transcripts and Testing panels label each match Vector, Keyword or Both.
359 +* Improved: With AI Tools active, questions that need no tool are generated once instead of twice, so replies arrive sooner and ordinary turns use roughly half the output tokens. Those replies arrive as one message; the mxchat_fc_keep_first_hop_text filter restores the old behaviour.
360 +* Improved: Gemini 3 series models are asked for a low thinking level on every chat reply, natively and through the OpenAI-compatible provider, so you stop paying for hidden reasoning tokens. A developer can change it with the mxchat_gemini_thinking_level filter.
361 +* Improved: The API Access screen documents every endpoint in one place, with ready-to-run examples for removing a deleted document and syncing new leads.
362 +* Improved: The plugin listing's appearance FAQ now says which customization options are in the free plugin and which come with the Theme Customizer add-on.
363 +* Changed: The plugin now declares WordPress 5.3 and PHP 7.4 as its minimum versions, matching what the code has required for some time. Every MxChat add-on already required PHP 7.4.
323 364
365 += 3.2.21 - September 6, 2026 =
366 +* Fixed: Ending a Telegram live agent conversation, from MxChat or from Telegram itself, now retires its topic and returns the visitor to the AI. The visitor's next request used to post into the closed topic, where agents could not reply.
367 +* Fixed: The conversation history shared with Telegram agents now always arrives, sent in parts within Telegram's message limit as readable text. A long conversation could previously drop the entire handoff card without a trace.
368 +* Fixed: Slack agents who reply in a thread on a handoff message now reach the visitor. Those threaded replies were silently discarded in the default per-conversation mode.
369 +* Fixed: With Chat Persistence on, Start new chat now leaves only your greeting, and a restored conversation keeps the greeting above it. A returning visitor was previously left with one old reply and no greeting.
370 +* Fixed: The Open Telegram settings button on the webhook security notice now opens the Telegram settings tab instead of the onboarding screen.
371 +* Improved: Telegram handoffs share the last 10 messages, labeled with the count, and any Telegram delivery failure is shown on the Telegram settings screen with Telegram's own explanation. Failures used to leave no trace anywhere.
372 +* Improved: When your site rejects Telegram's incoming requests, the Telegram settings screen and a dashboard notice now say how many, when, why, and how to fix it. Sites behind Cloudflare with no webhook secret previously dropped every reply in silence.
373 +* Improved: When a Slack message cannot be relayed to the visitor, such as an edit or a file upload, the agent now sees a short note in the channel explaining how to get it through. Dropped replies are logged when debug mode is on.
374 +* Improved: If your shared Slack handoff channel is private, the Slack settings screen now warns that your Slack app needs the message.groups event subscription. Without it, handoffs post but agent replies never reach the visitor.
375 +* Improved: On the Pro and Extensions page, the button for an add-on you have not installed is now Get the ZIP from My Account and opens your account Downloads page. It used to open the same page as the Documentation button.
324 376
325 377 = 3.2.20 - August 28, 2026 =
326 378 * New: The knowledge base can now populate and maintain your OpenAI Vector Store — every addition, edit and deletion is mirrored automatically, and an Import Existing Knowledge Base button (or the wp mxchat vectorstore-import command) uploads what you already have in resumable batches; role-restricted entries are never uploaded.
327 379 * New: Chat answers can no longer link to pages that do not exist — every finished answer, streaming included, is checked and links to your own site that would 404 are removed while the sentence stays intact.
@@ -677,11 +729,17 @@
677 729 Older releases are archived in the plugin's full version history on WordPress.org.
678 730
679 731 == Upgrade Notice ==
680 732
733 += 3.2.23 =
734 +Fixes the chat input locking up for good when a visitor pressed Enter on an empty message. On a Pinecone document index, Delete old index now refuses while any namespace is still uncopied, Migrate can copy every namespace in one run and continues where it stopped, part numbers typed without spaces find their records, and Create index for me suggests a free name instead of failing on an existing one. Adds the GPT-6 models (Astra, Sol and Luna) to the model picker, and tells the chatbot its AI Tools call budget so it no longer answers from partial results when only one call is allowed.
681 735
682 736
737 += 3.2.22 =
738 +Adds the current date and time to every chat, knowledge restrictions for custom roles and single pages, media library imports with auto-sync, and an optional Pinecone full-text document index. Also hardens chat links and rate limiting, fixes function calling and underscore rendering, and adds Gemini 3.8 Flash. Now requires WordPress 5.3 and PHP 7.4.
683 739
740 += 3.2.21 =
741 +Live agent chat is more reliable on both channels: Telegram conversations can be ended and restarted cleanly, conversation history always arrives, and both Telegram delivery failures and rejected incoming requests now show on the settings screen. Slack agents can reply in thread and are told when a message could not be relayed. Start new chat now works correctly with Chat Persistence on.
684 742
685 743 = 3.2.20 =
686 744 The knowledge base can now populate and maintain your OpenAI Vector Store — every change is mirrored automatically and a resumable import uploads what you already have, where before the store was read-only. Chat answers can no longer link to pages that do not exist, a new Webhook destination routes live-agent handoffs to your own helpdesk or automation flow, and the chatbot is placeable as a Gutenberg block or an Elementor widget. Also adds a consent checkbox for the pre-chat form, completes screen reader support for the conversation, and fixes Pinecone reads on serverless indexes. Re-import Persian, Hindi and other Indic-script content to repair entries indexed earlier.
687 745