Announcing Couchbase Lite 2.0 Developer Build 19 (DB 19)

Happy to announce the release of Couchbase Lite 2.0 Developer Build 19 (DB 19) . The DB19 release is available for iOS(Swift, ObjC), .NET , Android platforms and includes a bunch of bug fixes, API enhancements and optimizations

You can download the latest DB from our Downloads page :

Links to platform specific release notes -




About Developer Builds:

Developer Builds give you the opportunity to engage with Couchbase engineers and provide early feedback to influence key aspects of Couchbase Mobile 2.0. It will give us insight into how you use new features in your projects, where you run into issues, and how we can help resolve them.

About Couchbase Lite 2.0:

Couchbase Lite 2.0 is a groundbreaking new release for Couchbase Mobile. Key enhancements include a cross-platform common core, simplified Query API with full-text search capabilities, automated conflict resolution that can be customized and a new and improved replication protocol

Couchbase Mobile 2.0 Workshop/ Tutorial :

We have a full stack workshop available for Android and iOS. Support for .Net is coming soon.

Quick Links:

Couchbase Lite 2.0 DB Release Announcement:
Compatible Sync Gateway 1.5 Release :
Full Stack Workshop :


As always, your feedback is welcome!


I wrote this code which worked with th db18 version of couchbase Lite 2.0, .net c# :

document = new Document("airline_88888");
        airline = new Airline();
        airline.Type = "airline";
        airline.Id = 88888;
        airline.Name = "Steeve";
        airline.Country = "France";
        document.Set("airline_88888", airline);

Since the bd19 vresion, I’ve an exception when I try to save the document :
$exception {System.InvalidCastException: Cannot encode Persistance.Airline to Fleece!
at LiteCore.Interop.FLSliceExtensions.FLEncode(Object obj, FLEncoder* enc)
at LiteCore.Interop.FLSliceExtensions.FLEncode[TVal](IDictionary`2 dict, FLEncoder* enc)
at Couchbase.Lite.Internal.Doc.InMemoryDictionary.FLEncode(FLEncoder* enc)
at LiteCore.Interop.FLSliceExtensions.FLEncode(Object obj, FLEncoder* enc)
at Couchbase.Lite.Document.Encode()
at Couchbase.Lite.Document.SaveInto(C4Document** outDoc, Boolean deletion)
at Couchbase.Lite.Document.Save(IConflictResolver resolver, Boolean deletion)
at Couchbase.Lite.Document.b__23_0()
at Couchbase.Lite.Support.ThreadSafety.DoLocked(Action a)
at Couchbase.Lite.Document.Save()
at Couchbase.Lite.Database.<>c__DisplayClass64_0.b__0()
at Couchbase.Lite.Support.ThreadSafety.DoLocked(Action a)
at Couchbase.Lite.Database.Save(Document document)
at Persistance.CouchbaseHelper.AddAirlineDocument(Airline airline, Database db)
at CouchBaseT2.MainPage.BtnAdd_Clicked(Object sender, EventArgs e)
at Xamarin.Forms.Button.SendClicked()
at Xamarin.Forms.Platform.UWP.ButtonRenderer.OnButtonClick(Object sender, RoutedEventArgs e)} System.InvalidCastException

Here is my Airline Class :

public partial class Airline
    public string Callsign { get; set; }

    public string Country { get; set; }

    public string Iata { get; set; }

    public string Icao { get; set; }

    public long Id { get; set; }

    public string Name { get; set; }

    public string Type { get; set; }

    public string Infos { get => $"{Id} - {Country} - {Name}"; }

How to save a document ?



Can you please report the above issue as a separate post. This thread is for the announcement.

Thank you, when are we expecting the next build DB 20 that might have fixes for Logging verbosity mismatch that our code currency having problem with after integrating DB18 ? Does new releases come out every month?

The goal is to have a Developer Build out every couple of weeks. We should have DB 20 out pretty soon - tentatively end of this week (@daniel.petersen?)

Can you indicate the specific GitHub issue related to logging that you mention so we can confirm if that’s in DB20.

Thank you Priya. Here is the issue - it’s blocking our logging feature, would be very helpful to have it fixed in DB20

Cool. So looks like @borrrden has fixed it. So it should be in DB20 .

I would plan more for the beginning of next week before it hits the web.

And actually that issue by itself is a really tiny fix. If you patch it onto the db019 commit and build it yourself you can check the change immediately.

Thanks so much. Just wondering if there is a way to get notified immediately when the new release is out there or have to keep checking in the release notes pages every now and then.

Not notified per se, but it will show up in your updates tab on the Manage Nuget Packages portion of Visual Studio.