The MongoDB Ruby team is pleased to announce version 2.25.0 of the mongo gem - a pure-Ruby driver for connecting to, querying, and manipulating MongoDB databases. This is a new minor release in the 2.x series of the MongoDB Ruby Driver.
Install this release using RubyGems via the command line as follows:
gem install -v 2.25.0 mongo
Or simply add it to your Gemfile:
gem 'mongo', '2.25.0'
Have any feedback? Click on through to MongoDB’s JIRA and open a new ticket to let us know what’s on your mind
.
New Features
Support $lookup in CSFLE/QE (RUBY-3611 | PR)
You can now use $lookup in aggregation pipelines that reference CSFLE- and QE-enabled collections.
Allow keyAltName in encrypted fields map (RUBY-3773 | PR)
When defining the encrypted fields for a collection (for use with Queryable Encryption), you may now specify the key via the keyAltName field, instead of by directly referencing a keyId.
Deprecate legacy retry tuning options (RUBY-3703 | PR)
The following options are deprecated when set on a Mongo::Client:
:max_read_retries:read_retry_interval:max_write_retries
These relate only to the legacy retry feature, which is itself deprecated and slated for removal. Modern
retryable reads and writes are enabled by default and ignore these options.
Deprecate server version 4.2 (RUBY-3811 | PR)
MongoDB server version 4.2 is EOL, and support for it will be removed from the driver in a future driver release. If you are using MongoDB server version 4.2, please upgrade to a newer version soon.
Other New Features
- Add Database#cursor_command to create a cursor from a command response (RUBY-3213 | PR)
- Support delegated protocol for CSFLE/QE KMIP (RUBY-3383 | PR)
- Support named KMS providers (type:name format) (RUBY-3363 | PR)
- Raise on invalid tls/ssl boolean URI option (RUBY-3832 | PR)
- Wrap error when mongocrypt_kms_ctx_fail returns false (RUBY-3601 | PR)
Bug Fixes
- redact credentials in URI rendering and InvalidURI errors (RUBY-3835 | PR)
- Fix raise_on_invalid handling and protect SRV monitor thread (RUBY-3838 | PR)
- Don’t leak connections in load-balanced topology (PR)
- Fix secondaryPreferred non-compliance with server selection spec (RUBY-3768 | PR)
- Keep MemoryPointer alive in Binary.wrap_string (RUBY-3840 | PR)
- Stop publishing SDAM events from the Monitor’s RTT checks (RUBY-3822 | PR)
- Send afterClusterTime on writes in causally-consistent sessions (RUBY-3820 | PR)
- Close monitoring connection when server marked Unknown from network error (RUBY-3909 | PR)
- Don’t append read/write concerns to search index helpers (RUBY-3351 | PR)