v1.6.0

nodejs/nodev1.6.0Sep 8, 2026by realcodesiman

Upgrading?

AI Summary

This release introduces mobile responsiveness, new minigame types (draw lots and scratch-off), and significant security enhancements including hashed API tokens. It also standardizes the public API naming and expands the ecommerce API scope.

Key Highlights

  • Redesigned broadcasts list with status panel and calendar views
  • Added new minigame types: draw lots and scratch-off
  • Enhanced security by hashing workspace API tokens and supporting multiple permissioned tokens
  • Made the app builder usable on mobile viewports
  • Split AI workloads into separate processes

Breaking Changes

  • Drop @chatbotx.io/api-contract and standardize public API naming

New Features

  • Per-status actions for broadcasts
  • Meta CAPI event dialog and action sources
  • Platform support access with owner opt-in
  • Ecommerce-scoped public API for products and categories
  • Full public API for MCP logic moved into business services

Full Release Notes

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

## What's Changed
### ✨ New Features
* feat(broadcast): redesign broadcasts list with status panel, calendar views and per-status actions by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1078
* feat(ads): move click to message ads into a tools page by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1079
* feat(minigames): add draw lots and scratch-off minigame types by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1085
* feat(capi): add meta capi event dialog, action sources and test events by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1084
* feat(builder): make the app usable on mobile viewports by @eduardocodes in https://github.com/ChatbotXIO/ChatbotX/pull/970
* refactor(security): hash workspace API tokens and support multiple permissioned tokens by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1066
* feat(workspace): add platform support access with owner opt-in by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1090
* revert(api-contract): drop @chatbotx.io/api-contract, standardize public API naming by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1069
* feat(minigame): replace the invite cookie with channel share refs by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1103
* feat(worker): split ai workloads by @nguyenvantruc92 in https://github.com/ChatbotXIO/ChatbotX/pull/1091
* feat(contacts): cover full public API for MCP, move logic into business services by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1093
* feat(api): document declared error shapes across public oRPC routes by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1109
* feat(channels): connect several pages and numbers in one flow by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1107
* feat(api): add ecommerce-scoped public API for products, categories, … by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1113
### 🐛 Bug Fixes
* fix(worker): parse stored appointment field times by @nguyenvantruc92 in https://github.com/ChatbotXIO/ChatbotX/pull/1076
* fix(sequences): persist delay unit changes after reload by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1082
* fix(appointments): booking connect google calendar error by @nguyenvantruc92 in https://github.com/ChatbotXIO/ChatbotX/pull/1083
* fix(messenger): show flow images and videos to every recipient by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1086
* fix(builder): derive the inbox height from the shell instead of hard-coded dvh by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1088
* fix(variables): localise the gender salutation by workspace language by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1089
* fix(automated-response): match page keywords exactly, not by substring by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1092
* fix(tests): use numeric id fixtures after zodBigintAsString was anchored by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1104
* fix(worker): run comment-triggered private flows on the DM conversation by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1105
* fix(tests): use numeric id fixtures in flow-config schema tests by @viethung0o0 in https://github.com/ChatbotXIO/ChatbotX/pull/1106
* fix(errors): keep meta's code, subcode and both sentences in graph error text by @hoangle398 in https://github.com/ChatbotXIO/ChatbotX/pull/1095
* fix(minigame): make save work after adding a prize by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1108
* fix(webchat): accept the minted guest conversation id in message schemas by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1111
* fix(inbox): keep a conversation unread when a bot reply arrives by @sung17 in https://github.com/ChatbotXIO/ChatbotX/pull/1112
### ⚡ Improvements
* refactor(orpc): shared error mapping, workspace-access gate, public-only /api by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1068
### 🔧 Internal / Chore
* chore(agents): streamline skills, add a skills validator, tighten public error contract by @realcodesiman in https://github.com/ChatbotXIO/ChatbotX/pull/1110

## New Contributors
* @eduardocodes made their first contribution in https://github.com/ChatbotXIO/ChatbotX/pull/970

**Full Changelog**: https://github.com/ChatbotXIO/ChatbotX/compare/v1.5.0...v1.6.0

Related Repositories