Skip to content

Releases: couchbase/couchbase-ruby-client

3.4.4

21 Aug 13:17
3.4.4
167d2e5
Compare
Choose a tag to compare

Rubygems: https://rubygems.org/gems/couchbase/versions/3.4.4
API docs: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.4
Full Changelog: 3.4.3...3.4.4

gem install couchbase -v 3.4.4
# rubygems.org version (does not have precompiled binaries)
gem "couchbase", "3.4.4"

# use official repository, supported Ruby ABIs: 3.0.0, 3.1.0, 3.2.0
gem "couchbase", "3.4.4", :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"

## precompiled binaries (uncomment line with effective ABI version of ruby)
# gem "couchbase", "3.4.4", :platforms => :mri_32, :source => "https://packages.couchbase.com/clients/ruby/3.2.0/"
# gem "couchbase", "3.4.4", :platforms => :mri_31, :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"
# gem "couchbase", "3.4.4", :platforms => :mri_30, :source => "https://packages.couchbase.com/clients/ruby/3.0.0/"

Improvements

Underlying C++ SDK Core Changes

3.4.3

17 May 15:56
3.4.3
ef79cc8
Compare
Choose a tag to compare

Rubygems: https://rubygems.org/gems/couchbase/versions/3.4.3
API docs: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.3
Full Changelog: 3.4.2...3.4.3

gem install couchbase -v 3.4.3
# rubygems.org version (does not have precompiled binaries)
gem "couchbase", "3.4.3"

# use official repository, supported Ruby ABIs: 3.0.0, 3.1.0, 3.2.0
gem "couchbase", "3.4.3", :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"

## precompiled binaries (uncomment line with effective ABI version of ruby)
# gem "couchbase", "3.4.3", :platforms => :mri_32, :source => "https://packages.couchbase.com/clients/ruby/3.2.0/"
# gem "couchbase", "3.4.3", :platforms => :mri_31, :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"
# gem "couchbase", "3.4.3", :platforms => :mri_30, :source => "https://packages.couchbase.com/clients/ruby/3.0.0/"

