Originally written by Jeff Morris
Recently we released version 1.3.8 of the Couchbase .NET SDK. Like the previous couple of 1.X releases, this is a bug fix/maintanence release. Note that nearly all new development is happening on the 2.0 Version of the .NET SDK, which should be GA early this fall!
A Very Important Release Note
This version (1.3.8) contains a patch that allows this client to function properly with Couchbase Server 3.0, which is currently in Beta, and should be released soon. Note that a breaking change has been found in a feature intended to make Bucket instances more easily identifiable across multiple clusters. A very important feature, but with an unfortunate side-effect; it breaks view queries on versions of the .NET Framework 4.0 and less. The problem is that in those versions of the CLR, IriParsing is not enabled by default, thus the unicode encoding it performs internally within System.Uri is not compatible with the Couchbase Server. In versions of the .NET Framework >= 4.5, IriParsing is enabled, therefore it is not an issue on those versions of the CLR.
Note this was found very late development lifecycle of Couchbase Server, thus the change had to be propogated down to the SDK level. For those of you who cannot or do not want to upgrade to this version (1.3.8) of the Couchbase .NET SDK, there is a work around; you need to add a uri element to your App.Config or Web.Config and enable iriParsing:
<uri> <iriParsing enabled="true"/> </uri>
Once you do this, System.Uri will use the correct unicode encoding and the issue will not affect any version of the Couchbase .NET SDK. Note that this is only required for users and customers wishing to use upgrade to Couchbase 3.0 (of course we hope this is everyone ;)).
Release Notes for 1.3.8
- NCBC-577: Enable IriParsing for supporting Views w/Couchbase Server 3.0
This fixes a breaking change in how Couchbase Server 3.0 handles View queries by associating a UUID with a Bucket and how System.Uri handles unicode encoding across different versions of the CLR. Users running under .NET Framework 4.5 and greater are unaffected. Users wishing to run Couchbase Server 3.0 with versions of the CLR <= 4.0, must either use this version (1.3.8) of the Couchbase .NET SDK, or must provide the following elements in their App.Config or Web.Config to enable IriParsing:
- NCBC-564: Provide PDB Files with Binaries
PDB files are now included with binaries on S3.
- NCBC-564: Respect JsonSerializer settings for deserialization.
This patch allows you to override the default JsonSerializer settings during deserialization.
- NCBC-555: Multi get can fail and return a null StatusCode.
This patch ensures that the correct StatusCode is returned when a multi-get operation fails.
In Other News
Were deep into development of version 2.0 of the Couchbase .NET SDK and we are expecting a Beta release for early September 2014 and a final GA for later that month. If you haven't yet, please checkout one of our developer previews or the source on Github and provide feedback!