EasyIT AI Chat — Chatbot for OpenAI, Claude, DeepSeek, Gemini & Ollama

Changelog

2.3.4

  • Fix: Plugin Check compliance — replaced move_uploaded_file() with wp_handle_upload(), escaped exception output, added phpcs:ignore for set_time_limit() and table-name DB queries, prefixed view variables with eaic_ namespace.

2.3.3

  • Fix: Ollama now streams tokens in real time — first word appears within seconds instead of waiting for the full response to complete.

2.3.2

  • Fix: RAG count queries (“how many X”) now use keyword-matched chunks as context, preventing wrong items from appearing when the embedding model returns poor results.
  • Fix: Embedding timeout reduced from 60 s to 8 s so keyword fallback kicks in quickly when the embedding model is slow or misconfigured.
  • New: Copy and Download buttons added to every AI response message — always visible, no hover required.
  • Fix: Plugin version bump ensures browsers load updated JS/CSS (cache-bust).

2.3.1

  • Fix: RAG document processing — per-chunk embedding wrapped in try/catch so one bad chunk no longer aborts the whole document.
  • Fix: PHP set_time_limit extended during processing to prevent timeout on large PDFs.
  • Fix: Stuck documents in “processing” state are reset to “error” on next admin page load so they can be re-processed.
  • Fix: DB Setup button now reliably creates tables when RAG is first enabled.

2.3.0

  • New: Knowledge Base (RAG) — upload PDF documents; the AI answers questions using only your document data (Retrieval-Augmented Generation).
  • New: Semantic search via Ollama embeddings with automatic keyword fallback when embeddings are unavailable.
  • New: Accurate “how many X” counting — scans all chunks with plural/singular stemming for exact results.
  • New: Admin Test Query UI — inspect which document chunks are retrieved for any query.
  • New: Document status auto-polling — admin page refreshes processing status without a manual reload.
  • New: Configurable chunk size, chunk overlap, top-K results, similarity threshold, and embedding model.

2.1.1

  • Fix: Custom provider settings now save reliably (JSON decode fallback prevents silent data loss on save).
  • Fix: Settings page stays on the active tab after saving (sessionStorage-based tab restore).
  • Fix: Custom provider slugs (custom_1, custom_2 …) are now accepted as the Default Provider.

2.1.0

  • New: Custom Providers — add any OpenAI-compatible API endpoint (LM Studio, custom gateway, Ollama proxy, etc.) via Settings → Custom tab. Use with [eaic_chat provider=”custom_1″]. Includes per-provider Test Connection button, Enable/Disable toggle, configurable URL, API key, model, and timeout.

2.0.1

  • Bug fixes from code audit: fixed critical array key mismatch in feedback ownership check (feedback now correctly accepts/rejects based on actual session owner), fixed missing closing div in AI Avatar settings card (cosmetic HTML issue), improved no-storage mode (no longer creates orphan session records in DB), made frontend_i18n() a static method, updated Anthropic default model, fixed Tested up to header (6.8), improved copy button error handling in Shortcode Builder.

2.0.0

  • Major release — Security Suite. Eight new security features in Settings → Security:
  • Access Restriction — Allow everyone, logged-in users only, or specific user roles.
  • IP Blocklist — Block specific IP addresses from using the chat.
  • Word Filter — Block or warn when a message contains banned words/phrases (case-insensitive, one per line).
  • Prompt Injection Detection — Detect and block common jailbreak/injection patterns automatically.
  • No-Storage Mode — Opt out of saving conversations to the database entirely (GDPR-strict setups).
  • Anti-Bot Math Captcha — Simple arithmetic challenge before the first message. No external API required.
  • Abuse Alert Email — Get an email when the rate limit is exceeded. Configurable recipient.
  • Message Length Limit — Configure max characters per user message (50–4000, default 4000).

1.0.31

  • Added Webhook Support — configure a webhook URL in Settings → Webhook. After each AI response, the plugin sends a non-blocking POST to your URL with JSON payload: session_uuid, user_message, ai_response, provider, timestamp. Optional HMAC-SHA256 secret key adds an X-EAIC-Signature header for verification. Compatible with Zapier, Make (Integromat), n8n, and any HTTP endpoint.

1.0.30

  • Added Multiple Bot Profiles — create named configurations (slug, name, provider, title, system prompt) in Settings → Profiles. Load any profile with [eaic_chat profile=”your-slug”]. Profiles appear in the Shortcode Builder for one-click selection.

1.0.29

  • Added Shortcode Builder — a new admin page (EasyIT AI Chat → Shortcode Builder) lets you configure the chatbot visually. Choose provider, title, placeholder, height, and system prompt with dropdowns and inputs. The shortcode updates live and a Copy button puts it on your clipboard instantly. No typing required.

1.0.28

  • Added Context Length Control — a new “Context Window (messages)” setting (1–20, default 10) controls how many previous messages are sent to the AI with each request. Lower values reduce token cost; higher values give the AI more conversation memory. Find it in Settings → AI Behavior.

1.0.27

  • Added Read Aloud (TTS) — a speaker button appears on hover over any AI message. Click to have the browser read the message aloud using the Web Speech API (SpeechSynthesis). Click again to stop. No external service required — uses the built-in browser engine.

