Skip to main content
Version: v1.1

Version 1.1

Description - Quick reference for customer-facing changes in @couchbase/couchbase-lite-react-native version 1.1
Related Content - Release Notes | Using Logs

At a Glance​

Version 1.1 is focused on React Native New Architecture support and better troubleshooting:

  1. TurboModules - iOS and Android modules now support the React Native New Architecture.
  2. Improved file logging - React Native wrapper diagnostics can be written to file and custom log sinks.
  3. LogSinks.write() - application code can write messages into configured Couchbase Lite log sinks.
  4. Reliability fixes - listener cleanup, document expiration, and conflict-aware deletes are improved.
  5. Official npm package - published as @couchbase/couchbase-lite-react-native, replacing the legacy cbl-reactnative package.

NPM Package Rename​

Version 1.1 is published on npm as @couchbase/couchbase-lite-react-native. The legacy unscoped package cbl-reactnative (1.0.1 and earlier) is superseded. New installs and upgrades should use the scoped package.

What to updateBefore (cbl-reactnative)After (@couchbase/couchbase-lite-react-native)
Installnpm install cbl-reactnativenpm install @couchbase/couchbase-lite-react-native
TypeScript importsfrom 'cbl-reactnative'from '@couchbase/couchbase-lite-react-native'
Android Gradle pathnode_modules/cbl-reactnative/android/build.gradlenode_modules/@couchbase/couchbase-lite-react-native/android/build.gradle
Expo plugin podspec pathnode_modules/cbl-reactnative/cbl-reactnative.podspecnode_modules/@couchbase/couchbase-lite-react-native/cbl-reactnative.podspec

Upgrade checklist:

  1. Remove cbl-reactnative from package.json
  2. Install @couchbase/couchbase-lite-react-native
  3. Update all import paths and native wiring paths
  4. Rebuild native projects (pod install, Gradle clean build)

TurboModule Support​

Version 1.1 supports React Native New Architecture through TurboModules. Existing application-level Couchbase Lite APIs remain largely compatible, but New Architecture should be enabled to use the TurboModule implementation.

For Expo development builds, enable New Architecture in app.json:

{
"expo": {
"newArchEnabled": true
}
}

For React Native Android projects, make sure newArchEnabled=true is set in the Android project configuration.

Logging Changes​

React Native Logs in File and Custom Sinks​

When a file or custom log sink is enabled, version 1.1 can forward React Native wrapper diagnostics into the same logging pipeline as native Couchbase Lite logs.

React Native-originated lines are prefixed with RN:

RN ::DEBUG:: database_Open
RN ::WARNING:: query_RemoveChangeListener rejected: no listener for token
RN ::ERROR:: collection_Save failed

This helps diagnose issues that cross the JavaScript/native boundary while keeping sensitive payloads out of forwarded logs.

Writing Application Logs​

Use LogSinks.write() to write application messages into configured Couchbase Lite sinks:

import { LogSinks, LogLevel, LogDomain } from '@couchbase/couchbase-lite-react-native';

await LogSinks.write(
LogLevel.WARNING,
LogDomain.DATABASE,
'Retrying database open after transient failure'
);

Smaller Behavior Improvements​

  • Passing null to setDocumentExpiration() clears a document expiration.
  • Delete operations using ConcurrencyControl.FAIL_ON_CONFLICT reject stale revisions more consistently.
  • Query, collection, and replicator listener routing is more consistent on New Architecture builds.
  • Android replication filters support JavaScript arrow functions.
  • FileSystem.getFilesInDirectory(path) can list generated log files.