June 5, 2014

Couchbase .NET SDK 1.3.6 Released, How to Contribute to Couchbase .NET SDK and Other News

Today's Release

Today we released version 1.3.6 of the .NET SDK! This was another bug fix/maintenance release that included several contributions from the Couchbase community. Being an Open Source Software project, we depend upon community involvment and each and every contribution, whether or not it's included in the final release or not, is appreciated!

How To Contribute

If you wish to contibute a patch, remember we require you sign our Contributor License Agreement or "CLA". To do so, simple follow these directions:

  1. Go to: http://review.couchbase.org
  2. Login in and select your username on the top right hand side and then "settings"
  3. The last item on the left in the settings view is an "Agreements" menu tab, select that and then select the "New Contributor Agreement"

Once you have done so, we will push the Pull Request to our code review system, Gerrit and from there it will go through the CR process and hopefully will be included in the next release. If you run into any problems, let me know and myself or another Couchbase employee will lend a hand.

Couchbase .NET SDK 1.3.6 Release Notes

NCBC-503: CouchbaseCluster construction is missing un/pw

This patch fixes a bug where the username and password was not being included in the REST call to the API. This would cause the API to return a 401 Unauthorized evan if the password and username were included within object creation.

NCBC-457: Change verbosity of HB logging to DEBUG

This patch changes the verbosity of the logging within the heartbeat component from INFO to DEBUG.

NCBC-485: Small TTL values can get lost by client/server clock-drift

This patch fixes a bug where differences between the server clock and the client clock would cause small timespans to provide inconsistent and unexpected results.

NCBC-499: Refactor InternalPoolImpl so that NRE is not thrown

This patch provides a more defensive Dispose method implmentation so that when multiple threads try to dispose on the pool, only one thread will perform the dispose. It also protects against NullReferenceExceptions by checking for nullity of internal references before calling their dispose methods.

NCBC-494: Finalizer throws NRE if Pools has already been finalized/GC'd

Fixes a race condition where the internal CouchbasePool may have already been GC'd before the finalizer is run on the parent object, causing a NullReferenceException (NRE) to be thrown.

In Other News...

You may have noticed that Couchbase .NET SDK 1.X hasn't been getting many features released lately. This is largely because development efforts have shifted to the Couchbase .NET SDK 2.X and a new Linq Provider for the SDK, in preparation of new features being released with Couchbase Server 3.0. We have released a couple of developer previews and hopefully you have had the oppurtunity to play with them. You can read more about them here and here. Expect more blog posts and beta release in the next month or so.

Comments