A newer version of this documentation is available.

View Latest

Release notes

Release notes for Couchbase .NET SDK version 2.1, the official SDK for creating applications using Couchbase Server with Microsoft .NET languages.

Version 2.1.4 (10 August 2015)

Version 2.1.4 (10 August 2015) is the fifth GA release of the Couchbase .NET 2.1 SDK.

List of select JIRA tickets in this release

Improvements:

  • [ NCBC-434] - add feature test ensuring that E2BIG is returned on append above 20┬áMB

  • [ NCBC-949] - Unit test cleanup and refactoring

  • [ NCBC-955] - Add option to affect operation flags with value formatting

Bug fixes:

  • [ NCBC-925] - .NET Client 2.1.1 leaks connections when bucket does not exist

  • [ NCBC-934] - GetFromReplica returns null when no replicas exist in the replica list

  • [ NCBC-940] - Client receives "Cluster does not support Data Services" when Cannot Resolve Node Name

  • [ NCBC-941] - N1QL Request Timeout is missing from QueryClient

  • [ NCBC-948] - Corrected errors when running N1QL queries as bare (ad hoc) strings

  • [ NCBC-956] - Fix exception when decoding char type

  • [ NCBC-962] - Queries are not successful after rebalance swap of a query node

  • [ NCBC-968] - NRE when master node cannot be obtained during Observe

  • [ NCBC-970] - Make default view timeout consistent with other SDKs

  • [ NCBC-972] - High latency on async set with persistence to master

Version 2.1.3 (2 July 2015)

Version 2.1.3 is the fourth GA release of the Couchbase .NET 2.1 SDK.

List of select JIRA tickets in this release

Bug fixes:

  • [ NCBC-932] - BodyLength is zero when receive buffer tries read from it

Version 2.1.2 (24 June 2015)

Version 2.1.2 is the third GA release of the Couchbase .NET 2.1 SDK.

List of select JIRA tickets in this release

New features:

  • [ NCBC-833] - Add support for nodesext for N1QL service for CB 4.0 Beta

Technical tasks:

  • [ NCBC-901] - Make IServer implementations aware of Services defined by NodesExt

  • [ NCBC-902] - Make Server selection "service aware"

  • [ NCBC-903] - Ensure k/v requests to memcached buckets use data nodes

  • [ NCBC-904] - Return correct error or exception when operation is attempted on node that does support service

  • [ NCBC-922] - Receiving none(0xffffffff) as response status during failover

Improvements:

  • [ NCBC-891] - Update Common.Logging to version 3.1

  • [ NCBC-899] - Change default value of MaxAcquireIterationCount and add Delay

  • [ NCBC-919] - Global connection pool setting for app.config

Bug fixes:

  • [ NCBC-823] - IndexOutOfRangeException during fail over with .NET SDK 2.0

  • [ NCBC-886] - Couchbase client returning wrong documents

  • [ NCBC-895] - BufferAllocator is created per Connection

  • [ NCBC-908] - Fix connection leak on Memcached bucket dispose

  • [ NCBC-911] - Documentation Bug in IViewQuery.ConnectionTimeout

  • [ NCBC-912] - Client tries to deserialize memcached body when it is empty

  • [ NCBC-913] - SDK incorrectly states down node heartbeat is 1000 seconds

  • [ NCBC-917] - Collection modified error during bulk operation

  • [ NCBC-918] - Throughput is not restored with rb2out on memcached bucket

  • [ NCBC-924] - Port defaults to 0 when NodeExt is not found in cluster map

Version 2.1.1 (20 May 2015)

Version 2.1.1 is the second GA release of the Couchbase .NET 2.1 SDK.

List of select JIRA tickets in this release

Technical tasks:

  • [ NCBC-893] - Ensure VBucket.GetServer does not throw AOOR Exceptions

  • [ NCBC-898] - Make NodeUnavailable and TemporaryFailures retriable

Improvements:

  • [ NCBC-897] - When SendAsync returns synchronously call OnCompleted manually

Bug fixes:

  • [ NCBC-809] - If two threads attempt to open the same bucket at the same time they will both bootstrap

  • [ NCBC-884] - Make Nodes and serversList symmetrical

  • [ NCBC-885] - SDK uses Nodes instead of serverList for VBucket Mapping

  • [ NCBC-887] - TcpKeepAlive settings on ClientConfiguration are not honored

  • [ NCBC-890] - When a node is dropped (server offline for instance) OPS go to near Zero

  • [ NCBC-892] - In ClientConfiguration, TcpKeepAliveTime and TcpKeepAliveInterval are switched

  • [ NCBC-896] - Support translation between Hostname and IPAddress in IPEndpointExtensions.GetServer(hostname)

