A newer version of this documentation is available.

View Latest

Release Notes for Couchbase Server 5.0.x


    Couchbase Server 5.0 delivers exciting capabilities for cross datacenter replication, security, query, search, tools, and application development. Take a look at What’s new for a list of new features and improvements that are available in this release.

    Release 5.0.1

    Couchbase Server 5.0.1, released in December 2017, supersedes version 5.0.0 released earlier this year. Version 5.0.1 is the first maintenance release in the 5.0.x series for Couchbase Server.

    Fixed Issues

    Cross Datacenter Replication (XDCR)

    Issue Description


    Revision-based conflict resolution did not work as expected as the revision number was not updated for a create that immediately followed a delete operation. The revision number of a deleted document was updated after the item was added to the checkpoint queue, which meant that when you recreate that document, the revision number was not being replicated intra-cluster or via XDCR. This has been fixed.


    Issue Description


    The "default" bucket is a bucket that in versions prior to 5.0 was either suggested or automatically created for users during the install and configuration process with a goal of being compatible with memcached out of the box. As its intention was to allow users to quickly get started with Couchbase it permitted anonymous access, consistent with memcached behavior. Starting 5.0, all buckets require authenticated access.

    However, there was a bug in 5.0.0 where under certain circumstances anonymous access could be allowed to the bucket. This issue only affected a bucket with the name "default" and could only be triggered by an authenticated user with administrative permissions. This issue has been fixed.


    Issue Description


    The couchbase-cli cluster-init command failed to initialize all services in the Community Edition as the default storage mode incorrectly pointed to Plasma, which is available in the Enterprise Edition, instead of ForestDB.

    Release 5.0.0

    Couchbase Server 5.0.0 was released in October 2017. This release includes new features and behavior changes. The following sections list the behavior changes, fixed issues, known issues, and deprecated items.

    Major Behavior Changes Compared to Version 4.6

    Here are the behavior changes in the product, compared to the previous (4.6.x) release.

    • Newly created buckets in 5.0 (including sample buckets) do not have any passwords associated with them. To access a bucket, a user must be created with appropriate roles to access using RBAC. See Bucket Full Access for details.

    • Important: Many 5.0 features require the latest versions of Couchbase SDK. It is critical to update the SDK before updating to 5.0. Upgrade according to the SDK versions listed in the SDK Compatibility chart below.

    • The TAP protocol which was previously deprecated, is now removed. TAP is an internal protocol that streams information about data changes between cluster nodes. TAP is replaced with a new protocol called Database Change Protocol (DCP).

    • Starting 5.0, port based buckets can only be created now through the bucket CLI command. Use the bucket-create command to create a port based bucket.

      Server-side moxi which drives port based bucket creation has been deprecated. Consider using client-side moxi instead.
    • For Windows, .exe installers were removed in version 5.0 and replaced with industry-standard MSI installer files. Consequently, any upgrade on Windows from a pre-5.0 version of Couchbase will need to be done via a rolling upgrade.

      When upgrading Couchbase on a Windows node during a rolling upgrade, you must uninstall any version of Couchbase that is older than 5.0, and then do a fresh installation of 5.x.x before adding the node back into the cluster. This is because the new MSI installer is not compatible with pre-existing installations that are older than 5.0.

    • Re-designed Couchbase Web Console.

    Known Issues and Limitations

    The following table lists some of the known issues in this release.

    Issue Description


    Summary: The "default" bucket is a bucket that in versions prior to 5.0 was either suggested or automatically created for users during the install and configuration process with a goal of being compatible with memcached out of the box. As its intention was to allow users to quickly get started with Couchbase it permitted anonymous access, consistent with memcached behavior. Starting 5.0, all buckets require authenticated access. Also in 5.0 there is a bug where under certain circumstances anonymous access can be allowed to the bucket. This issue only affects a bucket with the name "default" and can only be triggered by an authenticated user with administrative permissions. This issue will be fixed in the next maintenance release.

    Workaround: Do not define a bucket named "default" in your cluster configuration.


    Summary: Creating two XDCR replications to the same cluster with different users is not supported.


    Summary: When using Couchbase Server 5.0 with Sync Gateway 1.5+ and the Mobile Convergence feature is enabled in Sync Gateway (enable_shared_bucket_access), the count of non-resident documents reported in the UI may be incorrect.


    Summary: Rebalance failure is observed if the index planner takes a long time ( > ns-server timeout) to execute.


    Summary: Rebalance exits when loading the memcached RBAC file.


    Summary: During a rebalance, if the destination node for a particular vBucket already has a previous, outdated version of that vBucket then the rebalance can initially fail.

    Workaround: Retry the rebalance; the second attempt should succeed.


    Summary: When a source topology changes, while the docs_processed and changes_left stats are both recomputed, only the changes_left stats in the statistics overview are updated. This leads to incorrect docs_processed and incorrect, potentially negative changes_left statistics.


    Summary: Potential corruption of documents with extended attributes(XATTRs) during high concurrency.

    If a document contains extended attributes (XATTRs) and a Key/Value mutation request changes one of those XATTRs, the previous XATTR values are written to in a non-atomic way. This means that there is a potential race if another concurrent request was also accessing the same document at the same time. The other request could read a partial or corrupted value for the document.

    Note that this issue is believed to be very rare and has only been seen under synthetic data race analysis.

    Workaround: Do not modify XATTRs on documents which already have them.


    Summary: Data Service returns TEMP_FAIL for locked keys instead of LOCKED.

    Data Service 5.0 adds extended error codes (XERROR) to provide richer error handling between newer, smart SDKs and the server. As part of this, attempting to mutate a document which is locked should return ERROR_LOCKED, however it incorrectly returns TEMP_FAIL.

    Workaround: Check for both LOCKED and TEMP_FAIL error codes when using pessimistic locking.


    Summary: When you upgrade the source node in a unidirectional replication from 4.1 to 4.6, the GoGC global setting was set to 0 instead of a higher number.


    Summary: Resuming a backup process on ephemeral buckets fails if there was a data service rollback in the original backup that failed. This issue is observed when there is a failover shortly after starting the first backup in a backup repository. removing the original backup.

    Workaround: Remove the original backup by using the --purge flag and then start the backup process again.


    Summary: UI errors in XDCR are observed even though XDCR continues to function.


    Summary: Performance issues may be observed when running Couchbase Server on CentOS 7.3 with kernel 3.10.0-514.6.


    Summary: The Full Text Search service doesn’t delete pindex files when deleting the index after a MOSS crash.


    Summary: Full Text Search queries fail under high load on multi-node cluster due to a large number of connections.


    Summary: The rebalance progress reported during delta recovery is confusing as certain phases like warmup are not tracked.

    This section lists some of the limitations in different areas across the product:

    Area Description

    Powerful Query, Indexing, and Search

    • Index Replicas Placement

      When deciding the index nodes to place index replicas, the system takes into account to not place replicas onto the same node, and to distribute the replicas across as many server groups as possible. It then chooses the nodes the have the fewest number of indexes to place the replicas. In the future, we will improve the replica placement algorithm to better optimize the memory, CPU, and disk usage across the index nodes.

    • Index Rebalance

      When adding new indexer nodes to a cluster to increase the capacity for indexes, the system will not move existing indexes onto the new nodes. To rebalance indexes from existing nodes to the new nodes, user needs to eject the existing nodes and add the new nodes. The system will then move indexes from the ejected nodes to the new nodes while balancing resource utilization. This is known as swap rebalance.

      Rebalance will not take into consideration any explicit index placement specified when an index was created. A user cannot perform create/drop/build index during index rebalance.

    • Online Index Upgrade

      To perform online upgrade from version 4.x, you need to make sure all indexes on an index have at least one equivalent index (index with same definition) on other nodes. One then fails-over the index node, upgrades the node to version 5.0, and then adds the node back to the cluster. While the node is failed-over, the equivalent indexes on other nodes will be leveraged for queries.

      Once the system has been upgraded to 5.0, you can use swap rebalance to perform online upgrade to future versions.


    If you are using GSI indexes with a previously GA’d release of Couchbase (such as 4.x) or Couchbase 5.0 Beta versions, we suggest that you drop the older index definitions and recreate them using 5.0 GA version with Plasma, the newly introduced storage engine for GSI.

    N1QL Application Continuity:

    In 5.0 Beta 1 release, N1QL introduced multiple performance enhancements enabled by a new internal protocol between Query and Index services. While upgrading large Couchbase cluster deployments, the cluster may be in a state where different Couchbase services are running on different versions. In such scenarios, this feature ensures seamless continuity for N1QL queries and applications irrespective of whether the query and indexing services are running a 4.x or 5.0 version. The N1QL clients can avail the 5.0 features and performance only when the issued query is processed by 5.0 query and indexing services.

    Many 5.0 features require the latest versions of Couchbase SDK. It is critical to update the SDK before updating to 5.0. Upgrade according to the SDK versions listed in the SDK Compatibility chart.

    We’ve replaced the Windows .exe installers with industry-standard MSI installer files in this release. Consequently, only rolling upgrades from 4.x or earlier versions to 5.0 are supported.

    SDK Compatibility

    Many 5.0 features require you to upgrade your client SDK versions. The minimum versions that support the latest 5.0 features are shown below, newer versions are available through the Release Notes link. Regardless of needing new features, it is always advised to upgrade to the newest SDK version.

    SDK Min. Version for 5.0 Reference



    Release notes



    Release notes



    Release notes



    Release notes



    Release notes



    Release notes



    Release notes

    Fixed Issues

    This section lists some of the important fixed issues in this release.

    Data Service

    Issue Description


    The TOUCH command modifies a document and updates a CAS value too. However, the result of TOUCH incorrectly used a pre-updated CAS value and did not reflect the updated CAS.


    Improvements to ForestDB’s thread handling for improved compaction.


    Fixed inconsistency in curr_items with full reviction on Data Greater than Memory (DGM).


    When an item is locked and there’s actually a lot of load on the server, the server now returns a PROTOCOL_BINARY_RESPONSE_LOCKED response to the client application if the client application has enabled extended error codes.

    Full Text Search Service

    Issue Description


    To improve readability, the stat keys in section mossScope are now sorted.


    The FTS ports now adjust SSL cipher levels based on the COUCHBASE_SSL_CIPHER_LIST environment variable. SSL ciphers can be set to LOW, MEDIUM, or HIGH(default) levels.


    Improved error messages for the following scenarios:

    • Creating an index with a name that already exists.

    • Creating an alias without target index.


    Improved memory usage and resource containment for Full Text Indexes.


    We’ve removed the Byte Array Converter dropdown on the Advanced tab of the Full Text Index editor as it contained a single value that couldn’t be changed.

    Note that index definitions created in earlier releases will not work unless you remove the "byte_array_converter": "json" attribute value pair from the index definition JSON.

    Indexing Service

    Issue Description


    Duplicate partitions removed during rebalance to prevent OOM (Out Of Memory error), and subsequent recovery problems.


    As part of a number of improvements to logging, fixed an issue where couchdb.log wrapped too quickly.


    For an index that was built with defer_build:true, the CREATE INDEX statement on the Indexes tab showed an invalid N1QL statement that could not be copied to run as is using cbq or the Query Workbench.


    Issue Description


    Installing and running Couchbase Server as a non-root and non-sudo user is now supported.

    Query Service

    Issue Description


    Query Service authentication failed when the password contained a colon (":") character.


    When fetching data, if the data node failed to respond due to some reason, the query could hang as there was no timeout specified. This has been addressed by passing the query request timeout parameter when fetching data.


    The monitoring view for running queries provides details such as the node that’s processing the request, the client IP that initiated the request, and the running program type (i.e. WorkBench, CBC, Java, .NET, CBQ, etc.). This helps isolate rogue queries and unauthorized access.


    Inserting a numerical value using a N1QL query caused the value to be stored in scientific notation.


    In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes.


    When using ARRAY expressions, query service may rarely panic with error referring to ‘slice allocations’.


    The UPDATE, INSERT, UPSERT statements may fail with the error message: "Panic: : runtime error: slice bounds out of range", when running with increased pipeline_batch settings.


    The query engine may intermittently throw error code 12008 because of a memory allocation failure.


    The command line shell for N1QL, cbq, now connects to 8091 with http and 18091 with https by default when the port is not specified.


    The SELECT RAW did not take ORDER BY into account, thus the results were not ordered.


    Fixed an issue where a covered query with meta().type in the WHERE clause gave in correct results.


    Issue Description


    The secrets management feature fails to encrypt secrets larger than 4KB (such as SSL certificates). This causes the cluster manager to unexpectedly terminate when saving the cluster configuration to disk.


    You can now specify a SSL cipher list on Windows platform.


    Issue Description


    On Windows platform, the cbimport tool failed to import a tab delimited CSV file where the tab is specified using '\t' or '\\t'.


    The cbbackupmgr merge command did not function correctly and caused data corruption under the following circumstances:

    • The bucket being backed up was flushed between incremental backups.

    • The bucket being backed up was deleted and re-created in between incremental backups.

    • The bucket had not been backed up between a document’s deletion and the metadata for that deleted document being purged.

    • There had been a failover between incremental backups of the bucket.


    Xmem XDCR network bandwidth can now be throttled if desired.

    Web Console

    Issue Description


    The AutoComplete feature for the password field on the Web Console has been disabled.


    The text displayed when changing the RAM quota for a bucket was misleading and has been fixed to reflect the actual ranges that the server will allow the bucket to be sized within.


    The Web Console document browser for a bucket displays the ID and content sample of the documents in the bucket. The UI displayed only the first 16 characters and affected usability when viewing documents with keys longer than 16 characters. This has been fixed to display the full key name and wrap to the next line if needed.


    Issue Description


    The XDCR target topology change detection process resulted in a large number of open connections which caused a high CPU usage. This has been fixed by reducing the number of connections to the target bucket.


    If a mutation needs to be resent, sent_time is updated so that next mutation can be sent at the appropriate interval.


    Fixed a replication connection leak caused by a failure to close connections to source nodes from the pipeline supervisor when replication was stopped.


    Reduced default GoXDCR DCP checkpoint interval to 10 minutes for better progress during disruptions.


    The XDCR network bandwidth can now be tuned using the Bandwidth Usage Limit parameter either from the Web Console or by using the couchbase-cli xdcr-replicate command.


    Replication was stuck when some DCP streams were inactive for a long period and resulted in a race condition when the server tried to restart the inactive DCP streams.

    New Supported Platforms

    This release adds support for the following platforms:

    • Oracle Linux 7

    • SUSE Linux Enterprise Server (SLES) 12

    • Ubuntu 16.04

    • Windows Server 2016

    See Supported Platforms for the complete list of supported platforms.

    Deprecated Features and Platforms

    Starting with this release, the following platforms are no longer supported:

    • Amazon Linux 2014.03

    • macOS 10.10

    • Ubuntu 12.04

    • Windows Server 2008

    See Supported Platforms for the complete list of supported platforms.

    The following functionality is deprecated, will be deprecated or is unsupported.

    Function Description

    CLI setting-ldap command

    This command is deprecated in this release. Use the admin-role-manage command instead.


    The BASE64() function is deprecated since version 4.5; use the function BASE64_ENCODE() instead.

    Also, use the BASE64_DECODE() function to reverse the encoding done by BASE64_ENCODE().

    Server-side moxi proxy is deprecated in Couchbase Server and CLI

    Use Couchbase client SDKs or client-side moxi in your applications.

    CRAM-MD5 for bucket authentication

    Use SCRAM protocol supporting clients for bucket authentication starting Couchbase Server version 4.5.

    Deprecate XDCR API from /internalSettings REST endpoint in 4.5

    /Settings/replications REST endpoint will be available for all replication settings and provides the same functionality.

    N1QL: Deprecated the use of path-expressions in FROM and JOIN clauses.

    FROM and JOIN clauses should use only keyspaces. Paths can be used for expressions in other clauses, operators, projections, and so on.

    For example:

    SELECT count(*) FROM `travel-sample`.schedule;

    can be rewritten as:

    SELECT count(*)  FROM `travel-sample` WHERE schedule IS NOT MISSING;

    CAPI based XDCR is deprecated.

    CAPI based XDCR is deprecated and will be removed in a future version of Couchbase Server.

    Note that the support for Elasticsearch Plugin has not been removed. However, the Elasticsearch Plugin may be modified in the future to use an alternative connection method such as DCP or XMEM XDCR (XDCR v2).

    Couchbase Enterprise Backup and Restore tool

    The tools, cbbackup and cbrestore, are deprecated from the Enterprise Edition. We recommend replacing these old tools with the new enterprise backup and restore tool introduced in version 4.5, cbbackupmgr.

    Standard Global Secondary Indexes

    A new high performance storage engine for GSI, Plasma, replaces the existing GSI storage engine which is deprecated.