Releases: couchbase/couchbase-cxx-client
1.2.0
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.2.0
Full changelog: 1.1.0...1.2.0
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
indexDefs forsearch_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
Repository Links
MacOS X
brew tap couchbaselabs/homebrew-couchbase
brew install couchbase-cxx-client
RPM Linux Distributions
DIST=el10 # also: el8, el9, amzn2023, fc41, fc42, fc43, suse.lp156
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el10/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el10/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc42/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc42/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc43/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc43/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/x86_64/couchbase-cxx-client.repo
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm, trixie
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/trixie/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/trixie/x86_64/couchbase-cxx-client.sources
1.1.1
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.1.1
Full changelog: 1.1.0...1.1.1
New Features
- [backport] CXXCBC-699: Allow to randomize list of bootstrap nodes (#778).
Fixes and Enhancements
- [backport] CXXCBC-715: Fix intermittent crash during hard failover (#817). An HTTP workload can 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.
- [backport] CXXCBC-651: Preserve cached node labels after generating report in app telemetry meter (#804).
- [backport] CXXCBC-693: Fix clang-tidy else-after-return error (#805).
- [backport] CXXCBC-693: Handle empty/null
indexDefsforsearch_index_get_all(#801). Do not return an error if/when indexDefs are empty/null. Instead return w/ an empty list of index definitions. - [backport] CXXCBC-709: Fix
exists()in transactionsget_multiresult (#787). - [backport] CXXCBC-696: Use the external exception field to determine transaction operation error code in Public API (#772)
- [backport] CXXCBC-712: Fix build with CPM (#797)
Repository Links
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc41
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
1.1.0
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.1.0
Full changelog: 1.0.5...1.1.0
New Features
- CXXCBC-672: Add add_named_parameter and add_positional_parameter to query/analytics options (#762)
- CXXCBC-684: Allow setting both named and positional parameters for queries (#759)
- CXXCBC-654: Add num_vbuckets to bucket_settings (#746)
- CXXCBC-605: Add custom log callback functionality (#743)
- CXXCBC-665: Always return partial results for *_all_replica operations if some get_replica requests succeeded (#742)
- CXXCBC-626: Application Service Telemetry (#712, #719, #739, #750)
Fixes and Enhancements
- CXXCBC-694: Handle case where requestID is missing from query response payload (#768)
- Add CAS to core append/prepend (#737)
- CXXCBC-657: Raise InvalidArgument error if empty subdoc specs (#727). For subdoc operations, if no specs are provided raise and
invalid_argumenterror instead of crashing on an assert. - CXXCBC-661: Reconnect cluster object on fork (#724)
- CXXCBC-660: Fix potential race condition in the logger (#722)
- CXXCBC-646: Do not copy configuration when the operation depends on it (#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_mutation item when capturing it in commit_doc lambdas (#767)
- CXXCBC-683: Transactions replace: use CAS from given TransactionsGetResult when document is a staged insert (#763)
- CXXCBC-682: Transaction replace/insert result should include post-op content (#756)
- CXXCBC-645, CXXCBC-689, CXXCBC-687: Implement get_multi_* APIs for transactions (#761, #764, #766)
- CXXCBC-681: Do not store entire transaction_get_result in staged mutations (#757)
- CXXCBC-649: Implement ExtReplaceBodyWithXattr (#752)
Build and Tests Fixes
- CXXCBC-671: Update snappy to support CMake 4.0 (#744)
- CXXCBC-666: Fix pkg-config file (#735).
couchbase_cxx_client.pchave to use absolute path forlibdir. - CXXCBC-673: Update query integration tests to compare decoded rows (#747)
Repository Links
MacOS X
brew tap couchbaselabs/homebrew-couchbase
brew install couchbase-cxx-client
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/x86_64/couchbase-cxx-client.repo
1.0.7
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.0.7
Full changelog: 1.0.6...1.0.7
Fixes
- [backport] CXXCBC-666: Fix pkg-config file by @avsej in #736
- [backport] CXXCBC-667: Core implementation of prepend/append should encode CAS value by @Matt-Woz in #738
- [backport] CXXCBC-671: update snappy to support CMake 4.0 by @avsej in #745
Repository Links
MacOS X
brew tap couchbaselabs/homebrew-couchbase
brew install couchbase-cxx-client
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/x86_64/couchbase-cxx-client.repo
1.0.6
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.0.6
Full changelog: 1.0.5...1.0.6
Fixes
- [backport] CXXCBC-646: Do not copy configuration when the operation depends on it by @avsej in #713
- [backport] CXXCBC-646: Add feature flag for FIT performer by @avsej in #721
- [backport] CXXCBC-660: Fix potential race condition in the logger by @avsej in #723
- [backport] CXXCBC-661: Reconnect cluster object on fork by @avsej in #725
Repository Links
MacOS X
brew tap couchbaselabs/homebrew-couchbase
brew install couchbase-cxx-client
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp156/x86_64/couchbase-cxx-client.repo
1.0.5
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.0.5
Full changelog: 1.0.4...1.0.5
Fixes
- CXXCBC-633: ensure DNS-SRV resolver reports timeouts (by @avsej in #703)
- Expose server group replica read in transaction_context (by @Matt-Woz in #704)
Build and Test Infrastructure
- CXXCBC-638: fix transactions examples test (by @avsej in #710)
- Minor improvements (by @thejcfactor #706)
- CXXCBC-640: do not force debug symbols for release builds (by @avsej in #708)
- CXXCBC-638: switch SDK to use bundled fmtlib for spdlog (by @avsej in #705)
- Update spdlog to 1.15.0 (by @avsej in #709)
Repository Links
MacOS X
brew tap couchbaselabs/homebrew-couchbase
brew install couchbase-cxx-client
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp155/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp155/x86_64/couchbase-cxx-client.repo
1.0.5-rc.1
Full Changelog: 1.0.4...1.0.5-rc.1
What's Changed
- CXXCBC-633: ensure DNS-SRV resolver reports timeouts by @avsej in #703
- CXXCBC-636: Expose preferred server group replica reads in transaction_context by @Matt-Woz in #704
- CXXCBC-638: switch SDK to use bundled fmtlib for spdlog by @avsej in #705
- CXXCBC-640: do not force debug symbols for release builds by @avsej in #708
- Minor improvements by @thejcfactor in #706
- Update spdlog to 1.15.0 by @avsej in #709
- CXXCBC-638: fix transactions examples test by @avsej in #710
Repository Links
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/suse.lp155/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/suse.lp155/x86_64/couchbase-cxx-client.repo
1.0.4
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.0.4
Full changelog: 1.0.3...1.0.4
Fixes
- CXXCBC-620: Update core
analytics_link_get_allto follow RFC by @thejcfactor in #687 - CXXCBC-615: Expose
insert_rawandreplace_rawin core transactions attempt context by @DemetrisChr in #686 - CXXCBC-622: Update OpenTelemetry metrics integration to use GA Metrics API by @DemetrisChr in #688
- CXXCBC-627: Performance degradation after
couchbase::errorchanges by @Matt-Woz in #693 - CXXCBC-624: Fix user agent ID generation by @avsej in #692
- CXXCBC-611, CXXCBC-612: Follow RFC naming for metric operation names by @DemetrisChr in #695
- CXXCBC-632: Do not assume Analytics will always send meta fields in response by @avsej in #699
- URI encode user_upsert by @Matt-Woz in #700
Features
- CXXCBC-609: Expose
parent_spanin Public API options by @DemetrisChr in #690
Build and Test Infrastructure
- Updates for YUM/RPM builders by @avsej in #691
- Debian/Ubuntu packaging scripts by @avsej in #694
- Fix packaging scripts on MacOS by @avsej in #698
- Add scripts to produce APK files for Alpine Linux by @avsej in #685
Repository Links
MacOS X
brew tap couchbaselabs/homebrew-couchbase
brew install couchbase-cxx-client
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp155/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp155/x86_64/couchbase-cxx-client.repo
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://packages.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://packages.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
1.0.4-rc.1
Full Changelog: 1.0.3...1.0.4-rc.1
What's Changed
- CXXCBC-620: Update core analytics_link_get_all to follow RFC by @thejcfactor in #687
- CXXCBC-615: Expose insert_raw & replace_raw in core txns attempt ctx by @DemetrisChr in #686
- CXXCBC-622: Update OpenTelemetry metrics integration to use GA Metrics API by @DemetrisChr in #688
- CXXCBC-609: Expose
parent_spanin Public API options by @DemetrisChr in #690 - Updates for YUM/RPM builders by @avsej in #691
- Debian/Ubuntu packaging scripts by @avsej in #694
- CXXCBC-627: Performance degradation after couchbase::error changes by @Matt-Woz in #693
- CXXCBC-624: Fix user agent ID generation by @avsej in #692
- Add scripts to produce APK files for Alpine Linux by @avsej in #685
- CXXCBC-611 & CXXCBC-612: Follow RFC naming for metric operation names by @DemetrisChr in #695
Repository Links
RPM Linux Distributions
DIST=el9 # also: el8, amzn2023, fc40, fc41, suse.lp155
ARCH=x86_64 # also: aarch64
curl -L -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc41/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/fc41/x86_64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/suse.lp155/aarch64/couchbase-cxx-client.repo
https://sdk-snapshots.couchbase.com/clients/cxx/repos/rpm/suse.lp155/x86_64/couchbase-cxx-client.repo
DEB Linux Distributions
apt update && apt install curl gpg
DIST=noble # also: jammy, bookworm
ARCH=x86_64 # also: aarch64
curl -L https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/DEB-GPG-KEY.txt | \
gpg --yes --dearmor -o /usr/share/keyrings/couchbase-archive-keyring.gpg
curl -L -o/etc/apt/sources.list.d/couchbase-cxx-client.sources \
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/${DIST}/${ARCH}/couchbase-cxx-client.sources
apt update
apt install couchbase-cxx-client couchbase-cxx-client-dev couchbase-cxx-client-tools
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/bookworm/aarch64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/bookworm/x86_64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/jammy/aarch64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/jammy/x86_64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/noble/aarch64/couchbase-cxx-client.sources
https://sdk-snapshots.couchbase.com/clients/cxx/repos/deb/noble/x86_64/couchbase-cxx-client.sources
1.0.3
API documentation: https://docs.couchbase.com/sdk-api/couchbase-cxx-client-1.0.3
Full Changelog: 1.0.2...1.0.3
Fixes
- CXXCBC-599: Update allowed connection string options by @thejcfactor in #668
- CXXCBC-311: SDKs must encode URIs by @Matt-Woz in #674
- CXXCBC-606: Fix detection of dysfunctional node by @avsej in #673
- Add missing template parameters to fix compiler warnings by @avsej in #671
- CXXCBC-574: fix memory leak when open fails in public API by @avsej in #649
- CXXCBC-614: fix memory leak in observe_poll by @avsej in #679
Features
- Allow to query current log level by @avsej in #672
- CXXCBC-582: Add cluster labels & system tag in spans by @DemetrisChr in #682
- CXXCBC-582: Add cluster labels, keyspace & outcome in metrics by @DemetrisChr in #677
Columnar changes
- CXXCBC-598: Propagate bootstrap errors to HTTP operations by @thejcfactor in #666
- CXXCBC-602: Report first non-retriable code/message in query error by @DemetrisChr in #667
- CXXCBC-604: Apply raw options last by @DemetrisChr in #669
- CXXCBC-616: Report retry information when receiving a timeout from the HTTP component by @DemetrisChr in #681
- CXXCBC-600: Reduce origin::to_json output for Columnar builds by @thejcfactor in #678
Build and Test Infrastructure
- CXXCBC-303: Fix RPM for AmazonLinux by @avsej in #663
- CXXCBC-303: Fix RPM for RHEL 8 by @avsej in #664
- Use timestamp from the tag for reproducible tarballs by @avsej in #665
- Update list of RPM-based platforms by @avsej in #676
Repository Links
RPM Linux Distributions
DIST=el9
ARCH=x86_64
curl -o/etc/yum.repos.d/couchbase-cxx-client.repo \
https://packages.couchbase.com/clients/cxx/repos/rpm/${DIST}/${ARCH}/couchbase-cxx-client.repo
dnf install couchbase-cxx-client couchbase-cxx-client-devel couchbase-cxx-client-tools
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/amzn2023/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el8/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/el9/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/fc40/x86_64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp155/aarch64/couchbase-cxx-client.repo
https://packages.couchbase.com/clients/cxx/repos/rpm/suse.lp155/x86_64/couchbase-cxx-client.repo