Release Notes
3.1.2 — September 2023
Version 3.1.2 for Android delivers the following features and enhancements:
For an overview of the latest features offered in Couchbase Lite 3.1, see New in 3.1 |
3.1.1 — July 2023
Version 3.1.1 for Android delivers the following features and enhancements:
3.1.0 — March 2023
Version 3.1.0 for Android delivers the following features and enhancements:
Scopes and Collections
Couchbase Mobile’s cloud-to-edge support for scopes and collections allows application developers to organize and logically isolate data.
Independent lifecycle management and fine-grained security control simplifies the deployment of multi-tenant and high-application density cloud-to-edge applications at scale.
Scopes and Collections are a first class concept, synced between Couchbase Lite and Sync Gateway, between Sync Gateways (Inter Sync Gateway Replication), between Couchbase Lite peers, as well as available offline-first on Couchbase Lite devices.
Enhancements
-
CBL-4131 - SQL : Enhance COLLATE syntax to support locales for UNICODE Collator++
-
CBL-4098 - Provide option to Save Cookie with Domain being a parent domain of the request
-
CBL-3916 - Report invalid / unknown network interface using kC4NetErrUnknownInterface
-
CBL-3651 - Only send port in HTTP Host header if non-standard
-
CBL-3450 - Make FullTextIndex.language and ignoreAccent Getter Public API
-
CBL-3135 - Correct/document DB operations allowed in a batch transaction
-
CBL-3093 - Add DB closed recommendation to docs for Database.close
-
CBL-3085 - Make SSLException a recoverable error in AbstractCBLWebSocket: 3.1
-
CBL-2974 - Implement enhanced pinned server certificate feature
-
CBL-2970 - Implement the API to specify network interface used by the replicator
-
CBL-2509 - Enhance pinned server cert to support matching with parent certs
-
CBL-2359 - Convert android.support.annotations to androidx.annotations
-
CBL-1240 - URL listener starts with ugly (but unimportant) KeyStore exception
Issues and Resolutions
-
CBL-3866 - Fix WebSocket error 1006, "connection closed abnormally" crash
-
CBL-3810 - ReplicatorConfigurationFactory.create() defaults enabledAutoPurge to false
-
CBL-3626 - setDocumentExpiration hangs inside a batch transaction
-
CBL-3384 - Worker::childChangedStatus may lose child after enqueued
-
CBL-3075 - Database could be corrupted after being copied in linux platform
-
CBL-3046 - Connection Timeout is set to 15000000 Milliseconds on Non Windows Platforms
-
CBL-3013 - Continuous replicator does not push docs which are being observed
-
CBL-2994 - c4DbChanges in AbstractDatabase.postDatabaseChanged may contain nulls
-
CBL-2948 - revpos is missing in the changed attachment body when using delta sync (Port)
-
CBL-2940 - Replicator stopped with WebSocket 1008 / SocketTimeoutException when disable WiFi
-
CBL-2867 - Cannot update the same field again after reopening the database (Port Fix)
-
CBL-2779 - N1QL : Meta().<property> column name returned as $<num>
-
CBL-2736 - Incorrect key for SQL Query: "SELECT * FROM _default"++
-
CBL-2721 - Database is closed while replicator change listener is still executing
-
CBL-2693 - LiveQuerier could be leaked as liveQuerierStopped() delegate might not be called
-
CBL-2676 - 409 retry can result in invalid remote ancestor ID
-
CBL-2637 - Replication unable to continue after termination between rev and ack
-
CBL-2614 - Fix Memory leak when rapidly restarting replicator
-
CBL-2610 - Cleanup bundle folder when creating a database fails
-
CBL-2586 - LiveQuerier is running after having been stopped, causing a crash
-
CBL-2532 - Assertion failure when stopping replicator while replicator is connecting
-
CBL-2477 - Tear down DBAccess on stopped instead of on release
-
CBL-2460 - Different C4QueryObservers share the same C4QueryEnumerator
-
CBL-2459 - A second, new Query observer should be notified immediately.
-
CBL-2458 - Changing a Query's parameters should re-notify observers
-
CBL-2417 - Cookies set in Headers are replaced with Session Authenticator's cookies
-
CBL-2374 - Slowness from reindexing the database when opening database
Deprecations
-
CBL-4324 - Replace database oriented Factory methods with collection oriented equvalents
-
CBL-4316 - Replicator's getPendingDocumentIds() and isDocumentPending(String id) are deprecated
-
CBL-4315 - ReplicatorConfiguration's filters and conflict resolver properties are deprecated
-
CBL-4314 - ReplicatorConfiguration APIs with Database object are deprecated
-
CBL-4313 - MessageEndpointListenerConfiguration APIs using Database object are deprecated
-
CBL-4312 - URLEndpointListenerConfiguration APIs using Database object are deprecated
-
CBL-4311 - QueryBuilder : isNullOrMissing() and notNullOrMissing() are deprecated
-
CBL-4309 - QueryBuilder : DataSource's database() is deprecated
-
CBL-4306 - DatabaseChange and DatabaseChangeListener are deprecated