SDK Release Notes
Release notes, brief installation instructions, and download archive for the Couchbase C++ Client.
Version 1.2 of the C++ SDK implements the 3.8 SDK API. See the compatibility pages for more information on feature compatibility with different versions of Couchbase Server.
Installation
Prerequisites
Check that you have the dependencies installed:
-
C++ 17 compiler
-
CMake version 3.19 or newer
Supprted Operating Systems are listed on the compatibility page.
More details of the installation process are in the full installation guide.
CPM.cmake is the recommended way to include the library in your project.
You need to include the following command in your CMakeLists.txt.
CPMAddPackage(
NAME
couchbase_cxx_client
GIT_TAG
1.2.0
VERSION
1.2.0
GITHUB_REPOSITORY
"couchbase/couchbase-cxx-client"
OPTIONS
"COUCHBASE_CXX_CLIENT_STATIC_BORINGSSL ON")
C++ SDK 1.2 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 1.2.0 (26 September 2025)
This is a first GA release of the 1.2 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 10 |
x86_64 |
|
Enterprise Linux 10 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 13 (Trixie) |
x86_64 |
|
Debian 13 (Trixie) |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Alpine Linux 3.22 |
x86_64 |
|
Alpine Linux 3.22 |
aarch64 |
|
Alpine Linux 3.21 |
x86_64 |
|
Alpine Linux 3.21 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
New Features
-
CXXCBC-567: Added support for field-level encryption library (#791).
-
CXXCBC-713, CXXCBC-729: Added
cbc-keygen, a tool to generate keys for specific vBucket (#799, #833). -
CXXCBC-656: Added
cbc-removeandcbc-upserttools (#781). -
CXXCBC-653: Added support "access_deleted" for Replica Reads (#821).
-
CXXCBC-639: Added support of building both static and shared libraries (#707).
-
CXXCBC-698: Added
flex_indextotransaction_query_options(#773). -
CXXCBC-675: Added support vector search prefilter (#775).
-
CXXCBC-699: Added support of randomization of bootstrap nodes (#777). By default the SDK would shuffle node list (including list received via DNS-SRV request). To disable this behavior use
preserve_bootstrap_nodes_orderoption. -
CXXCBC-711: Promoted
scope_search_index_managerto committed API (#793). -
CXXCBC-692: The SDK now prevents connection to Enterprise Analytics cluster (#792, #807, #810). There is a set of specialized SDKs for Enterprise Analytics clusters.
-
CXXCBC-707: Updated network selection heuristic (#809). The logic is improved in certain cloud-specific cases.
Fixes and Enhancements
-
CXXCBC-715: Fixed Hard Failover Intermittent Crash in HTTP connection manager (#818).
-
CXXCBC-693: Handle empty/null
indexDef`s for `search_index_get_all(#800). -
CXXCBC-726: Added KV scan timeout to cluster options (#830).
-
CXXCBC-721: Added caching of
FeatureNotAvailabletransactions operation failure forget_replica*operations (#823). -
CXXCBC-696: Use the external exception field to determine transaction operation error code in Public API (#770).
-
CXXCBC-695: Always return unwrapped
doc_existsfrom transactions insert (#771). -
CXXCBC-700: Updated
wan_developmentprofile for public API (#774). -
CXXCBC-704: Added handling
document_unretrievablefromget_multiindividual fetch (#782, #785). -
CXXCBC-709: Fixed
exists()in transactionsget_multiresult (#786). -
CXXCBC-651: Added preserving cached node labels after generating report in app telemetry meter (#802).
-
CXXCBC-706: Added closing of half-baked cluster object if connection fails (#783).
Build and Test Infrastructure
-
CXXCBC-733: Fixed build with BoringSSL (#839).
-
Improved stability of update collection max expiry tests (#838).
-
CXXCBC-731: Fixed usage of the
wan_developmentprofile in tests when required (#835). -
CXXCBC-728: Removed handling for eventing handler headers bug (#832).
-
CXXCBC-724: Added eventing tests to handle Morpheus error behavior (#828, #824).
-
CXXCBC-639: Build system adjustments (#825).
-
Added labels to all tests (#820).
-
Added test improvements (memcached buckets & cleanup search index) (#819).
-
Added logging of local TCP ports (#814).
-
Updated llhttp to 9.3.0 and cli11 to 2.5.0 (#811).
-
Updated asio to 1.34.2 (#776).
-
Updated CPM.cmake to 0.42.0 (#794).
-
CXXCBC-712: Fixed build with CPM (#795).
-
Fixed building tests with system OpenSSL on MacOS (#798).
-
CXXCBC-693: Fixed clang-tidy
else-after-returnerror (#803). -
Fixed gcc
maybe-uninitializedwarning withstd::nullopt(#816). -
Github Actions:
C++ SDK 1.1 Releases
Version 1.1.1 (18 September 2025)
This is a second GA release of the 1.1 C++ SDK. It contains features and fixes backported from 1.2.0.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
|
Alpine Linux 3.21 |
x86_64 |
|
Alpine Linux 3.21 |
aarch64 |
|
Alpine Linux 3.22 |
x86_64 |
|
Alpine Linux 3.22 |
aarch64 |
New Features
-
CXXCBC-699: By default the SDK will now shuffle the node list (including lists received via DNS-SRV request). To disable this behavior use the
preserve_bootstrap_nodes_orderoption (#778).
Fixes and Enhancements
-
CXXCBC-715: An HTTP workload could potentially use an invalid node index to access a node in the config in scenarios to where a node in the cluster has been failed over. This potential intermittent crash during hard failover has now been fixed (#817).
-
CXXCBC-651: Cached node labels are now preserved after generating reports in app telemetry meter (#804).
-
CXXCBC-693: Fixed clang-tidy else-after-return error (#805). Now correctly handle empty/null
indexDefsforsearch_index_get_all(801). The client will no longer return an error if/whenindexDefsare empty/null — instead returning an empty list of index definitions. -
CXXCBC-709: Fixed a bug in the getter that was always returning
falseforexists()in transactionsget_multiresult (#787). -
CXXCBC-696: The client now uses the external exception field to determine transaction operation error code in the Public API (#772).
-
CXXCBC-712: Fixed build issue with CPM (#797)
Version 1.1.0 (01 June 2025)
This is a first GA release of the 1.1 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
New Features
-
CXXCBC-672: Added
add_named_parameterandadd_positional_parameterto query/analytics options (#762). -
CXXCBC-684: The SDK now allows the setting of both named and positional parameters for queries — previously named parameters would be cleared if positional parameters were set (#759).
-
CXXCBC-654: Added
num_vbucketstobucket_settings(#746). -
CXXCBC-605: Added custom log callback functionality (#743).
-
CXXCBC-665: The SDK will now always return partial results for
*_all_replicaoperations if someget_replicarequests succeeded (#742). -
CXXCBC-626: Application Service Telemetry, for future Server releases (#712, #719, #739, #750).
Fixes and Enhancements
-
CXXCBC-694: Handle case where requestID is missing from query response payload (#768).
-
Added CAS to core append/prepend (#737).
-
CXXCBC-657: For subdoc operations, if no specs are provided then an
invalid_argumenterror is raised instead of crashing on an assert (#727). -
CXXCBC-661: Reconnect cluster object on fork (#724).
-
CXXCBC-660: Fixed potential race condition in the logger (#722).
-
CXXCBC-646: For performance reasons, the bucket configuration is now stored as shared pointer, and this is copied into the handler instead of the entire configuration (#715, #720).
Transactions
-
CXXCBC-688: Don’t convert Public API TOF from lambda to Core API’s TOF, rely on internal state (#765).
-
CXXCBC-690: Don’t move
staged_mutationitem when capturing it incommit_doclambdas (#767). -
CXXCBC-683: Transactions replace now uses CAS from given
TransactionsGetResultwhen the document is a staged insert (#763). -
CXXCBC-682: Transaction replace/insert result now includes post-op content (#756).
-
CXXCBC-645, CXXCBC-689, CXXCBC-687: Implemented
get_multi_*APIs for transactions (#761, #764, #766). -
CXXCBC-681: No longer storing entire
transaction_get_resultin staged mutations, reducing memory use (#757). -
CXXCBC-649: Implemented
ExtReplaceBodyWithXattr(#752).
Build and Tests Fixes
-
CXXCBC-671: Updated
snappyto supportCMake4.0(#744). -
CXXCBC-666: Fixed
pkg-configfile —couchbase_cxx_client.pchave to use absolute path forlibdir. (#735). -
CXXCBC-673: Updated query integration tests to compare decoded rows (#747).
C++ SDK 1.0 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 1.0.7 (24 April 2025)
This is a maintenance release of the 1.0 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
Fixes
-
CXXCBC-666: Fixed
pkg-configfile to return absolute path for libdir (#736). -
CXXCBC-667: Core implementation of prepend/append no longer ignores encoded CAS value (#738).
-
CXXCBC-671: Updated snappy to support
CMake4.0(#745).
Version 1.0.6 (12 March 2025)
This is a maintenance release of the 1.0 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
Fixes
-
CXXCBC-633: In a case of timeout, when the total deadline of the DNS-SRV request has been reached, the library will now report a timeout error code, and not the latest abort as it was doing.
-
CXXCBC-646: For performance reasons, the SDK now stores bucket configuration as a shared pointer (#713, #721).
-
CXXCBC-660: Fixed potential race condition in the logger (#723).
-
CXXCBC-661: The child process now reconnects all of its instances on fork — previously, certain exceptions could cause this not to happen (#725).
Version 1.0.5 (24 January 2025)
This is a maintenance release of the 1.0 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
Fixes
-
CXXCBC-633: In a case of timeout, when the total deadline of the DNS-SRV request has been reached, the library will now report a timeout error code, and not the latest abort as it was doing.
-
Server group replica reads are now exposed in
transaction_context(#704).
Build and Test Infrastructure
-
Minor improvements (#706).
-
CXXCBC-640: Debug symbols are no longer forced for release builds (#708).
-
CXXCBC-638: Switched SDK to use bundled
fmtlibforspdlog(#705). -
Updated
spdlogto1.15.0(#709).
Version 1.0.4 (22 November 2024)
This is a maintenance release of the 1.0 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
|
Debian 12 (Bookworm) |
x86_64 |
|
Debian 12 (Bookworm) |
aarch64 |
|
Ubuntu 22.04 (Jammy) |
x86_64 |
|
Ubuntu 22.04 (Jammy) |
aarch64 |
|
Ubuntu 24.04 (Noble) |
x86_64 |
|
Ubuntu 24.04 (Noble) |
aarch64 |
|
Alpine Linux 3.19 |
x86_64 |
|
Alpine Linux 3.19 |
aarch64 |
|
Alpine Linux 3.20 |
x86_64 |
|
Alpine Linux 3.20 |
aarch64 |
Fixes
-
CXXCBC-620: Updated core
analytics_link_get_allto follow the RFC (#687). -
CXXCBC-615: Exposed
insert_rawandreplace_rawin core transactions attempt context (#686). -
CXXCBC-622: Updated
OpenTelemetrymetrics integration to use GA Metrics API (#688). -
CXXCBC-627: A preformance degradation was discovered to be caused by work done in the error function, even if the operation had been successful. The internal conversion work is now only carried out in response to error conditions (#693).
-
CXXCBC-624: Fixed user agent ID generation (#692).
-
CXXCBC-611, CXXCBC-612: Updated metric operation names to follow RFC naming (#695).
-
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).
-
URI encoding for
user_upsert(#700).
Features
-
CXXCBC-609: Exposed
parent_spanin Public API options (#690).
Version 1.0.3 (22 October 2024)
This is a maintenance release of the 1.0 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
Fixes
-
CXXCBC-599: Updated allowed connection string options (#668).
-
CXXCBC-311: SDKs must encode URIs (#674).
-
CXXCBC-606: Fixed detection of dysfunctional node (#673).
-
CXXCBC-574: Fixed memory leak when open fails in public API (#649).
-
CXXCBC-614: Fixed memory leak in
observe_poll(#679). -
Added missing template parameters to fix compiler warnings (#671).
Features
-
Allow to query current log level (#672).
-
CXXCBC-582: Added cluster labels & system tag in spans (#682).
-
CXXCBC-582: Added cluster labels, keyspace & outcome in metrics (#677).
Columnar changes
-
CXXCBC-598: Propagate bootstrap errors to HTTP operations (#666).
-
CXXCBC-602: Report first non-retriable code/message in query error (#667).
-
CXXCBC-604: Apply raw options last (#669).
-
CXXCBC-616: Report retry information when receiving a timeout from the HTTP component (#681).
-
CXXCBC-600: Reduced
origin::to_jsonoutput for Columnar builds (#678).
Build and Test Infrastructure
-
CXXCBC-303: Fixed RPM for AmazonLinux (#663).
-
CXXCBC-303: Fixed RPM for RHEL 8 (#664).
-
Use timestamp from the tag for reproducible tarballs (#665).
-
Updated list of RPM-based platforms (#676).
Version 1.0.2 (23 September 2024)
This is a maintenance release of the 1.0 C++ SDK.
Downloads
Platform |
Architecture |
File |
Checksums |
Any |
|
Source Archive |
Any |
|
Amazon Linux 2023 |
x86_64 |
|
Amazon Linux 2023 |
aarch64 |
|
Enterprise Linux 9 |
x86_64 |
|
Enterprise Linux 9 |
aarch64 |
|
Enterprise Linux 8 |
x86_64 |
|
Enterprise Linux 8 |
aarch64 |
Fixes
-
CXXCBC-577: Reduced duplicated code in
http_component(#657). -
CXXCBC-593: Configuration profile are now applied as the last step — taking priority over all other defaults and options (#655).
-
CXXCBC-552: Cleaned up network selection options (, by deprecating
behavior_options#network()in favor tonetwork_options#preferred_network()#651). -
CXXCBC-576: When
cluster.close()is called, all in-progress HTTP operations should now be cancelled (#648). -
Updated code samples in API reference (#653).
Columnar changes
-
CXXCBC-577: Added Columnar database management operations.
-
CXXCBC-588: Updated timeout sent to server on each Columnar query retry (#654).
-
CXXCBC-580: SDK now reports last error when timing out on Columnar query retries (#650).
Build and Test Infrastructure
-
CXXCBC-303: Updated build scripts to produce RPM packages (#660).
-
CXXCBC-597: SDK now use static library for ASIO; updated it to 1.31.0 (#658).
-
CXXCBC-596: No longer include
tao_json_serializer.hxxby default (#656). -
Include
<string>instring_hex.h(#652).
Version 1.0.1 (22 August 2024)
This is the first maintenance release of the 1.0 C++ SDK.
Enhancements
-
CXXCBC-564: Allow to specify all operations (Get, Replace, Delete, Insert, and Query) in pillowfight workload (#640).
-
Improve 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-573: Avoid uninitialized reads in the logger test (#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 build of Ruby wrapper on Windows (#636).
-
Fixed behaviour when reading is complete before returning HTTP streaming resp (#624).
Columnar changes
In this release a new build mode for Columnar has been introduced.
The CMake flag -DCOUCHBASE_CXX_CLIENT_COLUMNAR will produce a special version of the library that is optimized for usage with Columnar deployments.
-
Add initial Columnar core implementation (#616).
-
CXXCBC-525: Open cluster connection in background (#621).
-
Use
open_in_backgroundwhen creating test cluster in Columnar mode (#625). -
CXXCBC-542: Richer error information from Columnar core (#626).
-
Updated columnar log message, enabling
dispatch_timeoutif in connection string (#627). -
Add helper method for serializing
ctxinto columnar error message (#632). -
Add Columnar query positional params (#635).
-
CXXCBC-543: Added retries for columnar query (#637).
-
CXXCBC-562: Provided HTTP session manager with updated cluster (#638).
-
CXXCBC-556: Added versioned Columnar query endpoint (#639).
-
CXXCBC-557: Added global columnar timeout config (#642).
Version 1.0.0 (26 June 2024)
This is the first GA release of the C++ SDK.
Enhancements
-
CXXCBC-509: Allow to restrict replica set to selected server group. This feature allows to implement network optimization when traffic cost between server groups is higher than in the local group. In this case the application might select preferred server group in the connection options, and later opt-in for local operations during replica reads. Related tickets: CXXCBC-546, CXXCBC-513, (#614, #593, #587, #571, #566).
-
CXXCBC-530: Include 'min' parameter when encoding disjunction FTS queries (#604).
-
CXXCBC-394: Hide
tao::jsonwhere it is possible. We still have taocpp/json headers in places where default JSON transcoder is being used. -
CXXCBC-449: Do not expose ASIO in public API.
-
CXXCBC-381: Use
std::shared_ptrfortransactions_contextandattempt_context(#590). -
CXXCBC-510: Support binary objects in transactions. This changes allows to use transcoders in transactions API (#576).
-
Improvements in Vector Search:
-
Add invalid argument check (#578).
-
CXXCBC-514: Support for base64 encoded vector types ([#575).
-
CXXCBC-516: Return
feature_not_availablewhen upserting vector search index to incompatible cluster (#572).
-
-
CXXCBC-407: Allow to use 0 as a max expiry for new collections (#569).
-
CXXCBC-496: Convert C++ Public API Error handling to use
couchbase::error. Related tickets: CXXCBC-492, CXXCBC-498, CXXCBC-499, CXXCBC-500, CXXCBC-508, CXXCBC-526 (#570, #557, #562, #560, #564, #567, #603, #597, #595, #594). -
Update stability levels for API 3.6 level. Remove deprecated
search_query(#602).
Fixes
-
CXXCBC-517: Add HTTP session retries when SDK fails to resolve hostnames (#589).
-
CXXCBC-445: Return
request_canceledon IO error in HTTP session (#568). -
CXXCBC-511: Prevent use of HTTP session if idle timer has expired (#565).
-
CXXCBC-523: Clean up
dump_configurationconfig output (#577). -
CXXCBC-531: Fix deadlock in cluster destructor (public API) (#608).
-
CXXCBC-534: Fix callbacks to avoid
bad_function_callexception (#606). -
CXXCBC-518: Handle alternate addresses when locating
preferred_node(#574).
Older Versions
Release Notes for the developer preview releases before the 1.0.0 release can be found on GitHub.