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 | mxchat-basic.php +20 -1 3.2.20 → 3.2.23 View file →
@@ -2,9 +2,9 @@
2 2 /**
3 3 * Plugin Name: MxChat
4 4 * Plugin URI: https://mxchat.ai/
5 5 * Description: AI chatbot for WordPress with OpenAI, Claude, xAI, DeepSeek, live agent, PDF uploads, WooCommerce, and training on website data.
6 - * Version: 3.2.20
6 + * Version: 3.2.23
7 7 * Author: MxChat
8 8 * Author URI: https://mxchat.ai
9 9 * License: GPLv2 or later
10 10 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -38,8 +38,20 @@
38 38 define('MXCHAT_VERSION', $version);
39 39 }
40 40
41 41 /**
42 + * Toolbar items API level (plan-mxchat-20260916-65c9b6). Defined only by cores
43 + * that apply the `mxchat_chat_toolbar_items` filter while rendering the chat
44 + * toolbar and fire the `mxchat:toolbar-ready` / `mxchat:opened` document events.
45 + * Add-ons test `defined('MXCHAT_TOOLBAR_ITEMS_API')` and fall back to their
46 + * older DOM-injection path on cores without it, so a button is never rendered
47 + * twice. Bump the value only if the item shape (id / html / order) changes.
48 + */
49 +if (!defined('MXCHAT_TOOLBAR_ITEMS_API')) {
50 + define('MXCHAT_TOOLBAR_ITEMS_API', 1);
51 +}
52 +
53 +/**
42 54 * Default confidence floor for the in-chat YouTube card, as a percentage
43 55 * (plan-mxchat-20260813-f52492). Higher than the site-wide Similarity
44 56 * Threshold default of 35 by design — see MxChat_Utils::video_embed_threshold().
45 57 * Declared here so the gate, the admin field and the tests all read ONE number.
@@ -488,8 +500,9 @@
488 500 'includes/class-mxchat-editor-assistant.php',
489 501 'includes/class-rest-api.php',
490 502 'admin/class-ajax-handler.php',
491 503 'admin/class-pinecone-manager.php',
504 + 'admin/class-pinecone-documents.php',
492 505 'admin/class-knowledge-manager.php',
493 506 'admin/class-vectorstore-manager.php'
494 507 );
495 508
@@ -1358,8 +1371,9 @@
1358 1371 url TEXT NOT NULL,
1359 1372 article_content LONGTEXT NOT NULL,
1360 1373 embedding_vector LONGTEXT,
1361 1374 source_url TEXT DEFAULT NULL,
1375 + title VARCHAR(255) DEFAULT NULL,
1362 1376 role_restriction VARCHAR(50) DEFAULT 'public',
1363 1377 content_type VARCHAR(50) DEFAULT 'content',
1364 1378 timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
1365 1379 PRIMARY KEY (id),
@@ -1429,8 +1443,13 @@
1429 1443 $wpdb->query("ALTER TABLE $system_prompt_table ADD COLUMN source_url TEXT DEFAULT NULL");
1430 1444 }
1431 1445 if (!in_array('role_restriction', $existing_system_column_names)) {
1432 1446 $wpdb->query("ALTER TABLE $system_prompt_table ADD COLUMN role_restriction VARCHAR(50) DEFAULT 'public' AFTER source_url");
1447 + }
1448 + // Page title captured at import time (3.2.23, plan d9ee66) - read by
1449 + // add-ons that name a source, e.g. AI Search's source cards.
1450 + if (!in_array('title', $existing_system_column_names)) {
1451 + $wpdb->query("ALTER TABLE $system_prompt_table ADD COLUMN title VARCHAR(255) DEFAULT NULL AFTER source_url");
1433 1452 }
1434 1453 }
1435 1454
1436 1455 // Set default thresholds for existing intents