Skip to content

Releases: couchbase/couchbase-ruby-client

3.5.4

22 Oct 23:43
3.5.4
Compare
Choose a tag to compare

API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.4/index.html
Full Changelog: 3.5.3...3.5.4
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.4

# rubygems.org version
gem "couchbase", "3.5.4"

# use official repository
gem "couchbase", "3.5.4", :source => "https://packages.couchbase.com/clients/ruby"

Fixes

3.5.3

27 Aug 23:22
3.5.3
4aca72f
Compare
Choose a tag to compare
gem install couchbase -v 3.5.3

API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.3/index.html
Full Changelog: 3.5.2...3.5.3
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.3

# rubygems.org version
gem "couchbase", "3.5.3"

# use official repository
gem "couchbase", "3.5.3", :source => "https://packages.couchbase.com/clients/ruby"

Fixes

3.5.2

25 Jul 19:09
3.5.2
c31f434
Compare
Choose a tag to compare
gem install couchbase -v 3.5.2

API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.2/index.html
Full Changelog: 3.5.1...3.5.2
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.2

# rubygems.org version
gem "couchbase", "3.5.2"

# use official repository
gem "couchbase", "3.5.2", :source => "https://packages.couchbase.com/clients/ruby"

Improvements

Fixes

3.5.1

24 Apr 04:01
3.5.1
f5aae15
Compare
Choose a tag to compare
gem install couchbase -v 3.5.1

API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.1/index.html
Full Changelog: 3.5.0...3.5.1
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.1

# rubygems.org version
gem "couchbase", "3.5.1"

# use official repository
gem "couchbase", "3.5.1", :source => "https://packages.couchbase.com/clients/ruby"

Improvements

RCBC-482: Only expand MutateIn macros when the relevant symbols are used as values (#141)

Bug Fixes

RCBC-476: FeatureNotAvailable for cb2 ping/diagnostics (#139)

Underlying C++ SDK Core Changes

Enhancements

Fixes

  • CXXCBC-487: Check if alternate addressing is used when bootstrapping. (#545)
  • CXXCBC-503: Ignore configuration if it contains an empty vBucketMap. (#556, #558)
  • CXXCBC-30: Inconsistent behaviour when using subdoc opcodes incorrectly (#559)
  • CXXCBC-492: Use retry strategy in collections_component's get_collection_id. (#552)
  • CXXCBC-494: Fix memory issue in range scan implementation. (#549)
  • Always attempt to extract common query code if error has not been set. (#561) Fixes quota/rate limit checks for older servers.

Build and Tests Fixes

  • CXXCBC-502: Apply /bigobj for SDK objects only. (#550) Avoid using global add_definitions() as it might leak to non-CXX languages (like ASM_NASM on Windows).

3.5.0

18 Mar 04:36
3.5.0
b0166c6
Compare
Choose a tag to compare
gem install couchbase -v 3.5.0

API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.0/index.html
Full Changelog: 3.4.5...3.5.0
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.0

# rubygems.org version
gem "couchbase", "3.5.0"

# use official repository
gem "couchbase", "3.5.0", :source => "https://packages.couchbase.com/clients/ruby"

Improvements

Bug Fixes

  • Ensure that truncating keys in CouchbaseStore preserves the validity of their encoding (#125)
  • RCBC-461: Call extract_expiry_time in to_backend of options instead of constructor (#124)

Build and Test Improvements

  • RCBC-464: Improve stability of management tests. (#133)
  • Migrate most of the build & test tasks to Github Actions.

Underlying C++ SDK Core Changes

Changes in Couchbase C++ SDK 1.0.0-dp.14

Fixes

  • CXXCBC-482: Range scan orchestrator should use best effort retry strategy by default. (#542)
  • CXXCBC-481: Fix potential crash when parsing search result hits. (#541)
  • CXXCBC-461: Do not send ping to nodes that have not completed bootstrap. (#540)
  • CXXCBC-462: Fix hanging when specifying a custom metadata collection via the public API & expose errors. (#532)
  • CXXCBC-480: LookupInAnyReplica should not enforce any limits on number of specs in the library. (#539)
  • CXXCBC-479: Fix capabilities check for replica LookupIn operations. (#537)
  • CXXCBC-336: Do not fallback to 8.8.8.8, if we cannot obtain system DNS server (#533)

Changes in Couchbase C++ SDK 1.0.0-dp.13

New features and enhancements

  • CXXCBC-456: handle 0x0d (config_only) status from KV (#523).
    On 0x0d (EConfigOnly) status code SDK will request new configuration, and send current operation to retry orchestrator.
  • CXXCBC-191: Create Index Key Encoding (#519)

Fixes

  • CXXCBC-345: Range scan improvements & resolve concurrency issues (#525).
  • CXXCBC-284: Do not use session that is not bootstrapped to poll for config (#528)
  • CXXCBC-447: Use addresses from the config to bootstrap bucket (#516)
  • CXXCBC-450: Reset bootstrap handler before re-bootstrap (#524).
  • CXXCBC-452: Update capabilities and fail fast when selected feature is not available. (#522, #513)
  • CXXCBC-431: Add check for history retention bucket capability in collection create/update (#502, #505)
  • CXXCBC-421: Return feature_not_available when query preserve expiry is not supported (#510)

Changes in Couchbase C++ SDK 1.0.0-dp.12

New features and enhancements

Fixes

  • CXXCBC-284: Reduce network traffic when polling for cluster configuration. (#504)
  • CXXCBC-422: Add insufficient credentials error code to common query error code conversion. (#511)
  • CXXCBC-421: Return feature_not_available when query preserve expiry is not supported. (#510)
  • CXXCBC-426: Get with very large projection test is returning fields outside of the projection. (#499)

Changes in Couchbase C++ SDK 1.0.0-dp.11

Fixes

  • CXXCBC-404: KV_LOCKED status should be exposed as cas_mismatch for unlock. (#479)
  • CXXCBC-403: Allow retries for KV not_my_vbucket response. (#480)
  • CXXCBC-368: Subscribe to clustermap notifications to speedup failover. (#490)'
  • CXXCBC-419: Ensure that MCBP protocol parser starts with clean state. Fixes protocol parsing issues when bootstrap sequence is being retried. (#496)
  • CXXCBC-409: Add handling for 'index does not exist' query error. (#492)
  • CXXCBC-412: Support document_not_locked response. (#491)

Changes in Couchbase C++ SDK 1.0.0-dp.10

Fixes

  • CXXCBC-383: Map subdoc_doc_too_deep KV status to path_too_deep error code. (#455)
  • CXXCBC-382: Fix raw_binary_transcoder so that gets on binary data are possible. (#459)
  • CXXCBC-387: Cache formatted mbcp_session endpoints. (#462, #464)
  • Add more information to diagnose timeouts on NMV responses. (#475)

3.4.5

10 Oct 23:40
3.4.5
276c680
Compare
Choose a tag to compare

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

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

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

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

Improvements

  • RCBC-450: Set value of subdoc exists to true or false if result is success or path-not-found (#120)
  • RCBC-453: Support history retention in collection and bucket management (#119)

Underlying C++ SDK Core Changes

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