Skip to content

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.

  • 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. Set fontFamily: '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.

  • The chatbot keeps following new messages when they grow, and when many messages arrive during a smooth scroll.
  • triggerNextStep keeps 0, false and '' 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 validator of 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.

  • Requires React 18 or 19 and styled-components 5.1 or newer.
  • ChatBot is a function component, so a ref no longer gives you a component instance. Control the chatbot with props instead: opened with toggleFloating, or a new key to restart the conversation.
  • Enter submits the message on keydown instead of the deprecated keypress, and is ignored while the user is composing IME characters.
  • The steps argument of handleEnd is 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.

  • Written in TypeScript. The type declarations are generated from the source, and a new ChatBotTheme type 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 extraControl only receives disabled.
  • Removed the prop-types and random-id dependencies.
  • 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 triggerNextStep more 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 cache is enabled, and a blocked localStorage no longer breaks the chatbot.
  • Options without a value are selected by their label.
  • A first step with user: true waits for the user’s input.
  • A closed floating chatbot starts the conversation when it is opened.
  • TypeScript declarations for the props, every kind of step, handleEnd and 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.

See the GitHub releases for versions before 0.7.0.