Skip to content
The official Couchbase SDK for .NET Core and Full Frameworks
Branch: master
Clone or download
brantburnett and MikeGoldsmith NCBC-1928: Use Bit Shifting For NBO Swap Where Possible
The current approach of reversing a span of bytes is less performant
than bitshifting.

Where 16, 32, and 64 bit integers, use the methods providing by
System.Buffers.Binary.BinaryPrimitives to handle endianness.

Faster change of endianness.

Change-Id: I46351cefb47deb7ea346e0dbaf5c929e2452a8eb
Tested-by: Build Bot <>
Reviewed-by: Mike Goldsmith <>
Latest commit 21665ad Apr 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples/Couchbase.SDK3.0.Examples NCBC-1857: Move SDK v3 source into Gerrit Mar 11, 2019
src/Couchbase NCBC-1928: Use Bit Shifting For NBO Swap Where Possible Apr 18, 2019
tests NCBC-1929: Use Partioner for LoadTests RateLimiter Apr 18, 2019
.gitattributes NCBC-1712: Add .editorconfig to solution Jan 28, 2019
.gitignore NCBC-1510: Create and publish symbols package during builds Sep 14, 2017
LICENSE NCBC-1857: Move SDK v3 source into Gerrit Mar 11, 2019 NCBC-1857: Move SDK v3 source into Gerrit Mar 11, 2019

The Official Couchbase .NET SDK Join the chat at

  • master is 3.0 development branch
  • release27 is 2.7.X development branch
  • release13 is 1.3.X development branch

Getting Started

To get up and running with the SDK, please visit the online documentation.

Running Tests

We maintain a collection of both unit and integration test projects.

Unit Tests

Couchbase.UnitTests contains environment independent tests and do not require a local cluster to run.

Running the Integration Tests

Couchbase.IntegrationTests contains tests that are run against a real Couchbase Server and has different requirements depending on what server version you are running them against:

Couchbase Server 4.0+

  1. The "beer-sample" and "travel-sample" sample buckets installed. They can be installed by logging into the Couchbase Console and then Settings->Sample Buckets.
  2. Create the following buckets:
    1. "default" - a Couchbase bucket with no password
    2. "authenticated" - a Couchbase bucket with a password of "secret"
    3. "memcached" - a Memcached bucket with no password
  3. Install an SSL certificate (copied from the Couchbase console Security->Root Certificate)
  4. A default primary index configured on the following buckets: default, authenticated, beer-sample and travel-sample (eg create primary index on `default`)
  5. Add an FTS index to the travel-sample bucket called idx-travel
  6. Update config.json with the hostname of your Couchbase Server IP and set enhancedAuth to false
  7. Update app.config's hostname and basic Couchbase client section with the Couchbase Server IP

Couchbase Server 5.0+ - In addition to the steps above:

  1. "ephemeral" - an Ephemeral bucket
  2. Update config.json enhancedAuth to true
  3. A user called authenticated with a password of secret

NOTE: Couchbase Server 5.0+ uses Role-Based Access Control (RBAC) for authentication. This supersedes configuring bucket passwords with discrete users with their own passwords and offers much more granular control.

Pull Requests and Submissions

Being an Open Source project, the Couchbase SDK depends upon feedback and submissions from the community. If you feel as if you want to submit a bug fix or a feature, please post a Pull Request. The Pull Request will go through a formal code review process and merged after being +2'd by a Couchbase Engineer. In order to accept a submission, Couchbase requires that all contributors sign the Contributor License Agreement (CLA). You can do this by creating an account in Gerrit, our official Code Review system. After you have created your account, login and check the CLA checkbox.

Once the CLA is signed, a Couchbase engineer will push the pull request to Gerrit and one or more Couchbase engineers will review the submission. If it looks good they will then +2 the changeset and merge it with master. In addition, if the submission needs more work, you will need to amend the Changeset with another Patchset. Note that is strongly encouraged to submit a Unit Test with each submission and also include a description of the submission, what changed and what the result is.

You can’t perform that action at this time.