1.2
As part of this release we had 323 commits which resulted in 47 issues being closed.
This release features a number of performance improvements, enhancements, and bug fixes, including:
- Encryption Support - Databases may now be encrypted. The encryption process uses industry standard protocols (PBKDF2 for key generation and 256-bit AES for encrypting).
- ForestDB Storage Engine (Developer Preview) - You may now take advantage of the performance increases of Couchbase's new ForestDB storage library. It was designed from the ground up to be a key-value storage engine and lends itself perfectly to our JSON model.
- Improved Performance - Sync protocol enhancements, compression support, and lower memory usage are just a few of the many performance improvements we've included.
Important Upgrade Notice
_YOU MUST REMOVE SQLITEPCL.UGLY AND SQLITEPCL.RAW PACKAGES FROM YOUR PROJECT IF YOU ARE UPGRADING FROM AN EARLIER VERSION OF COUCHBASE LITE_
Packaging Changes
Starting with this release the nuget package has been modularized. Making use of these two new features requires installing additional packages from nuget. By default, Couchbase.Lite will use Couchbase.Lite.Storage.SystemSQLite which makes use of the system-installed SQLite library (or a provided one for Windows). To use encryption with SQLite, you must install the Couchbase.Lite.Storage.SQLCipher package. To use ForestDB (with or without encryption) you must install the Couchbase.Lite.Storage.ForestDB package.
Enhancements
- #378 Refactor to pluggable storage engine
- #391 ForestDB Storage Engine
- #400 Support HTTP request / response compression
- #408 Implement PCLSqlite SQLCipher Support
- #410 Add GZip support for attachment compression
- #430 Handle UpdateIndex() in an efficient thread-safe manner
- #458 Add "_conflicts" property to doc in map function when doc is in conflict
- #465 Expose CBLView.totalRows to public
- #466 Add BySequence to AllDocsOptions
- #473 Support for CBLReplication.pendingDocumentIds
- #479 Database not getting attachments from ancestry when processing attachments
- #484 Add support for SQLCipher
- #493 Attachment blob file name is not uppercase
- #497 Encrypt file attachments
- #516 ForestDB encryption support
- #522 Implement JS filter compiler
- #524 Add official openDatabase API for encryption/storage options
- #525 Confirm include_doc_seq usage
- #538 Replicator shouldn't fetch remote checkpoint if no local checkpoint
- #541 Implement view grouping
- #544 Set custom user agent on HTTP requests
- #546 Don't process 'removed' changes feed entries
- #552 Optimize first-time sync
Bugs
- #426 POST: db/_revs_diff returns 417 instead of 100
- #469 Replicators should have independent cookie storage
- #470 Add replicator support for remote dbs with varying URLs
- #478 Issue in accessing docs in Parallel for each loop
- #486 Replication deadlocking on Linux
- #489 Unable to replicate using Facebook authenticator
- #490 Views lost after complete recreation of database
- #496 Dates should stringify with 8601 format
- #505 [Unity] createAllDocumentsQuery().toLiveQuery() Throws Exception
- #517 Error when non-contineous sync ends.
- #527 Filter out _removed revision from push replication
- #531 Replication freeze when _change feed contains a doc which is no longer in _all_docs feed. "Tag: Replication Message: Got error NotFound"
- #537 When replace database, last seq for replication should be imported
- #542 Replicators cannot be restarted
- #545 Escape view names in ForestDB view store
- #547 TypeInitializationException during CouchbaseSample.iOS launch
- #550 LiveQuery notification throttling too aggressive by default
- #553 SimpleAndroidSync crashes when "Cleaning" entries from iOS
- #554 Ensure that the database upgrade preserves local documents
- #565 IOS sample app doesn't show any results with ForestDB
- #566 TestRemoteConflictResolution failing
- #569 SetValidation causes always failing revisions when set to null (i.e. "removing")
Known Issues
Where to get it
You can download this release from Couchbase.com