> ## Documentation Index
> Fetch the complete documentation index at: https://chatjs.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Latest updates and announcements

All notable changes to ChatJS are documented here.

<Note>
  ChatJS is under active development. Breaking changes may occur between
  releases.
</Note>

## March 2026

### Electron Desktop App

Package your ChatJS app as a native desktop application for macOS and Windows. The CLI now asks `Include an Electron desktop app?` during `create`, and choosing Yes copies a pre-configured `electron/` subfolder with a main process, preload script, system tray, deep-link OAuth flow, and auto-updater backed by GitHub Releases. See [Desktop](/platforms/desktop) for full setup details.

### Parallel Responses

Send one message to multiple models at the same time and compare their answers side by side. Enable multi-model mode in the model selector, pick two or more models, and each one starts streaming immediately. A row of response cards appears above the conversation showing the model name and current status. Click any card to switch the active thread to that branch.

## February 2026

### Video Generation

Generate short video clips from text prompts directly in chat, with inline playback. Enable via `config.ai.tools.videoGeneration.enabled` (requires a gateway with video model support).

### Interactive Charts

The Python sandbox now renders interactive ECharts (line, scatter, bar) alongside matplotlib PNGs. Assign a value to the `chart` variable in your code to get an interactive chart.

### Configuration Refactor

AI config is now unified under `config.ai` with `workflows` and `tools` blocks, replacing `config.models` and most `config.features` flags. In `chat.config.ts`, rename `models` → `ai`, move `defaults` → `ai.workflows`, and move tool flags into `ai.tools.*.enabled`.

### Performance Improvements

Parallelized server-side fetches in the chat layout, API, and stream routes. Heavy UI components (editors, charts, code blocks) are now lazy-loaded with skeleton placeholders.

### E2E Testing

Added a Playwright test suite covering auth, chat, reasoning, and artifact flows.

### CLI (`@chat-js/cli`)

New scaffolding CLI to create ChatJS apps without cloning the repo. Run `npx @chat-js/cli@latest create my-app` to get an interactive setup that configures your AI gateway, features, and auth providers out of the box.

### Initial Release

The first public release of ChatJS (formerly Sparka AI), forked from [Vercel AI Chatbot](https://github.com/vercel/ai-chatbot) with significant enhancements.

### Multi-Model Support

Access 120+ models through Vercel AI Gateway. Switch between providers seamlessly without changing your code.

### Authentication

Better Auth integration with support for GitHub, Google, and Vercel OAuth providers out of the box.

### Resumable Streams

Continue AI responses after page refresh. Never lose a response mid-generation again.

### Canvas

Create and edit text, code, and spreadsheet documents directly in your chat interface.

### AI Tools

* **Web search** - Real-time search via Tavily or Firecrawl
* **Code execution** - Python sandbox with matplotlib, pandas, numpy
* **Image generation** - AI-powered image creation
* **MCP support** - Model Context Protocol for external tools
* **File attachments** - Drag and drop images, PDFs, documents

### Infrastructure

Built on a modern stack designed for production:

* **PostgreSQL** with Drizzle ORM for the primary database
* **Redis** for resumable streams and caching
* **Vercel Blob** for file storage
* **tRPC** for type-safe APIs
* **Better Auth** for authentication

### Developer Experience

* Full TypeScript support throughout
* Biome + Ultracite for fast linting and formatting
* Evalite for AI evaluation
* Docker support for containerized deployment
