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)