SDK Release Notes

      +
      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 (both matching the 3.x SDK API, see the compatibility page).

      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 4.3.1:

      $ npm install couchbase@4.3.1

      Node.js SDK 4.4 Releases

      We always recommend using the latest version of the SDK — it contains all of the latest security patches and support for new and upcoming features. All patch releases for each dot minor release should be API compatible, and safe to upgrade; any changes to expected behavior are noted in the release notes that follow.

      Version 4.4.4 (25 November 2024)

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

      $ npm install couchbase@4.4.4

      Enhancements

      • JSCBC-1261: Support added for Binary Objects in Transactions.

      • JSCBC-1282: Updated user management API to use C++ core.

      • JSCBC-1283: Updated analytics index management API to use C++ core.

      • JSCBC-1284: Added SDK3 Raw Transcoders.

      • JSCBC-1287: Improved testing for User management APIs.

      • JSCBC-1288: Improved testing for Analytics index management.

      • JSCBC-1302: Unit tests added for the PromiseHelper utility class.

      • JSCBC-1304: Updated user agent extra passed to C++ core.

      • JSCBC-1305: Binary transactions can now use the RawBinaryTranscoder.

      • JSCBC-1297, JSCBC-1306: Updated API Reference and README.

      Fixes

      • JSCBC-1286: Added KV RangeScan to API Reference.

      • JSCBC-1289: Analytics index management link connect/disconnect updated to match RFC.

      • JSCBC-1290, JSCBC-1291, JSCBC-1292: Analytics index management link APIs now correctly return InvalidArgumentError rather than CouchbaseError.

      • JSCBC-1294: User management APIs now correctly return InvalidArgumentError rather than CouchbaseError.

      • JSCBC-1295: User management’s upsertUser was not being properly applied to all members of any groups passed to it. This has now been fixed.

      • JSCBC-1296: User management getUser’s `passwordChanged field for an external user war returning an Invalid Date. The internal logic for this has been updated, with an undefined field now allowed, and the problem is fixed.

      • JSCBC-1298: Removing the chained promise.then().callback() in PromiseHelper will now prevent the double invocation of the callback.

      Known Issues

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

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

      • JSCBC-1311: PromiseHelper utility can trigger uncaught exception.

      Underlying C++ SDK Core Changes

      Fixes
      • CXXCBC-611, CXXCBC-612: The C++ SDK now follows RFC naming for metric operation names (#695).

      • CXXCBC-615: The C++ SDK now exposes insert_raw and replace_raw in the core transactions attempt context (#686).

      • CXXCBC-620: Updated core analytics_link_get_all to follow the RFC (#687).

      • CXXCBC-624: Fixed user agent ID generation (#692).

      • CXXCBC-632: A crash on testing against Analytics nodes under rebalance was caused by the assumption that Analytics would always send meta fields in its response. This has now been fixed, and the behoavior should not recur (#699).

      Version 4.4.3 (22 October 2024)

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

      $ npm install couchbase@4.4.3

      Fixes

      • JSCBC-1281: Updated C++ core to include fix to allow detection of dysfunctional node.

      Enhancements

      • JSCBC-1280: Added ability to use C++ core file logger.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      Enhancements
      • CXXCBC-552: Cleaned up network selection options (#677, #682). Added cluster labels and system tag to spans. Added cluster labels, keyspace, and outcome to metrics.

      Fixes

      Version 4.4.2 (24 September 2024)

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

      $ npm install couchbase@4.4.2

      Fixes

      • JSCBC-1252: Fixed npm install failure after checking out couchnode for local development.

      Enhancements

      • JSCBC-1272: Updated prebuild processing to only allow supported runtimes.

      • JSCBC-1279: Updated prebuild scripts.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      Version 4.4.1 (23 August 2024)

      Version 4.4.1 is the next patch release of the fourth generation Node.js SDK, bringing a number of improvements. Most notably the 4.4.1 release adds support for Alpine ARM environments (See the OS Compatibility docs for details).

      $ npm install couchbase@4.4.1

      Enhancements

      • JSCBC-1268: Added Support for Alpine ARM Prebuilds.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      Enhancements
      • Improved logging of DNS client (#634).

      • CXXCBC-568: Cancel deferred operations when closing HTTP session manager (#643).

      Fixes
      • CXXCBC-531: Fixed memory leak in range scan implementation (#645, #610).

      • CXXCBC-572: Always initialize service_type (#610).

      • CXXCBC-569: Resolved cycle in shared pointers for transaction_context (#641).

      • CXXCBC-550: Fixed use-after-move issue in command handler (#628).

      • Fixed behaviour when reading is complete before returning HTTP streaming resp (#624).

      Version 4.4.0 (27 June 2024)

      Version 4.4.0 is next minor release of the fourth generation Node.js SDK, bringing a number of improvements. Most notably the 4.4.0 release adds support for base64 encoded vector types when using the SDK with Couchbase Server 7.6.2.

      $ npm install couchbase@4.4.0

      Fixes

      • JSCBC-1263: Fixed VectorQuery validation to prevent empty fieldName.

      Enhancements

      • JSCBC-1262: Added support for base64 encoded vector types.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      Enhancements
      • CXXCBC-381: Updated transactions_context and attempt_context to use std::shared_ptr (#590).

      Fixes
      • CXXCBC-445: Updated HTTP session logic to return request_canceled on IO error (#568).

      • CXXCBC-511: Updated HTTP session logic to prevent use of session if idle timer has expired (#565).

      • CXXCBC-517: Added HTTP session retries when client fails to resolve hostnames (#589).

      • CXXCBC-518: Fixed preferred node logic to handle alternate addresses (#574).

      • CXXCBC-523: Cleaned up config log output when dump_configuration is enabled (#577).

      • Fixed config poll to skip config fetch if bucket does not have any sessions (#573).

      • Cleaned up attempt_context_impl implementation (#586).

      Node.js SDK 4.3 Releases

      Version 4.3.1 (18 April 2024)

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

      $ npm install couchbase@4.3.1

      Fixes

      • JSCBC-1243: Fixed how the SDK handles binary documents within a transactions lambda.

      • JSCBC-1245: Fixed how the SDK handles the expiry value for mutation operations (if available for that operation).

      Enhancements

      • JSCBC-1253: Added support for scoped eventing functions.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      Enhancements
      Fixes
      • CXXCBC-30: Fixed inconsistent behavior when using subdoc opcodes (#559).

      • CXXCBC-487: Added logic during bootstrap to check if alternate addressing is being used (#545).

      • CXXCBC-492: Updated collection_component get_collection_id to use retry strategy (#552).

      • CXXCBC-494: Fixed memory issue in range scan implementation (#549).

      • CXXCBC-503: Added logic to ignore configuration if it contains an empty vBucket map (#556, #558).

      Version 4.3.0 (14 March 2024)

      Version 4.3.0 is third minor release of the fourth generation Node.js SDK, bringing a number of improvements. Most notably the 4.3.0 release adds support for Vector Search, KV Range Scans, and faster failover when using the SDK with Couchbase Server 7.6.0.

      $ npm install couchbase@4.3.0

      Known Issues

      • CXXCBC-447: This version of the SDK will not be able to connect to a cluster utilizing alternate addressing. The recommendation is to wait to upgrade to a version of the Node.js SDK that contains C++ 1.0.0-dp.15 (or later).

      Enhancements

      • JSCBC-1226: Added support for Vector Search.

      • JSCBC-1241: Updated C++ core for transactions metadata bucket improvements.

      • JSCBC-1251: Updated search API for SDK API 3.5 support.

      Known Issues

      • CXXCBC-447: This version of the SDK will not be able to connect to a cluster utilizing alternate addressing. The recommendation is to wait to upgrade to a version of the Node.js SDK that contains C++ 1.0.0-dp.15 (or later).

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

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

      Underlying C++ SDK Core Changes

      • CXXCBC-336: Updated DNS config to not fallback to 8.8.8.8 if SDK cannot obtain system DNS server (#533).

      • CXXCBC-461: Updated ping operation to not send to nodes that have not completed bootstrap (#540).

      • CXXCBC-462: Fixed hanging when specifying a custom metadata collection via the public API & expose errors (#532).

      • CXXCBC-479: Fixed capabilities check for replica LookupIn operations (#537).

      • CXXCBC-480: Fixed capabilities check for replica LookupIn operations (#539).

      • CXXCBC-481: Fixed potential crash when parsing search result hits (#541).

      • CXXCBC-482: Update range scan orchestrator to use best effort retry strategy by default (#542).

      Node.js SDK 4.2 Releases

      Version 4.2.11 (1 March 2024)

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

      $ npm install couchbase@4.2.11

      Fixes

      • JSCBC-1193: Fixed mutateIn sub-document `MutateInMacro`s.

      • JSCBC-1202: Updated ViewQueryOptions to include full_set and raw options.

      Enhancements

      • JSCBC-1081: Updated Query Index Management Create Index Key Encoding.

      • JSCBC-1233: Added support for Scoped Search Indexes.

      • JSCBC-1195: Updated configuration logic when 0xd response is received.

      • JSCBC-1214: Fixed ViewRow parsing when handling results from C++ core.

      • JSCBC-1238: Updated view index management API to use C++ core.

      Known Issues

      • CXXCBC-447: This version of the SDK will not be able to connect to a cluster utilizing alternate addressing. The recommendation is to wait to upgrade to a version of the Node.js SDK that contains C++ 1.0.0-dp.15 (or later).

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

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

      Underlying C++ SDK Core Changes

      • CXXCBC-284: Updated config polling to not use session that is not bootstrapped (#528).

      • CXXCBC-345: Added range scan improvements and resolved concurrency issues (#525).

      • CXXCBC-421: Updated query operation to return feature_not_available if query preserve expiry is specified but is not supported on the server(#510).

      • CXXCBC-431: Added check for history retention bucket capability in collection create/update (#502, #505).

      • CXXCBC-447: Updated bootstrap logic to use addresses from the config to bootstrap bucket (#516).

      • CXXCBC-450: Updated bootstrap logic to reset bootstrap handler before re-bootstrap (#524).

        • We do not want any actions from old bootstrap handler once the session decided to re-bootstrap. For example, bucket could not be selected, but we might still get configuration responses before socket reset.

      • CXXCBC-452: Updated capabilities and fail fast when selected feature is not available. (#522, #513).

      • CXXCBC-456: Updated configuration logic when 0x0d (EConfigOnly) status code is received to have the SDK request new configuration and send current operation to retry orchestrator (#523).

      Version 4.2.10 (2 February 2024)

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

      $ npm install couchbase@4.2.10

      Enhancements

      • JSCBC-1227: Added support for maxTTL value of -1 for collection "no expiry".

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      • CXXCBC-284: Reduced network traffic when polling for cluster configuration (#504).

      • CXXCBC-421: Updated query response to return feature_not_available when query preserve expiry is not supported (#510).

      • CXXCBC-422: Added insufficient credentials error code to common query error code conversion (#511).

      • CXXCBC-431: Added check for history retention bucket capability for collection create/update (#502, #505).

      • CXXCBC-446: Improved log formatting (#506, #508, #509).

      Version 4.2.9 (3 January 2024)

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

      $ npm install couchbase@4.2.9

      Enhancements

      • JSCBC-1163: Added improvements for Faster Failover and Config Push.

      • JSCBC-1221: Added support for new KV error code to raise DocumentNotLockedError.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      • CXXCBC-100: Added support for using a timeout with ping operation (#486).

      • CXXCBC-368: Added support for subscribing to clustermap notifications to speedup failover (#490).

      • CXXCBC-391: Fixed transactions API inconsistencies (#482).

      • CXXCBC-403: Updated not_my_vbucket KV response to allow retries (#480).

      • CXXCBC-404: Fixed unlock operations to expose KV_LOCKED status as cas_mismatch (#479).

      • CXXCBC-409: Added handling for index does not exist query error (#492).

      • CXXCBC-419: Updated MCBP protocol parser to start with clean state (#496).

      Version 4.2.8 (15 November 2023)

      Version 4.2.8 is the next patch release of the fourth generation Node.js SDK, bringing a number of improvements. Most notably, the 4.2.8 release removes the OpenSSL dependency for published prebuilds.

      $ npm install couchbase@4.2.8

      Behavioral Change

      The Couchbase Node.js SDK now publishes prebuilt binaries that statically link against BoringSSL. The change removes the OpenSSL requirement from the SDK when using a published prebuild. If building the SDK from source, the build will default to statically linking with the OpenSSL provided from the Node.js version being used. Build options are availalbe if wanting to build from source and statically link against BoringSSL.

      Fixes

      • JSCBC-1187: Fixed connstr trust_store_path override if trustStorePath is not provided in ConnectOptions.

      • JSCBC-1194: Fixed transactions QueryMode KV insert.

      Enhancements

      • JSCBC-1203: Updated published source tarball to only include necessary files for source install.

      • JSCBC-1200: Updated published prebuilds to statically link against BoringSSL.

      • JSCBC-1189: Fixed CRUD tests that have callback.

      • JSCBC-1185: Added support for bucket settings for 'no dedup' feature.

      • JSCBC-1179: Reduced default HTTP Idle Timeout.

      • JSCBC-1016: Removed subdocument exists workaround.

      Known Issues

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

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

      Underlying C++ SDK Core Changes

      • CXXCBC-387: Optimising tags for noop_tracer and cache formatted mbcp_session endpoints (#461, #462, #464).

      • CXXCBC-383: Map subdoc_doc_too_deep KV status to path_too_deep error code (#455).

      • CXXCBC-377: Implement ExtParallelUnstaging in transactions (#457).

      • CXXCBC-386: Allow option to statically link against BoringSSL (#458, #465, #471, #474, #478).

      • CXXCBC-376: Revisit what 'create' and 'update' bucket operations send to the server. Make optional bucket settings fields optional, and do not send anything unless the settings explicitly specified (#451).

      • CXXCBC-374: Return 'bucket_exists' error when the bucket already exists during 'create' operation (#449).

      • CXXCBC-359: Reduced the default timeout for idle HTTP connections to 1 second. The previous default (4.5 seconds) was too close to the 5-second server-side timeout, and could lead to spurious request failures (#448).

      • CXXCBC-367; CXXCBC-370: Added history retention settings to buckets/collection management (#446).

      • CXXCBC-119: Return booleans for subdocument 'exists' operation instead of error code (#444, #452).

      • Add more information to diagnose timeouts on NMVB responses (#475).

      Version 4.2.7 (25 August 2023)

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

      $ npm install couchbase@4.2.7

      Enhancements

      • JSCBC-1162: Added support for Sub-Document Read from Replica.

      Underlying C++ SDK Core Changes

      Known Issues

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

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

      Version 4.2.6 (8 August 2023)

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

      $ npm install couchbase@4.2.6

      Fixes

      • JSCBC-1160: Fixed WAN Config profile to use system defaults for DNS configuration.

      • JSCBC-1174: Fixed Node.js v18 linux prebuilds to use glibc 2.28.

      Enhancements

      • JSCBC-1104: Added support for Native KV Range Scans.

      • JSCBC-1161: Added support for Query with Read from Replica.

      • JSCBC-1177: Added CONTRIBUTING.md to provide contributing guidelines.

      Underlying C++ SDK Core Changes

      Known Issues

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

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

      Version 4.2.5 (11 July 2023)

      Version 4.2.5 is the next patch release of the fourth generation Node.js SDK, bringing a number of improvements. Most notably the 4.2.5 release adds support for Node.js v18 and v20, and reduces the size of prebuilt binaries.

      $ npm install couchbase@4.2.5

      Enhancements

      • JSCBC-1109: Reduced the size of prebuilt binaries.

      • JSCBC-1149: Updated build system to download Node.js headers when using cmake-js >= v7.0.

      • JSCBC-1150: Updated Windows build system to download node.lib when using cmake-js >= v7.0.

      • JSCBC-1152: Added support for Node.js v18.

      • JSCBC-1170: Added support for Node.js v20.

      Known Issues

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

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

      Version 4.2.4 (26 May 2023)

      Version 4.2.4 is the next patch release of the fourth generation Node.js SDK.

      $ npm install couchbase@4.2.4

      Enhancements

      Underlying C++ SDK Core Changes

      • CXXCBC-328: Fix socket reconnection during rebalance process (#406).

        • Several improvements have been implemented to make the library resilient to rapid topology changes when both DNS-SRV bootstrap is being used along with alternative addresses. The changes include:

          • Taking into account alternative hostname and ports during detection of added/removed nodes on configuration update.

          • Replacing node index tracking with hostname/port matching when restarting the connections — this way the library ensures that no duplicate connections will be left, or live connections replaced by restarted session.

          • Improved logging of critial events during rebalance: restarting, preservation, and removing connections.

      Known Issues

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

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

      Version 4.2.3 (9 May 2023)

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

      $ npm install couchbase@4.2.3

      Enhancements

      • JSCBC-1154: Exposed C++ client metadata (open SSL info, txns info, etc.) as cbppMetadata, for use by client applications — particularly useful when working through environment setup issues.

      Underlying C++ SDK Core Changes

      • CXXCBC-324: Port and network name now checked on session restart, improving performance during rebalance (#401).

      • CXXCBC-323: bootstrap_timeout and resolve_timeout can now be used in the connection string (#400).

      • Introduce dump_configuration for debugging: (#398).

      • CXXCBC-31: Allow the use of schemaless connection strings (e.g. "cb1.example.com,cb2.example.com") (#394).

      • CXXCBC-320: Negative expiry in atr was leaving docs in a stuck state — this has been fixed, with expiry atr now becoming an int32_t (#393).

      • CXXCBC-318: Always try TCP if UDP fails in DNS-SRV resolver (#390).

      • CXXCBC-145: Search query request raw option now used (#380).

      • CXXCBC-144: Search query on collections now no longer requires scope_name, as it can be inferred from the index (#379).

      Known Issues

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

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

      Version 4.2.2 (9 March 2023)

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

      $ npm install couchbase@4.2.2

      Fixes

      • JSCBC-1141: Fixed Query Index Management watchIndexes to raise QueryIndexNotFound if provided index(es) not found.

      Enhancements

      • JSCBC-1118: Updated the SDK to handle new query_context changes.

      • JSCBC-1137: Created CppClusterCredentials and CppDnsConfig interfaces for use in connecting.

      • JSCBC-1129: Updated the SDK to only populate allowed_sasl_mechanisms if user explicitly chooses.

      Known Issues

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

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

      Version 4.2.1 (8 February 2023)

      Version 4.2.1 is the next patch release of the fourth generation Node.js SDK, bringing a number of improvements. Most notably the 4.2.1 release provides improved performance for key-value operations.

      $ npm install couchbase@4.2.1

      Fixes

      • JSCBC-1106: Changed search response fields and explain to be object types.

      • JSCBC-1117: Fixed how callback is handled when passed to key-value operations if no options object is provided.

      • JSCBC-1124: Fixed configuration profile implementation.

      • JSCBC-1126: Added mutation token to MutateInResult.

      Enhancements

      • JSCBC-1079: Implemented ChangePassword feature in user management API.

      • JSCBC-1123: Updated C++ core to include patch fixing OpenSSL and multithreading.

      Known Issues

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

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

      Version 4.2.0 (3 November 2022)

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

      $ npm install couchbase@4.2.0

      Fixes

      • JSCBC-1105: Fixed crash caused when undefined named parameter provided in query options.

      • JSCBC-1107: Fixed mutation token construction.

      • JSCBC-1108: Added support for consistentWith query option.

      Enhancements

      • JSCBC-926: Added Support for Serverless Execution Environments

      • JSCBC-1006: Removed collection exists operation workaround.

      Known Issues

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

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

      Node.js SDK 4.1 Releases

      Version 4.1.3 (6 October 2022)

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

      $ npm install couchbase@4.1.3

      Fixes

      • JSCBC-1094: Added transactions exception bindings.

      • JSCBC-1098: Fixed incorrect Authentication Error Type raised.

      • JSCBC-1101: Fixed CreateBucket/GetBucket APIs to match spec.

      Enhancements

      • JSCBC-1099: Updated Node.js SDK to included latests Couchbase++ client changes.

      • JSCBC-1100: Added support for Configuration Profiles.

      • JSCBC-1041: Added support for replica reads.

      • JSCBC-1042: Added support for legacy durable operations.

      • JSCBC-1096: Added support for LDAP authentication.

      Known Issues

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

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

      Version 4.1.2 (4 August 2022)

      Version 4.1.2 is the next patch 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 patch 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 C++ library.

      • 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.

      Node.js SDK 4.0 Releases

      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 C++ 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 C++ SDK.

      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.

      Node.js SDK 3.2 Releases

      Version 3.2.7 (8 February 2023)

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

      $ npm install couchbase@3.2.7

      Enhancements

      • JSCBC-1120: Updated libcouchbase dependency to 3.3.4

      Version 3.2.6 (9 November 2022)

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

      $ npm install couchbase@3.2.6

      Fixes

      • JSCBC-1113: Fixed Segfault when connecting to Capella with Ottoman

      Version 3.2.5 (3 November 2022)

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

      $ npm install couchbase@3.2.5

      Fixes

      • JSCBC-971: Fixed bucket manager minDurabilityLevel parsing failure on Couchbase Server 6.5.

      • JSCBC-976: Fixed searchIndexes.getIndexedDocumentsCount() result.

      • JSCBC-986: Added missing durability level option for binary operations.

      • JSCBC-1018: Updated to the latest libcouchbase version.

      • JSCBC-1019: Updated dependancies to pick up critical fixes.

      • JSCBC-1046: Fixed build system for Windows environments.

      Enhancements

      • JSCBC-969: Updated FTS Rate Limit Parsing.

      • JSCBC-982: Resolved vulnerability in dependencies (prebuild-install/simple-get).

      • JSCBC-1020: Setup black duck scans for v3 after v4 ships to master.

      • JSCBC-718: Added support for Linux Alpine OS.

      Version 3.2.4 (17 December 2021)

      Version 3.2.4 is the next patch 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 patch 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 patch 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 patch 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.

      Node.js SDK 3.1 Releases

      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.

      Node.js SDK 3.0 Releases

      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.