Couchbase Development

Skip to end of metadata
Go to start of metadata

Developing for Couchbase

Couchbase has a number of official client libraries for development. In addition, Couchbase Server is protocol compatible with memcached, so you may use any number of existing client libraries against the server.

Client Libraries

If you want to develop your own Couchbase clients, see Developing Couchbase Clients

Developing Couchbase Server

If you're interested in contributing to Couchbase Server or understanding how it works, please look at the repositories and architecture or contributing changes.

Protocol Additions, Metadata and Behavioral Specifications

Couchbase Server has developed a set of additional protocol operations over the course of releases.

  • TAP Protocol (since 1.6)
  • Observe (since 2.0)
  • Replica Read (since 2.1)
  • CCCP:Cluster Configuration Carrier Publication (since 2.5)
  • Common Flags
    This project aims to provide a consistent method for storing document meta-data. Specifically it will define the exact formatting of the flags field as well as the datatype field to allow the server to make reasonable assumptions as well. (since "2.0" SDKs, which includes Java 2.0, Go 1.0, etc.)
  • Common Connection String
    The goal of this project is to define a consistant method of providing cluster host information through the clients. This proposal does this by defining an specific hostname format that will be accepted for the purpose of initializing and bootstrapping a cluster.
  • SDK 2.0
    The purpose of this proposal is to outline a new uniform interface for the various SDKs to use as a standard for implementing their individual APIs.


  • NG Bucket Config
    Proposal for a new, better cluster configuration format that can handle SSL and other is extensible enough to handle future extension projects.
  • SSL Dev Experience
    Documentation of the developer experience for SSL along with specific issues and pain points.


library_com library_com Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.