Couchbase Ruby Release Notes and Archives
Release notes, installation instructions, and download archive for the Couchbase Ruby Client.
This page covers installation of the 3.2 versions of the Couchbase Ruby SDK, and release notes for all 3.x versions.
SDK Installation
Ruby SDK supports MRI Ruby versions 2.5, 2.6, 2.7, and 3.0. 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.
Ruby ABI version |
Source URL |
3.0 |
|
2.7 |
|
2.6 |
To use official repository, it have to be registered in the .gemrc
file:
The example above selects repository with the packages for Ruby 2.7.x. For other version, please refer the table.
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.2.0", :source => "https://packages.couchbase.com/clients/ruby/2.7.0/"
Or run in terminal:
gem install couchbase --clear-sources --source https://packages.couchbase.com/clients/ruby/2.7.0/
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.2.0/couchbase-3.2.0-x86_64-linux-2.7.0.gem
gem install couchbase-3.2.0-x86_64-linux-2.7.0.gem
Version 3.2.0 (4 August 2021)
This is the first GA release of the 3.2 series.
-
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 |
Version 3.1.1 (8 April 2021)
This is the second GA release of 3.1 series.
-
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.
-
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 |
Version 3.0.3 (3 February 2021)
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.
-
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.
-
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.
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.