On This Page

Version 2.6.0 - 2.9.5

Couchbase C Release Notes and Archives


You can install the C SDK from a repository for your platform, download prebuilt binaries or compile from source.

Quick Installation - Linux

For installation on Linux, install the couchbase-release repository, and then install the libcouchbase packages. The following examples download and install couchbase-release repsitory, a C and C++ compiler, and the C SDK core (libcouchbase2-core), command line tools (libcouchbase2-bin), and the development tools (libcouchbase-devel [RPM] orlibcouchbase-dev [DEB]).

Debian and Ubuntu

# Only needed during first-time setup:
wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-4-amd64.deb
sudo dpkg -i couchbase-release-1.0-4-amd64.deb
# Will install or upgrade packages
sudo apt-get update
sudo apt-get install libcouchbase-dev libcouchbase2-bin build-essential

RHEL and CentOS

# Only needed during first-time setup:
wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-4-x86_64.rpm
sudo rpm -iv couchbase-release-1.0-4-x86_64.rpm
# Will install or upgrade existing packages
sudo yum install libcouchbase-devel libcouchbase2-bin gcc gcc-c++

Installation on Mac OS X

Quick installation - Mac OS X

To install the library on Mac OS X, first install the de facto package manager for OS X: homebrew. Once homebrew is configured:

brew update # get list of latest packages
brew install libcouchbase

Installing Manually - Linux

If you want to install the C SDK manually, either from a static binary package or by manually configuring the repositories, you can use the following procedures.

The various Linux distributions contain the following packages:

  • libcouchbase2-core: The core library package
  • libcouchbase-dev (or libcouchbase-devel): The development package, required if building SDKs which depend on the C SDK
  • libcouchbase2-bin: The command line utilities (cbc and cbc-pillowfight)
  • libcouchbase2-libevent: Optional but recommended component for I/O performance. Can also be used to integrate with libevent (see Asynchronous Programming).
  • libcouchbase2-libev: Optional, for use with applications that make use of event loop integration with libev (see Asynchronous Programming).

Configuring yum repositories (CentOS, Redhat)

This section assumes you know how to add an external yum repository and Linux quick start explains the steps it will perform on your distribution. To configure the repository:

  1. Find the appropriate repository location for your distribution in the following table. CentOS and RHEL allow 32-bit packages to be installed on a 64-bit system. This is usually not what you want, so ensure that you use the 64-bit repository for your 64-bit system (unless you specifically want the 32-bit SDK).
    Version Architecture Repository
    6 32-bit http://packages.couchbase.com/rpm/6.2/i686
    6 64-bit http://packages.couchbase.com/rpm/6.2/x86_64
    7 64-bit http://packages.couchbase.com/rpm/7/x86_64
  2. Create a couchbase.repo file in your /etc/yum.repos.d directory. It should look similar to the following:
    enabled = 1
    name = Couchbase package repository
    gpgcheck = 1
    gpgkey = http://packages.couchbase.com/rpm/couchbase-rpm.key 

Configuring APT repositories (Debian, Ubuntu)

This section assumes some knowledge of apt and Linux quick start explains the steps it will perform on your distribution. To configure the repository:

  1. Download the Couchbase GPG key from http://packages.couchbase.com/ubuntu/couchbase.key.
  2. Add the key to the list of trusted package keys. Use the apt-key add command. For example, apt-key add couchbase.key.
  3. Create a couchbase.list file in /etc/apt/sources.list.d. The file should contain the repository for your distribution. Repositories are available for the following distributions:
    Distribution Repository Entry
    Ubuntu 14.04 ("trusty") deb http://packages.couchbase.com/ubuntu trusty trusty/main
    Ubuntu 16.04 ("xenial") deb http://packages.couchbase.com/ubuntu xenial xenial/main
    Ubuntu 18.04 ("bionic") deb http://packages.couchbase.com/ubuntu bionic bionic/main
    Debian 8 ("jessie") deb http://packages.couchbase.com/ubuntu jessie jessie/main
    Debian 9 ("stretch") deb http://packages.couchbase.com/ubuntu stretch stretch/main

Note that only Ubuntu LTS (long term support) releases are supported. You may try to use an LTS repository for a non-LTS version, but success is not guaranteed.

Installing binary packages without a repository

You can install standalone packages by downloading a containing the necessary binary packages for your platform.

Installing RPMs manually

tar xf libcouchbase-2.4.0_centos62_x86_64.tar
cd libcouchbase-2.4.0_centos62_x86_64/
sudo rpm -ivh libcouchbase-devel-2.4.0-1.el6.x86_64.rpm libcouchbase2-core-2.4.0-1.el6.x86_64.rpm \
 libcouchbase2-bin-2.4.0-1.el6.x86_64.rpm libcouchbase2-libevent-2.4.0-1.el6.x86_64.rpm
> Preparing...                ########################################### [100%]
>    1:libcouchbase2-core     ########################################### [ 25%]
>    2:libcouchbase-devel     ########################################### [ 50%]
>    3:libcouchbase2-bin      ########################################### [ 75%]
>    4:libcouchbase2-libevent ########################################### [100%]

Installing DEBs manually

tar xf libcouchbase-2.2.0_ubuntu1204_amd64.tar
cd libcouchbase-2.2.0_ubuntu1204_amd64
sudo dpkg -i libcouchbase2-core_2.2.0-2453_amd64.deb libcouchbase2-libevent_2.2.0-2453_amd64.deb \
libcouchbase-dev_2.2.0-2453_amd64.deb libcouchbase2-bin_2.2.0-2453_amd64.deb
> Selecting previously unselected package libcouchbase2-core.
> (Reading database ... 28297 files and directories currently installed.)
> Unpacking libcouchbase2-core (from libcouchbase2-core_2.2.0-2453_amd64.deb) ...
> Selecting previously unselected package libcouchbase2-libevent.
> Unpacking libcouchbase2-libevent (from libcouchbase2-libevent_2.2.0-2453_amd64.deb) ...
> Selecting previously unselected package libcouchbase-dev.
> Unpacking libcouchbase-dev (from libcouchbase-dev_2.2.0-2453_amd64.deb) ...
> Selecting previously unselected package libcouchbase2-bin.
> Unpacking libcouchbase2-bin (from libcouchbase2-bin_2.2.0-2453_amd64.deb) ...
> Setting up libcouchbase2-core (2.2.0-2453) ...
> Processing triggers for man-db ...
> Setting up libcouchbase2-bin (2.2.0-2453) ...
> Setting up libcouchbase2-libevent (2.2.0-2453) ...
> Setting up libcouchbase-dev (2.2.0-2453) ...
> Processing triggers for libc-bin ...
> ldconfig deferred processing now taking place

Installation from source

