SDK Release Notes
Release notes, installation instructions, and download archive for the Couchbase Ruby Client.
This page covers installation of the 3.x versions of the Couchbase Ruby SDK, and release notes for all 3.x versions.
SDK Installation
Ruby SDK supports MRI Ruby versions 4.0, 3.4, and 3.3. The source package is available through https://rubygems.org/gems/couchbase and can be installed with:
gem install couchbase
Note that --pre is necessary when the SDK in Beta/Preview phase — gem install --pre couchbase — otherwise the
latest stable release will be installed.
In addition to rubygems.org, we also maintain official gem repositories, where we publish not only source version of the package, but also precompiled binaries for Linux and MacOS.
To use official repository, it have to be registered in the .gemrc file:
gem sources --add https://packages.couchbase.com/clients/ruby/
The repository could be also specified in Gemfile for bundler. And in this case the source would be applied only for
Couchbase SDK library:
gem "couchbase", "3.9.0", :source => "https://packages.couchbase.com/clients/ruby/"
Or run in terminal:
gem install couchbase --clear-sources --source https://packages.couchbase.com/clients/ruby/
And finally, it is possible to download the package and install from the file. In the notes below, we specify tables with links to every release package along with precompiled binaries.
wget https://packages.couchbase.com/clients/ruby/sdk-3.9.0/couchbase-3.9.0-x86_64-linux.gem
gem install couchbase-3.9.0-x86_64-linux.gem
The URL structure is:
https://packages.couchbase.com/clients/ruby/sdk-3.9.0/couchbase-3.9.0-%{platform}.gem
where "platform" placeholder can take values: arm64-darwin, x86_64-darwin, x86_64-linux,
aarch64-linux, x86_64-linux-musl, aarch64-linux-musl, x64-mingw-ucrt, aarch64-mingw-ucrt. To see platform string the following command:
ruby -rrbconfig -e 'puts RbConfig::CONFIG["platform"]'
Ruby SDK 3.9 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 3.9.0 (21 October 2026)
This is the first GA release of the 3.9 Ruby SDK. The C++ core moves from 1.3.3 to 1.5.0.
gem install couchbase -v 3.9.0
|
Behaviour changes
Review these before upgrading from 3.8.x:
|
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Source Archive |
|
Linux x86_64 |
|
Linux arm64 |
|
Linux x86_64 (musl) |
|
Linux arm64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
|
Windows x64 |
|
Windows arm64 |
New Features
-
RCBC-558, CXXCBC-980: Read a Named Replica —
Collection#get_replicareads one specific replica of a document, as defined by SDK-RFC 0053.-
get_any_replicareturns whichever copy answers first.get_replicalets the application choose the copy. -
The copy is selected with
GetReplicaStrategy.from_index(:first), or:secondand:third. The active copy cannot be selected. -
The result is a
GetReplicaResult, andreplica?istrue. -
Three new errors describe why the chosen copy cannot answer. The first two are raised without a network round trip.
-
Error::ReplicaIndexOutOfBounds: the bucket has fewer replicas than the index. -
Error::ReplicaIndexCurrentlyUnavailable: the replica is configured but not placed on a node. -
Error::DocumentNotFoundOnReplica: the replica does not hold the document. It subclassesError::DocumentNotFound.
-
-
GetReplicaStrategy.from_index(:first, wrap: true)reads the next readable replica instead of failing. It still fails if the bucket has no replicas, or if no replica is readable. -
The replica is chosen from the vBucket map, not from node health. A read of a replica whose node is down waits until its timeout. The API reference shows how to bound the wait and fall back to
get_any_replica. -
Over
couchbase2://the operation raisesError::FeatureNotAvailable.
-
-
RCBC-304, CXXCBC-845: wait_until_ready —
Cluster#wait_until_readyandBucket#wait_until_readyping the services until they respond or the timeout elapses.-
Options::WaitUntilReadyselects the desired state and the service types. -
:onlinewaits for every endpoint of each requested service.:degradedwaits for at least one. -
For a bucket,
:onlinealso waits for the vBucket map. Every vBucket needs its active copy and each placeable replica on a node. -
The wait raises
Error::UnambiguousTimeouton timeout, andError::ClusterClosedonceCluster#disconnecthas run. -
Thread#raise,Thread#killandTimeout.timeoutdo not interrupt the wait. -
Over
couchbase2://the wait raisesError::FeatureNotAvailable.
-
-
RCBC-554, CXXCBC-911: Hybrid Search Score Fusion —
Options::Search#scoringcontrols how a hybrid search merges its FTS and vector results into one ranked list.-
SearchScoring.reciprocal_rank_fusionmerges the two lists by rank. It acceptsrank_constantandwindow_size. -
SearchScoring.relative_score_fusionmerges the two lists by normalized score. It acceptswindow_size. -
SearchScoring.noneturns scoring off. -
Both fusion strategies require Couchbase Server 8.1. On an older server the request raises
Error::FeatureNotAvailable. -
Over
couchbase2://onlySearchScoring.noneis supported. The fusion strategies raiseError::FeatureNotAvailable. -
The two fusion strategies are uncommitted.
-
Setting both
scoringanddisable_scoringraisesError::InvalidArgument.
-
-
RCBC-582: Retry Strategy per Operation — Key-value operations honour
retry_strategy:.-
:fail_fastmakes a request fail at once instead of retrying. A mutation on a locked document then raisesError::DocumentLockedimmediately. -
:best_effortandnilkeep the default strategy of theClusterobject. -
These operations honour the option:
-
get_multi,upsert_multiandremove_multi; -
get_replica; -
every other single-document operation except the replica reads below.
-
-
These operations ignore the option:
-
get_any_replica,get_all_replicas,lookup_in_any_replicaandlookup_in_all_replicas. -
Range scans.
-
Query, analytics, search and view requests.
-
-
Observe requests issued for
persist_to:andreplicate_to:still use the default strategy.
-
-
CXXCBC-978: Log Redaction — With
log_redaction=truein the connection string, the core tags sensitive values in its log messages.-
<ud>marks user data,<md>metadata and<sd>system data. -
A tool such as
cblogredactionthen strips or hashes them before the logs are shared. -
The setting is off by default. When it is off, log output is unchanged.
-
-
RCBC-575: ActiveSupport Cache Mutation Tracking — The
mutation_tracking:store option selects which writesdelete_matchedandclearwait for.-
:last, the default, waits for the last write, as before. -
:allwaits for the newest write to every vBucket the store wrote to. -
Any object that responds to
recordandmutation_statecan be given instead. -
Writes by other store instances or processes are not covered.
-
Improvements
-
Vector Search Committed —
VectorSearch,VectorQueryandSearchRequest#vector_searchare no longer marked uncommitted. -
Platforms — Precompiled gems are published for more platforms:
-
Windows x64 (
x64-mingw-ucrt). -
Windows arm64 (
aarch64-mingw-ucrt). This gem does not depend ongrpc, socouchbase2://is unavailable on it. -
Linux arm64 with musl (
aarch64-linux-musl). -
The musl gems are built on Alpine 3.21.
-
-
RCBC-480: Windows Connections — The extension links Winsock ahead of the Ruby library on MinGW. Every connection previously failed with
WSAENOTSOCK.
Security Fixes
-
CXXCBC-1072, CXXCBC-1106: Management Request Encoding — Names and values passed by the application can no longer change the meaning of a management request.
-
User and group upsert bodies are now form-encoded. A password such as
Pw123456&roles=adminpreviously added arolesfield. -
Names placed into REST paths are now escaped. A
#,?or/in a name could cut the path short or address a different entity.
-
-
CXXCBC-981: vBucket Map Bounds Check — Replica reads no longer index past the end of a vBucket map row. A row is short right after replicas are added to a bucket. Such a read could route a request to a node that does not hold the vBucket.
-
CXXCBC-837: MCBP Frame Bounds Check — A key-value response frame whose prefix length exceeds its body length is rejected. It previously drove the parser past the receive buffer.
-
CXXCBC-836: Analytics Identifier Quoting — Bucket, scope and collection names are quoted and escaped in the Analytics statements the SDK composes.
Bug Fixes
-
RCBC-559, RCBC-567, RCBC-586, RCBC-304: Memory Leaks on Errors and Interrupts — A failing operation no longer leaks its request, its response or its reference to the core cluster.
-
100,000 gets of a missing document grew RSS by about 23 MB.
-
Timeout.timeout,Thread#killor a signal during an operation leaked its response. RSS growth per interrupted 4 MiB get drops from about 4 MiB to under 0.2 MiB. -
These leaked the arguments already copied:
-
a tracer that raises;
-
an
inspectthat raises; -
an out-of-range Integer;
-
a non-Symbol durability option.
-
-
A dynamic Symbol as a view namespace no longer crashes the process. It raises
ArgumentError. -
Errors reach Ruby with the same class, message and backtrace as before.
-
An interrupt that arrives just before an operation now takes effect when the operation completes. That can be as late as the operation timeout.
-
-
RCBC-568: Logger Hang — A failing Ruby logger callback no longer hangs the process.
-
The failure can be a non-
StandardErrorexception, aTimeoutor aThread#kill. -
The sink mutex stayed locked, and the next flush blocked while holding the GVL. The process then ignored
SIGTERM. -
Unwritten messages, including the one whose callback failed, are delivered by the next flush.
-
Couchbase.set_logger(nil)no longer raisesArgumentError.
-
-
RCBC-571, CXXCBC-913, CXXCBC-914, CXXCBC-1087: fork() Handling — The child is now notified as the child.
-
The child was notified as the parent, so it restarted the I/O it inherited. Both processes read the same sockets.
-
An asynchronous exception during the fork no longer leaves the parent’s
Clusterobjects stopped. -
The child closes the sockets it inherited before it starts its own I/O.
-
The child reopens each
Clusterobject without waiting for its bootstrap (CXXCBC-1087). Requests issued meanwhile are held until the bootstrap completes. Each request is still bounded by its own timeout.
-
-
RCBC-564: Range Scan Use-After-Free — A scan result keeps the core cluster behind its
Clusterobject alive. Freeing the result afterCluster#disconnectcould crash or hang the process. So could freeing both in one GC sweep. -
RCBC-566: replica? Flag —
GetReplicaResult#replica?now reports whetherget_any_replicaandget_all_replicasreturned a replica. It previously returnednilovercouchbase://. -
RCBC-580: Raw Query and Analytics Parameters — Raw parameters reach the server as given.
-
A Symbol key passed to
Options::Query#rawsilently dropped that parameter and every raw parameter after it. -
Options::Analytics#rawsent the entry as a statement binding$name. It is now sent as a request option. -
A non-String key or value now raises
ArgumentError. Such entries were previously dropped. This covers:-
query and analytics parameters, raw and named;
-
search raw parameters.
-
-
-
RCBC-584: Raw View Parameters —
Options::View#rawraisedNoMethodErroron every call, and stored values were never sent. Raw view parameters are now form-encoded and sent. -
RCBC-583: Options Block — A block passed to an options constructor runs once, after the defaults are set.
Options::Query.new { |o| o.raw("k", 1) }previously raisedNoMethodError. -
RCBC-574: ActiveSupport Cache After Multi-Key Writes —
delete_matchedandclearno longer raiseNoMethodErrorafterwrite_multiordelete_multi. -
RCBC-569: Histogram Lock — A non-Float percentile no longer leaves
HdrHistogramClocked. The nextrecord_valuepreviously aborted or blocked every Ruby thread. Integer percentiles are now accepted. -
RCBC-573: Log Timestamps on macOS — Log times carry the correct sub-second part. On macOS it was a thousand times too small.
-
Windows Exit Hang — A process that loads the extension no longer hangs at exit on Windows.
-
**libstdc Symbol Interposition** -- Precompiled Linux gems no longer export the libstdc symbols they link statically. They interposed on the system libstdc and crashed other C extensions, such as
mini_racer. -
CXXCBC-984, CXXCBC-985, CXXCBC-986, CXXCBC-987, CXXCBC-1022, CXXCBC-1023, CXXCBC-1090, CXXCBC-1093: Request Completion — Several core paths no longer drop a key-value request without completing it.
-
A request waiting in a retry backoff when the
Clusterobject closes now completes with an error. -
A key-value request’s timeout now includes the wait for its bucket to open.
-
A range scan of a missing collection fails at once with
Error::CollectionNotFound. -
pingno longer completes before every ping request has been sent.
-
-
CXXCBC-1039, CXXCBC-1046, CXXCBC-1048: HTTP Session Lifecycle — HTTP session shutdown is serialised and runs once. Closing a busy session no longer causes a use-after-free.
-
CXXCBC-1057: Client Certificate Rotation — A certificate set with
Cluster#update_authenticatoris used by the next HTTP request. Pooled HTTP connections previously kept the old certificate until their idle timeout. -
CXXCBC-882, CXXCBC-1059: Query Error Mapping —
-
Query error 2120 (
E_ADMIN_AUTH) raisesError::AuthenticationFailure. -
Dropping a query index that does not exist raises
Error::IndexNotFound, whatever HTTP status the server returns.
-
-
CXXCBC-823, CXXCBC-839, CXXCBC-841, CXXCBC-876: Connection Management — Fixes from core 1.4.0:
-
A cluster-level configuration no longer displaces a bucket’s configuration. This caused stale routing and Not-My-VBucket loops during failover and rebalance.
-
Dead idle pooled HTTP connections are detected and closed.
-
Bucket create and update work against Couchbase Server 8.1.
-
-
CXXCBC-785, CXXCBC-787, CXXCBC-788, CXXCBC-797: Key-Value Correctness — A projected
getwith more than 16 paths no longer fails when a path is missing.lookup_in_all_replicasreports its paths and total failure correctly.
Deprecations
-
RCBC-554: Options::Search#disable_scoring — Replaced by
scoring: SearchScoring.none, which sends the same request.
Ruby SDK 3.8 Releases
Version 3.8.2 (2 September 2026)
gem install couchbase -v 3.8.2
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Source Archive |
|
Linux x86_64 |
|
Linux arm64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes and Enhancements
-
RCBC-557: Add parent_span to Ping options (#241).
-
Update C++ core to 1.3.3 (#245, #244, #242). Includes bug fixes for CXXCBC-839, CXXCBC-841 and CXXCBC-864.
Version 3.8.1 (2 July 2026)
gem install couchbase -v 3.8.1
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Source Archive |
|
Linux x86_64 |
|
Linux arm64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes and Enhancements
-
RCBC-542: Forward the supplied CAS value to the C++ core in
AppendandPrependoperations, so that compare-and-swap is now honored for these mutations (#225). -
RCBC-550: Access the C++ core log level through the core API instead of spdlog’s default logger (#229).
-
RCBC-540, RCBC-541: Updated the Protostellar protocol definitions to the latest version (#226).
Build and Test Infrastructure Improvements
Version 3.8.0 (31 March 2026)
Version 3.8.0 is a minor release of the third generation Ruby SDK, bringing a number of improvements.
Most notably the 3.8.0 release adds observability support (with the ability to integrate with OpenTelemetry, via the couchbase-opentelemetry extension),
and adds support for Ruby 4.0 — see Ruby Version Compatibility for details of supported Ruby versions.
Support is also added for JWT authentication
and for credential rotation without downtime.
OpenTelemetry Extension
Installing the OpenTelemetry Extension
$ gem install couchbase-opentelemetry -v 3.8.0
# rubygems.org version
gem "couchbase-opentelemetry", "3.8.0"
# using official repository
gem "couchbase-opentelemetry", "3.8.0", :source => "https://packages.couchbase.com/clients/ruby"
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Source Archive |
|
Linux x86_64 |
|
Linux arm64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes and Enhancements
-
RCBC-524, RCBC-525, RCBC-526: OpenTelemetry integration (#216, #195, #197).
Full support for distributed tracing and metrics using the
OpenTelemetryAPI. Operations now create spans and record latency and throughput metrics that can be exported to backends like Jaeger or Prometheus. -
RCBC-522: Support for JWT authentication (#218).
Added
Couchbase::Management::Options::User::JwtAuthenticatorto enable authentication using JSON Web Tokens. -
RCBC-521: The new
Couchbase::Cluster#update_authenticatormethod allows rotating credentials (passwords or certificates) on an active cluster connection without requiring a restart (#191). -
RCBC-503: New configuration settings in
Couchbase::Options::Clusterto control the SDK’s internal telemetry collection, including endpoint overrides and connection backoff (#190). -
RCBC-528: Migrated all Key-Value operations to use the high-performance C++ backend, ensuring feature parity and consistent behavior across Couchbase SDKs (#196).
-
RCBC-529: Standardized management operation options: Added parent span for search, user, and view management options, and moved to the
Management::Optionsmodule, and added support for distributed tracing across administrative tasks (#192). -
RCBC-527: Enhanced observability by surfacing internal C++ core timing spans (e.g., encoding, dispatch, decoding) within the Ruby span hierarchy (#210).
-
RCBC-536: Added cluster name and cluster uuid span/metric attributes (#202). Automatically attaches
db.couchbase.cluster_nameanddb.couchbase.cluster_uuidto all telemetry signals. -
RCBC-530: Deprecated Support for MapReduce Views (#194). MapReduce View APIs are now marked as deprecated in alignment with the Couchbase Server deprecation schedule.
-
RCBC-525: Fixed names of
lookup_in_all_replicasandlookup_in_any_replicaspans (#220). -
RCBC-534: Correctly set tracer to external tracer if one is provided (#199).
-
Added support for Ruby 4.0 (#198).
-
Added
inventory_with_opentelemetryexample for thecouchbase-opentelemetrygem (#222).
Ruby SDK 3.7 Releases
Ruby SDK 3.6 Releases
Version 3.6.0 (2 June 2025)
gem install couchbase -v 3.6.0
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Linux x86_64 |
|
Linux arm64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes
-
RCBC-511: Updated core to pick up improved user lock/unlock error messages & logs (#177).
-
Updated core to 1.1.0. Release notes: C++ SDK 1.1.0.
Ruby SDK 3.5 Releases
Version 3.5.7 (31 March 2025)
gem install couchbase -v 3.5.7
Version 3.5.6 (18 March 2025)
gem install couchbase -v 3.5.6
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Linux x86_64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes
-
RCBC-512: Invoke fork hooks to protect SDK internal state (#165).
-
Updated core to 1.0.6. Release notes: C++ SDK 1.0.6.
Version 3.5.5 (28 January 2025)
gem install couchbase -v 3.5.5
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Linux x86_64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes
-
RCBC-487: New APIs added to allow getting KV documents from a preferred server group. This feature allows the implementation of 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 (#163).
-
Updated core to 1.0.5. Release notes: C++ SDK 1.0.5.
Version 3.5.4 (22 October 2024)
gem install couchbase -v 3.5.4
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Linux x86_64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes
-
Updated core to 1.0.3 (#161). Release notes: C++ SDK 1.0.3.
-
Added CI scripts for Rocky Linux (#159).
Version 3.5.3 (27 August 2024)
gem install couchbase -v 3.5.3
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Linux x86_64 |
|
Linux x86_64 (musl) |
|
macOS x86_64 |
|
macOS arm64 |
Fixes
-
Updated core to 1.0.1 (#157). Release notes: C++ SDK 1.0.1.
Version 3.5.2 (25 July 2024)
gem install couchbase -v 3.5.2
Version 3.5.1 (23 April 2024)
gem install couchbase -v 3.5.1
Download Links
Platform |
File |
Checksums |
|
Source Archive |
|
Linux x86_64 |
|
Linux x86_64 (musl) |
|
macOS 11 x84_64 |
|
macOS 13 arm64 |
Improvements
-
RCBC-482: Only expand MutateIn macros when the relevant symbols are used as values (#141).
Bug Fixes
-
RCBC-476:
FeatureNotAvailablemessage forcouhbase2://pinganddiagnostics(#139).
Underlying C++ SDK Core Changes
Enhancements
-
CXXCBC-489: Added support for scoped eventing functions (#548, #554).
-
CXXCBC-470: Distinguish between 'unset' and 'off'
query_profile(#551).
Fixes
-
CXXCBC-487: Added logic during bootstrap to check if alternate addressing is being used (#545).
-
CXXCBC-503: Added logic to ignore configuration if it contains an empty vBucket map (#556, #558).
-
CXXCBC-30: Fixed inconsistent behaviour when using subdoc opcodes incorrectly (#559).
-
CXXCBC-492: Updated collection_component get_collection_id to use retry strategy (#552).
-
CXXCBC-494: Fixed memory issue in range scan implementation (#549).
-
Always attempt to extract common query code if error has not been set (#561). This fixes quota/rate limit checks for older servers.
Build and Tests Fixes
-
CXXCBC-502: Apply
/bigobjfor SDK objects only (#550). Avoid using globaladd_definitions()as it might leak to non-C++ languages (likeASM_NASMon Windows).
Version 3.5.0 (17 March 2024)
gem install couchbase -v 3.5.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 Ruby SDK that contains C++ SDK 1.0.0-dp.15 (or later).
Improvements
-
RCBC-468: Support added for
maxTTLvalue of -1 for collection 'no expiry' (#130). -
RCBC-410, RCBC-458: Added support for the
couchbase2protocol (#126, #127). -
RCBC-472: Ping now returns result for management service when specified in options (#134).
-
RCBC-463: Adedd
DocumentNotLockederror to corresponds with the C++ error codecouchbase::errc::key_value::document_not_locked(#128).
Bug Fixes
-
Ensure that truncating keys in CouchbaseStore preserves the validity of their encoding (#125).
-
RCBC-461:
extract_expiry_timeis now called in the setter instead of the constructor, so that the expiry is sent to the backend in the correct format, and there should no longer be anArgumentError(#124).
Underlying C++ SDK Core Changes
Changes in Couchbase C++ SDK 1.0.0-dp.14
-
CXXCBC-482: Updated range scan orchestrator to use best effort retry strategy by default (#542).
-
CXXCBC-481: Fixed potential crash when parsing search result hits (#541).
-
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-480: Fixed capabilities check for replica LookupIn operations (#539).
-
CXXCBC-479: Fixed capabilities check for replica
LookupInoperations (#537). -
CXXCBC-336: Updated DNS config to not fallback to 8.8.8.8 if SDK cannot obtain system DNS server (#533).
Changes in Couchbase C++ SDK 1.0.0-dp.13
New features and enhancements
-
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). -
CXXCBC-191: Index Key Encoding (#519) — in line with the rfc, the
fieldsparamaeter is now remamed to keys in the Public API’screate_index(), and each index key provided tocreate_index()is encoded by surrounding them with backticks.
-
CXXCBC-345: Added range scan improvements and resolved concurrency issues (#525).
-
CXXCBC-284: Updated config polling to not use session that is not bootstrapped (#528).
-
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 the 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-431: Added check for history retention bucket capability in collection create/update (#502, #505).
-
CXXCBC-421: Updated query operation to return
feature_not_availableif query preserve expiry is specified but is not supported on the server(#510).
Changes in Couchbase C++ SDK 1.0.0-dp.12
-
CXXCBC-401: Added ping & diagnostics to public API (#498, #503).
-
CXXCBC-346: Support added for
maxTTLvalue of -1 for collection 'no expiry' (#500). -
CXXCBC-442: Transcoder support - which was previously limited in the SDK to
JSONandRawBinarytranscoders — has now been extended toraw_jsonandraw_stringtranscoders (#514). -
CXXCBC-440: Support added for Scoped Search Indexes (#512, #513).
-
CXXCBC-284: Updated config polling to not use session that is not bootstrapped, to reduce network traffic when polling for cluster configuration (#504, #528).
-
CXXCBC-422: Added insufficient credentials error code to common query error code conversion (#511).
-
CXXCBC-421: Updated query operation to return
feature_not_availableif query preserve expiry is specified but is not supported on the server(#510). -
CXXCBC-426: Under testing, a get with very large projection was returning fields outside of the projection. This has been fixed, with the projections now set correctly, and the SDK should fall back to a full-doc fetch and return a valid projected result (#499).
Changes in Couchbase C++ SDK 1.0.0-dp.11
-
CXXCBC-404: Fixed
unlockoperations to exposeKV_LOCKEDstatus ascas_mismatch(#479). -
CXXCBC-403: Updated
not_my_vbucketKV response to allow retries (#480). -
CXXCBC-368: Added support for subscribing to clustermap notifications to speed up failover (#490).
-
CXXCBC-419: Updated MCBP protocol parser to start with clean state. Fixes protocol parsing issues when bootstrap sequence is being retried (#496).
-
CXXCBC-409: Added handling for
index does not existquery error (#492). -
CXXCBC-412: Added support for the
document_not_locked(0x0e) KV status, mapping it to theerrc::key_value::document_not_lockederror code (#491).
Changes in Couchbase C++ SDK 1.0.0-dp.10
-
CXXCBC-383: The
subdoc_doc_too_deep(0xc4) KV status now returns a`path_too_deep` error code (#455). -
CXXCBC-382: Fixed
raw_binary_transcoderso that `get`s on binary data are now possible.. (#459). -
CXXCBC-387: Optimising tags for
noop_tracerand cache formattedmbcp_sessionendpoints (#461, #462, #464).. -
Added more information to diagnose timeouts on NMV responses (#475).
Ruby SDK 3.4 Releases
Version 3.4.5 (10 October 2023)
gem install couchbase -v 3.4.5
Underlying C++ SDK Core Changes
-
CXXCBC-376: Changed what 'create' and 'update' bucket operations send to the server. Unrequired
BucketSettingsfields are now set to optional, and are not sent unless the settings are explicitly specified. (#451). -
CXXCBC-374: The SDK should now return a 'bucket_exists' error when the bucket already exists during a '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).
-
Detect
collection_not_founderror inupdate_collectionresponse (#450).
Download Links
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.2.0 |
|
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 (musl) |
3.2.0 |
|
Linux x86_64 (musl) |
3.1.0 |
|
macOS 10.15 x84_64 |
3.2.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
3.2.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 M1 |
3.2.0 |
Version 3.4.4 (21 August 2023)
gem install couchbase -v 3.4.4
Improvements
Underlying C++ SDK Core Changes
-
CXXCBC-333: Fixed parsing 'resolv.conf' on Linux (#416).
-
The library might not ignore trailing characters when reading nameserver address from the file.
-
-
CXXCBC-335: Now logging connection options for visibility (#417).
-
CXXCBC-343: Continue bootsrap if DNS-SRV resolution fails (#422).
-
CXXCBC-242: SDK Support for Native KV Range Scans (#419, #423, #424, #426, #428, #431, #432, #433, #434).
-
CXXCBC-339: Disable older TLS protocols (#418).
-
CXXCBC-346: Protocol communication can now be logged in a separate file (#425).
Couchbase::Backend.enable_protocol_logger_to_save_network_traffic_to_file("/tmp/cb.log") -
CXXCBC-350: Collection ID was resolved on a per-request basis — which could result in situations where results from a single scan can originate from more than one collection. This could happen if a collection was dropped and then immediately recreated with the same name. We now resolve collection ID before performing any scan operations (#433).
Download Links
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.2.0 |
|
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 (musl) |
3.2.0 |
|
Linux x86_64 (musl) |
3.1.0 |
|
Linux x86_64 (musl) |
3.0.0 |
|
macOS 10.15 x84_64 |
3.2.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
3.2.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 M1 |
3.2.0 |
Version 3.4.3 (17 May 2023)
gem install couchbase -v 3.4.3
Improvements
-
RCBC-420: Implemented support for
RawJsonTranscoder,RawBinaryTranscoder, andRawStringTranscoder, and checking flags when decoding document content (#93). -
RCBC-427: Add missing query index management options —
scope_name,collection_name, andindex_namefor#create_primarymethod. ReplacedArgumentErrorwithInvalidArgumenterror whenscope_nameandcollection_nameare used in the CollectionQueryIndexManager (#92). -
RCBC-436: To support LDAP authentication, always use PLAIN SASL mechanism with TLS connections (#103, CXXCBC-296).
-
Fix the durability level always being set to
nonein the C++ core (#99). -
Added constructor for
SearchRowLocation(#95). -
Changed
attrtoattr_reader(#104).
Underlying C++ SDK Core Changes
-
CXXCBC-324: Port and network name now checked on session restart, improving performance during rebalance (#401).
-
CXXCBC-323:
bootstrap_timeoutandresolve_timeoutcan now be used in the connection string (#400). -
CXXCBC-327: Bundled Mozilla certificates with the library (#405, #408). Source: https://curl.se/docs/caextract.html. Use the
disable_mozilla_ca_certificatesconnection string option to disable the bundled certificates. Use the following script to inspect the certificates' metadata:Couchbase::BUILD_INFO[:cxx_client].select{|k, _| k =~ /mozilla/} # => # {:mozilla_ca_bundle_date=>"Tue Jan 10 04:12:06 2023 GMT", # :mozilla_ca_bundle_embedded=>true, # :mozilla_ca_bundle_sha256=>"fb1ecd641d0a02c01bc9036d513cb658bbda62a75e246bedbc01764560a639f0", # :mozilla_ca_bundle_size=>137} -
Introduced connection string option
dump_configurationfor debugging (#398). It logs cluster configuration at trace level.
Download Links
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.2.0 |
|
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 (musl) |
3.2.0 |
|
Linux x86_64 (musl) |
3.1.0 |
|
Linux x86_64 (musl) |
3.0.0 |
|
macOS 10.15 x84_64 |
3.2.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
3.2.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 M1 |
3.2.0 |
Version 3.4.2 (12 April 2023)
gem install couchbase -v 3.4.2
Underlying C++ SDK Core Changes
-
CXXCBC-31: Allow the use of schemaless connection strings (e.g.
"cb1.example.com,cb2.example.com") (#394). -
CXXCBC-318: Always try TCP if UDP fails in DNS-SRV resolver (#390).
Download Links
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.2.0 |
|
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 (musl) |
3.2.0 |
|
Linux x86_64 (musl) |
3.1.0 |
|
Linux x86_64 (musl) |
3.0.0 |
|
macOS 10.15 x84_64 |
3.2.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
3.2.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 M1 |
3.2.0 |
Version 3.4.1 (20 March 2023)
gem install couchbase -v 3.4.1
Underlying C++ SDK Core Changes
-
Improved build with OpenSSL on CentOS 7 (#382).
-
CXXCBC-144: Search query on collections no longer requires you to pass in the scope name — it is inferred from the index (#379).
-
CXXCBC-145: Search query request, raw option added (#380).
Download Links
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.2.0 |
|
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 (musl) |
3.2.0 |
|
Linux x86_64 (musl) |
3.1.0 |
|
Linux x86_64 (musl) |
3.0.0 |
|
macOS 10.15 x84_64 |
3.2.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
3.2.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 M1 |
3.2.0 |
Version 3.4.0 (19 February 2023)
gem install couchbase -v 3.4.0
Improvements
-
RCBC-378: Implement change password for
Management::Userclass. (#65) -
RCBC-388: Add Configuration Profiles. At the moment one profile is defined
"wan_development", and it could be applied usingOptions::Cluster#apply_profile. (#55) -
RCBC-263: Implement legacy durability. See options
:persist_toand:replicate_toof mutations. (#49) -
RCBC-387: Implement replica reads with
Collection#get_any_replicaandCouchbase#get_all_replicas(#48) -
RCBC-375: Implement log forwarding. See documentation of method
Couchbase.set_loggerand classesCouchbase::Utils::GenericLoggerAdapter,Couchbase::Utils::GenericLoggerAdapter(#45) -
RCBC-398: Add
ClusterRegistryto allow custom connection string handlers. (#68) -
RCBC-366: Allow to override default timeouts through
Options::Cluster(#37) -
RCBC-399: Add default options objects as class constants. (#69)
Notable Changes in C++ SDK 1.0.0-dp.4
-
CXXCBC-275: Update implementation query context fields passed to the server. In future versions of the server versions it will become mandatory to specify context of the statement (bucket, scope and collection). This change ensures that both future and current server releases supported transparently.
-
CXXCBC-296: Force PLAIN SASL auth if TLS enabled. Using SCRAM SASL mechanisms over TLS protocol is unnecesary complication, that slows down initial connection bootstrap and potentially limits server ability to improve security and evolve credentials management.
-
CXXCBC-295: The
get with projectionsopration should not fail if one of the the paths is missing in the document, because the semantics is "get the partial document" and not "get individual fields" like inlookup_inoperation. -
CXXCBC-294: In the Public API, if
getoperation requested to return expiry time, zero expiry should not be interpreted as absolute expiry timestamp (zero seconds from UNIX epoch), but rather as absense of the expiry. -
CXXCBC-291: Allow to disable mutation tokens for Key/Value mutations (use
enable_mutation_tokensin connection string). -
Resource management and performance improvements:
-
Fix tracer and meter ref-counting (#370)
-
Replace
minstd_randwithmt19937_64, as it gives less collisions (#356) -
CXXCBC-285: Write to sockets from IO threads, to eliminate potential race conditions. (#348)
-
Eliminate looping transform in
mcbp_parser::next(#347) -
CXXCBC-205: Use thread-local UUID generator (#340)
-
CXXCBC-293: Performance improvements:
-
-
Build system fixes:
-
Enhancements:
Notable changes in C++ SDK 1.0.0-dp.3
-
CXXCBC-276: Use interval from the options for config poll, which previous was hard-coded to 2.5 seconds. (#336)
Notable changes in C++ SDK 1.0.0-dp.2
-
CXXCBC-242: Drain waiting commands list on MCBP session close (#321)
-
CXXCBC-271: Fix
get_all_replicasbehaviour: do not propagate error if result set is not empty, while the last response has failed. (#322)
Notable changes in C++ SDK 1.0.0-dp.1
-
CXXCBC-142: Update SRV resolution for Windows (#303)
-
CXXCBC-172: Refresh DNS SRV when cluster uncontactable (#275, #290)
-
CXXCBC-234: Error message for bucket hibernation and update error message for authentication_failure. (#280, #285)
-
CXXCBC-235: Load system CAs when the trust certificate is not provided and do not fail if trust certificate is not specified (#283, #281)
-
CXXCBC-245: Fix encoding of durability frame (#277)
-
CXXCBC-246: Convert
not_storedcode todocument_exists(#278) -
CXXCBC-251: Fix snappy decompression for
get_replica(#296) -
CXXCBC-253:
query_optionsnot settingscope_qualifier(#300) -
SDKQE-2761: Fix failures in serverless mode (#274)
-
Don’t log expected warnings in DNS resolver (#294)
Resource management and performance fixes
-
CXXCBC-225: Don’t throw exceptions when socket options cannot be set (#270)
Notable changes in C++ SDK 1.0.0-beta.3
-
CXXCBC-221: Support for configuration profiles (#268)
-
CXXCBC-218: allow to check if subdoc result field has value (#263)
-
CXXCBC-199: Always set
kv_collection_outdatedretry reason on unknown collection error (#223) -
CXXCBC-203: disable clustermap nofication by default (#233)
-
CXXCBC-159: Increment/decrement should not have
preserve_expiry(#201) -
CXXCBC-55: External Tracing and Metrics support with OpenTelemetry support (#228, #231)
Bug fixes
-
CXXCBC-134: Close http_session before conecting to next endpoint (#213)
-
CXXCBC-179: fix parsing responses with chunked meta trailer (#191)
-
CXXCBC-170: add extra check for missing CA for TLS connections (#197)
-
CXXCBC-182: add extra check for keywords in query index fields (#196)
-
CXXCBC-173: complete streaming lexer even if pointer didn’t match (#195)
-
CXXCBC-212: reprepare and retry query on 4040, 4050 and 4070 (#257)
-
CXXCBC-174: reduce scope of the http request lock (#259)
-
CXXCBC-176: ignore 'is_primary' for named primary indexes when dropping (#202)
-
Return subdocument error context from future-based subdoc methods (#258)
Download Links
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.2.0 |
|
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 (musl) |
3.2.0 |
|
Linux x86_64 (musl) |
3.1.0 |
|
Linux x86_64 (musl) |
3.0.0 |
|
macOS 10.15 x84_64 |
3.2.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
3.2.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 M1 |
3.2.0 |
Ruby SDK 3.3 Releases
Version 3.3.0 (5 May 2022)
This is the first GA release of the 3.3 series.
gem install couchbase -v 3.3.0
Improvements:
-
RCBC-338: Added new options for the search API. You can now add the
operatorandinclude_locationsproperties to all search queries. -
RCBC-358, RCBC-346: Added new options for the bucket API. The SDK now allows you to configure the custom conflict resolution storage backend for new buckets.
-
RCBC-345: We now support preserving expiry for the query API.
-
RCBC-343: SSL peer is now verified by default.
-
Added support for Ruby 3.1.
-
Dropped support for Ruby 2.5 and 2.6.
Fixes:
-
RCBC-358: The SDK now initializes search locations only if they are returned by the server.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.1.0 |
|
Linux x86_64 |
3.0.0 |
|
Linux x86_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
3.1.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 11 x84_64 |
3.1.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
2.7.0 |
Ruby SDK 3.2 Releases
Version 3.2.0 (4 August 2021)
This is the first GA release of the 3.2 series.
gem install couchbase -v 3.2.0
-
RCBC-301: Implemented metrics. This feature is enabled by default; it can be disabled in the connection string with
enable_metrics=false, or programmatically:options = Cluster::ClusterOptions.new options.enable_metrics = falseExtra options:
options = Cluster::ClusterOptions.new options.metrics_emit_interval = 60_000 # in milliseconds, default 10 minutes -
RCBC-234: Implemented tracing. This feature is enabled by default; it can be disabled in the connection string with
enable_tracing=false, or programmatically:options = Cluster::ClusterOptions.new options.enable_tracing = falseExtra options:
options = Cluster::ClusterOptions.new options.orphaned_emit_interval = 600_000 # in milliseconds options.orphaned_sample_size = 64 options.threshold_emit_interval = 600_00 # in milliseconds options.threshold_sample_size = 64 options.key_value_threshold = 500 # in milliseconds options.query_threshold = 1_000 # in milliseconds options.view_threshold = 1_000 # in milliseconds options.search_threshold = 1_000 # in milliseconds options.analytics_threshold = 1_000 # in milliseconds options.management_threshold = 1_000 # in milliseconds -
RCBC-318: Parse and use
revEpochfield in configuration for improved bucket configuration handling. -
RCBC-324: Query error code 13014 is now mapped to an
AuthenticationFailureexception. -
RCBC-227: Remote links for analytics can now be managed from the SDK, enabling connection to an external dataset such as an AWS S3 bucket.
-
RCBC-283: Added Collections support for Search queries.
-
RCBC-311: Fixed scope qualifer encoding for analtyics to work with latest decoding.
-
Dropped support of Ruby 2.5.
-
Many smaller fixes and improvements.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.0.0 |
|
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
2.7.0 |
|
macOS 11 x84_64 |
2.6.0 |
|
macOS 11 x84_64 |
2.5.0 |
|
macOS 11 Universal |
2.6.0 |
Ruby SDK 3.1 Releases
Version 3.1.1 (8 April 2021)
This is the second GA release of 3.1 series.
gem install couchbase -v 3.1.1
-
RCBC-309: Allow subdocument remove operation with empty path.
-
RCBC-316: Fix exceptions for collections manager.
-
RCBC-315: Raise
CasMismatchexception only when query returns code12009with"CAS mismatch"in message. -
RCBC-298: Support preserving expiration for mutations.
Collection#replace,Collection#upsert, andCollection#mutate_inmethods now accept new boolean optionpreserve_expirywhich determines whether the server will update expiration for existing documents (falseby default).In the following example, the server will not reset expiration if the document already exists, and only use
100seconds if the document has to be created.collection.upsert(doc_id, {answer: 43}, Options::Upsert(expiry: 100, preserve_expiry: true)) -
RCBC-317: Allow to disable snappy compression with
enable_compression=falsein connection string.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.0.0 |
|
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
2.7.0 |
|
macOS 11 x84_64 |
2.6.0 |
|
macOS 11 x84_64 |
2.5.0 |
|
macOS 11 Universal |
2.6.0 |
Version 3.1.0 (24 March 2021)
This is the first GA release of 3.1 series.
gem install couchbase -v 3.1.0
-
RCBC-314: Fixed class resolution for Analytics at scope level.
-
RCBC-276: Marked
create_as_deletedof subdocument API as private. -
RCBC-287: Updated URLs of endpoints for Collections management API.
-
RCBC-303: Deprecated
CollectionManager#get_scope; instead the application should useCollectionManager#get_scopesand iterate/filter the results. -
RCBC-313: Send collection name as value on network level for
0xbb(GET_COLLECTION_ID) command. -
RCBC-302: Allow to disable configuration push from server (using
enable_clustermap_notification=falsein the connection string). -
RCBC-307: Allow to disable unordered execution of commands (using
enable_unordered_execution=falsein the connection string). -
The library does not keep GVL lock durng IO anymore. It releases lock when scheduling a command, and acquires it back once the command is completed. This change allows runtime to use fibers or threads, and do something useful while the operation is in progress.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.0.0 |
|
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 11 x84_64 |
3.0.0 |
|
macOS 11 x84_64 |
2.7.0 |
|
macOS 11 x84_64 |
2.6.0 |
|
macOS 11 x84_64 |
2.5.0 |
Ruby SDK 3.0 Releases
Version 3.0.3 (3 February 2021)
gem install couchbase -v 3.0.3
This is the fourth GA release of 3.0 series.
-
RCBC-226: Add minimal durability setting in bucket manager.
-
RCBC-238: Refactored expiration (TTL) options:
-
It accepts
Timeinstance in addition toDuration(#in_seconds); -
When
Integeris passed, it implicitly converts to epoch time to resolve disambiguation.
-
-
RCBC-291: Implementation of
ActiveSupport::Cache::Storeinterface. To enable it, put the following lines into application configuration section:
config.cache_store = :couchbase_store, {
connection_string: "couchbase://localhost",
username: "app_cache_user",
password: "s3cret",
bucket: "app_cache"
}
-
RCBC-292: Swap bytes in CAS for compatiblity. Now the value of CAS matches the representation in other services (e.g. Query).
-
RCBC-300: Allow the enforcement of PLAIN SASL mechanism. This is necessary when LDAP authentication is enabled, but the SDK does not use client certification to authenticate.
-
RCBC-237: Added collections support for analytics.
Scope#analytics_queryautomatically sets scope qualifier. Also, it is now possible to provide custom qualifier in the options. -
Status of single operation now accessible on result object of
get_multi,upsert_multi, andremove_multioperations. -
Error context objects now accessible on exceptions (via
#contextmethod).
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
3.0.0 |
|
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 11 Universal |
2.6.0 |
|
macOS 10.15 x84_64 |
3.0.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 10.13 x84_64 |
3.0.0 |
|
macOS 10.13 x84_64 |
2.7.0 |
|
macOS 10.13 x84_64 |
2.6.0 |
|
macOS 10.13 x84_64 |
2.5.0 |
Version 3.0.2 (3 November 2020)
This is the third GA release of 3.0 series.
gem install couchbase -v 3.0.2
-
RCBC-281: Implemented batching API for several data operations. (Read docs for Collection#get_multi, Collection#upsert_multi, and Collection#remove_multi).
-
RCBC-278: Exposed getter and setter for log level, for example,
Couchbase.log_level = :tracewill switch logger to maximum verbosity. (details in Couchbase module documentation). -
RCBC-277: Implemented append/prepend for binary collection (more in BinaryCollection documentation).
-
RCBC-276: Support for
create_as_deletedoption forCollection#mutate_into create document in tombstone state. -
Build, test, and documentation improvements.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 10.13 x84_64 |
2.7.0 |
|
macOS 10.13 x84_64 |
2.6.0 |
|
macOS 10.13 x84_64 |
2.5.0 |
Version 3.0.1 (5 October 2020)
This is the second GA release.
gem install couchbase -v 3.0.1
-
RCBC-272: Allow disabling of scoring in Full-Text Search results.
-
RCBC-229: Geopolygon Search support.
-
RCBC-271: Enhanced user management for collections.
-
RCBC-230: Added query option for flex index.
-
RCBC-233: Updated eviction policy types (now it covers ephemeral buckets).
-
RCBC-274: Skip non-kv nodes when switching networks (fixes warnings in Cloud environment).
-
RCBC-266: Deprecated
GetResult.expiry. -
Fixed Query prepared statements cache for older servers.
-
Build and test system improvements.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 10.13 x84_64 |
2.7.0 |
|
macOS 10.13 x84_64 |
2.6.0 |
|
macOS 10.13 x84_64 |
2.5.0 |
Version 3.0.0 (8 September 2020)
This is the first GA release.
gem install couchbase -v 3.0.0
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 10.13 x84_64 |
2.7.0 |
|
macOS 10.13 x84_64 |
2.6.0 |
|
macOS 10.13 x84_64 |
2.5.0 |
Version 3.0.0.beta.1 (7 August 2020)
This is the first beta release.
Platform |
Ruby ABI |
File |
Checksums |
||
Source Archive |
||
Linux x86_64 |
2.7.0 |
|
Linux x86_64 |
2.6.0 |
|
Linux x86_64 |
2.5.0 |
|
macOS 10.15 x84_64 |
2.7.0 |
|
macOS 10.15 x84_64 |
2.6.0 |
|
macOS 10.15 x84_64 |
2.5.0 |
|
macOS 10.13 x84_64 |
2.7.0 |
|
macOS 10.13 x84_64 |
2.6.0 |
|
macOS 10.13 x84_64 |
2.5.0 |
Older Releases
Although no longer supported, documentation for older releases continues to be available in our docs archive.