March 16, 2025
+ 12

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

Version 2.8.2 of Couchbase Lite for C#.Net comprises a number of fixes. It supersedes version 2.8.0 released earlier this year.

If you have already upgraded to 2.8.0 we strongly recommend that you upgrade to version 2.8.1 at the earliest opportunity.

Issues and Resolutions

Known Issues

  • CBL-216 — Ordering null values inconsistent with N1QL expectations

  • CBL-95 — Pending conflicts could be resolved by a wrong replicator

  • CBL-49 — Need a way to distinguish boolean types

Fixed Issues

  • CBL-1400 TestAcceptOnlySelfSignedCertMode test failed on Win32

  • CBL-1437 TlsCertificateException thrown with "A non self-signed certificate was received in self-signed mode." with P2P default TLS on Xamarin iOS 12.x

2.8.0 — October 2020

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

Feature Changes

None specified in this release

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

Known Issues

  • CBL-216 — Ordering null values inconsistent with N1QL expectations

  • CBL-95 — Pending conflicts could be resolved by a wrong replicator

  • CBL-49 — Need a way to distinguish boolean types

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
Ongoing

Support for API 19 and API 21 is deprecated in version 2.6.

Other Notices

New

None specified in this release

Ongoing

None specified