Release notes

Release notes

Edit on GitHub

Developer build 19

  • Fixed Replicator’s uncleaned socket disconnect warning (#1937).
  • Fixed Session Cookie being overwritten (#1943).
  • Fixed Carthage build failure on DB019 (#1947).
  • Reimplemented Fragment API - API is now more light weight and has better performance.
  • Improved performance of read/write document data with Mutable Fleece.

  • IReadOnlyDictionary / IDictionaryObject, IReadOnlyArray / IArray now return Dictionary<string, object> and List<object> instead of IDictionary<string, object> and IList<object> so that the return value can be used in both read only and read write interface signatures (e.g. both Foo(IDictionary<string, object> and Foo(IReadOnlyDictionary<string, object>)
  • Ensure that calls to Activate are only performed once (unclear on the impact on Android if the passed activity gets destroyed)

  • Bug fixes

Developer build 18

  • Added headers property to ReplicatorConfiguration for adding additional HTTP headers when sending HTTP requests to a remote server.
  • Fixed invalid CFBundleShortVersionString.
  • Updated Lite Core to uptake the following fixes:
    • Fixed replicator crashes when stopping replicator immediately after starting.
    • Fixed replicator staying in BUSY status after finish replicating.
    • Allowed MATCH operator nested inside multiple ANDs.

  • Bug fixes

  • Slight refactor to ReplicatorConfiguration (Put Options properties directly into the configuration) to bring it inline with other platforms
  • Fix a bug in SelectResult.All() which would cause invalid queries if a From clause was added
  • LiteCore bug fixes
  • Bug fixes: 907 912 916

Developer build 17

  • Simplify encryption API. IEncryptionKey is now EncryptionKey (class instead of factory)
  • Overhaul logging, API change from setting levels via Log.Domains to Database.SetLogLevels and flags. Domains reduced.
  • No text logging by default. Text logging (to a default location depending on platform) can be enabled by calling EnableTextLogging() inside of the relevant support class (e.g. Couchbase.Lite.Support.UWP). All logging will go to a binary file in the default directory for a given platform (as determined by IDefaultDirectoryResolver).

  • Bug fixes

Developer build 16

  • Support Database Encryption
  • Implement a new index API
  • Move FTS.rank expression to Function.rank()
  • Make Replicator's User-Agent header that includes information about library version and platform.

  • Thread-safe with Database operation. (Other operations will be a thread-safe with next DB release)

  • Collation API now supported on Android
  • Redid Index API (indexes are now identified by name). See the new Index class documentation.
  • Encryption is now supported. Encryption keys can be added onto the DatabaseConfiguration class. This will encrypt database files and attachments.
  • Added in a rank() function for IExpression to order by FTS ranking result
  • Made a consistent User-Agent string that gets info on which platform is running
  • Changed the default Collation locale to be the one currently running on device

Developer build 15

  • Support Collation Expression.
  • Support FTS Ranking Value Expression.
  • Support database copy to allow to install a canned database.
  • Allow to set logging level.

  • Thread-safe with Database operation. (Other operations will be a thread-safe with next DB release)

  • Collation API now supported on Linux platforms (Android coming soon)
  • Statically compile, so iOS 9 will work now
  • Add a database copy API (note: current behavior will replace an existing database, but this may change) to make copies of a database (useful for seeding and/or backup).

Developer build 14

  • Support Select all properties.
  • Support Quantified expression (Any, AnyAndEvery, and Every).
  • Support Query's isNullOrMissing expression.
  • Support more Query functions including array, mathematics, string, and type functions.
  • Support type setters on Document, Dictionary, Array, and Query's parameters.
  • Support Int64 getter on Document, Dictionary, Array.
  • Added Connecting and Offline to the Replicator's ActivityLevel status.

  • Select all properties via SelectResult.All()
  • Lots of new functions (Check the Function class) for use in querying
  • Collection functions (Any / Every / AnyAndEvery) for running predicates on array items during query
  • Collation API (see Collation class) for locale and language based sorting of strings
  • Typed setter functions (SetString, SetInt, etc) and added GetFloat for completion
  • Expanded the replicator statuses

  • Support Select all properties.
  • Support Quantified expression (Any, AnyAndEvery, and Every).
  • Support Query's isNullOrMissing expression.
  • Support more Query functions including array, mathematics, string, and type functions.
  • Support type setters on Document, Dictionary, Array, and Query's parameters.

Developer build 13

  • Support query projection with alias names
  • CBLQuery returns CBLQueryResultSet instead of NSEnumerator . Same for Swift, Query return ResultSet instead of QueryIterator . CBLQueryRow is still used by CBLPredicateQuery.
  • CBLQueryResult supports get values both by indexes and by keys. Same for Result in Swift.
  • CBLDocument.documentID -> CBLDocument.id
  • Bug fixes : #1819, #1824, #1825, #1835

  • More Query API -> Meta, Limit, Offset
  • Changed CouchbaseLiteException extends from Exception instead of RuntimeException

  • Queries can now make use of Limit() and Offset()
  • The internal synching mechanism has been altered in a breaking way. With this release you need to use Sync Gateway 1.5.0-477 or higher.
  • SelectResult can now use As to create an alias for that particular column
  • Columns can now be accessed by key instead of just by index (by default the key is the last element of the property name that was selected [e.g. contact.address.city -> city], or an arbitrary 1-based index string $1, $2, $3, etc for rows that are not based on a property such as min, sum, etc. If an alias is provided, that will be used instead)
  • Corrected a silly spelling mistake (Support.NetDestkop-> Support.NetDesktop)
  • Removed DocumentID, Document, etc from IQueryRow and use IResult instead (see docs\examples\Program.cs for how to get the Document or ID, but Document might make a comeback before GA)

Developer build 12

  • Unify change event API for Database, Replicator, and LiveQuery by using block
  • More Replicator API -> Channel and DocumentID
  • More Query API -> Aggregate Functions, OrderBy, GroupBy / Having, Join, Projection, Parameters, Meta

  • More Query API -> GroupBy, Having, Select items, Join, Functions, Parameters, Meta

  • More Replicator API -> Cookie support, Certificate pinning, immediate conflict resolving for pull replication, Channel/DocID filter
  • More Query API -> GroupBy, Having, Select items, Join, Functions, Parameters

Developer build 11

  • LiveQuery
  • Authentication for Replicator

Developer build 10

  • Fixed replicator not correctly encoding documents when it saves the documents
  • Added an ability to pin server certificate to a replicator
  • Fixed custom functions not being registered in all opened SQLite connections
  • Fixed unused blobs not being garbaged after compacting a database

  • Added an ability to pin server certificate to a replicator
  • Fixed custom functions not being registered in all opened SQLite connections
  • Fixed unused blobs not being garbaged after compacting a database
  • Fixed replicator not correctly encoding documents when it saves the documents

  • ReplicationOptions -> ReplicatorConfiguration
  • IReplication -> Replicator
  • TLS support for replication (blips)
  • HTTP Basic auth support for replication (via ReplicationOptionsDictionary -> 'AuthOptionsDictionary`). This API will probably change.
  • Online / offline network change handling
  • Channel replication support (waiting on SG fix)
  • Make DI system public to allow third party support assemblies

  • Replication API
  • Replicator - Basic Authentication
  • Replicator - Online / Offline network change handling
  • Fixed replicator not correctly encoding documents when it saves the documents

Developer build 8

  • CBLDatabaseOptions -> CBLDatabaseConfiguration
  • New DocumentChangeNotification implementation
  • CBLArray optimization
  • New Replicator API with Online / Offline support
  • LiveQuery support
  • Minor changes to CBLDatabase and CBLDocument API including
    • CBLDatabase.compact()
    • CBLDatabase.count()
    • CBLDatabase.contains(id)
    • CBLDictionary.remove(key)
    • CBLDictionary nil value support

  • DatabaseOptions -> DatabaseConfiguration
  • New DocumentChangeNotification implementation
  • ArrayObject optimization
  • New Replicator API with Online / Offline support
  • LiveQuery support
  • Minor changes to Database and Document API including
    • Database.compact()
    • Database.count()
    • Database.contains(id)
    • DictionaryObject.remove(key)
    • DictionaryObject nil value support

  • New APIs on Database such as Count and Compact()
  • DatabaseOptions -> DatabaseConfiguration
  • New native library delivery mechanism (transparent, but now requires Activate call on .NET and .NET Core via Couchbase.Lite.Support.NetDesktop.Activate())

  • New APIs on Database such as count(), compact() and contains(String id)
  • New APIs on Dictionary such as remove(String key)
  • DatabaseOptions -> DatabaseConfiguration
  • Bug fixes

Developer build 7

  • New unified API for CBLDocument, CBLReadOnlyDocument, CBLDictionary, CBLReadOnlyDictionary, CBLArray, CBLReadOnlyArray.
  • Replaced CBLSubdocument with CBLDictionary.
  • Removed DocumentChangeNotification from CBLDocument. The DocumentChangeNotification will be reimplemented at the Database level in the next release.
  • New ConflictResolver API that take a single Conflict object as a parameter. The target, source, and commonAncestor property are ReadOnlyDocument object.
  • Bug fixes and performance improvement from LiteCore.

  • New unified API for Document, ReadOnlyDocument, DictionaryObject, ReadOnlyDictionaryObject, ArrayObject, ReadOnlyArrayObject.
  • Replaced Subdocument with DictionaryObject.
  • Removed DocumentChangeNotification from Document. The DocumentChangeNotification will be reimplemented at the Database level in the next release.
  • Bug fixes and performance improvement from LiteCore.

  • A new unified and simpler API
  • Finally, the public replication API for creating replications!

  • A new unified and simpler API

Developer build 6

  • Database & Document Notification

Developer build 5

  • Support replicating attachments
  • Support automatic 1.x database upgrade to 2.0

  • Support replicating attachments
  • Support automatic 1.x database upgrade to 2.0
  • Fixed Swift replication delegate not functional (#1699)

  • Replication! The new replicator is faster, but the protocol has changed, and the class API isn't yet finalized. Also, unfortunately there is no public way to create replications yet but this will come soon.
  • Support automatic 1.x database upgrade to 2.0.
  • Various other optimizations under the hood.

  • Blob
  • Conflict Resolver

Developer build 4

  • Replication! The new replicator is faster, but the protocol has changed, and the class API isn't yet finalized. Please read the documentation for details.

  • Cross platform Query API
  • Replication! The new replicator is faster, but the protocol has changed, and the class API isn't yet finalized. Please read the documentation for details.

  • Cross platform Query API

  • CRUD operations
  • Document with property type accessors
  • Cross platform Query API

Developer build 3

  • Cross platform Query API

N/A

  • Sub-document API
  • Some taming of the dispatch queue model. (A database gets a queue and all the objects associated with it share the same one. Callback queue has been removed, and callbacks now come over the action queue so that it is safe to access the DB directly from the callback). Thread safety checking has been made optional (default OFF) and can be enabled in the DatabaseOptions class.

N/A

Developer build 2

  • CouchbaseLiteSwift framework for the Swift API

  • Sub-document API

  • CRUD operations
  • Document with property type accessors
  • Blob data type
  • Database and Document Change Notification

N/A

Developer build 1

  • CRUD operations
  • Document with property type accessors
  • Blob data type
  • Database and Document Change Notification
  • Query
    • NSPredicate based API
    • Grouping and Aggregation support

N/A

N/A

N/A