RxDB 17: Sync without server, access for AI agents
The open-source database RxDB 17 now synchronizes data directly via Google Drive or OneDrive – developers no longer need their own backend.
(Image: Noom_Studio/Shutterstock.com)
The JavaScript database RxDB can synchronize data without its own backend starting with version 17.0.0. The project also introduces an interface for AI agents and brings a faster storage backend for React Native apps.
RxDB is an open-source database for JavaScript and TypeScript. It relies on storage backends like IndexedDB or SQLite and is intended for offline-first applications: apps that work locally and synchronize data when needed. Typical use cases include Progressive Web Apps, React Native apps, and Electron applications.
Synchronization without a server
The central new feature in RxDB 17 is two new replication plugins for Google Drive and Microsoft OneDrive. They synchronize data directly into the user's cloud storage instead of storing it on a central server. Developers can host their app as a static website on GitHub Pages, Vercel, or Cloudflare and no longer need their own backend. Synchronization runs almost in real-time and across devices. Multiple apps can access the same cloud folder and thus share data.
Videos by heise
However, this approach has limitations. Cloud storage does not offer ACID guarantees, and synchronization is subject to the rate limits of the respective cloud API. Users must also authorize access to their account via OAuth.
AI agents access the database directly
With the new WebMCP plugin, AI agents can directly access RxDB collections via the Web Model Context Protocol. Previously, agents in the browser had to either analyze the rendered page or guess the HTML structure – both are complex and error-prone. WebMCP instead provides a machine-readable API description. Agents can learn from it which operations are available and can perform any queries or changes without developers having to define a custom tool for each action.
For React Native and Expo apps, RxDB 17 brings the Expo Filesystem RxStorage. It is based on expo-opfs and uses the current Expo Filesystem API. According to the developers, it is significantly faster than SQLite for many access patterns. The backend is specifically optimized for the Expo ecosystem and accesses the file system directly to increase performance.
Better for LLMs
Furthermore, RxDB 17 has been specifically optimized for AI-assisted programming. A new file llms.txt summarizes the API in a format suitable for language models. ERROR-MESSAGES.md lists all error codes with cause, solution, and link to documentation. Error objects now contain the properties cause, fix, and docs, so that a language model does not get into dead ends during debugging. Files like .aiexclude and .claudeignore reduce the context that AI tools have to process. TypeScript comments now contain @example tags, so that agents can use the API even without documentation.
On the framework side, there is a new React plugin with hooks and signals, as well as a reactivity-angular package for Angular Signals. The previous premium packages for Vue and Preact Signals are now part of the freely available core. Signals now carry the concrete data type of the document – for example, Signal<number> instead of Signal<any>.
Performance and Stability
The developers have revised the bulk insert path, query routing, and internal data structures. IndexedDB now stores attachments as binary instead of JSON, which saves storage space. Several memory leaks in OPFS and in the migration code have also been fixed.
Nine plugins are leaving the beta phase and are now considered production-ready. These include the replication plugins for Appwrite, Supabase, and MongoDB, the storage backends for MongoDB, the Node.js file system and DenoKV, as well as attachment replication, the CRDT plugin, and RxPipeline.
Breaking Changes and Migration
Most applications can be updated without major adjustments. However, those using OPFS RxStorage, Filesystem RxStorage under Node.js, or IndexedDB with attachments must migrate their data using the Storage Migrator. Pull-only replications no longer store server metadata on the client. Primary keys and indexes are limited to a maximum of 2048 characters, as keys that are too long can impair performance. Some integrations, such as Firebase, MongoDB, and NATS, are now optional peer dependencies and must be installed manually. The GitHub repository no longer ships with pre-built dist files; developers install RxDB via npm or build it locally themselves.
The complete Release Notes are available on the project page.
(fo)