Overview

The Couchbase .NET SDK 2.0 is the official .NET client library for Couchbase Server. Written entirely in the C# programming language, it targets .NET Framework 4.5 and later and Couchbase Server 2.5 and later.

Until the SDK reaches general availability (GA), expect the content and structure of the documentation to change. Being a work in progress, we greatly appreciate your feedback. Please send your comments, requests, and suggestions to [email protected].

Compatibility

Table 1. Couchbase Server and SDK Supported Feature Matrix
  Server 1.8 Server 2.0 Server 2.5 Server 3.0
Basic Features
K/V Operations 1.0 1.0 1.0/2.0 1.0/2.0
View API - 1.0 1.0/2.0 1.0/2.0
Advanced Features
N1QL API - - - 2.0
Document API - - 2.0 2.0
Durability Requirements - 1.0 1.0/2.0 1.0/2.0
SSL - - - 2.0
CRAM MD5 Auth - - - 2.0
Bulk Operations 1.0 1.0 1.0/2.0 1.0/2.0
CCCP (fast bootstrapping) - - 2.0 2.0
Administrative Features
Admin API - 1.0 1.0/2.0 1.0/2.0

Contributing

We welcome community contributions to the .NET SDK. The .NET SDK source code is available on GitHub.

Github

All source associated with the project lives in github at the following repo: https://github.com/couchbase/couchbase-net-client

There are current two active branches:

  1. release13: development branch for version 1.X
  2. master: development branch for 2.X

Pull requests should be made to the appropriate branch based upon the version of the SDK that the submission is targeting.

Contributor Agreement License

All pull requests must go through a review process before being merged into their respective branches on Github. A prerequisite for accepting a pull request is that the contributor has read and signed the Couchbase Contributor License Agreement (CLA). This can be done through Gerrit, our code review system.

Gerrit is the official code review system for the Couchbase SDK’s. Community members who wish to contribute, must create a Gerrit account and as previously stated, sign the CLA. The steps for doing this are as follows:

  1. Navigate to review.couchbase.org
  2. Select “register” from the menu on the top right hand side
  3. Use can use a Google, Yahoo or any other OpenId account to register
  4. After you have signed in you will be prompted to verify your email and provide a username
  5. At the very bottom of the page, click the “New Contributor Agreement” link and follow the directions to sign the CLA and finally “Submit Agreement”

Once you have signed the CLA, it’s official, you can now contribute to the Couchbase .NET SDK!

The Code Review Process

The typical flow of a community contribution is through a pull request. Locally, you would clone the repository, make your changes and push your changes to your fork of the repository. From there, using Github, you would create a pull request and submit it to the appropriate branch. The maintainer of the SDK will then decide whether to accept or deny the pull request. If the maintainer decides to accept the pull request, then they will push the pull request to Gerrit, the code review system used internally within Couchbase.

Once the submission has been pushed to Gerrit, it will be reviewed by one or more Couchbase engineers. Very likely this will be the maintainer of the SDK. A reviewer will rank the change-set by one of the following values:

  • +2 - Looks good to me approved
  • +1 - Looks good, but someone else must approve
  • 0 - No score
  • -1 - I would prefer you do not submit this
  • -2 - Do not submit

Gerrit uses the concepts of a change-set and patch-sets, a change-set is the submission under review, a patchset is ammendment to that change-set. The reviewer may ask for several patch-sets to be committed before approving a submission. Typically a score of less than 2 will not be accepted.

Once the submission has made it through code review, it will pushed from Gerrit to Github. The maintainer will do this for you.