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)