Version 2.1.0 (5 May 2015)

Version 2.1.0 is the first GA release of the Couchbase .NET 2.1 SDK.

List of select JIRA tickets in this release

New features:

  • [ NCBC-532] - Provide TAP(async/await) Methods for K/V operations

  • [ NCBC-642] - Use IOControl to set heartbeat settings on each TCP connection (2.1.X)

  • [ NCBC-676] - Make JSON Serializer pluggable

  • [ NCBC-790] - Exists function missing

  • [ NCBC-822] - Make Transcoder and Converter pluggable

  • [ NCBC-828] - Provide support for GAT and Touch (sliding expirations)

Technical tasks:

  • [ NCBC-874] - Implement Prepend/Append Async Methods on Memcached and Couchbase buckets

  • [ NCBC-875] - Implement ExistsAsync on Memcached and Couchbase Buckets

  • [ NCBC-876] - Implement Increment/Decrement Async on Memcached and Couchbase buckets

  • [ NCBC-877] - Implement UnlockAsync on Memcached and Couchbase buckets

  • [ NCBC-834] - Implement InsertAsync methods and overloads

  • [ NCBC-835] - Implement UpsertAsync methods and overloads

  • [ NCBC-836] - Implement RemoveAsync methods and overloads

  • [ NCBC-837] - Implement GetAsync methods and overloads

  • [ NCBC-838] - Implement ReplaceAsync methods and overloads

  • [ NCBC-839] - Implement ObserveAsync methods and overloads

  • [ NCBC-840] - Implement GetFromReplicaAsync methods and overloads

  • [ NCBC-825] - update documentation after connectionTimeout and operationTimeout changes

  • [ NCBC-849] - Create read-your-own-write (RYOW) code example for N1QL and bootstrap example for Sherlock DP

  • [ NCBC-861] - Update logging documentation and blog

Improvements:

  • [ NCBC-763] -Improve connection management during rebalance, swap, and failover

  • [ NCBC-808] - Ensure Incr/Decr/Append/Prepend retry when a NMV error is returned

  • [ NCBC-814] - Improve throughput during rebalance scenarios

  • [ NCBC-819] - When cluster map contains no vBuckets handle gracefully

  • [ NCBC-831] - Integrate QueryClient (prepare specifically) with IBucket

  • [ NCBC-832] - Refactor "SendWithRetry" methods into IRequestExecutor

  • [ NCBC-842] - Add overloads for SendWithRetry and SendWithRetryAsync that take no parametric polymorphism

  • [ NCBC-851] - Refactor KeyObserver.Observe to be truly synchronous

  • [ NCBC-859] - Improve IRequestExecuter.SendWithRetryAsnc exception logic

  • [ NCBC-871] - Memcached bucket missing Replace overload for CAS and Expires

Bug fixes:

  • [ NCBC-712] - ArgumentOutOfRangeException in vBucket class during rebalance

  • [ NCBC-783] - constantly high latency 3 seconds during rebalance in

  • [ NCBC-803] - add raw handling of objects to the documentation

  • [ NCBC-817] - IBucket.IsSecure throws ServerUnavailableException when used with IoC (Autofac, etc)

  • [ NCBC-821] - Getting Couchbase .Net SDK picture is very old

  • [ NCBC-843] - SendWithRetryAsync blocks if Operation.WriteAsync faults

  • [ NCBC-845] - NMV returned turned to caller during rebalance

  • [ NCBC-846] - In some cases the async methods may never time out

  • [ NCBC-847] - Expiry property is not used

  • [ NCBC-853] - Couchbase Client App.config / Web.config documentation error .NET SDK

  • [ NCBC-856] - System.AggregateException at Couchbase.Core.Buckets.CouchbaseRequestExecuter.SendWithRetryAsync

  • [ NCBC-862] - Get methods fail when stored value is null or empty

  • [ NCBC-865] - When cluster has no replicas GetFromReplicaAsync returns ResponseStatus.Success

  • [ NCBC-869] - Cluster.Create Manager throws HTTP 401 Unauthorized ERROR

  • [ NCBC-872] - Integer transcoding from 1.3.10 to 2.0.3 is incorrect

  • [ NCBC-878] - project file "..Tester3.csproj" was not found.

  • [ NCBC-880] - Ensure MemcachedRequestExecutor does not throw NRE when operation times out