Skip to content
This repository was archived by the owner on Mar 10, 2022. It is now read-only.

1.2.0

Choose a tag to compare

@zgramana zgramana released this 04 Feb 07:17

This release features a number of performance improvements, enhancements, and bug fixes, including:

  • ForestDB Storage Engine (Developer Preview) - Preview the speed of our new ForestDB storage engine.
  • Database Encryption - AES-256 on-disk encryption with your choice of provided storage library: SQLCipher or ForestDB.
  • Improved Performance - Sync protocol enhancements, compression optimizations, and lower memory usage are just a few of the many performance improvements we've included.

Performance Improvements

  • #197 Gzipped attachment support with Replicator does not seem to be working
  • #687 Compaction Time for Large Document Counts is Excessive
  • #704 ForestDB storage Performance improvement
  • #749 Slow when creating a BlobStore with a secure random generated key
  • #801 Replace JNI-based JSON collation with ICUC

Enhancements

  • #321 Test CBForest storage engine
  • #417 Add API to tell which documents haven't been pushed to the server
  • #435 One shot replicator sends STOPPING state immediately after started replication
  • #535 The replicator's setDocIds method doesn't filter the documents to push
  • #573 Port Replication.stop() method from iOS
  • #576 Changetracker does not automatically login again after expired session
  • #628 Catch up latest (v1.1) SQLite table schema and SQL queries
  • #644 Implement pluggable storage engine
  • #663 Make available on JCenter
  • #681 Catch up latest (v1.1) View.updateIndex() implementation
  • #682 Add "_conflicts" property to doc in map function when doc is in conflict
  • #683 [Request] Make Attachment.getContentURL() api public for android.
  • #688 Expose CBLView.totalRows to public
  • #691 Add BySequence to AllDocsOptions
  • #695 Add replicator support for remote dbs with varying URLs
  • #697 Complete CBForest-Java Implmentation and Test
  • #702 Add support for SQLCipher
  • #703 Implement ForestDB Storage Engine
  • #704 ForestDB storage Performance improvement
  • #710 Encrypt file attachments
  • #719 Support SQLite encryption rekey feature
  • #720 Support attachment encryption rekey
  • #722 Migrating SQLite db to ForestDB
  • #733 Enhance forestdb storage performance
  • #736 Add retry queue for failed revisions in a bulk get
  • #760 Sync iOS key derivation and encryption algorithm with iOS
  • #763 Enable HTTP compression for _changes feed requests (non-continuous)
  • #801 Replace JNI-based JSON collation with ICUC
  • #804 Add official openDatabase API for encryption/storage options
  • #811 Support encryption in ForestDB storage engine
  • #812 Support unicode comparison with ICU for java
  • #813 Support unicode comparison with ICU for AndroidSQLCipherStorageEngine
  • #816 REST API /_changes with include_docs=true option does not handle the conflicted document
  • #819 Support multiple sqlite configurations
  • #827 Support encryption in ForestDBStore
  • #894 Replication.docIds API discrepency
  • #939 Optimize first-time sync

