Couchbase Node.js Release Notes and Archives

    +
    Release notes, installation instructions, and download archive for the Couchbase Node.js Client.

    These pages cover the 4.x and 3.x versions of the Couchbase Node.js SDK.

    For release notes, download links, and installation methods for 2.6 and earlier releases of the Couchbase Node.js Client, please see the 2.x Node.js Release Notes & Download Archive.

    The Couchbase Node.js Client will run on any supported LTS version of Node.js.

    To install an older version, specify the version directly with npm. For example, to install version 3.2.4:

    $ npm install couchbase@3.2.4

    Version 4.1.2 (4 August 2022)

    Version 4.1.2 is the next minor release of the fourth generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@4.1.2

    New Features

    • JSCBC-1088: Switched to using NAPI prebuilds rather than Node.js version specific prebuilds. This enables prebuild compatibility with a wider range of Node.js versions, including Node.js 18 and in-development versions such as Node.js 19.

    Fixed Issues

    • JSCBC-1092: Fixed queries being executed as prepared instead of adhoc by default.

    • JSCBC-1054: Fixed issue with UTF-8 handling of binary documents.

    • Updated to latest dependencies.

    Known Issues

    • JSCBC-1011: Core IO logging is not forwarded through to Node.js.

    • JSCBC-1040: Distributed tracing is not yet supported.

    • JSCBC-1041: Replica reads are not yet supported.

    • JSCBC-1042: Legacy durability operations are not yet supported.

    Version 4.1.1 (13 June 2022)

    Version 4.1.1 is the next minor release of the fourth generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@4.1.1

    Fixed Issues

    • Updated to latest dependencies.

    Known Issues

    • JSCBC-1011: Core IO logging is not forwarded through to Node.js.

    • JSCBC-1040: Distributed tracing is not yet supported.

    • JSCBC-1041: Replica reads are not yet supported.

    • JSCBC-1042: Legacy durability operations are not yet supported.

    Version 4.1.0 (28 April 2022)

    Version 4.1.0 is the next minor release of the fourth generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@4.1.0

    New Features

    • JSCBC-956: Added ability to manage collection query indexes.

    Fixed Issues

    • JSCBC-1045: Added missing mutate_in path flag values from couchbase++.

    • JSCBC-1044: Fixed issue with double-encoding of search queries.

    • JSCBC-1067: Fixed issue with query parameters being double-encoded.

    • JSCBC-1058: Switched to using auto-generated bindings.

    • Fixed issue with durable operations not using user timeouts.

    • Fixed issue with creating indexes with no conditions.

    • Mark all new SDK 3.4 APIs as committed.

    • Updated to latest dependencies.

    • Various minor fixes.

    Known Issues

    • JSCBC-1011: Core IO logging is not forwarded through to Node.js.

    • JSCBC-1040: Distributed tracing is not yet supported.

    • JSCBC-1041: Replica reads are not yet supported.

    • JSCBC-1042: Legacy durability operations are not yet supported.

    Version 4.0.0 (18 February 2022)

    Version 4.0.0 is the first major release of the next generation Node.js SDK, built on the Couchbase++ library — featuring multi-document distributed ACID transactions, and bringing a number of improvements related to internal connection behaviour.

    $ npm install couchbase@4.0.0

    New Features

    • Cluster options are now sectioned into individual options blocks.

    • Support for distributed transactions has now been implemented.

    • Reimplemented the library using couchbase++.

    Fixed Issues

    • JSCBC-878: Diagnostics functions now returned fully typed results.

    • JSCBC-1007: first_error_message/first_error_code are no longer available on error contexts.

    • Search scan consistency included RequestPlus in error and it has now been removed.

    • Performing a GET operation against a locked document now retries internally.

    • The view query reduce option used to take a string in error, and now takes a boolean.

    • Following with Node.js EOL, v12 is now the minimum version.

    Known Issues

    • JSCBC-1011: Core IO logging is not forwarded through to Node.js.

    • JSCBC-1040: Distributed tracing is not yet supported.

    • JSCBC-1041: Replica reads are not yet supported.

    • JSCBC-1042: Legacy durability operations are not yet supported.

    • JSCBC-1044: Double-encoding issue when performing search queries.

    Version 3.2.4 (17 December 2021)

    Version 3.2.4 is the next minor release of the third generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@3.2.4

    Fixed Issues

    • JSCBC-923: Implemented FTS includeLocations and match operators.

    • JSCBC-919: Added support for XDCR custom conflict resolution.

    • JSCBC-955: Implemented storageBackend option in bucket management.

    • JSCBC-921: Added support for rate and quota limiting errors.

    • JSCBC-967: Use correct arguments indices for options.

    • Fixed crash that could occur during the shutdown of the Node.js runtime.

    • Improved handling of initial connection process.

    • Improved some tests to work more reliably.

    Version 3.2.3 (5 October 2021)

    Version 3.2.3 is the next minor release of the third generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@3.2.3

    New Features

    • JSCBC-930: Added support for AWS Graviton2.

    Fixed Issues

    • JSCBC-954: Fixed getAllScopes using the incorrect method.

    • JSCBC-952: Updated the tsconfig targeting to use the pre-defined Node 10 target, which will avoid various unnecessary polyfills.

    • JSCBC-951: Fixed view query serialization of booleans.

    Version 3.2.2 (16 Sept 2021)

    Version 3.2.2 is the next minor release of the third generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@3.2.2

    New Features

    • JSCBC-805: Users can now manage the Couchbase Eventing Service from the Node.js SDK client.

    • JSCBC-894: Updated SSL failure error messaging to improve debugging experience.

    Fixed Issues

    • JSCBC-937: Fixed segfault during connection GC.

    • JSCBC-938: Fixed segfault during v8 interpreter shutdown.

    • JSCBC-939: Fixed segfault related to logging after shutdown.

    • JSCBC-949: Fixed query getAllIndexes and watchIndexes to work with collection indexes.

    • JSCBC-948: Corrected issue with diagnostics calls failing on brand new connections.

    • JSCBC-945: Fixed some methods failing to parse optional callbacks correctly.

    • Updated libcouchbase to include the following fixes: CCBC-1494, CCBC-1487, CCBC-1488.

    Version 3.2.1 (26 Aug 2021)

    Version 3.2.1 is the next minor release of the third generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@3.2.1

    New Features

    • JSCBC-744: Added support for worker threads.

    Fixed Issues

    • JSCBC-910: Fixed segfault on connection GC.

    • JSCBC-933: Fixed issue with null/undefined logger callbacks.

    • JSCBC-918: Fixed issue with watchIndexes not returning.

    • JSCBC-913: Fixed issue with incorrect role names being returned from user management APIs.

    • JSCBC-911: Fixed MutateInSpec.insert options not being optional.

    • JSCBC-905: Fixed drop collection returning FeatureNotAvailable in error.

    • Updated all dependencies to latest versions.

    • Updated to libcouchbase 3.2.1.

    Version 3.2.0 (21 July 2021)

    Version 3.2.0 is the next minor release of the third generation Node.js SDK, bringing a number of improvements.

    $ npm install couchbase@3.2.0

    New Features

    • JSCBC-883: Reimplemented the library with TypeScript.

    • JSCBC-806: Added ability to specify collections to search query.

    • JSCBC-886: Added ability to specify raw search query options.

    • JSCBC-770/ JSCBC-838: Implemented metrics and tracing.

    • JSCBC-707: Added test to confirm query streaming works properly.

    • JSCBC-900: Fixed issue with some search query options.

    • JSCBC-901: Added workaround for deferring HTTP operations.

    • JSCBC-858: Fixed issue where FeatureNotAvailable was thrown in error.

    • JSCBC-903: Fixed issue with incorrect subdocument macro value.

    • JSCBC-832: Implemented preserveExpiry functionality.

    • JSCBC-762: Added support for managing analytics remote links.

    • JSCBC-763: Added support for compound data-verse names.

    Fixed Issues

    • JSCBC-870: Updated mutateIn to use StoreSemantics.

    • JSCBC-876: Fixed BucketSettings evictionPolicy naming.

    • JSCBC-871: Fixed issue where unhandled exceptions could be thrown.

    • JSCBC-860: Fixed issue with flushEnabled not being retrieved correctly.

    • JSCBC-829: Fixed segfault on failed management operations.

    • JSCBC-825: Fixed definition of search facets in queries.

    • JSCBC-873: Renamed GetResult.expiry to GetResult.expiryTime to match spec.

    • JSCBC-869: Updated Unlock not to return a Result, it is never valid.

    • JSCBC-872: Updated CouchbaseSet remove to use the correct CAS.

    • JSCBC-875: Fixed watchIndexes using the wrong argument number.

    • JSCBC-836: Fixed property name for configuring bucket replica count.

    • JSCBC-863: Added additional tests for cas mismatch errors.

    • JSCBC-864: Fixed issue with error handling in LookupIn and MutateIn.

    • JSCBC-862: Fixed export typo causing failed query index manager construction.

    • JSCBC-882: Added missing getAllScopes method to CollectionManager.

    • JSCBC-811: Updated scopes/collections APIs to match latest specification.

    • Added deprecation warning to calling Cluster constructor.

    • Fixed deprecation warning caused by callback invocation.

    • Added Mac arm64 config to allow test builds with M1.

    • Fixed issue where bucket manager tests would fail in error.

    • Fixed issue with test cleanup handling.

    • Refactored LookupInMacro / MutateInMacro to work better with TypeScript.

    • Fixed HTTP errors not containing context in some cases.

    • Fixed some IndexMissing errors appearing as undefined errors.

    • Fixed UserManager parsing of User objects.

    • Fixed UserManager parsing of ldapGroupReference field.

    • Fixed chaining of the MutationState.add method.

    • Refactored all tests to properly pass lint checks with Typescript.

    • Rewrote documentation to integrate with Typescript.

    • Switched to using typedoc rather than jsdoc.

    • Deprecated Node.js 8 support as it is now EOL.

    • Updated all dependencies to latest versions.

    • Updated to the latest Typescript version.

    • Updated to libcouchbase 3.2.0.

    Version 3.1.3 (5 May 2021)

    Version 3.1.3 is a patch release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.1.3

    Fixed Issues

    • JSCBC-884: Fixed a number of memory access issues.

    • JSCBC-881: Fixed memory leak due to missing cell dereferences.

    • Updated to libcouchbase 3.1.2.

    • Updated all dependencies to latest versions.

    Version 3.1.2 (9 April 2021)

    Version 3.1.2 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.1.2

    Fixed Issues

    • JSCBC-856: Fixed memory leak with trace span management.

    • JSCBC-850: Fixed some connection options not propagating to bucket connections.

    • JSCBC-849: Fixed some query errors returning the incorrect errors.

    • Updated to libcouchbase 3.1.0.

    • Updated all dependencies to latest versions.

    Version 3.1.1 (13 January 2021)

    Version 3.1.1 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.1.1

    Fixed Issues

    • JSCBC-835: Deprecated maxTTL in favor of maxExpiry.

    • JSCBC-834: Fixed createCollection not working with default expiry.

    • JSCBC-824: Added missing options docs for Increment/Decrement.

    • JSCBC-828: Fixed view-query 0 limit queries.

    • JSCBC-823: Fixed serialization of views docid fields.

    • JSCBC-822: Fixed view ordering behaviour.

    • Updated to libcouchbase 3.0.7.

    • Updated all dependencies to latest versions.

    Version 3.1.0 (2 December 2020)

    Version 3.1.0 is a minor release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release, and adding features to support Couchbase Server 6.6.

    $ npm install couchbase@3.1.0

    New Features

    • JSCBC-761: Added support for specifying minimum bucket durability.

    • JSCBC-787: Added option to disable search scoring.

    Fixed Issues

    • JSCBC-820: Reduced calls to debug.extend.

    • JSCBC-772: Added missing partition information to query indexes.

    • JSCBC-818: Fixed issue where analytics query context was not sent.

    • JSCBC-812: Updated CollectionManager to throw errors when collections are not supported.

    • JSCBC-816: Fix cluster errors not propagating for http methods.

    • JSCBC-815: Fixed seg-fault due to re-using consumed va_list.

    • Various documentation updates.

    • Updated typescript definitions file.

    • Updated all dependencies to latest versions.

    Version 3.0.7 (6 November 2020)

    Version 3.0.7 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.0.7

    New Features

    • JSCBC-773: Added query collections support.

    • JSCBC-803: Added support for pinging at a cluster level.

    Fixed Issues

    • JSCBC-692: Updated transcoders to bubble errors.

    • JSCBC-799: Improved error handling for deferred operations.

    • JSCBC-756: Updated xattr helpers to be consistent.

    • JSCBC-755: Added support for multi-value sub-document array ops.

    • JSCBC-821: Added missing MutationState implementation.

    • JSCBC-797: Resolved a number of typescript typings errors.

    • JSCBC-724: Added a test case to confirm queries also cancel.

    • Added docs and types generation to make check.

    • Various minor documentation updates.

    • Updated to libcouchbase 3.0.6

    • Updated all dependencies to latest versions.

    Version 3.0.6 (3 September 2020)

    Version 3.0.6 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.0.6

    New Features

    • JSCBC-786: Added uncommitted collections support for user management.

    • JSCBC-743: Added high-level options for basic configuration.

    • JSCBC-788: Added high-level options for specifying certificates.

    • JSCBC-686: Added auto generation of TypeScript types using JSDoc.

    Fixed Issues

    • JSCBC-784: Fixed some results using value instead of content.

    • JSCBC-758: Improved view scan consistency handling.

    • Updated to libcouchbase 3.0.4.

    • Updated all dependencies to latest versions.

    • Various minor documentation updates.

    • Various other minor fixes.

    Version 3.0.5 (6 August 2020)

    Version 3.0.5 is a release of the third generation Node.js SDK.

    $ npm install couchbase@3.0.5

    Fixed Issues

    • Updated all dependencies to latest versions.

    • Various minor documentation fixes.

    Version 3.0.4 (17 June 2020)

    Version 3.0.4 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.0.4

    Fixed Issues

    • JSCBC-759: Fixed binary data being interpreted as UTF-8.

    Version 3.0.3 (14 June 2020)

    Version 3.0.3 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.0.3

    Fixed Issues

    • JSCBC-702: Fixed MaxExpiry not being specifiable when creating a collection.

    • JSCBC-757: Fixed CreateCollection parameters not matching specification.

    • JSCBC-698: Fixed MutateIn placeholders not being handled correctly.

    • JSCBC-751: Fixed documentation of SearchIndexManager.

    • JSCBC-754: Don’t swap in a bucket name when none is used.

    • Updated all dependencies to latest versions.

    • Updated to libcouchbase 3.0.2

    • Various other minor fixes.

    Known Issues

    • JSCBC-759: Buffer objects containing non-UTF8 data can become mangled when inserting them into a bucket or collection. This has been corrected in 3.0.4.

    Version 3.0.2 (7 May 2020)

    Version 3.0.2 is a release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.0.2

    Fixed Issues

    • JSCBC-715: Fixed issue with sending highlight option with Search queries.

    • JSCBC-727: Fixed views API to use correct casing on parameter names.

    • JSCBC-676: Fixed view queries to return expected row object data.

    • JSCBC-728: Fixed user management sometimes failing to deserialize users.

    • JSCBC-729: Fixed user management user upsert not sending roles.

    • JSCBC-730: Fixed lookupIn method to return content not results.

    • JSCBC-714: Fixed mutateIn not including counter results in return object.

    • JSCBC-700: Fixed issue with analytics named parameters causing query failures.

    • JSCBC-701: Fixed custom search query timeouts causing query failures.

    • Updated all dependencies to latest versions.

    • Updated to libcouchbase 3.0.1

    • Various other minor fixes.

    Known Issues

    • JSCBC-759: Buffer objects containing non-UTF8 data can become mangled when inserting them into a bucket or collection. This has been corrected in 3.0.4.

    Version 3.0.1 (20 March 2020)

    Version 3.0.1 is the second release of the third generation Node.js SDK, bringing enhancements and bugfixes over the last stable release.

    $ npm install couchbase@3.0.1

    New Features

    • Updated to libcouchbase 3.0.1

    Fixed Issues

    • JSCBC-669: Fixed CAS not being returned in some cases.

    • JSCBC-682: Fixed N1QL parameter options parsing.

    • JSCBC-666: Fixed ConjunctionSearchQuery not being able to add queries.

    • JSCBC-665: Fixed search query not using the correct indexes.

    • JSCBC-677: Fixed search query consistency not being set in some cases.

    • JSCBC-668: Fixed an UnhandledPromiseRejection error which could occur.

    • JSCBC-673: Improved handling of cluster closing.

    • JSCBC-711: Fixed a case where closing connections could trigger a segfault.

    • JSCBC-695: Fixed issue with the use of custom connection string options.

    • JSCBC-683: Fixed inconsistent metrics data from query service.

    • Updated to latest version of all dependencies.

    • Adjusted prebuilt binaries to match currently support Node.js versions.

    Known Issues

    • JSCBC-759: Buffer objects containing non-UTF8 data can become mangled when inserting them into a bucket or collection. This has been corrected in 3.0.4.

    Version 3.0.0 (20 January 2020)

    This is the first GA release of the third generation Node.js SDK.

    $ npm install couchbase@3.0.0

    New Features

    • Updated to libcouchbase 3.0.0

    Fixed Issues

    • JSCBC-653: Fixed transcoding in getReplica and getAndTouch.

    • JSCBC-650: Improved stream wrappers to support both events and async/await.

    • JSCBC-657: Fixed some error double-translation issues.

    • JSCBC-652: Fixed issue with data structures exist checks.

    • JSCBC-655: Fixed search query constructors not being exported.

    • JSCBC-656: Renamed QueryProfile to QueryProfileMode.

    • JSCBC-639: Updated tests to reflect updated libcouchbase behaviour.

    • JSCBC-654: Updated to the latest mock to resolve test issue.

    • JSCBC-647: Marked all error contexts as uncommitted.

    • JSCBC-596: Marked defaultScope, scope, and collection methods uncommitted.

    Known Issues

    • JSCBC-759: Buffer objects containing non-UTF8 data can become mangled when inserting them into a bucket or collection. This has been corrected in 3.0.4.

    Pre-releases

    Numerous Alpha and Beta releases were made in the run-up to the 3.0 release, and although unsupported, the release notes and download links are retained for archive purposes here.

    Older Releases

    Although no longer supported, documentation for older releases continues to be available in our docs archive.