Skip to content

3.4.0

Compare
Choose a tag to compare
@avsej avsej released this 20 Feb 05:56
· 80 commits to main since this release
3.4.0
85dacb9

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