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 3.1, 3.2, 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.5.4", :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.5.4/couchbase-3.5.4-x86_64-linux.gem
gem install couchbase-3.5.4-x86_64-linux.gem
The URL structure is:
https://packages.couchbase.com/clients/ruby/sdk-3.5.4/couchbase-3.5.4-%{platform}.gem
where "platform" placeholder can take values: arm64-darwin
, x86_64-darwin
, x86_64-linux
,
x86_64-linux-musl
. To see platform string the following command:
ruby -rrbconfig -e 'puts RbConfig::CONFIG["platform"]'
Ruby SDK 3.5 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.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:
FeatureNotAvailable
message forcouhbase2://
ping
anddiagnostics
(#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
/bigobj
for SDK objects only (#550). Avoid using globaladd_definitions()
as it might leak to non-C++ languages (likeASM_NASM
on 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
maxTTL
value of -1 for collection 'no expiry' (#130). -
RCBC-410, RCBC-458: Added support for the
couchbase2
protocol (#126, #127). -
RCBC-472: Ping now returns result for management service when specified in options (#134).
-
RCBC-463: Adedd
DocumentNotLocked
error 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_time
is 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
LookupIn
operations (#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
fields
paramaeter 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_available
if 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
maxTTL
value of -1 for collection 'no expiry' (#500). -
CXXCBC-442: Transcoder support - which was previously limited in the SDK to
JSON
andRawBinary
transcoders — has now been extended toraw_json
andraw_string
transcoders (#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_available
if 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
unlock
operations to exposeKV_LOCKED
status ascas_mismatch
(#479). -
CXXCBC-403: Updated
not_my_vbucket
KV 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 exist
query error (#492). -
CXXCBC-412: Added support for the
document_not_locked
(0x0e) KV status, mapping it to theerrc::key_value::document_not_locked
error 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_transcoder
so that `get`s on binary data are now possible.. (#459). -
CXXCBC-387: Optimising tags for
noop_tracer
and cache formattedmbcp_session
endpoints (#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
BucketSettings
fields 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_found
error inupdate_collection
response (#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_name
for#create_primary
method. ReplacedArgumentError
withInvalidArgument
error whenscope_name
andcollection_name
are 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
none
in the C++ core (#99). -
Added constructor for
SearchRowLocation
(#95). -
Changed
attr
toattr_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_timeout
andresolve_timeout
can 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_certificates
connection 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_configuration
for 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::User
class. (#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_to
and:replicate_to
of mutations. (#49) -
RCBC-387: Implement replica reads with
Collection#get_any_replica
andCouchbase#get_all_replicas
(#48) -
RCBC-375: Implement log forwarding. See documentation of method
Couchbase.set_logger
and classesCouchbase::Utils::GenericLoggerAdapter
,Couchbase::Utils::GenericLoggerAdapter
(#45) -
RCBC-398: Add
ClusterRegistry
to 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 projections
opration 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_in
operation. -
CXXCBC-294: In the Public API, if
get
operation 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_tokens
in connection string). -
Resource management and performance improvements:
-
Fix tracer and meter ref-counting (#370)
-
Replace
minstd_rand
withmt19937_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_replicas
behaviour: 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_stored
code todocument_exists
(#278) -
CXXCBC-251: Fix snappy decompression for
get_replica
(#296) -
CXXCBC-253:
query_options
not 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_outdated
retry 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
operator
andinclude_locations
properties 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 = false
Extra 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 = false
Extra 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
revEpoch
field in configuration for improved bucket configuration handling. -
RCBC-324: Query error code 13014 is now mapped to an
AuthenticationFailure
exception. -
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
CasMismatch
exception only when query returns code12009
with"CAS mismatch"
in message. -
RCBC-298: Support preserving expiration for mutations.
Collection#replace
,Collection#upsert
, andCollection#mutate_in
methods now accept new boolean optionpreserve_expiry
which determines whether the server will update expiration for existing documents (false
by default).In the following example, the server will not reset expiration if the document already exists, and only use
100
seconds 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=false
in 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_deleted
of 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_scopes
and 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=false
in the connection string). -
RCBC-307: Allow to disable unordered execution of commands (using
enable_unordered_execution=false
in 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
Time
instance in addition toDuration
(#in_seconds
); -
When
Integer
is passed, it implicitly converts to epoch time to resolve disambiguation.
-
-
RCBC-291: Implementation of
ActiveSupport::Cache::Store
interface. 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_query
automatically 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_multi
operations. -
Error context objects now accessible on exceptions (via
#context
method).
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 = :trace
will 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_deleted
option forCollection#mutate_in
to 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.