v1.12.0

ysharma3501/LuxTTSv1.12.0Oct 8, 2026by realcodesiman

Upgrading?

AI Summary

This release introduces a new Connection and ConnectSession model for channels and integrations, requiring database migrations and backfilling for self-hosted deployments. It adds a bot simulator tool, conversation routing for WhatsApp and Messenger, and significant performance optimizations for media loading. Public API capabilities are also expanded with new endpoints for products and bulk operations.

Key Highlights

  • New Connection model requiring database migrations and backfilling for self-hosted users.
  • Bot simulator tool added for testing flows.
  • Conversation routing support for WhatsApp and Messenger channels.
  • Performance optimizations for attachment loading in inbox and media.
  • Expanded public API with product import, bulk tagging, and CAPI routes.

Breaking Changes

  • Run database migrations to add Connection and ConnectSession tables.
  • Backfill Connection rows for existing inboxes and integrations.
  • REALTIME_BROADCAST_SECRET must be at least 32 characters.

New Features

  • Bot simulator tool
  • WhatsApp and Messenger conversation routing
  • Instagram profile and commented-on-post filters
  • Reflinks with embeddable chat widgets
  • AI hand-over settings for per-page configuration
  • Public API additions for product import, audience preview, bulk tagging
  • Message template body variable limit raised to 15

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at main -->

## 📋 Upgrade Notes

### Connections
v1.12.0 introduces the new `Connection` / `ConnectSession` model behind all channel and integration connects (#1404, #1411, #1415). Existing channels and integrations keep working, and nothing changes for end users. Self-hosted deployments should complete these steps after upgrading:

1. **Run database migrations** (adds the `Connection` and `ConnectSession` tables):
   ```bash
   pnpm --filter @chatbotx.io/database db:migrate
   ```
2. **Backfill `Connection` rows** for existing inboxes and integrations. Preview with a dry run first, then apply:
   ```bash
   pnpm --filter @chatbotx.io/database db:backfill-connections -- --dry-run
   pnpm --filter @chatbotx.io/database db:backfill-connections
   ```
   Optional flags: `--provider=<integrationType>` and `--workspace=<id>` limit the run to one provider or one workspace.
3. **Verify the backfill.** The first three counters must all be `0`:
   ```bash
   pnpm --filter @chatbotx.io/database db:backfill-connections -- --verify
   ```

### Environment
- `REALTIME_BROADCAST_SECRET` must be **at least 32 characters**. Generate one with `openssl rand -base64 32`.
- New optional variables:
  - `REDIS_QUEUE_URL` and `REDIS_QUEUE_BULK_URL` split queue Redis by role. Both fall back to `REDIS_URL`. Drain bulk jobs and restart every producer and consumer before the cutover.
  - `PROFILE_SNAPSHOT_JOBS_PER_SECOND`
  - `FACEBOOK_BUSINESS_AI_APP_ID` enables Messenger "return to bot" in conversation routing.

## What's Changed
### ✨ New Features
* Connections 1 foundation by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1404
* feat(connections): complete connection engine by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1411
* Connections 3 builder api by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1415
* feat(builder): add bot simulator tool by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1380
* feat(message-templates): raise messenger body variable limit to 15 by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1381
* feat(threads-comments): add post picker for threads comment automation by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1382
* feat(flows): enforce channel step support by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1379
* feat(conversation-routing): add WhatsApp and Messenger conversation routing by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1378
* feat(ai-handover): per-page AI hand-over settings and apply to all customers by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1391
* feat(contact-filter): add Instagram profile and commented-on-post filters by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1384
* feat(flows): configure quick reply settings by @hoangle398 in https://github.com/ChatbotXIO/ChatbotX/pull/1406
* feat(comment-automation): add facebook and instagram live comment automation by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1407
* feat(api): expose coupons and booking URLs by @nguyenvantruc92 in https://github.com/ChatbotXIO/ChatbotX/pull/1414
* feat(public-api): add missing endpoints and fix gaps against the builder by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1410
* feat(public-api): expose remaining tools endpoints for cli and mcp by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1418
* feat(public-api): add product import, audience preview, bulk tagging and CAPI routes by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1417
* feat(media): improve attachment loading in the inbox by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1420
* perf(media): optimize attachment loading with per-channel storage by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1426
* perf(inbox): optimize attachment loading in conversations by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1425
* feat(public-api): open workspace advanced settings and channel disconnects by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1429
* feat(reflinks): add embeddable chat widget for ref links by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1434
* feat(public-api): fill broadcast templates with flat templateParams by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1439
* feat(public-api): simpler inputs for templates, imports and channel settings by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1440
* feat(reflinks): let ref link chat widgets use their own logo and brand by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1444
* feat(reflinks): read and update the chat widget through the public api by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1454
### 🐛 Bug Fixes
* fix(threads-comments): use thumbnail for video posts in post picker by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1385
* fix(broadcasts): show unknown for audience filter values that no longer exist by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1366
* fix(conversation-routing): fix Types check broken on main by #1378 by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1389
* fix(bot-simulator): hide support chat bubble on simulator page by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1390
* fix(comment-automation): validate flowId exists before saving a reply by @rawdaymx in https://github.com/ChatbotXIO/ChatbotX/pull/1235
* fix: surface expired Meta connect sessions by @baokimho in https://github.com/ChatbotXIO/ChatbotX/pull/1183
* fix(triggers): let the five WhatsApp call conditions match their events by @rawdaymx in https://github.com/ChatbotXIO/ChatbotX/pull/1402
* fix(i18n): repair the Spanish trigger.* strings mangled by a word-fragment replace by @rawdaymx in https://github.com/ChatbotXIO/ChatbotX/pull/1400
* fix(tools): remove beta badge from tiktok comment automation by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1408
* fix(tools): update tools list test for removed tiktok beta badge by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1409
* fix(env): ship a schema-valid REALTIME_BROADCAST_SECRET example by @rawdaymx in https://github.com/ChatbotXIO/ChatbotX/pull/1396
* fix(instagram-facebook): reject unaccepted thread handovers by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1413
* fix(connections): restore dropped behaviors and fix engine regressions by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1419
* fix(public-api): validate flow ids on write and give colliding CLI commands distinct names by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1421
* fix(connections): rebuild oauth redirect_uri from credential on connect-session callback by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1428
* fix(connections): write jsonb columns without db default on channel insert by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1431
* fix(connections): wire token refresh, teardown, and backfill into engine writes by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1422
* fix(public-api): declare the error codes public routes really throw by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1423
* fix(messenger): stop dropping page labels during tag sync by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1441
* fix(quota): write workspace usage through the caller's transaction by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1442
* fix(quota): hand quota back when a connect or workspace-create transaction rolls back by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1445
* fix(error-logs): close the delete dialog after a successful delete by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1451
* fix(messenger): tag contacts with the ad on referral-only webhooks by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1452
### ⚡ Improvements
* refactor(error-logs): delete error logs through the business service by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1447
* refactor(whatsapp): load and verify manual webhooks through the business service by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1448
* refactor(workspaces): store channel profile logos through the workspace service by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1449
* refactor(workspace-members): create invitations through the invitation service by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1450
### 🔧 Internal / Chore
* chore: remove unused kafka package, split queue redis, add scaling ADRs by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1201
* test(database): update retention interval SQL assertion by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1412
* docs(public-api): make route descriptions match what the code does by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1424


**Full Changelog**: https://github.com/ChatbotXIO/ChatbotX/compare/v1.11.0...v1.12.0

Related Repositories