Skip to content

2.24.0

Latest

Choose a tag to compare

@mongodb-dbx-release-bot mongodb-dbx-release-bot released this 20 Apr 16:13
· 9 commits to master since this release
f68d676

The MongoDB Ruby team is pleased to announce version 2.24.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 MongoDB Ruby Driver.

Install this release using RubyGems via the command line as follows:

gem install -v 2.24.0 mongo

Or simply add it to your Gemfile:

gem 'mongo', '2.24.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

  • Added support for MongoDB's Intelligent Workload Management (IWM) and ingress connection rate limiting features. The driver now gracefully handles write-blocking scenarios and optimizes connection establishment during high-load conditions to maintain application availability.

    • Supported on all commands.
    • Custom application retry logic may need to be adjusted to avoid retrying too long.
    • Upgrade is recommended to avoid impacts of server changes related to overload errors.
      • If not upgrading, custom application retry logic may need to be adjusted to handle higher rates of overload errors. See Overload Errors.
    • Add URI option maxAdaptiveRetries to configure the maximum number of retries for operations that fail with a SystemOverloadedError (default: 2).
    • Add URI option enableOverloadRetargeting to control whether retries of SystemOverloadedError will attempt to use a different server (default: false).
  • Added serverMonitoringMode option configures which server monitoring protocol to use. Valid modes are
    "stream", "poll", or "auto". The default value is "auto":

    • With "stream" mode, the client use the streaming protocol when the server supports it or fall back to the polling protocol otherwise.
    • With "poll" mode, the client use the polling protocol.
    • With "auto" mode, the client behave the same as "poll" mode when running on a FaaS platform or the same as "stream" mode otherwise. The client detects that it's running on a FaaS platform via the same rules for generating the client.env handshake metadata field in the MongoDB Handshake spec.
  • RUBY-3381 RUBY-3640 Remove support for server versions 3.6 and 4.0 (PR)

Bug Fixes