ANN: Couchbase Mobile 1.1 Preview Release

261 views
Skip to first unread message

Jens Alfke

unread,
May 13, 2015, 3:07:19 AM5/13/15
to mobile-c...@googlegroups.com
We’re preparing to release version 1.1 of Couchbase Mobile in a week or so, and would like the community to take a look and give us feedback. Below you’ll find links to download new builds. If you find a problem, please file an issue ASAP!

—What’s New:

Sync Gateway

Adds our new webhooks feature for easier integration with third party line-of-business applications, services, etc.

All platforms of Couchbase Lite

IMPORTANT: The on-disk layout of database files has changed, with all of a database’s files now being contained in a directory. Existing databases will be migrated to the new layout when opened. This change is not backwards compatible, so after running with CBL 1.1, your application’s local databases are no longer readable by earlier versions. (Of course this only affects local database storage, not replication.)

View indexes are now stored more efficiently, which speeds up indexing by roughly 10% (YMMV).

iOS
  • Now supports Couchbase’s super-fast new ForestDB storage engine, although SQLite remains the default. Instructions are available online.
  • Database encryption is supported.
  • CBLQueryBuilder lets you query the database using NSPredicates instead of map functions (sort of like Core Data.)
  • More API changes are detailed on the wiki.
Mac OS X

  • Our first official binary release for Mac! This is built from the same source code as iOS and has the same feature set.

Android/Java

  • Major improvements to replication performance, indexing speed, memory footprint, and CPU utilization.

.NET
  • Couchbase Lite for .NET has the HTTP listener, and now supports peer-to-peer sync (except on Linux — known issue)
  • It also has undergone significant internal improvements to its storage and threading model. 
  • Transactions are also now functioning correctly.

— Couchbase Lite Binaries:

Couchbase Lite for iOS


Couchbase Lite for OSX


Couchbase Lite for Android


To incorporate 1.1 into Android Studio: In the application level build.gradle file, please add the following line to the top-level dependency section:
compile 'com.couchbase.lite:couchbase-lite-android:{1.1.0-10}’

Couchbase Lite for Java Native


Couchbase Lite for .NET

Available on Nuget.org:

— Sync Gateway Binaries:

Ubuntu





Zachary Gramana

unread,
May 13, 2015, 12:42:44 PM5/13/15
to mobile-c...@googlegroups.com

Jeff MacKenzie

unread,
May 13, 2015, 5:18:49 PM5/13/15
to mobile-c...@googlegroups.com
Is there a phonegap/cordova build for 1.1?

atom992

unread,
May 14, 2015, 2:32:23 AM5/14/15
to mobile-c...@googlegroups.com
can Couchbase Lite for Java Native 1.1 run with sync gateway 1.0.4?

Jens Alfke

unread,
May 14, 2015, 11:26:03 AM5/14/15
to mobile-c...@googlegroups.com

On May 13, 2015, at 11:32 PM, atom992 <yangzi...@gmail.com> wrote:

can Couchbase Lite for Java Native 1.1 run with sync gateway 1.0.4?

Yes, I think so. But we don’t QA that combination, so it’d be best if you could update the gateway too.

—Jens

Jens Alfke

unread,
May 14, 2015, 12:01:46 PM5/14/15
to mobile-c...@googlegroups.com

On May 13, 2015, at 1:21 PM, Jeff MacKenzie <jcmac...@gmail.com> wrote:

Is there a phonegap/cordova build for 1.1?

Not yet, but soon. It’s more complex to build than the framework itself, and not as well integrated into our build process. Sorry for the delay!

—Jens

Joe Noon

unread,
May 14, 2015, 4:40:41 PM5/14/15
to mobile-c...@googlegroups.com
For iOS, I modified a podspec to point to the 1.1 url, but I'm getting:

duplicate symbol _DDExtractFileNameWithoutExtension in:
    ./vendor/Pods/couchbase-lite-ios/CouchbaseLiteListener.framework/CouchbaseLiteListener(DDLog.o)
    //apps/app/vendor/Pods/build-iPhoneSimulator/libPods-CocoaLumberjack.a(DDLog.o)
ld: 1 duplicate symbol for architecture i386


Jens Alfke

unread,
May 14, 2015, 4:57:37 PM5/14/15
to mobile-c...@googlegroups.com

On May 14, 2015, at 1:34 PM, Joe Noon <joe...@gmail.com> wrote:

For iOS, I modified a podspec to point to the 1.1 url, but I'm getting:

duplicate symbol _DDExtractFileNameWithoutExtension in:

We do rename the symbols of 3rd party dependencies, to avoid conflicts like this, but it looks like that function wasn’t in our list of renamed symbols. I’ll add it ASAP.

Was that the only link error?

—Jens

Joe Noon

unread,
May 14, 2015, 5:26:57 PM5/14/15
to mobile-c...@googlegroups.com

Was that the only link error?


 That was the only one displayed, but I'm not sure if it stops early at the first error.  I thought I could manually work around this one to see with this but it didn't have an affect: "OTHER_LDFLAGS" => "-ObjC -DDDExtractFileNameWithoutExtension=CBLDDExtractFileNameWithoutExtension".  I'll keep looking.

Jens Alfke

unread,
May 14, 2015, 5:31:51 PM5/14/15
to mobile-c...@googlegroups.com