Bugs

  • #301 [Memory] compacting large database memory leak
  • #357 Replace default Android storage engine to support JSON docs > 2Meg
  • #628 Documents missing after full sync thru SyncGateway
  • #629 Memory leak/memory management continuous push
  • #643 Add conflict check in PullerInternal.processChangeTrackerChange()
  • #652 Refactor Batcher class (Port latest codes from iOS)
  • #655 Unique constraint violation in sqlite
  • #656 Cannot build or run unit tests due to missing sqlite3.h
  • #661 BasicAuth with empty password causes ArrayIndexOutOfBoundsException
  • #664 Creating authenticator with empty password throws ArrayIndexOutOfBoundsException
  • #670 LiteServ crashed with Fatal signal 11 (SIGSEGV) when run cbl-large-revisions localy
  • #677 Pulling attachments fail if document got a deleted revision in history
  • #683 Include_docs in _change-feed when replicating from server
  • #685 Compaction with any revision depth doesn't seem to do anything
  • #687 Compaction Time for Large Document Counts is Excessive
  • #689 CBL Java build (unit test) failure on Jenkins
  • #696 Support for CBLReplication.pendingDocumentIds
  • #697 SQLiteConnectionPool Issue with Latest Master
  • #699 Inserting multiple attachments fails when push replication is active.
  • #700 Build failure with CBL Java on jenkins
  • #706 ClassCastException if a view uses an array as value
  • #707 PullerInternal processInbox Issue
  • #709 View update skips winning revisions
  • #712 ReplicationTest.testAllLeafRevisionsArePushed() unit test failure with forestdb strage engine
  • #713 BatcherTest.testBatcherWaitsForProcessorDelay2() fails
  • #717 TestContinuousPushReplicationGoesIdleTooSoon causes native crash if unit test run from command line on OSX
  • #718 Android-database-sqlcipher doesn't provide 64 bit binary
  • #723 401 status from server not being propagated to CBLReplication.lastError
  • #724 Android build on Jenkins fails
  • #728 Replicator should not stop by missing revisions
  • #729 ApiTest:testViewWithLinkedDocs hangs when running unit tests with couchbase-lite-java
  • #731 ForestDB storage cause native crush during push replication performance test with 200 docs
  • #735 ApiTest.testConflict() test failure
  • #748 Java doesn't support generating 256 bits key
  • #749 Slow when creating a BlobStore with a secure random generated key
  • #750 ReplicationTest.testPusherBatching() causes native crash with forestdb storage on ARM emulator API 19 (4.4.4)
  • #765 ApiTest.testDatabaseCompaction passed with ForestDB Errors
  • #771 BloblStoreTest failed on Windows
  • #773 FATAL EXCEPTION on 1.2.0 -Android.
  • #780 Closing database doesn't clear document cache
  • #791 Invalid MIME body after starting pull replication
  • #809 Jenkins: testMockPullBulkDocsSyncGw fails on Jenkins
  • #816 REST API /_changes with include_docs=true option does not handle the conflicted document
  • #823 SetMaxRevTreeDepth not working as intended after Compaction is called.
  • #824 BulkDownloader[/db/_bulk_get]: executeRequest() Exception: java.lang.IllegalStateException: _docReader is not defined
  • #826 Database maxRevTreeDepth property should be public property or API
  • #829 From code point of view, Database.getAllDocs(QueryOptions) is not compatible with iOS
  • #830 Replication should stop immediately if error is not transient error.
  • #833 Jenkins: testChangesFeedWithPurgedDoc cause native crash
  • #838 TestContinuousPushReplicationGoesIdle hangs on Jenkins
  • #851 In case ChangeTracker stops with HTTP 401, Continuous pull replicator does not stop
  • #852 Cookie is not set for /{db}/_revs_diff with one shot push replication
  • #899 Batcher not always execute tasks with work executor
  • #900 Views Test failure on Windows when tested with ForestDB Storage Engine
  • #902 Forestdb Transaction Error on Linux
  • #924 Creating view with illegal name does not handle error appropriately.
  • #930 CBLRequestWorker thread does write operation to Database
  • #934 Pull replication failed for large pull
  • #935 GrocerySync with ForesDB crashes during pull replication
  • #937 ForestDB: Cause dead-lock by create docs from main thread during large pull replication
  • #941 Push Replicator hangs under certain condition
  • #947 ToDoLite with SQLCipher/ForestDB with Encription can not push attachment.
  • #954 Conflict during putLocalDocument: Need to investigate
  • #961 ReplicationTest failure on Windows by non-closed InputStream
  • #963 Cannot pull changes after sync_gateway goes offline, then online
  • #964 ToDoLite crashes during clear Cookie
  • #965 [forestdb] All items not replicating between device and sync_gateway
  • #967 Apply fix for iOS 1082 - Delete docs could cause missing undeleted docs in ForestDB view index
  • #971 ForestDB exception in query iterator

    Where to get it

    You can download this release from Couchbase.com

To incorporate 1.2 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.2.0’
Please refer Adding Couchbase Lite to your Gradle project for detailed information.

System Requirements

  • Android 2.3 Gingerbread (API level 9) and above.

Support Statement

Version 1.1 was released in June, 2015. With this release of version 1.2, the support window for 1.1 expires in August 2016.

Release Release Date End of Life Date
1.0 May 2014 December 2015
1.1 June 2015 August 2016
1.2 February 2015