Releases: mongodb/mongo-ruby-driver
2.21.1
Version 2.21.1 of the MongoDB Ruby Driver is now available. This is the latest patch release in the 2.21 series.
Install it via RubyGems at the command line:
$ gem install -v 2.21.1 mongo
Or via Bundler, in a Gemfile:
gem 'mongo', '2.21.1'
It includes the following bug fixes:
- RUBY-3604 Fix a race condition in the authentication flow that could cause authentication to fail incorrectly when multiple simultaneous threads are attempting to authenticate. (PR by @jteich)
- RUBY-3658 When a timeout is specified on the client, database, or operation, partial writes to the server are never completed, resulting in timeouts. (PR)
Full Changelog: v2.21.0...v2.21.1
2.21.0
Version 2.21.0 of the MongoDB Ruby Driver is now available.
Release Highlights
- RUBY-2523: Introducing "Client-Side Operations Timeout" (CSOT). Most timeout-related options have been deprecated and unified under a single, new
timeout_ms
option. Deprecated options includesocket_timeout
,wait_queue_timeout
,wtimeout
,max_time_ms
, andmax_commit_time_ms
. - RUBY-3503: Bump maxWireVersion for server 8.0 support.
- RUBY-3392 and RUBY-3457: Support for range v2 queries with queryable encryption, including a new
trim_factor
parameter. - RUBY-3463: Fixed connection issues in load-balanced topologies caused by cursors incorrectly releasing the connection between operations.
Documentation
Documentation is available at MongoDB.com.
Installation
You may install this version via RubyGems, with:
gem install --version 2.21.0 mongo
What's Changed
- RUBY-3414 Re-enable serverless by @comandeo-mongo in #2885
- DOP-4704: Remove docs/ directory that has been moved to docs-ruby by @i80and in #2883
- RUBY-3514 pointer to docs by @adviti-mishra in #2888
- RUBY-3503 Bump the max wire version from 21 to 25 for server 8.0 compatibility by @adviti-mishra in #2887
- RUBY-2523 Client Side Operations Timeout by @comandeo-mongo in #2882
- RUBY-3463 Fix cursor behaviour on load balanced by @comandeo-mongo in #2893
- RUBY-3392 Support QE Range v2 by @comandeo-mongo in #2894
- RUBY-3544 prepare for 2.21.0 by @jamis in #2895
New Contributors
- @i80and made their first contribution in #2883
- @adviti-mishra made their first contribution in #2888
Full Changelog: v2.20.1...v2.21.0
2.20.1
Version 2.20.1 of the MongoDB Ruby Driver is now available.
Release Highlights
This patch release includes one bug fix, and one documentation update:
- RUBY-3496 Certain retryable errors were not being retried when legacy retries were enabled. Thank you to Joe Lim for the PR!
- RUBY-3434 Documentation was added/improved to suggest how to configure Mongoid for use with forking web servers. Thank you to Johnny Shields for the PR!
Documentation
Documentation is available at MongoDB.com.
Installation
You may install this version via RubyGems, with:
gem install --version 2.20.1 mongo
What's Changed
- RUBY-3434: Improve documentation for forking servers by @johnnyshields in #2856
- DRIVERS-2769 Add test for unknown auth mechanism by @comandeo-mongo in #2858
- DOCSP-38547 Update Quick Start Title by @jordan-smith721 in #2864
- RUBY-3500 Fix failing test configurations by @comandeo-mongo in #2879
- RUBY-3496 Fix legacy read pool retry error by @joelim41 in #2878
Full Changelog: v2.20.0...v2.20.1
2.20.0
Version 2.20.0 of the Ruby driver for MongoDB is released. This adds the following new features:
- Connection strings no longer require a slash between the hosts and the options. E.g., "mongodb://example.com?w=1" and "mongodb://example.com/?w=1" are both valid connection strings now. (https://jira.mongodb.org/browse/RUBY-3329)
- Container runtime and orchestration metadata for the client environment are now sent to the server for analytics purposes. (https://jira.mongodb.org/browse/RUBY-3298)
- When connecting to a CosmosDB (Azure) or DocumentDB (Amazon) instance, a warning message will now be logged. (https://jira.mongodb.org/browse/RUBY-3296)
- When attempting a retry of a read or write operation in a sharded topology, the retry will be attempted on a different mongos instance, if possible. (https://jira.mongodb.org/browse/RUBY-2748)
- Add support for the newly-released Ruby-BSON version 5.0.
- Support for Ruby 2.5 and 2.6 has been discontinued. Support for Ruby 2.7 and JRuby 9.2 has been deprecated, and will be discontinued in a future driver version. Support for JRuby 9.4 has been added.
This release also fixes the following user-facing issues:
- The driver will now raise an error if
start_transaction
is invoked and the server deployment does not support transactions. (https://jira.mongodb.org/browse/RUBY-1791) - Encountering a network error when a session is live will mark the session dirty and discard it, preventing the session from being reused when it is likely to fail. (https://jira.mongodb.org/browse/RUBY-1813)
- Tailable cursors would terminate early, after reading existing documents, instead of waiting for more. (https://jira.mongodb.org/browse/RUBY-3332)
- There was an issue where writes could fail with an exception if no session was active. (https://jira.mongodb.org/browse/RUBY-3358)
2.19.3
This is a patch release that adds support for:
2.19.2
This is a patch release that fixes the following issue:
2.18.3
This is a patch release that fixes the following issue:
2.17.4
This is a patch release that fixes the following issue:
2.16.4
This is a patch release that fixes the following issue:
2.19.1
This patch release in the 2.19 series fixes the following issue:
RUBY-3284 Connection Pool does not open new connections when needed