You may install the library from source either by downloading a source archive, or by checking out the git repository. Follow the instructions in the archive's README.markdown for further instructions.

Windows Installation

Windows binary packages can be found as downloads for each version listed below. Included are the header files, release and debug variants of the DLLs and import libraries, and release and debug variants of the command line tools. Note that the C SDK does not have any preferred installation path, and it is up to you to determine where to place libcouchbase.dll.

Be sure to select the proper package for the compiler and architecture your application is using.


If there are no binaries available for your visual studio version, then using a binary from any other visual studio version is likely to work. Most of the issues related to mixing Visual Studio binary versions involve changing and incompatible C++ APIs or incompatible C Runtime (CRT) objects and functions. Since the Couchbase C SDK does not expose a C++ API, and since it does not directly expose any CRT functionality, it should be safe for use so long as your application can link to the library at compile-time. The windows runtime linker will ensure that each binary is using the appropriate version of the Visual C Runtime (MSVCRT.DLL).

If for some reason you cannot use any of the prebuilt Windows binaries, follow the instructions in installation from source (above) to build on Windows.

2.9.5 (September 21 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.9.5/

  • CCBC-980: Make idle timeout for HTTP pool tunable

  • CCBC-977: Update documentation analytics. Add example demonstrating analytics queries

  • CCBC-968: Improve log message for SELECT_BUCKET on EACCESS. Add note saying that this error code might be because of missing bucket.

  • CCBC-976: Keep HTTP connections pooled after lcb_ping3

  • CCBC-975: Make sure kv service is only enabled if in nodes list.

  • CCBC-972: Fix memory issues reported by valgrind

  • CCBC-973: Correctly convert non-null terminated tag buffers to Json::Value

Platform Architecture File
Checksums Any libcouchbase-2.9.5.sha256sum
Source Archive Any libcouchbase-2.9.5.tar.gz
Ubuntu 14.04 x86 libcouchbase-2.9.5_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.9.5_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.9.5_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.9.5_ubuntu1604_amd64.tar
Ubuntu 18.04 x86 libcouchbase-2.9.5_ubuntu1804_i386.tar
Ubuntu 18.04 x64 libcouchbase-2.9.5_ubuntu1804_amd64.tar
Debian Jessie x86 libcouchbase-2.9.5_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.9.5_jessie_amd64.tar
Debian Stretch x86 libcouchbase-2.9.5_stretch_i386.tar
Debian Stretch x64 libcouchbase-2.9.5_stretch_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.9.5_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.9.5_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.9.5_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.9.5_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.9.5_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.9.5_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.9.5_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.9.5_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.9.5_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.9.5_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.9.5_amd64_vc14.zip

2.9.4 (August 28 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.9.4/

  • CCBC-970: Update list of retriable errors for analytics

  • CCBC-965: Update log level in config cache provider

  • CCBC-967: optimize Threshold Tracer queues/sorting

  • CCBC-963: remove global state from random generator, and make it thread-safe.

  • CCBC-966: return current network for LCB_CNTL_NETWORK

  • CCBC-969: Allow to skip version from git tags

  • CCBC-961: Add examples for FTS queries

  • CCBC-971: disable dead socket detection for older libuv (fixes build on platforms, where old libuv-dev package installed).

  • Report HELO features to logger in the single line.

  • Allow to select compression mode in connection string. This might be useful for debugging purposes. For example, to bypass inflation step when receiving data.

    $ CONNSTRING=couchbase://localhost/default?compression=deflate_only
    $ cbc cat -U $CONNSTRING 00000000.json > bindoc.dat
    00000000.json        CAS=0x15431f831dc60000, Flags=0x0, Size=739, Datatype=0x03(JSON,SNAPPY)
Platform Architecture File
Checksums Any libcouchbase-2.9.4.sha256sum
Source Archive Any libcouchbase-2.9.4.tar.gz
Ubuntu 14.04 x86 libcouchbase-2.9.4_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.9.4_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.9.4_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.9.4_ubuntu1604_amd64.tar
Ubuntu 18.04 x86 libcouchbase-2.9.4_ubuntu1804_i386.tar
Ubuntu 18.04 x64 libcouchbase-2.9.4_ubuntu1804_amd64.tar
Debian Jessie x86 libcouchbase-2.9.4_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.9.4_jessie_amd64.tar
Debian Stretch x86 libcouchbase-2.9.4_stretch_i386.tar
Debian Stretch x64 libcouchbase-2.9.4_stretch_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.9.4_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.9.4_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.9.4_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.9.4_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.9.4_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.9.4_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.9.4_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.9.4_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.9.4_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.9.4_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.9.4_amd64_vc14.zip

2.9.3 (July 18 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.9.3/

  • CCBC-955: Parse uint32 as unsigned ints instead of timeouts. Some settings were interpreted as time values, while they should not (e.g. console_log_level, compression_min_size etc). This issue forced the library to misinterpret user input (converter was multiplying all values to 1000000, e.g. log level was always TRACE).

  • CCBC-957: Automatically disable SSL support, when OpenSSL is unavailable.

  • CCBC-954: Define EFTYPE error code if it does not exist. Fixes support of libuv 1.21 and higher.

  • CCBC-951: Remove experimental warning from subdoc API.

  • CCBC-948: Consider retry queue with only 0xb5 as empty. This allows a breakout from lcb_wait earlier (when application operates in synchronous style). The old behaviour, where lcb_wait does not breakout until the library gets the first successful configuration, still can be restored with lcb_cntl(..., LCB_CNTL_WAIT_FOR_CONFIG, ...).

  • CCBC-939: Optimize the performance of built-in tracer. It now uses sllist for tags container instead of Json::Value.

  • CCBC-958: Check tracing span tags argument more pedantically and return error if arguments are not valid.

  • CCBC-956: Combine operation id and name into single field in the threshold tracer.

  • CCBC-949: Do not hardcode libevent dependencies in DEB packages. Instead let dh_shlibdeps script to detect dependencies for each platform. This fixes useless dependency on libevent-1 for ubuntu 18.04.

  • CCBC-947: Fix build scripts for examples (when built with -DLCB_BUILD_EXAMPLES=ON).

And other small fixes and improvements.

Platform Architecture File
Checksums Any libcouchbase-2.9.3.sha256sum
Source Archive Any libcouchbase-2.9.3.tar.gz
Ubuntu 14.04 x86 libcouchbase-2.9.3_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.9.3_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.9.3_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.9.3_ubuntu1604_amd64.tar
Ubuntu 18.04 x86 libcouchbase-2.9.3_ubuntu1804_i386.tar
Ubuntu 18.04 x64 libcouchbase-2.9.3_ubuntu1804_amd64.tar
Debian Jessie x86 libcouchbase-2.9.3_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.9.3_jessie_amd64.tar
Debian Stretch x86 libcouchbase-2.9.3_stretch_i386.tar
Debian Stretch x64 libcouchbase-2.9.3_stretch_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.9.3_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.9.3_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.9.3_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.9.3_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.9.3_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.9.3_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.9.3_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.9.3_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.9.3_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.9.3_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.9.3_amd64_vc14.zip

2.9.2 (June 22 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.9.2/

Platform Architecture File
Checksums Any libcouchbase-2.9.2.sha256sum
Source Archive Any libcouchbase-2.9.2.tar.gz
Ubuntu 14.04 x86 libcouchbase-2.9.2_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.9.2_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.9.2_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.9.2_ubuntu1604_amd64.tar
Ubuntu 18.04 x86 libcouchbase-2.9.2_ubuntu1804_i386.tar
Ubuntu 18.04 x64 libcouchbase-2.9.2_ubuntu1804_amd64.tar
Debian Jessie x86 libcouchbase-2.9.2_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.9.2_jessie_amd64.tar
Debian Stretch x86 libcouchbase-2.9.2_stretch_i386.tar
Debian Stretch x64 libcouchbase-2.9.2_stretch_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.9.2_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.9.2_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.9.2_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.9.2_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.9.2_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.9.2_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.9.2_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.9.2_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.9.2_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.9.2_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.9.2_amd64_vc14.zip

2.9.1 (June 22 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.9.1/

  • CCBC-942 Expose new error codes for subdocument operations.

  • CCBC-866 Check cached provider isn't NULL.

  • CCBC-890 Always check if SSL used when getting ports.

  • CCBC-945 Allow to specify logger in lcb_create().

  • CCBC-935 Display orphan tracer report on WARN log level.

  • CCBC-936 Update default tracing interval to 10 seconds.

  • CCBC-937 Implement support for alternate addresses.

  • CCBC-943 Implement option to dump TCP packets. This change introduces new cmake option, which will force library to report all incoming/outgoing TCP packets on TRACE log level. It renders the bytes in Base64 encoding. Also there is simple extraction tool, which beautifies packet traces, and could be used like this:

    cbc cat  -vvv foo bar 2>&1 | tools/extract-packets.rb
Platform Architecture File
Checksums Any libcouchbase-2.9.1.sha256sum
Source Archive Any libcouchbase-2.9.1.tar.gz
Ubuntu 14.04 x86 libcouchbase-2.9.1_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.9.1_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.9.1_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.9.1_ubuntu1604_amd64.tar
Ubuntu 18.04 x86 libcouchbase-2.9.1_ubuntu1804_i386.tar
Ubuntu 18.04 x64 libcouchbase-2.9.1_ubuntu1804_amd64.tar
Debian Jessie x86 libcouchbase-2.9.1_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.9.1_jessie_amd64.tar
Debian Stretch x86 libcouchbase-2.9.1_stretch_i386.tar
Debian Stretch x64 libcouchbase-2.9.1_stretch_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.9.1_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.9.1_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.9.1_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.9.1_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.9.1_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.9.1_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.9.1_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.9.1_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.9.1_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.9.1_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.9.1_amd64_vc14.zip

2.9.0 (May 24 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.9.0/

This release is mostly about API visibility bump from uncommited to committed, but also includes several bug fixes.

  • CCBC-930: Dump threshold logging tracer queues before destroying the tracer.

  • Updates in crypto API as per RFC. This basically change of the API (ABI has preserved compatible, but v0 crypto API will return runtime error with 2.9.0 library. From this release, all encryption key management encapsulated into crypto provider, so it does not need to expose key loader interface. In addition, that user API is changed to conform RFC, and use noun fields instead of document (e.g. lcbcrypt_encrypt_fields).

  • CCBC-925: Fix existence checks for registered crypto providers.

  • CCBC-924: Initialize flag for JSON server feature. Otherwise it might be left uninitialized and the library will send JSON datatype to servers, which do not support it.

  • PCBC-543, CCBC-932, CCBC-933: Update log levels

Platform Architecture File
Checksums Any libcouchbase-2.9.0.sha256sum
Source Archive Any libcouchbase-2.9.0.tar.gz
Ubuntu 14.04 x86 libcouchbase-2.9.0_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.9.0_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.9.0_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.9.0_ubuntu1604_amd64.tar
Ubuntu 18.04 x86 libcouchbase-2.9.0_ubuntu1804_i386.tar
Ubuntu 18.04 x64 libcouchbase-2.9.0_ubuntu1804_amd64.tar
Debian Jessie x86 libcouchbase-2.9.0_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.9.0_jessie_amd64.tar
Debian Stretch x86 libcouchbase-2.9.0_stretch_i386.tar
Debian Stretch x64 libcouchbase-2.9.0_stretch_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.9.0_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.9.0_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.9.0_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.9.0_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.9.0_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.9.0_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.9.0_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.9.0_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.9.0_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.9.0_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.9.0_amd64_vc14.zip

2.8.7 (May 2 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.7/

  • CCBC-917: Add tracing for observe. So now the library will group all CAS-observe operations, and in general will nest observe operations under common parent when lcb_storedur3 API used.

  • CCBC-918: Don't ping KV on nodes without DATA service.

  • CCBC-685: Implementation of SCRAM-SHA{1,256,512} authentication mechanisms for KV service. Support for SCRAM-SHA* SASL auth is disabled by default, because it is not portable, and not every Couchbase service supports it. But if it is necessary, it could be enabled using lcb_cntl(..., LCB_CNTL_FORCE_SASL_MECH, ...) operation, or "force_sasl_mech=SCRAM-SHA512" option in connection string.

  • CCBC-919: More granular settings for compression. Now it is possible to specify minimum size of the value to be considered for compression, and also the minimal ratio (compressed / original). See LCB_CNTL_COMPRESSION_MIN_SIZE (or "compression_min_size=100" in bytes), and LCB_CNTL_COMPRESSION_MIN_RATIO (or "compression=0.9").

  • CCBC-916: Do not set JSON datatype if server didn't ack it. Fixes behavior where old server rejecting commands as invalid when compression is enabled.

  • CCBC-923: Allow to disable fast-forward map for NMV handler. See LCB_CNTL_VB_NOREMAP ("vb_noremap=true"). This option is disabled by default.

Build improvements:

  • CCBC-915: Fix builds where DEBUG macro is defined

  • CBD-2405: Change target names in conflict with Server targets

Platform Architecture File
Source Archive Any libcouchbase-2.8.7.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.7_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.7_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.7_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.7_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.7_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.7_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.7_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.7_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.7_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.7_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.7_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.7_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.7_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.7_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.7_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.7_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.7_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.7_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.7_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.7_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.7_amd64_vc14.zip

2.8.6 (April 5 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.6/

Additions and bug fixes in this version:

  • CCBC-888: Add threshold logging tracer, which tracks and reports above threshold and orphaned operations. This is beta functionality, which is disabled by default. To enable it, use enable_tracing=on in the connection string.

  • CCBC-910: Field encryption API. The lcbcrypto_* functions abstracts encrypted field layout from actual crypto implementations (OpenSSL, libsodium, etc.). The wrapper or application using libcouchbase is expected to connect their own crypto and key providers, while libcouchbase provides transformation of the encrypted data. See sample crypto provider in example/crypto.

  • CCBC-904: Remove trailing comma in lcb_KVBUFTYPE enum. Fixes build on some older compilers.

  • CCBC-907: cbc-n1qlback: Do not require trailing empty line for input.

  • CCBC-908: cbc-n1qlback: Report number of loaded queries.

  • Add ability to write OPS/SEC from cbc-pillowfight to a file

    cbc-pillowfight 2> /tmp/stats.txt

    or, when writing to terminal required

    cbc-pillowfight 2>&1 | tee /tmp/stats.txt
  • Build improvements for easier integration into with server manifest (and TLM project).

Platform Architecture File
Source Archive Any libcouchbase-2.8.6.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.6_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.6_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.6_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.6_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.6_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.6_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.6_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.6_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.6_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.6_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.6_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.6_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.6_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.6_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.6_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.6_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.6_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.6_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.6_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.6_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.6_amd64_vc14.zip

2.8.5 (February 23 2018)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.5/

Additions and bug fixes in this version:

  • CCBC-883: Always use built-in compression. It is not possible to unbundle the Snappy library, as libcouchbase uses the C++ API which is not exported in the headers. Also, compression can now work on all types of buffers, including LCB_KV_IOV and LCB_KV_IOVCOPY. This fixes compression in cbc-pillowfight tool.

  • CCBC-895: Fix typo in rendering IPv6 addresses in lcb_diag.

  • CCBC-879: Implement log redaction. When log_redaction=on is specified in the connection string, the library will wrap sensitive data in the logs in special tags, which can be processed by the cblogredaction tool from the server distribution.

  • CCBC-893: Updated list of subdoc error codes.

  • CCBC-892: Enable the SSL trust store to be in a separate file. Trust store has to be specified with option truststorepath=…, otherwise the library will expect it to be stored with the certificate in certpath=.

  • CCBC-888: Per operation tracing. When compiled with tracing support (cmake -DLCB_TRACING=ON), the library will expose the tracing API, which allows to measure time of every data operation, and include some extra information. The API is modeled after OpenTracing and allows one to write custom tracers to consume this information. For more information, see an example in example/tracing/tracing.c. This is uncommitted API at this time.

    Also this feature includes support for new type of the server responses, which include time spent to execute the KV command on the server. This feature controlled by enable_tracing option in connection string or lcb_cntl(..., LCB_CNTL_ENABLE_TRACING, ...).

  • Added basic support of JSON datatype. The library will negotiate a mode, in which the application will see LCB_VALUE_F_JSON flag on datatype field of the response in the operation callback, if the cluster detected the content of the document to be valid JSON. Also the application can send this flag on the outgoing documents to notify the server about payload format.

  • Refresh dtrace/systemtap integration. Also adds tapset for SystemTap to simplify access to trace points.

  • cbc-pillowfight improvements and changes:

    • dump diagnostics on SIGQUIT (CTRL-\ in terminal).
    • with -J/--json, the JSON datatype will be sent on the documents.
    • enable randomized document bodies with -R/--random-body switch.
    • durability checks for pillowfight with --persist-to/--replicate-to.
    • pessimistic locking of keys before updating with --lock.
    • when requesting timings with -T/--timings, the application will no longer dump them periodically.Instead it will await for the user to signal SIGQUIT and also dump them on exit. The old mode of reporting regularly is enabled by repeating the switch more than once (e.g. -TT).
  • Added the cbc-watch command to monitor server stats. By default it tracks cmd_total_ops, cmd_total_gets and cmd_total_sets updating stats once a second, and displaying diff with the previous value.

Platform Architecture File
Source Archive Any libcouchbase-2.8.5.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.5_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.5_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.5_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.5_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.5_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.5_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.5_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.5_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.5_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.5_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.5_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.5_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.5_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.5_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.5_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.5_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.5_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.5_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.5_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.5_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.5_amd64_vc14.zip

2.8.4 (December 20 2017)

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.4/

Additions and bug fixes in this version:

  • CCBC-880: Implement x.509 client certificate authentication. Connection string must use TLS-enabled scheme (couchbases:// or https://) and set options certpath and keypath. For example,


    Read more at server docs: https://developer.couchbase.com/documentation/server/5.0/security/security-x509certsintro.html

  • CCBC-883: Revisit builtin compression implementation (snappy). Add compression to cbc tools (see --compress, -y options). Future versions of Couchbase Server will have end-to-end compression.

  • CCBC-885: Do not skip HTTP Basic authentication when password is empty.

  • CCBC-876: Make sure that server authority is always specified. In some cases, when libcouchbase generates vbucket configuration or data service is not available, the authority of the server might be NULL. This could cause issues, as we compare servers from configs using their authority fields.

  • CCBC-878: Support collections in cbc-pillowfight.

    Note that this change does not expose anything related to Collections API for libcouchbase. It defines hidden switches for pillowfight tool to allow benchmark of collections. The switches are not documented and might be removed in the future. Use with care.

    Generate only beer:<seqno> keys:

      cbc pillowfight --separator : --collection beer

    Using many --collection will alternate in generating beer:<seqno>, brewery:<seqno> keys (default separator is ":"):

      cbc pillowfight --collection beer --collection brewery
  • CCBC-801: Expose information about network IO for monitoring. The diagnostics exposed as string with encoded JSON object.

      void diag_callback(lcb_t instance, int cbtype, const lcb_RESPBASE *rb)
          const lcb_RESPDIAG *resp = (const lcb_RESPDIAG *)rb;
          if (resp->rc != LCB_SUCCESS) {
              fprintf(stderr, "failed: %s\n", lcb_strerror(NULL, resp->rc));
          } else {
              if (resp->njson) {
                  fprintf(stderr, "\n%.*s", (int)resp->njson, resp->json);
      lcb_install_callback3(instance, LCB_CALLBACK_DIAG, diag_callback);
      lcb_CMDDIAG cmd = { 0 };
      lcb_diag(instance, NULL, &cmd);
  • CCBC-874: Dynamic authenticator. Note that this feature should not be considered at public interface. To use it, application have to define two callbacks, which will return username and password dependending on bucket name and hostname/port of the endpoint.

      std::map< std::string, std::string > credentials = {
          {"protected", "secret"}
      extern "C" {
        static const char *get_username(void *cookie,
                                        const char *host,
                                        const char *port,
                                        const char *bucket)
            return bucket;
        static const char *get_password(void *cookie,
                                        const char *host,
                                        const char *port,
                                        const char *bucket)
            std::map< std::string, std::string > *credentials =
                static_cast<std::map< std::string, std::string > *>(cookie);
            return (*credentials)[bucket].c_str();

    and later pass these callbacks to authenticator like this:

      lcb_AUTHENTICATOR *auth = lcbauth_new();
      lcbauth_set_callbacks(auth, &credentials, get_username, get_password);
      lcbauth_set_mode(auth, LCBAUTH_MODE_DYNAMIC);
      lcb_set_auth(instance, auth);
  • Include platform/compiler into client id, which included into HELLO and HTTP requests.

  • Fix parallel build on Linux when dtrace enabled

  • cbc-proxy: proxy N1QL, FTS and Analytics queries using STAT command.

Platform Architecture File
Source Archive Any libcouchbase-2.8.4.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.4_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.4_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.4_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.4_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.4_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.4_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.4_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.4_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.4_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.4_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.4_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.4_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.4_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.4_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.4_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.4_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.4_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.4_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.4_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.4_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.4_amd64_vc14.zip

2.8.3 (November 22 2017)

Additions and bug fixes in this version:

  • CCBC-415: Fixes in IPv6 support. To use IPv6 addresses, the application should connect to IPv6-enabled Couchbase Server, and explicitly switch on option via connection string ipv6=allow or ipv6=only, where first variant permits the library to use both IPv6 and IPv4, and the second – disables IPv4. Alternatively this setting controlled with LCB_CNTL_IP6POLICY and lcb_cntl.

  • CCBC-872: Metrics management These metrics are intended at providing information on libcouchbase operations performed over the lifetime of the current lcb_t instance (processed request packets, processed response packets, request packets pending emission, server errors, server timeouts, misrouted operations, retried operations).

    Metrics collection is currently disabled by default. To enable metrics collection, the user should call:

      int activate = 1;
      lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_METRICS, &activate);

    Access to the collected metrics is done using:

      lcb_METRICS* my_metrics;
      lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_METRICS, &my_metrics);
  • CCBC-870: Fix updating URL on retry. When retrying HTTP request, instead of replacing just host:port part of the old URL, the library inserted full URL.

  • CCBC-547: Detect dead sockets under libuv.

  • Ensure macros safe by surrounding values with parentheses

Platform Architecture File
Source Archive Any libcouchbase-2.8.3.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.3_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.3_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.3_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.3_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.3_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.3_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.3_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.3_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.3_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.3_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.3_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.3_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.3_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.3_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.3_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.3_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.3_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.3_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.3_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.3_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.3_amd64_vc14.zip

2.8.2 (October 17 2017)

Additions and bug fixes in this version:

  • CCBC-833, CCBC-834: Update real cluster integration in the test suite.

  • CCBC-860: cbc-connstr: Do not zero out C++ instances.

  • CCBC-859: Fix libm shared object detection on Debian 9.

  • Bugs reported by clang analyzer:

    • CCBC-858: Fix memory leak for compressed packet.
    • CCBC-857: Fix possible NULL pointer dereference in mcreq_reserve_key.
    • CCBC-856: Initialize response struct in H_config.
    • CCBC-855: Fix dead assignments in contrib/genhash.
    • CCBC-854: Init vbguess array before entry lookup.
    • CCBC-853: cbc-proxy: do not use client object after free.
    • CCBC-852: Do not free memory twice in N1QL index manager.
Platform Architecture File
Source Archive Any libcouchbase-2.8.2.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.2_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.2_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.2_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.2_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.2_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.2_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.2_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.2_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.2_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.2_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.2_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.2_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.2_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.2_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.2_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.2_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.2_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.2_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.2_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.2_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.2_amd64_vc14.zip

2.8.1 (September 20 2017)

Additions and bug fixes in this version:

  • CCBC-817: Check nodes number for durability checks. The store with durability requirements will report more specific error when the library cannot fulfill the condition during failover.

  • CCBC-846: Handle enhanced error messages for subdoc operations. The subdoc responses will now expose context and reference ID if present.

  • CCBC-840: Discover and bootstrap analytics service from cluster configuration.

  • CCBC-835: Improve documentation of configuration parameters.

  • CCBC-838: Enable Error Map feature by default.

  • Cleanup and extend minimal, libeventdirect, instancepool examples

  • Tools:

    • improve error reporting
    • experimental subcommand cbc-proxy
    • fix memory leaks
    • retry store operations during population phase in cbc-pillowfight
Platform Architecture File
Source Archive Any libcouchbase-2.8.1.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.1_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.1_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.1_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.1_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.1_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.1_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.1_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.1_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.1_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.1_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.1_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.1_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.1_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.1_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.1_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.1_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.1_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.1_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.1_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.1_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.1_amd64_vc14.zip

2.8.0 (August 31 2017)

Known Isssues:

As reported in Issue CCBC-838, version 2.8.0 should have Error Maps enabled by default, but it does not. Users may work around this issue by specifying errmap_enable=true in connection string or setting it programmatically:

int enabled = 1;
lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_ENABLE_ERRMAP, &enabled);

Additions and bug fixes in this version:

  • Add support for OpenSSL-1.1.

  • Mask LOCKED status code for backward compatibility. This code (as well as others possible codes with 'item-locked' attribute) replaced with LCB_KEY_EEXISTS for SET, REPLACE and DELETE operations, and with LCB_ETMPFAIL for the rest.

  • Stop enumerating bootstrap nodes and mechanisms when the server returns authentication error.

  • Fixed double free error with lcb_ping3.

  • Exposed additional N1QL query parameters: lcb_n1p_readonly, lcb_n1p_scancap, lcb_n1p_pipelinecap.

  • Fixed cbc-subdoc/upsert without XATTR.

  • XERROR attributes synchronized with recent list on server.

  • Add missing documentation, and update stability of the API.

  • Do not throttle background configuration polling by throttle interval of configuration error handler.

  • Turn on background polling by default. The library will try to schedule configuration update every 2.5 seconds. To disable it use config_poll_interval=0.

Platform Architecture File
Source Archive Any libcouchbase-2.8.0.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.8.0_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.8.0_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.8.0_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.8.0_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.8.0_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.8.0_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.8.0_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.8.0_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.8.0_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.8.0_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.8.0_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.8.0_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.8.0_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.8.0_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.8.0_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.8.0_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.8.0_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.8.0_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.8.0_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.8.0_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.8.0_amd64_vc14.zip

2.7.7 (August 17 2017)

  • Implement new function lcb_ping3, which sends NOOP-like message to each service in the cluster and allows to measure latency along with health status of the connection. Might be useful for application-side keep-alive mechanisms.

  • Detect and expose bucket type through LCB_CNTL_BUCKETTYPE:

      lcb_BTYPE type;
      lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_BUCKETTYPE, &type);
  • Fixed setting expiration in subdoc mutations.

  • Fixed DNS SRV support of Fedora 26 and FreeBSD.

  • Fixed DNS SRV with SSL connections.

  • Define EREMOTEIO in libuv

  • New subdocument command to remove whole document

  • New cbc command: cbc-subdoc. It provides interactive shell, where all subdocument commands accessible to inspect and modify documents in the cluster.

  • New cbc command: cbc-ping. It sends NOOP-like messages to all accessible services in the cluster, and displays the status along with latency.

  • Fix cbc-cat --replica, which now allows reading documents from replicas.

  • Implement NOOP command and cbc-pillowfight --noop, which sends NOOP instead of data manipulation commands.

  • Clarify errors found in .cbcrc. Now it will display configuration path along with error message.

    • Issues: [CCBC-759](https://issues.couchbase.com/browse/CCBC-759]
  • Update examples:

    • Support username/password in subdoc and libeventdirect examples
    • Added example for subdoc XATTRs
  • Integrate fix for parallel build with dtrace on FreeBSD https://github.com/freebsd/freebsd-ports/commit/a71e1a86b851d42cd08319d9b28a4424e508e216

  • Make enhanced errors API public

  • Fixed various compiler and cppcheck warnings and documentation update.

Platform Architecture File
Source Archive Any libcouchbase-2.7.7.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.7_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.7_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.7_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.7_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.7_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.7_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.7_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.7_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.7_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.7_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.7_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.7_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.7_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.7_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.7_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.7_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.7_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.7_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.7_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.7_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.7_amd64_vc14.zip

2.7.6 (July 11 2017)

  • Expose enhanced errors for data commands. Couchbase Server 5 might return additional information about errors in the response body. According to SDK-RFC-28, the library allow user code to inspect this information using following functions:

    • lcb_resp_get_error_context(int, const lcb_RESPBASE *)
    • lcb_resp_get_error_ref(int, const lcb_RESPBASE *)

    They both return non-NULL strings if any of error information accessible. The lifetime of these fields limited by lifetime of the response object. * Issues: CCBC-781

  • Report contextualized error messages during negotiation. The event reference could be used to find more details about authentication errors in the server logs.
  • Specify correct protocol level for SO_KEEPALIVE. This fixes setting tcp_keepalive option on connections.
  • Implement Error Map Retries. This implements the mechanics needed to retry commands on various errors based on dynamic settings supplied via the error map.
  • Add cluster admin provider. This provider doesn’t do anything except serve as a source of management hostnames. And the library will fall back to it when bucket is not specified for cluster management connections.
  • Implement RBAC user management in cbc tools. In addition to examples/users, this can be a demonstration of new security APIs which appear in Couchbase Server 5.
  • Allow to inspect query errors in cbc-n1qlback. The command will write details for failed queries to file, specified with option --error-log.

  • Fix memory leak in io::Pool
  • Fix LCB_SDCMD_GET_FULLDOC. This would not actually work beforehand because the opcode it’s mapped to is 0, and we used 0 as a sentinel value for an invalid opcode within the subdoc implementation.
  • Add LCB_NOT_AUTHORIZED error code. This error code maps to Memcached’s EACCESS

  • Don’t send empty Authorization header for HTTP requests, If there’s no username and/or password
  • Internal refactoring:
    • io::Pool - remove empty dtor
    • Fix BadPluginEnvironment test on Fedora where libm.so is ld script
    • Add missing commands for cbc-help
  • Documentation update:
    • Add additional documentation for lcb_n1ql_cancel()
    • Typos
Platform Architecture File
Source Archive Any libcouchbase-2.7.6.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.6_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.6_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.6_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.6_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.6_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.6_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.6_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.6_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.6_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.6_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.6_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.6_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.6_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.6_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.6_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.6_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.6_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.6_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.6_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.6_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.6_amd64_vc14.zip

2.7.5 (May 17 2017)

  • Allow to disable sending the HELLO command when connecting to a server. Sending HELLO will cause a bootstrap failure with Couchbase Server 2.0 and older.

  • Fix error return value on reprepared query. Previously an error was returned if a N1QL query was reprepared, because the prior internal failure status was not updated.

  • Check for more N1QL error strings indicating the need to reprepare a statement.

  • Fix uninitialized memory issue when initializing lcb::Server and mc_PIPELINE

  • Couchbase 5.0 additions for Subdocument. This adds new protocol extensions for Couchbase 5.0. This consists of:

    • New LCB_SDCMD_SET_FULLDOC and LCB_SDCMD_GET_FULLDOC for full-doucument gets and sets via the subdoc API. This allows to access xattrs atomically with the document body.
    • New 'document flags'. These are in the form of LCB_CMDSUBDOC_F_.
    • Issues: CCBC-774
  • Fix bug where CCCP subsystem would be suspended indefinitely. CCCP subsystem would hang if an error was received for the config request itself.

  • Fix bootstrap with LCB_TYPE_CLUSTER. Previously bootstrap would fail because the client would not send proper credentials. Note that at this point, the default bucket must still exist.

  • Ignore empty DNS SRV replies. Some buggy DNS configurations return positive replies to SRV queries, but without actually containing any kind of A record as a response.

  • Enable background polling for configuration changes. This allows the client to periodically poll for configuration changes. This feature is disabled by default. You can use the config_poll_interval setting to enable it in the connection string.

  • Enable TCP Keepalive for newly created sockets. Newly created sockets have TCP keepalive enabled in order to avoid firewalls breaking connections due to inactivity. TCP Keepalive does not yet work for the libuv plugin (e.g. nodejs). You can use the tcp_keepalive=false directive in the connection string to disable it.

Platform Architecture File
Source Archive Any libcouchbase-2.7.5.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.5_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.5_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.5_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.5_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.5_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.5_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.5_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.5_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.5_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.5_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.5_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.5_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.5_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.5_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.5_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.5_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.5_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.5_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.5_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.5_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.5_amd64_vc14.zip

2.7.4 (April 21 2017)

  • Send SELECT_BUCKET command by default if server supports it. This enables new-style 'RBAC' authentication by default. In 2.7.3 users were required to use select_bucket=true in the connection string to enable this feature. In this version, the option is still available but is now mainly useful to disable it.

  • Improve lcb_AUTHENTICATOR API. This provides better documentation and some API/design/implementation fixes to the authenticator interface. The authenticator may be useful for integrators/wrappers who wish to correlate multiple credentials with their buckets. Note that the use of lcb_AUTHENTICATOR is not required for RBAC support. In order to use RBAC, simply make use of the username field in the lcb_create_st struct, or the usernameparameter in the connection string.

  • Fix bug where lcb_get_server_list() would return NULL.

  • Fix bug where client would not recover from failover. Clients from version 2.7.1 through 2.7.3 would not obtain a new cluster map after a node had been failed over (e.g. by hitting the "fail over" button in the UI).


Platform Architecture File
Source Archive Any libcouchbase-2.7.4.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.4_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.4_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.4_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.4_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.4_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.4_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.4_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.4_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.4_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.4_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.4_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.4_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.4_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.4_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.4_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.4_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.4_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.4_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.4_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.4_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.4_amd64_vc14.zip

2.7.3 (March 21 2017)

Known Isssues:

As reported in Issue CCBC-766, versions 2.7.1, 2.7.2, and 2.7.3 may result in a stuck client, where operations may consistently fail after a node has been failed over, even if a replica node is available. Users may work around this issue by:

  • Rebalancing the cluster
  • Bringing the failed over node online
  • Downgrading to 2.7.0 or lower.


Additions and bug fixes in this version:

  • Provide the ability to send the SELECT_BUCKET when establishing a to a server. This is a building block allowing us to use 'RBAC'/username auth in the future. Note that this requires the select_bucket=true option in the connection string or equivalent, and that this feature as a whole is considered experimental.

  • Provide an option to disable DNS-SRV lookups. Because DNS SRV lookups often result in no result (i.e. NXDOMAIN) - which takes longer, allowing to disable such lookups may speed up startup time. This option is available via the connection string, using dnssrv=off

  • Send client/user-specific identifier in User-Agent HTTP header. The library already does this for data nodes (Memcached). Using it in HTTP services allows better supportability when diagnosing issues by reading the HTTP logs.

  • Fix bug where DNS SRV hostnames would not be used. While DNS SRV lookup was working, the library would not actually attempt bootstrap off those received hostnames.

  • Provide experimental Analytics support. This allows access to the Couchbase Analytics Service, available in some pre-release builds. API and syntax wise, Analytics is very similar to N1QL. To use the analytics service, set the LCB_CMDN1QL_F_CBASQUERY bit in lcb_CMDN1QL::cmdflags, and provide the appropriate host:port combination in the lcb_CMDN1QL::host field. - Currently, analytics support is not used in the cluster map/configuration.

Platform Architecture File
Source Archive Any libcouchbase-2.7.3.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.3_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.3_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.3_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.3_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.3_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.3_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.3_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.3_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.3_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.3_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.3_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.3_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.3_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.3_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.3_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.3_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.3_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.3_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.3_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.3_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.3_amd64_vc14.zip


2.7.2 (February 21 2017)

Known Isssues:

As reported in Issue CCBC-766, versions 2.7.1, 2.7.2, and 2.7.3 may result in a stuck client, where operations may consistently fail after a node has been failed over, even if a replica node is available. Users may work around this issue by:

  • Rebalancing the cluster
  • Bringing the failed over node online
  • Downgrading to 2.7.0 or lower.

This release consists of additional internal refactoring and some improved logging messages. There is enhanced experimental XATTR support. This release also contains some bug fixes:

  • Fix build issues on FreeBSD. This allows normal BSD make to be used, rather than forcing gmake

  • Fixed broken JIRA link in README

  • Fix hanging SSL connections in IOCP/Completion mode. This would sometimes stall the connection by not requesting a write if a read was in progress. This would result in the command not being sent and the client hanging. Note that this only affects completion-style I/O plugins such as IOCP and libuv.

  • Rename LCB_SDSPEC_F_VIRTPATH to LCB_SDSPEC_F_MACROVALUES. VIRTPATH is intended for possible future materialized XATTRs.

  • Add LCB_SDSPEC_F_XATTR_DELETED_OK, which maps to the protocol flag of roughly the same name.


Platform Architecture File
Source Archive Any libcouchbase-2.7.2.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.2_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.2_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.2_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.2_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.2_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.2_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.2_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.2_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.2_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.2_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.2_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.2_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.2_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.2_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.2_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.2_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.2_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.2_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.2_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.2_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.2_amd64_vc14.zip

2.7.1 (January 20 2017)

Known Isssues:

As reported in Issue CCBC-766, versions 2.7.1, 2.7.2, and 2.7.3 may result in a stuck client, where operations may consistently fail after a node has been failed over, even if a replica node is available. Users may work around this issue by:

  • Rebalancing the cluster
  • Bringing the failed over node online
  • Downgrading to 2.7.0 or lower.

This release consists of additional internal refactoring. More internals have been converted to C++.

  • Provide XATTR (Extended Attribute) prototype support. This provides a prototype implementation of xattrs, allowing the client to access extended (hidden) attributes of a document. This feature can be used on the client side by simply setting the LCB_SDSPEC_F_XATTRPATH bit in the lcb_SDSPEC::options field.

  • Add automatic DNS SRV record lookup when simple hostname supplied. The library will now automatically attempt to look up SRV records for various couchbase services if only one host is present in the connection string. Automatic lookup will not be performed if more than a single host is provded. See the Java Documentationon the matter (go to the bottom of the page).

Platform Architecture File
Source Archive Any libcouchbase-2.7.1.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.1_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.1_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.1_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.1_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.1_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.1_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.1_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.1_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.1_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.1_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.1_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.1_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.1_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.1_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.1_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.1_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.1_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.1_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.1_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.1_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.1_amd64_vc14.zip

2.7.0 (December 21 2016)

This release contains many significant internal enhancements. It does not fix any known bugs or add any new features.

Platform Architecture File
Source Archive Any libcouchbase-2.7.0.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.7.0_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.7.0_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.7.0_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.7.0_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.7.0_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.7.0_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.7.0_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.7.0_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.7.0_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.7.0_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.7.0_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.7.0_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.7.0_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.7.0_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.7.0_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.7.0_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.7.0_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.7.0_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.7.0_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.7.0_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.7.0_amd64_vc14.zip

2.6.4 (November 28 2016)

  • Fix bug in pillowfight where large value sizes would cause a segfault.

  • Allow 64 bit values with cbc-incr and cbc-decr.

  • Fix encoding in lcb_n1p_setconsistent_token. This function would encode it as scan_vector but it should be scan_vectors.

  • Refactor negotiation internals to use C++. This is part of an internal refactoring to move our internals over to C++. This will make the code more manageable and extendable in the future.

Platform Architecture File
Source Archive Any libcouchbase-2.6.4.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.6.4_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.6.4_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.6.4_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.6.4_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.6.4_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.6.4_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.6.4_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.6.4_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.6.4_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.6.4_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.6.4_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.6.4_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.6.4_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.6.4_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.6.4_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.6.4_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.6.4_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.6.4_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.6.4_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.6.4_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.6.4_amd64_vc14.zip

2.6.3 (September 27 2016)

  • Fix memory corruption for some JSON APIs when no rows are returned. This fixes a bug where the JSON parser would read from garbage memory when parsing a response that had no rows, but due to a slow network, would be received in multiple chunks. This affects N1QL, CBFT, and View APIs.

  • Allow to adjust bytes to read per event loop iteration. This allows applications with high network throughput but low CPU capacity to prevent the library from oversaturating a specific event callback invocation or starve other sockets. It may be controlled through the read_chunk_size connection string option or via lcb_cntl_string.

  • Use htonll for CAS values. This allows a consistent representation of CAS values regardless of underlying platform. This allows interoperability between other SDKs with respect to exchanging CAS values. This however may break interoperability with older versions of the same SDK, if the CAS value is being passed around (which it shouldn't be).

  • New subdocument additions. This adds the LCB_SUBDOC_F_MKDOCUMENT flag which allows document creation if the document does not exist, and can be used for mutation operations which may create new paths or values. TheLCB_SUBDOC_CMD_GET_COUNT is also added, which is a new command which retrieves the number of elements (for an array) or key-value items (within an object/dictionary) of a given path. Both these features require Couchbase Server 4.6 (or its prereleases).

Platform Architecture File
Source Archive Any libcouchbase-2.6.3.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.6.3_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.6.3_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.6.3_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.6.3_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.6.3_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.6.3_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.6.3_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.6.3_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.6.3_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.6.3_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.6.3_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.6.3_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.6.3_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.6.3_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.6.3_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.6.3_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.6.3_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.6.3_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.6.3_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.6.3_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.6.3_amd64_vc14.zip

C SDK Version 2.6.2 (July 27 2016)

  • Don't crash on high number of FDs with select plugin. Because select(2) can only accomodate up to a certain number of file descriptors in the application, if opening a socket results in a too-high-numbered FD, the plugin will return an error rather than silently failing during polling.

  • Pillowfight can now set ttl (expiry). This is done via the -e or --expiry option.

  • Log URLs of HTTP requests. This may make it easier to debug some HTTP-based APIs. The URLs are printed as part of the TRACE logging level.

  • Fix crash on shutdown with completion-based I/O. The crash was a result of dereferencing the lcb_t after it had been destroyed. This bug affected completion-based I/O subsystems such as libuv and IOCP.

  • Do not require operation field to be set on lcb_CMDSTORE. Starting from this version, a new lcb_storage_t constant,LCB_UPSERT has been added with a value of 0. This means that upsert operations no longer need to explicitly useLCB_SET, it being the default.

Platform Architecture File
Source Archive Any libcouchbase-2.6.2.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.6.2_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.6.2_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.6.2_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.6.2_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.6.2_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.6.2_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.6.2_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.6.2_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.6.2_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.6.2_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.6.2_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.6.2_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.6.2_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.6.2_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.6.2_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.6.2_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.6.2_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.6.2_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.6.2_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.6.2_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.6.2_amd64_vc14.zip

C SDK Version 2.6.1 (June 21 2016)

  • Index management API now properly handles 'fields' field. Previously this was treated as a csv string, when it is in fact a JSON array.

  • pillowfight now has a --populate-only option, which is useful when simply trying to populate buckets with large amounts of data.

  • Allow to bypass OpenSSL initialization. This allows applications which already have OpenSSL intialization code in place to suppress libcouchbase's own OpenSSL initialization code. You can disable SSL initialization by usingssl=no_global_init in the connection string.

  • Allow to toggle sending of multiple credentials in N1QL queries. You can use the LCB_CMD_F_MULTIAUTH in thelcb_CMDN1QL::cmdflags field to indicate that multiple credentials should be added. Otherwise only the current bucket's credentials will be sent.

  • Fix infinite loop on completion (UV,nodejs,IOCP) type IO plugins. This bug would be triggered when only a single server remained in the cluster and that single server failed. This would result in the client never being able to perform operations due to a delayed reference count decrement.

Platform Architecture File
Source Archive Any libcouchbase-2.6.1.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.6.1_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.6.1_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.6.1_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.6.1_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.6.1_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.6.1_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.6.1_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.6.1_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.6.1_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.6.1_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.6.1_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.6.1_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.6.1_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.6.1_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.6.1_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.6.1_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.6.1_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.6.1_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.6.1_amd64_vc11.zip
Visual Studio 2015 x86 libcouchbase-2.6.1_x86_vc14.zip
Visual Studio 2015 x64 libcouchbase-2.6.1_amd64_vc14.zip

C SDK Version 2.6.0 (May 2016)

  • Improve index management API and implementation. The rawjson field was being ignored and the condition field was missing as well.
  • Add pillowfight support for subdoc. At the simplest level you can simply invoke pillowfight as cbc-pillowfight --subdoc --json <other args>. Refer to the pillowfight documentation for more details.
Platform Architecture File
Source Archive Any libcouchbase-2.6.0.tar.gz
Ubuntu 12.04 x86 libcouchbase-2.6.0_ubuntu1204_i386.tar
Ubuntu 12.04 x64 libcouchbase-2.6.0_ubuntu1204_amd64.tar
Ubuntu 14.04 x86 libcouchbase-2.6.0_ubuntu1404_i386.tar
Ubuntu 14.04 x64 libcouchbase-2.6.0_ubuntu1404_amd64.tar
Ubuntu 16.04 x86 libcouchbase-2.6.0_ubuntu1604_i386.tar
Ubuntu 16.04 x64 libcouchbase-2.6.0_ubuntu1604_amd64.tar
Debian Wheezy x86 libcouchbase-2.6.0_wheezy_i386.tar
Debian Wheezy x64 libcouchbase-2.6.0_wheezy_amd64.tar
Debian Jessie x86 libcouchbase-2.6.0_jessie_i386.tar
Debian Jessie x64 libcouchbase-2.6.0_jessie_amd64.tar
Enterprise Linux 6 x86 libcouchbase-2.6.0_centos62_i686.tar
Enterprise Linux 6 x64 libcouchbase-2.6.0_centos62_x86_64.tar
Enterprise Linux 7 x64 libcouchbase-2.6.0_centos7_x86_64.tar
Visual Studio 2008 x86 libcouchbase-2.6.0_x86_vc9.zip
Visual Studio 2008 x64 libcouchbase-2.6.0_amd64_vc9.zip
Visual Studio 2010 x86 libcouchbase-2.6.0_x86_vc10.zip
Visual Studio 2010 x64 libcouchbase-2.6.0_amd64_vc10.zip
Visual Studio 2012 x86 libcouchbase-2.6.0_x86_vc11.zip
Visual Studio 2012 x64 libcouchbase-2.6.0_amd64_vc11.zip