Release Notes
Description — Couchbase Lite on C#.Net
Abstract — This content describes the key features and changes implemented by release 2.8 of Couchbase Lite on C#.Net
Related Content — What’s New | Compatibility | Supported OS
2.8.6 — August 2021
2.8.4 — March 2021
Version 2.8.4 of Couchbase Lite for C#.Net delivers a number of enhancements and bug fixes.
Enhancements
Enhancement highlights include the ability to vary the replicator heartbeat, which keeps continuous replication connections alive when idle — see: Remote Sync Gateway — Set heartbeat
2.8.2 — November 2020
2.8.0 — October 2020
Quick Links: New Features | Improvements | Issues and Resolutions | Support Notices | Related Content
New Features
Peer-to-Peer Synchronization
Using Couchbase Lite’s Peer-to-Peer Synchronization solution, you can build offline-first applications on edge devices that directly collaborate in secure bi-directional database synchronization without depending on centralized cloud-based control.
The solution provides an out-of-the-box implementation of a websocket based listener for use in peer-to-peer applications communicating over in IP-based networks.
Read More . . . Landing P2Psync
Improvements
Other Enhancements
-
CBL-992 — Add Maintenance API.
-
CBL-954 — Return 403 for forbidden listener requests
-
CBL-891 — API: Overload AbstractReplicator.start to take resetCheckpoint argument
-
CBL-740 — P2P listener API
-
CBL-638 — Support RevisionID in queries via Meta
-
CBL-405 — Pending document IDs
-
CBL-320 — Public Database.close method
-
CBL-191 — HTTP auth for P2P Listener
API Changes
The API has been enhanced with the following changes:
-
The Database.Close() method now automatically handles stopping open replicators, closing peer-to-peer websocket listener and removing observers for live queries.
-
The Database.Delete() method now automatically handles stopping open replicators, closing peer-to-peer websocket listener and removing observers for live queries.
-
The Replicator.IsDocumentPending() method checks whether or not the document with the given ID has any pending revisions to push
-
The Replicator.GetPendingDocumentIDs() method gets the Ids of all documents currently pending push
-
Meta.revisionID property is now available as a metadata property, which can be accessed directly in queries
Issues and Resolutions
Fixed Issues
-
CBL-1215 — Xamarin android takes longer to re-establish the replication connection switch from offline to online the 2nd + time
-
CBL-1141 — Android cannot use unlinked files
-
CBL-1107 — Properties beginning with dollar sign not handled correctly
-
CBL-1045 — Data race in log rollover
-
CBL-978 — Math errors with float → int implicit fleece conversion
-
CBL-977 — Full text search with Left Outer Join causes fields to be null
-
CBL-859 — ChangeEncryptionKey() and save document after creating a brand new Database throws CouchbaseLiteException (SQLiteDomain / 21): bad parameter or other API misuse.
-
CBL-789 — Crash when accessing
connection→name()
-
CBL-707 — Compaction is ineffective (auto_vacuum not enabled)
-
CBL-614 — Closing a read only database causes errors
-
CBL-609 — Fleece thinks a boolean is a Long
-
CBL-594 — Local to Local replication duplicates remote ID
-
CBL-590 — Investigate handling of BLIP 500 errors
-
CBL-578 — Receive rev#1 after rev#2 is saved to DB
-
CBL-565 — Crashes apparently caused by attempting to log after failure
-
CBL-564 — Property alias not working under certain cases
-
CBL-530 — Certain keys in a query can cause segmentation faults
-
CBL-529 — Cannot create an offset query without limit
-
CBL-396 — Platform WebSocket code should manage HTTP cookies - .NET
-
CBL-358 — xsockets doesn’t account for POSIX variations
Support Notices
This section documents any support-related notes, constraints and changes
Deprecation Notices
Items (features and-or functionality) are marked as deprecated when a more current, and usually enhanced, alternative is available.
Whilst the deprecated item will remain usable, it is no longer supported, and will be removed in a future release. You should plan to move to an alternative, supported, solution as soon as practical.
This Release
-
CBL-1009 — The
Replicator.ResetCheckpoint()
API is deprecated at version 2.8. UseReplicator.Start(reset)
, where reset is a boolean value -
The Database.Compact() method is deprecated at 2.8 — instead use Database.PerformMaintenance().