Skip to content

Releases: couchbase/couchbase-lite-net

1.1

18 Jun 22:36
1.1
Compare
Choose a tag to compare
1.1

Couchbase Lite 1.1 saw a major advancement in the storage threading model over 1.0. Reads and writes are now much more performant and safer than previously thanks to a new single thread queueing system that schedules reads and writes to the actual DB engine, which in and of itself is not thread safe. This was the first release that was overseen by the new .NET maintainer, and added support for an entire new platform (Unity 3D). With the Unity3D release, Couchbase is now the best complete server to device stack for applications and games. Support for IL2CPP unfortunately did not make it into this release, but the need has been realized and solutions are being evaluated. Furthermore, a component missing from .NET but available in Java and iOS native (P2P replication) has been added in 1.1. Now you can manage P2P replication via Bonjour and local wifi to all the platforms that .NET can reach. Furthermore there were a number of performance enhancements and issues resolved. This is only the beginning too, we have some gigantic plans to share with you in the near future and coming releases so don't touch that dial, or you might miss something game-changing!

As part of this release we had 22 issues closed.

Enhancements

  • #425 Add NSFileProtection support for Xamarin.iOS
  • #409 Add migration support for iOS 1.1 SQLite db schema
  • #405 Add in replication optimization from iOS version
  • #392 Make Database.close() method public (API Change)
  • #387 Indexing scales poorly, due to suboptimal SQL DELETE query
  • #380 Add HttpListener implementation
  • #360 Support for Unity 3D
  • #348 Refactor StorageEngine to segregate reads and writes
  • #83 Add Router support

Bugs

  • #423 RemoteCheckpointDocID not using custom channel sets when computing checkpoint
  • #421 Pull sync not working after upgrade from 1.04 to 1.1-pre2 in C# service
  • #406 VS can not load sample
  • #397 Setting Pusher.DocIds does not filter which docs are actually pushed
  • #396 In Owin, getting "Unable to create a storage engine, fatal error" message
  • #388 Updating a document using Update() unexpectedly results in a conflict
  • #379 ToLiveQuery() doesn't preserve query's attributes
  • #372 NullReferenceException when trying to call SetCookie on a Replication object from a C# console application
  • #358 Changes performed offline don't sync when going online.
  • #335 Intermittent deadlock during perf test
  • #319 Not all new documents get queued for pushing to the server sometimes
  • #257 Database.RunInTransaction() saves data when the delegate returns false.
  • #196 Add no_attachments column support to Database.UpdateAttachments

You can download this release from nuget.org:

Requirements

Couchbase Lite for .NET 1.1 is compatible with the following .NET runtimes and operation systems:

.NET Runtime OS
Mono (.NET 3.5+) Linux
Mono (.NET 3.5+) OS/X
MSFT 3.5+ Windows Desktop
Xamarin iOS
Xamarin Android
Unity 4.6 Pro iOS
Unity 4.6 Pro Android
Unity 4.6 Free/Pro Windows Desktop
Unity 4.6 Free/Pro OS X
Unity 4.6 Free/Pro Linux
Unity 5 Personal/Pro iOS
Unity 5 Personal/Pro Android
Unity 5 Personal/Pro Windows Desktop
Unity 5 Personal/Pro OS X
Unity 5 Personal/Pro Linux

Support Statement

Version 1.0 was released in May, 2014. With this release of version 1.1, the support window for 1.0 expires in December 2015.

Release Release Date End of Life Date
1.0 May 2014 June 2016
1.1 June 2015

Couchbase Lite Unity 1.0-beta1

01 Apr 21:35
67c7985
Compare
Choose a tag to compare
Pre-release

More rigorous testing has resulted in the 1.0-beta1 release. For building the project from source please refer to the instructions in the wiki (Unity3D usage). A prebuilt version is attached.

Unity Support Three Players

17 Mar 03:19
Compare
Choose a tag to compare
Pre-release

