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_argument
error 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.pc
have 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