1.0.26

  • Added GDPR Consent Gate — optionally show a consent banner before the chat activates. Users must click an accept button before chatting. Consent is stored in a browser cookie (365 days). Configurable message text and button label. Enable in Settings → UI.

1.0.25

  • Added Fullscreen Mode — an expand button in the chat topbar switches the widget to full-screen overlay. Press Escape or click again to exit. Works on any page without layout changes.

1.0.24

  • Added Session Search — a search box in the chat sidebar lets users filter conversations by title in real time. No extra server requests — filtering is client-side.

1.0.23

  • Added Message Feedback — 👍/👎 buttons appear below each AI response. Ratings are stored in your database and visible in the Analytics dashboard (Helpful / Not helpful counts). Feedback resets if you regenerate a response.

1.0.22

  • Added Copy Message — hover any AI response to reveal a copy button. Copies the plain text of the message to the clipboard. Shows a checkmark confirmation on success.

1.0.21

  • Added Message Timestamps — each chat message now shows the time it was sent (HH:MM format) next to the sender label. Timestamps are preserved when loading conversation history.

1.0.20

  • Added Stop & Regenerate — the Send button turns into a red Stop button while the AI is responding. Click Stop to cancel the stream at any time. After a response completes, a Regenerate button appears below the last AI message to re-run the same query.

1.0.19

  • Improved Typing Indicator — replaced the hourglass thinking bubble with a smooth 3-dot animated typing indicator (classic messaging-app style). Dots use the configured accent color and animate with a staggered bounce. Timer appears after 5 seconds for slow responses.

1.0.18

  • Added Analytics Dashboard — new admin page (EasyIT AI Chat → Analytics) showing total conversations, total messages, messages today, active chats this week, most used provider, and a 7-day message bar chart. All data from your own database, zero external tracking.

1.0.17

  • Added Floating Chat Widget — a fixed launcher button that appears on every page. Click to open a slide-up chat panel. Configurable position (bottom-right / bottom-left), label, and uses your accent color. Enable in Settings → UI. No WooCommerce required.

1.0.16

  • Added Conversation Export — a download button in the chat topbar lets users save the current conversation as a .txt file. Enable in Settings → UI.

1.0.15

  • Added Voice Input — enable a microphone button in the input area. Uses the browser’s Web Speech API (Chrome, Edge, Safari). Speech is transcribed directly into the text field. Enable in Settings → UI. Requires HTTPS.

1.0.14

  • Added Color Customization — set Accent, User message, and AI message bubble colors via color pickers in Settings → UI. Changes apply instantly with a reset-to-default button for each color.

1.0.13

  • Added Custom AI Avatar — upload any image from the WordPress Media Library to replace the default 🤖 emoji in all AI message bubbles. Configurable in Settings → UI.

1.0.12

  • Added Suggested Questions — display clickable question chips below the welcome area. Clicking a chip sends it instantly. Up to 6 chips, one per line. Configurable in Settings → UI.

1.0.11

  • Added Welcome Message — enable a custom AI greeting bubble that appears when a new chat session starts. Configurable in Settings → UI. Supports markdown. Not stored or sent to the AI.

1.0.10

  • Added “Upgrade to Pro →” link in the plugins list for easy access to the Pro version.

1.0.9

  • Fixed fatal error on activation — Freemius SDK vendor files now included in the plugin package.

1.0.8

  • Renamed Freemius helper function to eaic_fs() for consistency with plugin prefix.

1.0.7

  • WooCommerce bots moved to EasyIT AI Chat Pro add-on.
  • Updated default models: GPT-4o-mini (OpenAI), Claude 3.5 Haiku (Anthropic), Gemini 2.0 Flash (Gemini).
  • Added newer model examples in settings: GPT-4.1, o3, o4-mini, Claude 3.7 Sonnet, Gemini 2.5 Pro/Flash.

1.0.6

  • Minor bug fixes and stability improvements.

1.0.5

  • Minor bug fixes and stability improvements.

1.0.4

  • Added Google Gemini provider (Gemini 1.5 Flash, Gemini 1.5 Pro, Gemini 2.0 Flash).
  • Added auto-title generation — first message generates a meaningful session title via the active AI provider.
  • Added data retention cron — sessions older than the configured number of days are purged automatically.
  • Added per-IP rate limiting as a secondary hard cap alongside the existing per-user/session limit.
  • Added Lock System Prompt setting to prevent front-end prompt injection on public sites.
  • Improved guest cookie security: SameSite=Lax attribute now set via PHP 8.0 array signature.
  • Rate limit window and max values are now configurable in Settings → Security.

1.0.3

  • Renamed shortcode from [easyai] to [eaic_chat] to use the plugin’s eaic prefix (WordPress.org review feedback).

1.0.2

  • Renamed plugin and folder to comply with WordPress.org trademark guidelines.
  • All exception messages now escaped before being thrown.
  • All direct database queries paired with object-cache reads/writes.
  • All AJAX handlers verify nonce before reading $_POST.
  • Removed deprecated load_plugin_textdomain() call (handled automatically since WP 4.6+).
  • All view-scoped variables prefixed to avoid global namespace collisions.
  • Excluded development files from production zip.

1.0.1

  • Initial public release.

Plugin Website
Visit website

Version:
2.3.4
Last Updated
June 5, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
8.0

Share Post

Join our newsletter.

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