On May 14, 2015, at 2:26 PM, Joe Noon <joe...@gmail.com> wrote:

 That was the only one displayed, but I'm not sure if it stops early at the first error.  I thought I could manually work around this one to see with this but it didn't have an affect: "OTHER_LDFLAGS" => "-ObjC -DDDExtractFileNameWithoutExtension=CBLDDExtractFileNameWithoutExtension".  I'll keep looking.

I’ve checked a fix into the release/1.1 branch if you’re comfortable building Couchbase Lite yourself.

—Jens

Joe Noon

unread,
May 14, 2015, 6:29:36 PM5/14/15
to mobile-c...@googlegroups.com
I’ve checked a fix into the release/1.1 branch if you’re comfortable building Couchbase Lite yourself.


I was able to build manually and its working, thanks!

atom992

unread,
May 15, 2015, 9:14:59 AM5/15/15
to mobile-c...@googlegroups.com
Does Couchbase Lite for Java Native is the same with:
if not, what the relationship between couchbase-lite-local and Couchbase Lite for Java Native?
How can I use Couchbase Lite for Java Native?

On Wednesday, May 13, 2015 at 3:07:19 PM UTC+8, Jens Alfke wrote:

Yonah Forst

unread,
May 15, 2015, 11:30:08 AM5/15/15
to mobile-c...@googlegroups.com
two things: I'm trying to follow the build instructions here but I cant find libCBLForestDBStorage.a in build or in the repository. 

also, xcode complains when i try to set the storage type: Property 'storageType' not found on object of type 'CBLManager *'

Yonah Forst

unread,
May 15, 2015, 11:36:00 AM5/15/15
to mobile-c...@googlegroups.com
I've found a solution. If you build manually and inspect the framework package contents, libCBLForestDBStorage.a is located inside products/usr/local/lib
I *think* I was able to enable ForestDB storage by adding -CBLStorageType ForestDB to Arguments Passed On Launch but I'm not sure... I can still see old data which I thought would disappear when migrating to ForestDB

Jens Alfke

unread,
May 15, 2015, 11:39:38 AM5/15/15
to mobile-c...@googlegroups.com
On May 15, 2015, at 8:35 AM, Yonah Forst <yonah...@gmail.com> wrote:

I've found a solution. If you build manually and inspect the framework package contents, libCBLForestDBStorage.a is located inside products/usr/local/lib

Sorry about that — we need to update our build-bot script to copy this library into the archive. I’ll let our build engineer know.

I *think* I was able to enable ForestDB storage by adding -CBLStorageType ForestDB to Arguments Passed On Launch but I'm not sure... I can still see old data which I thought would disappear when migrating to ForestDB

Existing databases don’t get upgraded; ForestDB is only used for new local database files. And we certainly wouldn’t delete your data! :-o

—Jens

Yonah Forst

unread,
May 15, 2015, 11:58:28 AM5/15/15
to mobile-c...@googlegroups.com
Got it! so to use ForestDB, I should basically delete my database and create a new one? (The app is still early development, so no worries there :))

Jens Alfke

unread,
May 15, 2015, 12:12:24 PM5/15/15
to mobile-c...@googlegroups.com

On May 15, 2015, at 8:58 AM, Yonah Forst <yonah...@gmail.com> wrote:

Got it! so to use ForestDB, I should basically delete my database and create a new one? (The app is still early development, so no worries there :))

Yes. Usually this isn’t a big problem because, if your old database was synced with a server, you can just have the new one pull from the same server db and recover all your data.

If the network traffic is an issue, you can set up a local-to-local replication to copy the old db to the new one. (You create a local replication by using a URL that’s simply “olddbname”, i.e. no scheme or path.)

—Jens

Hideki Itakura

unread,
May 16, 2015, 4:55:45 PM5/16/15
to mobile-c...@googlegroups.com
Hi @atom992,

> Does Couchbase Lite for Java Native is the same with:
> if not, what the relationship between couchbase-lite-local and Couchbase Lite for Java Native?

NO, it is not same. Couchbase Lite for Java Native (couchbase-lite-java-native) is a storage engine for Couchbase Lite for Java (couchbase-lite-java) which is Couchbase Lite for Linux, Widnows, Mac OSX, and other platforms with Java.

Couchbase Lite Local (couchbase-lite-local) is not managed by our team. Couchbase Lite Local (couchbase-lite-local) contains Couchbase Lite Java (couchbase-lite-java), and it provides REST API on Widnows, Mac, OSX, and others. We can say that Couchbase Lite Local is a Couchbase Lite PhoneGap plugin for Desktops.

> How can I use Couchbase Lite for Java Native?

You can download Couchbase Lite for Java, and add jar files in your CLASSPATH. Or your can git clone from our github repo, and compile it by yourself.

NOTE: Binary (download) version of Couchbase Lite Java does not contain native libraries for Widnows and Mac OSX. If you plan to use CBL Java on these platforms, you need to compile couchbase lite java native by yourself.

Hope this helps you.

Thanks,
Hideki
Message has been deleted

Jens Alfke

unread,
May 19, 2015, 11:34:43 AM5/19/15
to mobile-c...@googlegroups.com
That means you have a pre-existing SQLite-based database. The storageType setting only determine what storage is used for newly-created databases.

—Jens

Yonah Forst

unread,
May 20, 2015, 5:10:07 AM5/20/15
to mobile-c...@googlegroups.com
Yeah, I realized that I had accidentally recreated the SQLLite database :-P sorry about that!
Reply all
Reply to author
Forward
0 new messages