Releases: Couchbase-Ecosystem/cbl-reactnative
v1.0.0
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
ListenerTokenclass withtoken.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:
- Replace Database.setLogLevel() with LogSinks.setConsole() (required - APIs cannot be mixed)
- Update ReplicatorConfiguration to use new constructor pattern (recommended)
- Update listener cleanup to use token.remove() (recommended)
- Update TypeScript code that explicitly typed tokens as string to use ListenerToken (required for TypeScript)
v1.0.0-beta.1 - First Beta 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.
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
ListenerTokenclass withtoken.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
ReplicatorConfigurationAPI
Collections are now passed during initialization viaCollectionConfiguration 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
ListenerTokentype changed fromstring→ListenerTokenobject
(Impacts only explicitly typed code)
🧹 Deprecated APIs
(Still available for backward compatibility)
Database.setLogLevel()
→ UseLogSinks.setConsole()instead
⚠️ Old and new logging APIs cannot be used togetherconfig.addCollection(collection)
→ PassCollectionConfiguration[]via constructorremoveChangeListener()methods
→ Usetoken.remove()insteadListenerTokenasstring
→ Replaced withListenerTokenobject (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)
-
Logging (Required)
ReplaceDatabase.setLogLevel()withLogSinks.setConsole()Mixing old and new logging APIs is not supported
-
Replicator Configuration (Recommended)
Update to the new constructor-basedReplicatorConfigurationAPI -
Listener Cleanup (Recommended)
ReplaceremoveChangeListener()withtoken.remove() -
TypeScript Updates (Required)
Replace explicitly typedstringlistener tokens withListenerToken
v0.6.3
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
- Implemented Collection Change Listeners on Android
- Implemented Query Change Listeners on Android
- Fixed data adapter issues and improved testing
- Fixed issue related to collection
getDocumentalways pulling blob content
v0.5.0
- 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