Releases: couchbase/couchbase-lite-net
2.0.0 Developer Build #22 (Beta 1)
Notable Changes
- More API changes to conform to internal spec (in other words, to have as close to the same signatures as Java and Swift as possible). The final review has been completed and there are no more anticipated changes. See #941 for a list of most of the changes
- URI scheme update: The target URI scheme has changed from blip:// (blips:// ) to ws://(wss://) respectively
Known Issues
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #21
Notable Changes
- Fairly sweeping API changes to conform to the internal specification (in other words, to have as close to the same signatures as Java and Swift as possible). A final review is underway and hopefully not too many more changes are needed. Here are a few big ones:
- Replication, Database, and IQuery
event
s are no longer events, but now have methods (with the same signature as event handlers) registered viaAddChangeListener
(with an overload to accept aTaskScheduler
, and now where possible the support assemblies provide a main thread task scheduler for convenience). IQuery.Run()
->IQuery.Execute()
- Mutable objects
Set()
,Add()
. andInsert()
overloads have been renamed (Set(string, object)
->SetValue(string, object)
,Set(string, string)
->SetString(string, string)
, etc) Expression.Meta().ID
->Meta.ID
- Query functions that operate on arrays moved to
ArrayFunction
class - No more
ToLive()
function on queries, and no moreILiveQuery
. Queries are now automatically live if a change listener is added to them (No call toRun()
needed for this behavior). They will stop firing if all change listeners are removed, or they are disposed. - Full text searching has been fleshed out more, and
Match()
has been removed fromIExpression
. Now the way to do it is to useFullTextExpression.Index(string).Match(searchString)
where theIndex
argument is the name of the full text index you want to use. - Creating indexes now skips a step and takes arguments directly (
Index.ValueIndex().On(...)
->Index.ValueIndex(...)
) Fragment
andMutableFragment
are replaced by interfacesIFragment
andIMutableFragment
. The methods of getting and setting values have been converted to properties (ToFloat()
/SetFloat()
->Float
)
- Replication, Database, and IQuery
- Fixes bugs: #928, #929, #931, #932, #934, #936, and other issues uncovered during testing
Known Issues
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet (Support claimed in VS 15.5 though)
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #20
Notable Changes
- The biggest change by far is the change to immutability rules. By default, databases now return read only documents and the naming of these objects has changed. In general, ReadOnlyXXX has become simply XXX, and XXX has become MutableXXX. For example, ReadOnlyDocument has become Document, and Document has become MutableDocument. To create a mutable document from a non-mutable one, use the ToMutable() function. Mutable documents will not have any concurrency guarantees, but non-mutable ones will.
- Couchbase.Lite.Support.NetDesktop has been changed so that it is no longer a .NET Standard 1.4 library, but a multi-targeted .NET Core 1.0+ / .NET Framework 4.6.1+ library. There was a needed API that was not available in the .NET Standard 1.4 API, but moving the .NET Standard version up would have lost 4.6.1 support. The assembly is still compatible with its intended targets.
- Fixes bugs: #925, #926, and other issues uncovered during testing
Known Issues
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet (Support claimed in VS 15.5 though)
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
1.4.1
As part of this release we had 55 commits which resulted in 19 issues being closed.
Performance Improvements
- #827 Purge does not remove row from 'docs' table
- #856 View indexing is very slow, due to mis-optimized SQLite query
Enhancements
- #867 Preserve revision history for each "branch" on pruning
- #915 Support DocIDs setting for pull replication with Sync Gateway
Bugs
- #778 Push sync becomes slower as local DB grows, fails to advance lastSequence
- #821 .NET not encoding atts_since
- #824 Pull replication stopping when coming online
- #830 Remove RunInOuterTransaction
- #832 New_edits on _bulk_docs should default to true
- #834 1.4 breaks custom headers on PUT HTTP requests
- #835 Unable to select multiple values with LINQ 1.4
- #840 Couchbase.Lite.dll missing Product Version Info and Others
- #847 Trying to remove encryption from a SQLite DB throws an exception
- #848 Retry loop causes web socket changes feed to stop
- #850 Wrong return code for listener causes problems with puller and deleted items.
- #853 Updating a design doc view map function does not take effect
- #863 PollInterval is not obeyed
- #910 Channel removal potentially disrupts attachments
- #914 Bulk download error not passed to client
Where to get it
You can download this release from Couchbase.com
2.0.0 Developer Build #19
Notable Changes
IReadOnlyDictionary
/IDictionaryObject
,IReadOnlyArray
/IArray
now returnDictionary<string, object>
andList<object>
instead ofIDictionary<string, object>
andIList<object>
so that the return value can be used in both read only and read write interface signatures (e.g. bothFoo(IDictionary<string, object>
andFoo(IReadOnlyDictionary<string, object>)
)- Ensure that calls to
Activate
are only performed once (unclear on the impact on Android if the passed activity gets destroyed)
Fixes bugs: #864, #908, #918, #922 and other issues uncovered during testing
Known Issues
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #18
Notable Changes
- Slight refactor to
ReplicatorConfiguration
(PutOptions
properties directly into the configuration) to bring it inline with other platforms - Fix a bug in
SelectResult.All()
which would cause invalid queries if aFrom
clause was added - Fixes bugs: #907 #912 #916
Known Issues
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #16
Notable Changes
- 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 forIExpression
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
Known Issues
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #15
Notable Changes
- 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).
Known Issues
- Collation API is not implemented on Android yet (needs ICU wrapper)
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet
- Database copy API on Android requires copying files out of the assets first into a temporary location (since they have no file paths when they are in Android assets)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #14
NOTE The symbol server (http://mobile.nuget.couchbase.com/symbols/Developer/) has been retired in favor of SourceLink, which will link the symbol files directly to GitHub for download. This makes use of the portable PDB format, which is much smaller. The symbols will be included in the main package.
Notable Changes
- 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 addedGetFloat
for completion - Expanded the replicator statuses
- Bug Fixes: #897
Known Issues
- Library still does not work on iOS 9 (it will soon)
- Collation API is not implemented on Android or Linux platforms yet (needs ICU wrapper for Android and bundled ICU for Linux)
- Some source files are not automatically available during debugging due to a combination of two issues:
- 1: Source link has no submodule support
- 2: VS 2017 debugger does not support PDB embedded source files yet
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
2.0.0 Developer Build #13
Notable Changes
- Queries can now make use of
Limit()
andOffset()
- 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 useAs
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 fromIQueryRow
and useIResult
instead (see docs\examples\Program.cs for how to get the Document or ID, butDocument
might make a comeback before GA)
For more detailed notes about this release, see this document and for an API reference, see this page.
To get this build from Nuget, add this URL to your package sources:
http://mobile.nuget.couchbase.com/nuget/Developer/
To get symbols for this build add this URL to your symbol server list:
http://mobile.nuget.couchbase.com/symbols/Developer/