Releases: mongodb/mongo-ruby-driver
2.10.2
This patch release in the 2.10 series fixes the following issues:
2.9.2
This patch release in the 2.9 series fixes the following issues:
2.10.1
This patch release in 2.10 series improves diagnostics provided by the driver when operations fail on servers or due to network issues. The following tickets have been fixed:
2.10.0
This feature release provides support for MongoDB server 4.2 features. The following issues have been addressed since the 2.10.0.rc0 release:
- RUBY-1896 Raise an actionable error message when retryWrites fails due to using an unsupported storage engine
- RUBY-1898 Socket reads may raise Timeout::Error
For complete list of changes since driver version 2.9, please refer to 2.10.0.rc0 release notes.
2.9.1
2.10.0.rc0
This is a preview of 2.10.0 release, incorporating the following major new features:
- RUBY-1602 MongoDB 4.2 sharded transactions support
- RUBY-1814 Allow applications to set maxTimeMS for commitTransaction
- RUBY-1708 Support postBatchResumeToken in change streams
- RUBY-1786 Add the ability to specify a pipeline to an update command
- RUBY-1721 Implement database-level aggregation
- RUBY-1836 Finer-grained updates from aggregation via $merge
- RUBY-1822 Support providing certificate chains as client certificates
- RUBY-1823 Support adding multiple CA certificates
- RUBY-1685 Disable TLS renegotiation when possible
The following minor improvements were made:
- RUBY-1860 Standardize on :write_concern for write concern options
- RUBY-1867 Perform another round of server selection if server selector waited and is at deadline
- RUBY-1883 Allow query string in MongoDB URI to start with &
- RUBY-1894 Clear connection pools when monitor ismaster times out
- RUBY-1733 withTransaction() should retry commits after a wtimeout
The following bugs have been fixed:
- RUBY-1876 Can't disable retryable read/writes via URI options
- RUBY-1881 Some URI options are unescaped twice
- RUBY-1830 TLS client cert specification via URI options does not work on JRuby
- RUBY-1825 Collections cannot be listed in Atlas free tier due to system filtering
- RUBY-1840 Legacy write retries are used when modern retryable writes are requested on some operations
- RUBY-1854 Collection read preference not passed to find command
- RUBY-1857 Driver invokes WC#unacknowledged? bypassing string/symbol conversions
2.9.1.rc0
This patch release in the 2.9 series fixes two issues:
2.9.0
This release of the Ruby driver adds the following major features:
- A rewrite of the connection pool code with improved monitoring, compliant with CMAP specification
- A modern retryable reads implementation compliant with cross-driver retryable reads specification, enabled by default
- Modern retryable writes are enabled by default
- Legacy retryable writes can be disabled in most cases
- Ability to specify multiple root certificates to the driver
- Ability to pass private key and certificate to driver via URI options
This release also officially deprecates support for Ruby versions less than 2.3. This release and version 2.10.0 will continue supporting Ruby 1.9-2.2, and versions 2.11.0 and newer will require at least Ruby 2.3.
Please review 2.9.0.rc0 and 2.9.0.rc1 for detailed lists of changes made. This release has one change since 2.9.0.rc1 to add retryReads
URI option, which was unintentionally omitted in the initial implementation of retryable reads.
2.9.0.rc1
This is a second release candidate for the upcoming 2.9.0 release which primarily improves TLS certificate and private key handling in various environments. The following notable tickets have been resolved:
- RUBY-1822 Support providing certificate chains as client certificates
- RUBY-1823 Support adding multiple CA certificates
- RUBY-1830 Fix TLS connections configured via URI options in JRuby
We expect to release 2.9.0 final in about 1-2 weeks.
2.9.0.rc0
This is a preview of the 2.9.0 release, featuring the following major improvements/changes:
- RUBY-1560 Implementation of Connection Monitoring and Pooling spec
- RUBY-1706 Modern retryable writes are enabled by default
- RUBY-1626 Added a knob to turn off legacy retryable writes
- RUBY-1562 Retryable reads implementation
The following minor improvements/changes were also made:
- RUBY-1668 Support 'startAfter' option to the $changeStream stage
- RUBY-1591 Field order of bson documents sent to server changed for better logging
- RUBY-1754 Certificate paths with unescaped slashes can now be specified in URI
- RUBY-1755 Repaired unusability of some URI options due to value conversion to Symbol
- RUBY-1767 Repaired inability to configure TLS verification via URI options
- RUBY-1778 Repaired read concerns not being sent to server on certain operations
- RUBY-1798 Fixed retrieval of a document containing code field via a cursor from 3.0 server triggerring failure handling
We expect to release 2.9.0 final in about 2 weeks.