Releases: mongodb/mongo-ruby-driver
2.12.1
This feature release of the Ruby driver for MongoDB adds two major features:
- Client-side encryption
- Extended JSON parsing
The following notable changes and bug fixes have been made since 2.12.0.rc0:
- RUBY-2219 Force read preference primaryPreferred in Single topology
- RUBY-2176 Provide a descriptive error message in CSE when AWS key or secret are empty strings
- RUBY-2189 Restart SRV monitor in Cluster#reconnect!
This release of the driver includes all bug fixes that are part of the 2.10-stable and 2.11-stable branches.
This release replaces version 2.12.0, which was erroneously created from the master tree and has been removed.
2.12.rc0
This feature release of the Ruby driver for MongoDB adds two major features:
- Client-side encryption
- Extended JSON parsing
The following notable improvements have been made:
- RUBY-1564 Support Client-side Field Level Encryption / FLE
- RUBY-1203 Implement Extended JSON functionality required for FLE
- RUBY-2142 Add filter option to Ruby list_collections method
- RUBY-1213 Cache SCRAM credentials
- RUBY-2091 Provide stack trace for ismaster failures in monitor
- RUBY-2162 Close sockets when connections fail
- RUBY-2172 Improve error reporting when nil and empty string are given to URI#get
- RUBY-1889 Auth exceptions now include server information
- RUBY-1151 Commands should have a limit of maxBsonObjectSize + 16K
- RUBY-2140 Socket liveness checks now time out
This release of the driver includes all bug fixes that are part of the 2.10-stable and 2.11-stable branches.
2.11.4
This patch release in the 2.11 driver series improves performance of the driver by not creating redundant sockets during address resolution.
2.10.4
This patch release in the 2.10 driver series adds Ruby 2.7 compatibility and addresses issues discovered since the 2.10.3 release. The following tickets have been closed:
- RUBY-2030 Client/Cluster construction fails when duplicate seed addresses are provided
- RUBY-2054 upsert option is not sent to legacy servers with w:0 due to string/symbol key mismatch
- RUBY-2059 Dependency on bson 4.6 forces driver 2.10.3 to require Ruby 2.3+/JRuby 9.2+
- RUBY-2055 Driver sends null pwd field in createUser when password is not specified
2.11.3
This patch release in the 2.11 driver series adds Ruby 2.7 compatibility and addresses issues discovered since the 2.11.2 release. The following tickets have been closed:
- RUBY-2091 Provide stack trace for ismaster failures in monitor
- RUBY-2030 Client/Cluster construction fails when duplicate seed addresses are provided
- RUBY-2054 upsert option is not sent to legacy servers with w:0 due to string/symbol key mismatch
- RUBY-2059 Dependency on bson 4.6 forces driver 2.10.3 to require Ruby 2.3+/JRuby 9.2+
- RUBY-2055 Driver sends null pwd field in createUser when password is not specified
2.11.2
This patch release in the 2.11 driver addresses an issue where the driver would stop monitoring the deployment when the nodes in the deployment changed their addresses. The full list of notable changes is below:
- RUBY-1601 Change server description server type method implementations to match SDAM spec
- RUBY-1888 Direct connection to RS primary with driver/node address mismatch follows SDAM specification regarding server type
- RUBY-1970 Allow authentication to all server types except arbiters
- RUBY-1889 Auth exceptions should include server information
2.11.1
This patch release in the 2.11 series fixes the following issue:
2.10.3
This patch release in 2.10 series fixes the following issues in the driver:
- RUBY-1986 Retry reads in legacy mode on OperationFailure errors that modern mode retries on
- RUBY-1980 Ensure cursor IDs are always encoded as 64-bit integers in BSON for getMore
- RUBY-1988 Ensure cursor IDs are always encoded as 64-bit integers in BSON when using killCursors
- RUBY-2004 Indicated attempt not always correct
2.11.0
This feature release of the Ruby driver for MongoDB adds two major features:
- A background thread in server connection pools to eagerly establish connections up to the minimum pool size
- SRV polling for sharded deployments
This release of the Ruby driver bumps the minimum required Ruby version to 2.3, as well as minimum supported JRuby version to 9.2.
The following notable changes have been made since 2.11.0.rc0:
- RUBY-1955 Log connection ids in command logger
- RUBY-1986 Retry reads in legacy mode on OperationFailure errors that modern mode retries on
- RUBY-1980 Ensure cursor IDs are always encoded as 64-bit integers in BSON for getMore
- RUBY-1988 Ensure cursor IDs are always encoded as 64-bit integers in BSON when using killCursors
- RUBY-1944 Fix background threads such as the Monitor unable to restart once stopped
- RUBY-1344 Accept write concern option in user management helpers
- RUBY-1777 Ensure that getMore right after a resume is retried in changestreams
- RUBY-1913 Fix X509 authentication not working
- RUBY-1945 Prohibit distinct(nil) call as server 4.4 rejects it
2.11.0.rc0
This feature release of the Ruby driver for MongoDB adds two major features:
- A background thread in server connection pools to eagerly establish connections up to the minimum pool size
- SRV polling for sharded deployments
This release of the Ruby driver bumps the minimum required Ruby version to 2.3, as well as minimum supported JRuby version to 9.2.
The following notable improvements have been made:
- RUBY-1563 Poll SRV records for mongos discovery
- RUBY-1605 Establish working connections in a background thread
- RUBY-1874 Add "connectionError" as a valid "reason" for a ConnectionCheckOutFailedEvent when connection set up fails
- RUBY-1884 Always wait for background threads to finish when closing resources
- RUBY-1885 Remove wait argument on client/cluster/etc. close/disconnect methods
- RUBY-1905 Indicate which server operations were attempted on and attempt number in driver-surfaced exceptions
- RUBY-1351 Allow unencoded subdelimiters in usernames and passwords
- RUBY-1622 Require Ruby 2.3+ in driver
- RUBY-1899 Drop JRuby 9.1 support
- RUBY-1745 Invalid auth mechanism is not reported until an operation is attempted on the client
The following notable bugs have been fixed: