Changelog
This page summarizes the recent releases. The GitHub releases have the full notes for every version.
Latest Released on 2026-09-27.
A refreshed look for the chatbot, with fixes for the message alignment, auto-scroll, voice input and cached conversations. The props, the theme keys and the rsc-* class names are unchanged.
New look
Section titled “New look”- The messages of a group stay aligned on any page, including pages with a CSS reset.
- The default font is the system font instead of
monospace, and the input uses it too. SetfontFamily: 'monospace'in a theme to keep the old font. - Bubbles with grouped corners, better spacing, long words that wrap, and a subtle entrance animation (off with reduced motion).
- Outlined options and custom components aligned with the bot messages.
- Animated typing dots, a round send button in the accent color, and focus rings for keyboard users.
Apps with custom CSS that depends on the old spacing may need small adjustments.
Bug fixes
Section titled “Bug fixes”- The chatbot keeps following new messages when they grow, and when many messages arrive during a smooth scroll.
triggerNextStepkeeps0,falseand''as the step value.- Voice input submits the final transcript, and keeps submitting automatically after the user stopped a recognition.
- A restored cached conversation keeps the
validatorof the step waiting for the user.
Released on 2026-09-27.
React Simple Chatbot is rewritten in TypeScript with React function components and hooks. The steps and the props are the same as in 0.7.0.
Breaking changes
Section titled “Breaking changes”- Requires React 18 or 19 and styled-components 5.1 or newer.
ChatBotis a function component, so arefno longer gives you a component instance. Control the chatbot with props instead:openedwithtoggleFloating, or a newkeyto restart the conversation.- Enter submits the message on
keydowninstead of the deprecatedkeypress, and is ignored while the user is composing IME characters. - The
stepsargument ofhandleEndis an object keyed by step id instead of an array with string keys.
The migration guide explains each change and how to update your code.
Improvements
Section titled “Improvements”- Written in TypeScript. The type declarations are generated from the source, and a new
ChatBotThemetype describes the theme. - New ES module build, next to the UMD build.
- Style props no longer reach the DOM, with any supported styled-components version.
- A theme that defines only some keys falls back to the default theme for the others.
- A DOM element used as
extraControlonly receivesdisabled. - Removed the
prop-typesandrandom-iddependencies.
Security
Section titled “Security”- Resolved the security alerts reported for the development dependencies. The build now uses Vite, and the tests use Vitest and Testing Library.
Released on 2026-09-26.
A maintenance release that brings the 0.x line up to date with modern React.
- Messages are no longer duplicated under React 18 StrictMode, when a custom component calls
triggerNextStepmore than once, or when an option is clicked twice. - Autoscroll works again in Chrome 127 and newer.
- Server rendering no longer fails with
window is not defined. - The cache is only read when
cacheis enabled, and a blockedlocalStorageno longer breaks the chatbot. - Options without a
valueare selected by their label. - A first step with
user: truewaits for the user’s input. - A closed floating chatbot starts the conversation when it is opened.
Improvements
Section titled “Improvements”- TypeScript declarations for the props, every kind of step,
handleEndand custom components. - Accessibility: labels for the input and the buttons, and keyboard support for the floating open and close buttons.
- Supports React 16.3 and newer, and styled-components 4, 5 and 6.
Older releases
Section titled “Older releases”See the GitHub releases for versions before 0.7.0.