Skip to content

Releases: Couchbase-Ecosystem/cbl-reactnative

v1.0.0

12 Jan 10:32
a483112

Choose a tag to compare

1.0.0

New Features:

  • Log Sink API - Console, File, and Custom log sinks with configurable levels and domains
  • LogDomain.ALL - New domain to enable all log categories at once
  • Listener Token Management - New ListenerToken class with token.remove() API
  • Collection Change Listeners - Monitor all documents in a collection
  • Document Change Listeners - Monitor specific documents by ID
  • Query Change Listeners (Live Queries) - Real-time query results
  • Replicator Status Change Listeners - Monitor replication state and progress
  • Replicator Document Change Listeners - Track individual document replication
  • New ReplicatorConfiguration API - Collections passed during initialization using CollectionConfiguration
  • Collection.fullName() method - Get fully qualified collection name (scope.collection)
  • Couchbase Lite 3.3.0 - Updated iOS and Android SDKs to Couchbase Lite 3.3.0

Breaking Changes:

  • TypeScript: ListenerToken type changed from string to ListenerToken object (affects explicitly typed code only)

Deprecated APIs (Remain available for backward compatibility):

  • Database.setLogLevel() - Use LogSinks.setConsole() instead. Note: Old and new logging APIs cannot be used in tandem.
  • config.addCollection(collection) - Pass CollectionConfiguration array in constructor instead
  • removeChangeListener() methods - Use token.remove() instead
  • ListenerToken type changed from string to ListenerToken object (TypeScript breaking change for explicitly typed code)

Bug Fixes:

  • Fixed encryption key crash when key not required
  • Fixed Kotlin import paths and enhanced logging methods
  • Improved blob data validation and array handling
  • Fixed custom delete issues

Migration from 0.6.x:

  1. Replace Database.setLogLevel() with LogSinks.setConsole() (required - APIs cannot be mixed)
  2. Update ReplicatorConfiguration to use new constructor pattern (recommended)
  3. Update listener cleanup to use token.remove() (recommended)
  4. Update TypeScript code that explicitly typed tokens as string to use ListenerToken (required for TypeScript)

v1.0.0-beta.1 - First Beta Release

06 Jan 15:09

Choose a tag to compare

Pre-release

🎉 v1.0.0-beta.1 — First Beta Release

This is the first beta (pre-release) of cbl-reactnative v1.0.0, published for community testing and feedback.

⚠️ Not production-ready
This release may contain breaking changes, incomplete features, or undiscovered issues. Do not use in production environments.

Your testing and feedback are highly appreciated 🙏


📚 Documentation

📖 Full documentation:
👉 https://cbl-reactnative.dev/


✨ What’s New

Logging

  • Log Sink API — Console, File, and Custom log sinks with configurable levels and domains
  • LogDomain.ALL — Enable all log domains with a single option

Listeners & Observability

  • Listener Token Management — New ListenerToken class with token.remove() API
  • Collection Change Listeners — Observe all document changes within a collection
  • Document Change Listeners — Observe changes for specific document IDs
  • Query Change Listeners (Live Queries) — Real-time query result updates
  • Replicator Status Change Listeners — Monitor replication state and progress
  • Replicator Document Change Listeners — Track per-document replication activity

Replication & Collections

  • New ReplicatorConfiguration API
    Collections are now passed during initialization via CollectionConfiguration
  • Collection.fullName() — Retrieve the fully-qualified name (scope.collection)

SDK Updates

  • Couchbase Lite 3.3.0
    Updated iOS and Android SDKs to Couchbase Lite 3.3.0

🚨 Breaking Changes

  • TypeScript
    • ListenerToken type changed from stringListenerToken object
      (Impacts only explicitly typed code)

🧹 Deprecated APIs

(Still available for backward compatibility)

  • Database.setLogLevel()
    → Use LogSinks.setConsole() instead
    ⚠️ Old and new logging APIs cannot be used together
  • config.addCollection(collection)
    → Pass CollectionConfiguration[] via constructor
  • removeChangeListener() methods
    → Use token.remove() instead
  • ListenerToken as string
    → Replaced with ListenerToken object (TypeScript)

🐛 Bug Fixes

  • Fixed encryption key crash when encryption is not required
  • Fixed Kotlin import paths and improved logging APIs
  • Improved blob validation and array handling
  • Fixed custom delete behavior issues

🔄 Migration Guide (from 0.6.x)

  1. Logging (Required)
    Replace Database.setLogLevel() with LogSinks.setConsole()

    Mixing old and new logging APIs is not supported

  2. Replicator Configuration (Recommended)
    Update to the new constructor-based ReplicatorConfiguration API

  3. Listener Cleanup (Recommended)
    Replace removeChangeListener() with token.remove()

  4. TypeScript Updates (Required)
    Replace explicitly typed string listener tokens with ListenerToken

v0.6.3

21 Oct 06:50
0ab1b59

Choose a tag to compare

What's Changed

  • Array handling and improve blob data validation in DataAdapter (null-pointer issue)
  • Fix a crash caused by improper handling of encryption key

v0.6.1

02 Jun 17:46
f11d152

Choose a tag to compare

v0.5.0

12 May 17:51
c0acc87

Choose a tag to compare

  • Implemented Collection Document Change
  • Implemented Query Change Listener (Live Query)
  • Implemented Replicator Status Change and Replicator Document Change (iOS)
  • Fixed issue related to creation of two database instances