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 thanCouchbaseError
. -
JSCBC-1294: User management APIs now correctly return
InvalidArgumentError
rather thanCouchbaseError
. -
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 anInvalid 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()
inPromiseHelper
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
andreplace_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
-
CXXCBC-311: Ensure SDK encodes URIs (#674).
-
CXXCBC-599: Updated allowed connection string options (#668).
-
CXXCBC-606: Fixed detection of dysfunctional node (#673).
-
CXXCBC-614: Fixed memory leak in
observe_poll
(#679).
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.
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 emptyfieldName
.
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
andattempt_context
to usestd::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
-
CXXCBC-470: Distinguish between 'unset' and 'off' query_profile (#551).
-
CXXCBC-489: Added support for scoped eventing functions (#548, (#554)).
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 includefull_set
andraw
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 exposeKV_LOCKED
status ascas_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 iftrustStorePath
is not provided inConnectOptions
. -
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 formattedmbcp_session
endpoints (#461, #462, #464). -
CXXCBC-383: Map
subdoc_doc_too_deep
KV status topath_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
-
CXXCBC-362: Removed node hostname port stripping logic from config parsing (#438).
-
CXXCBC-340: Added support for Query Read from Replica (#435).
-
CXXCBC-341, CXXCBC-365: Added support for Sub-Document Read from Replica (#436, #441, #443).
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
-
CXXCBC-349: Allow to pass trust certificate by value (#430).
-
The change affects TLS v1.0 and v1.1 which are now disabled by default.
-
-
CXXCBC-343: Continue bootsrap if DNS-SRV resolution fails (#422).
-
CXXCBC-340: Support Query with Read from Replica (#429).
-
CXXCBC-339: Disabled older TLS protocols (#418).
-
CXXCBC-333: Fixed parsing 'resolv.conf' on Linux. (#416).
-
The library might not ignore trailing characters when reading nameserver address from the file.
-
-
CXXCBC-242: SDK Support for Native KV Range Scans (#419, #423, #424, #426, #428, #431, #432, #433, #434).
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
-
JSCBC-1158: Bundled Mozilla certificates with the library. Source: https://curl.se/docs/caextract.html. Use the
disable_mozilla_ca_certificates
connection string option to disable the bundled certificates. See Secure Connections for more details.
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
andresolve_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 raiseQueryIndexNotFound
if provided index(es) not found.
Enhancements
-
JSCBC-1118: Updated the SDK to handle new
query_context
changes. -
JSCBC-1137: Created
CppClusterCredentials
andCppDnsConfig
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
andexplain
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
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.
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
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-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
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
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
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
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
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
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
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
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.