Releases: couchbase/couchbase-ruby-client
3.6.0
API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.6.0/index.html
Full Changelog: 3.5.7...3.6.0
Rubygems: https://rubygems.org/gems/couchbase/versions/3.6.0
# rubygems.org version
gem "couchbase", "3.6.0"
# use official repository
gem "couchbase", "3.6.0", :source => "https://packages.couchbase.com/clients/ruby"
What's Changed
- RCBC-516: Include storage_backend in get_bucket/get_all_buckets results by @DemetrisChr in #173
- RCBC-510: Add
BucketSettings#num_vbuckets
by @DemetrisChr in #174 - Bump Ubuntu version used in linter workflow by @DemetrisChr in #176
- Rubocop: Use traling comma for multi-line arguments by @DemetrisChr in #178
- RCBC-511: Update core to pick up improved user lock/unlock error messages & logs by @DemetrisChr in #177
3.5.7
API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.7/index.html
Full Changelog: 3.5.6...3.5.7
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.7
# rubygems.org version
gem "couchbase", "3.5.7"
# use official repository
gem "couchbase", "3.5.7", :source => "https://packages.couchbase.com/clients/ruby"
Fixes
3.5.6
API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.6/index.html
Full Changelog: 3.5.5...3.5.6
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.6
# rubygems.org version
gem "couchbase", "3.5.6"
# use official repository
gem "couchbase", "3.5.6", :source => "https://packages.couchbase.com/clients/ruby"
Fixes
- RCBC-512: Invoke fork hooks to protect SDK internal state by @avsej in #165
- Updated C++ core to 1.0.6. Release notes: couchbase-cxx-client 1.0.6
3.5.5
API Reference: https://docs.couchbase.com/sdk-api/couchbase-ruby-client-3.5.5/index.html
Full Changelog: 3.5.4...3.5.5
Rubygems: https://rubygems.org/gems/couchbase/versions/3.5.5
# rubygems.org version
gem "couchbase", "3.5.5"
# use official repository
gem "couchbase", "3.5.5", :source => "https://packages.couchbase.com/clients/ruby"
Fixes
3.5.4
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
- Update core to 1.0.3 (#161). Release notes: couchbase-cxx-client 1.0.3
- Add scripts for Rocky Linux by @avsej in #159
3.5.3
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
- RCBC-496: do not include googletest into release package (#154)
- Update core to 1.0.1 (#157). Release notes: couchbase-cxx-client 1.0.1
3.5.2
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
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
- CXXCBC-489: Support scoped eventing functions. (#548, #554)
- CXXCBC-470: Distinguish between 'unset' and 'off' query_profile (#551)
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 (likeASM_NASM
on Windows).
3.5.0
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
- RCBC-469: Support for Scoped Search Indexes. (#132)
- RCBC-467: Add support for Vector search. (#131)
- RCBC-468: Support for maxTTL value of -1 for collection 'no expiry' (#130)
- RCBC-410, RCBC-458: Add support for the
couchbase2
protocol (#126, #127) - RCBC-472: Ping management service when specified in options. (#134)
- RCBC-463: Add DocumentNotLocked error. (#128)
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).
On0x0d (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
- CXXCBC-401: Add ping & diagnostics to public API. (#498, #503)
- CXXCBC-346: Support for maxTTL value of -1 for collection 'no expiry'. (#500)
- CXXCBC-442: Support for raw_json and raw_string transcoders. (#514)
- CXXCBC-440: Support for Scoped Search Indexes. (#512, #513)
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 topath_too_deep
error code. (#455) - CXXCBC-382: Fix
raw_binary_transcoder
so thatget
s 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
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
- CXXCBC-376: Revisit what 'create' and 'update' bucket operations send to the server. Make optional bucket settings fields optional, and do not send anything unless the settings explicitly specified. (couchbase/couchbase-cxx-client#451)
- CXXCBC-374: Return 'bucket_exists' error when the bucket already exists during 'create' operation. (couchbase/couchbase-cxx-client#449)
- CXXCBC-359: Reduce default HTTP idle timeout to 1 second (couchbase/couchbase-cxx-client#448)
- CXXCBC-367: CXXCBC-370: Add history retention settings to buckets/collection management. (couchbase/couchbase-cxx-client#446)
- CXXCBC-119: Return booleans for subdocument 'exists' operation instead of error code. (couchbase/couchbase-cxx-client#444, couchbase/couchbase-cxx-client#452)
- Detect 'collection_not_found' error in 'update_collection' response (couchbase/couchbase-cxx-client#450)