This release of Unity support overcomes the multitude of AOT compiler mistakes that I encountered while compiling Couchbase Lite for Unity iOS (though I assume any AOT platform would have had the same problem, so I'm not picking on iOS in particular) and brings support to the following platforms:

Unity Standalone
Unity iOS
Unity Android

To build this project from source you must do the following:

Build the Couchbase.Lite.Unity project, it will contain 8 DLLs that you can use to target the standalone player. 7 of these DLLs are platform independent, but SQLitePCL.raw is platform dependent due to its native bindings. The one you find in the Unity project output will be the desktop version, so in Unity you must set it to only be imported for standalone. The iOS and Android versions are located in the vendor folder of Couchbase.Lite.Net35 (under SQLitePCL). Set those up to be imported only for iOS and Android respectively.

Furthermore, Windows doesn't come preinstalled with SQLite, so the native DLLs need to be deployed. The native sqlite3.dll files are also located in the above mentioned folder (sqlitex86 and sqlitex64 for x86/x64). Make sure those are imported in Unity only for their appropriate architecture.

Things to note: You must build with the Unity .NET 2.0 API compatibility level (subset will not compile, and will throw typeinitializationexceptions and such). You can find this setting under the player settings of each player (it is a shared setting so if you change it once, it changes everywhere). You must also add this string to the AOT compilation options under the iOS player settings: nimt-trampolines=8096

If you encounter any issues please use the issue tracker on GitHub to report them. I have attached a build of this release.

Standalone Unity Support with Replication

05 Mar 05:59
Compare
Choose a tag to compare

Replication now works with Desktop targets. Mobile targets are still untested and therefore I have not included the needed binary for Android like last time. For convenience I once again included the compiled assemblies.

Initial Unity Support

04 Mar 12:49
Compare
Choose a tag to compare
Initial Unity Support Pre-release
Pre-release

This is an early preview of Unity integration. The attached zip file is a compiled version for use with a Unity project. Some things to note:

  1. The zip file attached is the compiled version for use with Unity projects. For now this is the only version that will work. You might have luck compiling it yourself but you will need to be sure to switch out the SQLitePCL DLL if you want to try Android.

  2. Not all features are working yet. Replication, in particular, is not quite ready yet. I'm hoping to have this in a better state by the end of the week.

1.0.4 Release for the Xamarin Component Store

17 Jan 23:13
Compare
Choose a tag to compare

This is the release of 1.0.4 for the Xamarin Component Store.

The Nuget release will be substantially the same, but will change the upstream dependency on SQLitePCL.raw to the next version that supports .NET 4.5 on *nix. Currently, 0.7.0 only supports .NET 4.5 on Windows.

Fixes:

  • Implements the Unified API for Xamarin.iOS.
  • Xamarin component now uses Nuget for managing dependencies.
  • Disables TLS fallback to SSL3 (POODLE)
  • Fixed BulkDownloader deadlock in a windows systems without Xamarin.
  • Unknown unhandled exception thrown during Update call to storage engine.
  • Fixed NRE in bulk downloader.
  • Slower than expected performance on Windows
  • Manager static ctor crashes on Azure
  • Update document without re-sending attachments
  • Fixes list item entry problem in Android sample on Nexus 5/Lollipop.

1.0.0

09 Oct 06:46
Compare
Choose a tag to compare

Our GA release.

Fixes:

  • _bulk_get returns NotFound error when replication URL ends with a forward slash
  • Uppercase Revision Ids are incompatible with CouchD
  • Replicator.Authenticator should be public
  • AccessViolationException on Windows
  • Sqlite error on "database disk image is malformed" after replacing database file
  • TraceEventCache undefined in Couchbase.Lite.0.9.5-pre5 for Android
  • _bulk_get fails in release builds
  • SingleThreadTaskScheduler sometimes throws an NRE
  • [Android] Sometimes crashes with "EntryPointNotFoundException: getifaddrs"
  • Client stops pulling changes
  • Localization quirk makes NUnit fail to run tests
  • Calling Properties on an unsaved document throws NRE

1.0.0 Beta-4

03 Sep 19:10
Compare
Choose a tag to compare
1.0.0 Beta-4 Pre-release
Pre-release

Release Notes

Highlights:

  • Full Replication API support and cross-platform parity
  • Change Tracker has been fixed
  • Fixes to HTTPS support, bulk download, and network reachability support

Known issues:

  • Only targets Xamarin.iOS and Xamarin.Android.

1.0.0 Beta-3

15 Aug 23:49
Compare
Choose a tag to compare
1.0.0 Beta-3 Pre-release
Pre-release

Release Notes

Highlights:

  • Continuing to add more feature parity, particularly around Replication. Addressed issues around authentication and Cloudant support.
  • Fixed: Out-of-memory error.
  • Fixed: Issue #249Could not load SqlitePCL.raw

Known issues:

  • Only targets Xamarin.iOS and Xamarin.Android.

1.0.0 Beta-2

30 Jun 17:31
Compare
Choose a tag to compare
1.0.0 Beta-2 Pre-release
Pre-release

Release Notes

Highlights:

  • Attachments now work.
  • Fixed: Crashes with "non-page-aligned, non-allocated pointer being freed" error.
  • Lays the groundwork for supporting additional .NET platforms.
  • Passes lots of additional tests.
  • General stability improvements.

Known issues:

  • Authentication is not supported yet.
  • Only targets Xamarin.iOS and Xamarin.Android.