Improvements

  • RCBC-420: Implement RawJsonTranscoder, RawBinaryTranscoder and RawStringTranscoder & check flags when decoding document content (#93).

  • RCBC-427: Add missing query index management options & use InvalidArgument error (#92). Add missing options scope_name, collection_name and index_name for #create_primary method.

  • RCBC-436: 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).

  • Add constructor for SearchRowLocation (#95).

  • Change attr to attr_reader (#104).

Underlying C++ SDK Core Changes

  • CXXCBC-324: Check port and network name on session restart (#401).

  • CXXCBC-323: Parse bootstrap_timeout and resolve_timeout in connection string (#400).

  • CXXCBC-327: Bundle Mozilla certificates with the library (#405, #408).
    Source: https://curl.se/docs/caextract.html. Use disable_mozilla_ca_certificates connection string option to disable
    bundled certificates. Use the following script to inspect 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}
  • Introduce connection string option dump_configuration for debugging (#398). It logs cluster configuration on trace level.

3.4.2

12 Apr 16:22
3.4.2
527358f
Compare
Choose a tag to compare

Rubygems: https://rubygems.org/gems/couchbase/versions/3.4.2
API docs: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.2
Full Changelog: 3.4.1...3.4.2

gem install couchbase -v 3.4.2
# rubygems.org version (does not have precompiled binaries)
gem "couchbase", "3.4.2"

# use official repository, supported Ruby ABIs: 3.0.0, 3.1.0, 3.2.0
gem "couchbase", "3.4.2", :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"

## precompiled binaries (uncomment line with effective ABI version of ruby)
# gem "couchbase", "3.4.2", :platforms => :mri_32, :source => "https://packages.couchbase.com/clients/ruby/3.2.0/"
# gem "couchbase", "3.4.2", :platforms => :mri_31, :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"
# gem "couchbase", "3.4.2", :platforms => :mri_30, :source => "https://packages.couchbase.com/clients/ruby/3.0.0/"

Improvements

  • RCBC-419: Accept Couchbase::Configuration object on Couchbase::Cluster.connect (#85).

  • RCBC-418: Add durability to append and prepend options (#88).

  • RCBC-422: Cleanup search options (#89).

Underlying C++ SDK Core Changes

  • CXXCBC-31: Allow to use schema-less connection strings (e.g. "cb1.example.com,cb2.example.com". (#394)

  • CXXCBC-318: Always try TCP if UDP fails in DNS-SRV resolver. (#390)

3.4.1

20 Mar 10:39
3.4.1
97ca42a
Compare
Choose a tag to compare

Rubygems: https://rubygems.org/gems/couchbase/versions/3.4.1
API docs: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.1

gem install couchbase -v 3.4.1
# rubygems.org version (does not have precompiled binaries)
gem "couchbase", "3.4.1"

# use official repository, supported Ruby ABIs: 3.0.0, 3.1.0, 3.2.0
gem "couchbase", "3.4.1", :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"

## precompiled binaries (uncomment line with effective ABI version of ruby)
# gem "couchbase", "3.4.1", :platforms => :mri_32, :source => "https://packages.couchbase.com/clients/ruby/3.2.0/"
# gem "couchbase", "3.4.1", :platforms => :mri_31, :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"
# gem "couchbase", "3.4.1", :platforms => :mri_30, :source => "https://packages.couchbase.com/clients/ruby/3.0.0/"

Improvements

  • RCBC-396: Query index management is now available on Collection class as Collection#query_indexes. Deprecate scope_name and collection_name in QueryIndexManager. (#75)

Underlying C++ SDK Core Changes

3.4.0

20 Feb 05:56
3.4.0
85dacb9
Compare
Choose a tag to compare

Rubygems: https://rubygems.org/gems/couchbase/versions/3.4.0
API docs: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.4.0

gem install couchbase -v 3.4.0
# rubygems.org version (does not have precompiled binaries)
gem "couchbase", "3.4.0"

# use official repository, supported Ruby ABIs: 3.0.0, 3.1.0, 3.2.0
gem "couchbase", "3.4.0", :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"

## precompiled binaries (uncomment line with effective ABI version of ruby)
# gem "couchbase", "3.4.0", :platforms => :mri_32, :source => "https://packages.couchbase.com/clients/ruby/3.2.0/"
# gem "couchbase", "3.4.0", :platforms => :mri_31, :source => "https://packages.couchbase.com/clients/ruby/3.1.0/"
# gem "couchbase", "3.4.0", :platforms => :mri_30, :source => "https://packages.couchbase.com/clients/ruby/3.0.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 using Options::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 and Couchbase#get_all_replicas (#48)
  • RCBC-375: Implement log forwarding. See documentation of method Couchbase.set_logger and classes Couchbase::Utils::GenericLoggerAdapter, Couchbase::Utils::GenericLoggerAdapter (#45)
  • RCBC-371: Return id for *_multi results. (#40)
  • RCBC-393: Fix type conversion for query metrics. (#62)
  • 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)

Underlying C++ SDK Core

Notable Changes in C++ SDK 1.0.0-beta.5

  • 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 in lookup_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

Build system fixes

Enhancements

Notable changes in C++ SDK 1.0.0-beta.4

Notable changes in C++ SDK 1.0.0-dp.2

Notable changes in C++ SDK 1.0.0-dp.1

Resource management and performance fixes

Build system fixes

Notable changes in C++ SDK 1.0.0-beta.3

Bug fixes

Read more

3.3.0

06 May 02:04
3.3.0
35071ab
Compare
Choose a tag to compare

3.2.0

03 Aug 21:04
3.2.0
Compare
Choose a tag to compare

3.1.1

08 Apr 18:23
3.1.1
Compare
Choose a tag to compare

3.1.0

24 Mar 13:03
3.1.0
Compare
Choose a tag to compare

3.0.3

02 Feb 19:07
3.0.3
Compare
Choose a tag to compare