Skip to content

v1.0.0-beta.1 - First Beta Release

Pre-release
Pre-release

Choose a tag to compare

@jayant-dhingra-cb jayant-dhingra-cb released this 06 Jan 15:09
· 12 commits to main since this 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 string β†’ ListenerToken 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