Skip to content

1.2.0

Compare
Choose a tag to compare
@zgramana zgramana released this 03 Jul 18:16

As part of this release we had 537 commits which resulted in 92 issues being closed.
This release features a number of enhancements and bug fixes, including:

  • Improved ForestDB Storage Engine (Developer Preview) - Our developer preview for the ForestDB storage engine saw a number of major code improvements under the hood.
  • Improved database encryption - AES-256 on-disk encryption with your choice of provided storage library: SQLCipher or ForestDB
  • CBL Incremental Store improvements - Your CoreData apps benefit from significant performance improvements and bug fixes.

The list goes on, including better P2P support, replication speed-ups, AppleTV compatibility, and more!

Performance Improvements

  • #726 CBLListener.readOnly=YES prevents clients from storing checkpoints
  • #733 Peer replication checkpoints are lost if its hostname or port changes
  • #858 Attachment downloads should be resumeable
  • #860 Ignore redundant attachment downloads
  • #922 No auto-compact (db.forest getting very large)
  • #926 Enable HTTP compression for _changes feed requests (non-continuous)
  • #927 Compression for _changes feed requests (continuous)
  • #938 CBLIS - Very poor performances from 5000 documents locally
  • #960 CBLIS - Improve relationship cache invalidation
  • #972 ForestDB-based view indexes don't auto-compact
  • #991 Verify that ForestDB store's allDocs query is actually faster than SQLite store's allDocs
  • #1046 CBLLiveQuery notification throttling too aggressive by default

Enhancements

  • #73 Disallow leading "_" in attachment name (for compatibility)
  • #79 Deferred attachment download
  • #82 Add SSL client cert support to replicator
  • #485 ForestDB: Reimplement geo-queries
  • #652 Add CBLJSViewCompiler to the framework
  • #702 Integrate new replicator
  • #729 Allow validations to distinguish local from remote changes
  • #806 Add "_conflicts" property to doc in map function when doc is in conflict
  • #808 Expose totalRows from CBLView to developers
  • #826 ForestDB: Implement database encryption
  • #836 Allow adding/removing db encryption, or changing the key
  • #858 Attachment downloads should be resumeable
  • #859 Attachment downloads should be more fault tolerant
  • #870 Migrating SQLite db to ForestDB
  • #879 Need a purge method from CoreData with CBLIncrementalStore
  • #918 Build for tvOS (AppleTV)
  • #926 Enable HTTP compression for _changes feed requests (non-continuous)
  • #927 Compression for _changes feed requests (continuous)
  • #928 Add Carthage support
  • #950 Update CouchbaseLiteViewer
  • #960 CBLIS - Improve relationship cache invalidation
  • #970 Add official openDatabase API for encryption/storage options
  • #976 Package a SQLCipher binary with our storage engine
  • #1029 Set custom user agent on HTTP Requests
  • #1052 Optimize first-time sync

Bugs

  • #648 CBLModel has trouble with dynamic properties in Swift classes
  • #649 Attachment crash (CBL_BlobStoreWriter's initializer failed?)
  • #671 "_removed" properties received from SG cause errors pushing to another server
  • #681 Migrate v1.1.0 database file to cblite2 file structure
  • #683 All-docs queries ignore prefixMatchLevel property
  • #686 The bg replication server's database not getting closed
  • #695 Revise replaceDatabase signature and backward db support
  • #698 CBLReplicator could still be in the running status after closing the database
  • #728 Checkpoint ID shared by distinct pull replications
  • #733 Peer replication checkpoints are lost if its hostname or port changes
  • #800 "Unexpected CBForest exception iterating query"
  • #805 Crash after receiving 401 error from CBLReplication (ASSERTION FAILED: storage)
  • #807 CBLReplication.pendingDocIDs doesn't update while replicator not running
  • #838 Implement readOnly mode in CBLSyncListener
  • #841 Assertion failure when using invalid username/password with replication
  • #843 CBLDatabase not getting attachments from ancestry when processing attachments
  • #857 Cannot get result using CBLQueryBuilder with NSSortDescriptor
  • #877 Listener throws warnings even though there is no error
  • #889 Query builder can't index on descending sort descriptors
  • #892 Query.sortDescriptors doesn't gives expected result when '-limit' is applied.
  • #893 Query.postFilter with limit gives limit+1 results.
  • #895 Pusher doesn't send non-winning deletion replications (ForestDB)
  • #899 WARNING: Unexpected CBForest exception iterating query
  • #900 401 status from server not being propagated to CBLReplication.lastError
  • #901 -[ListenerHTTP_Tests test03_ReadOnly] fails in iOS 9 simulator
  • #903 Problem with relationship one-to-many when documents are created simultaneously on multiple devices
  • #908 ForestDB queries wrong key range for descending=true and prefixMatch
  • #909 New model objects created with +modelForDocument should set isNew flag to true
  • #917 CBL returns NO with no error when attempting to encrypt an SQLite database
  • #921 CBLQueryBuilder: Sorted property disappears from _valueTemplate (select)
  • #922 No auto-compact (db.forest getting very large)
  • #925 Crash in processing CBLIS changes when document has no type
  • #938 CBLIS - Very poor performances from 5000 documents locally
  • #942 CBLIS - Crash with relationships
  • #958 CBLIS doesn't handle accesses from multiple dispatch queues
  • #961 400 Invalid Attachment Warning / Error in Pull Replication
  • #963 Couchbase lite eventually sends invalid heartbeat value for longpoll feed
  • #964 WebSockets cannot be used with channel filtering for large amounts of channels
  • #965 CBLModel -propertiesToSave does not nil check for _document == nil
  • #973 LiteServ logs disconnect warnings
  • #974 Liteserv throws exception when invoked with relative paths
  • #979 AttachmentsPath of CBLManager replaceDatabaseNamed:... should be nullable
  • #982 CBL can't handle _removed (some of the time) and tags it as illegal and kills the replicator
  • #983 Full-text indexing fails for non-English-language users
  • #986 "Invalid revpos" warnings and attachment errors during pull replication
  • #987 ForestDB crashes with a fullTextQuery
  • #999 Unsafe threading closing ForestDB view index in low-memory situation
  • #1001 Attachment errors should not stop the replicator
  • #1025 CBLDatabaseUpgrade selects wrong noAtts column
  • #1039 The couchbase-lite-ios package doesn't contain tvOS binary
  • #1040 CBL tvOS scheme absent for building tvOS package.
  • #1041 DatabaseUpgrade not importing local docs
  • #1046 CBLLiveQuery notification throttling too aggressive by default
  • #1047 Adding Universal build of the 'releases/1.2' to Kitchen-Sync causes missing symbol during linking
  • #1048 Couchbase lite iOS binary has enable_bitcode' flag disabled
  • #1059 Workaround go multipart parser issue -- use different boundary?
  • #1061 Bug on to-many relationships with Core Data context
  • #1062 Liteserv binary doesn't use the ForestDB when specified via 'defaults' mac command
  • #1063 Debug LiteServ build fails: missing symbol _CBLRegisterJSViewCompiler
  • #1079 -[CBL_SQLiteStorage lowMemoryWarning]: unrecognized selector sent to instance
  • #1081 [tvOS] Cannot create databases in default CBLManager
  • #1082 Delete docs could cause missing undeleted docs in ForestDB view index
  • #1083 App needs trigger(going back to home screen and realunch) to sync/pull docs

Where to get it

You can download this release from Couchbase.com