Recent Releases of https://github.com/mongodb/mongo-ruby-driver
https://github.com/mongodb/mongo-ruby-driver - 2.22.0
The MongoDB Ruby team is pleased to announce version 2.22.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.22.0 mongo
Or simply add it to your Gemfile:
gem 'mongo', '2.22.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
Bug Fixes
- RUBY-3699 Fix ArgumentError when a server is marked unknown (PR)
- RUBY-3722 Properly handle SocketError (PR)
- Ruby
Published by mongodb-dbx-release-bot[bot] 3 months ago
https://github.com/mongodb/mongo-ruby-driver - 2.20.2
The MongoDB Ruby team is pleased to announce version 2.20.2 of the mongo gem - a pure-Ruby driver for connecting to, querying, and manipulating MongoDB databases. This is a new patch release in the 2.20.x series of the MongoDB Ruby Driver.
Install this release using RubyGems via the command line as follows:
gem install -v 2.20.2 mongo
Or simply add it to your Gemfile:
gem 'mongo', '2.20.2'
Have any feedback? Click on through to MongoDB's JIRA and open a new ticket to let us know what's on your mind 🧠.
Bug Fixes
- Ruby
Published by mongodb-dbx-release-bot[bot] 7 months ago
https://github.com/mongodb/mongo-ruby-driver - 2.21.3
The MongoDB Ruby team is pleased to announce version 2.21.3 of the mongo gem - a pure-Ruby driver for connecting to, querying, and manipulating MongoDB databases. This is a new patch release in the 2.21.x series of the MongoDB Ruby Driver.
Install this release using RubyGems via the command line as follows:
gem install -v 2.21.3 mongo
Or simply add it to your Gemfile:
gem 'mongo', '2.21.3'
Have any feedback? Click on through to MongoDB's JIRA and open a new ticket to let us know what's on your mind 🧠.
Bug Fixes
- Ruby
Published by mongodb-dbx-release-bot[bot] 7 months ago
https://github.com/mongodb/mongo-ruby-driver - 2.21.2
The MongoDB Ruby team is pleased to announce version 2.21.2 of the mongo gem - a pure-Ruby driver for connecting to, querying, and manipulating MongoDB databases. This is a new patch release in the 2.21.x series of the MongoDB Ruby Driver.
Install this release using RubyGems via the command line as follows:
gem install -v 2.21.2 mongo
Or simply add it to your Gemfile:
gem 'mongo', '2.21.2'
Have any feedback? Click on through to MongoDB's JIRA and open a new ticket to let us know what's on your mind 🧠.
Bug Fixes
- Ruby
Published by mongodb-dbx-release-bot[bot] 8 months ago
https://github.com/mongodb/mongo-ruby-driver - 2.21.1
Version 2.21.1 of the MongoDB Ruby Driver is now available. This is the latest patch release in the 2.21 series.
Install it via RubyGems at the command line:
$ gem install -v 2.21.1 mongo
Or via Bundler, in a Gemfile:
gem 'mongo', '2.21.1'
It includes the following bug fixes:
- RUBY-3604 Fix a race condition in the authentication flow that could cause authentication to fail incorrectly when multiple simultaneous threads are attempting to authenticate. (PR by @jteich)
- RUBY-3658 When a timeout is specified on the client, database, or operation, partial writes to the server are never completed, resulting in timeouts. (PR)
Full Changelog: https://github.com/mongodb/mongo-ruby-driver/compare/v2.21.0...v2.21.1
- Ruby
Published by mongodb-dbx-release-bot[bot] 10 months ago
https://github.com/mongodb/mongo-ruby-driver - 2.21.0
Version 2.21.0 of the MongoDB Ruby Driver is now available.
Release Highlights
- RUBY-2523: Introducing "Client-Side Operations Timeout" (CSOT). Most timeout-related options have been deprecated and unified under a single, new
timeout_msoption. Deprecated options includesocket_timeout,wait_queue_timeout,wtimeout,max_time_ms, andmax_commit_time_ms. - RUBY-3503: Bump maxWireVersion for server 8.0 support.
- RUBY-3392 and RUBY-3457: Support for range v2 queries with queryable encryption, including a new
trim_factorparameter. - RUBY-3463: Fixed connection issues in load-balanced topologies caused by cursors incorrectly releasing the connection between operations.
Documentation
Documentation is available at MongoDB.com.
Installation
You may install this version via RubyGems, with:
gem install --version 2.21.0 mongo
What's Changed
- RUBY-3414 Re-enable serverless by @comandeo-mongo in https://github.com/mongodb/mongo-ruby-driver/pull/2885
- DOP-4704: Remove docs/ directory that has been moved to docs-ruby by @i80and in https://github.com/mongodb/mongo-ruby-driver/pull/2883
- RUBY-3514 pointer to docs by @adviti-mishra in https://github.com/mongodb/mongo-ruby-driver/pull/2888
- RUBY-3503 Bump the max wire version from 21 to 25 for server 8.0 compatibility by @adviti-mishra in https://github.com/mongodb/mongo-ruby-driver/pull/2887
- RUBY-2523 Client Side Operations Timeout by @comandeo-mongo in https://github.com/mongodb/mongo-ruby-driver/pull/2882
- RUBY-3463 Fix cursor behaviour on load balanced by @comandeo-mongo in https://github.com/mongodb/mongo-ruby-driver/pull/2893
- RUBY-3392 Support QE Range v2 by @comandeo-mongo in https://github.com/mongodb/mongo-ruby-driver/pull/2894
- RUBY-3544 prepare for 2.21.0 by @jamis in https://github.com/mongodb/mongo-ruby-driver/pull/2895
New Contributors
- @i80and made their first contribution in https://github.com/mongodb/mongo-ruby-driver/pull/2883
- @adviti-mishra made their first contribution in https://github.com/mongodb/mongo-ruby-driver/pull/2888
Full Changelog: https://github.com/mongodb/mongo-ruby-driver/compare/v2.20.1...v2.21.0
- Ruby
Published by mongodb-dbx-release-bot[bot] over 1 year ago
https://github.com/mongodb/mongo-ruby-driver - 2.20.1
Version 2.20.1 of the MongoDB Ruby Driver is now available.
Release Highlights
This patch release includes one bug fix, and one documentation update:
- RUBY-3496 Certain retryable errors were not being retried when legacy retries were enabled. Thank you to Joe Lim for the PR!
- RUBY-3434 Documentation was added/improved to suggest how to configure Mongoid for use with forking web servers. Thank you to Johnny Shields for the PR!
Documentation
Documentation is available at MongoDB.com.
Installation
You may install this version via RubyGems, with:
gem install --version 2.20.1 mongo
What's Changed
- RUBY-3434: Improve documentation for forking servers by @johnnyshields in https://github.com/mongodb/mongo-ruby-driver/pull/2856
- DRIVERS-2769 Add test for unknown auth mechanism by @comandeo-mongo in https://github.com/mongodb/mongo-ruby-driver/pull/2858
- DOCSP-38547 Update Quick Start Title by @jordan-smith721 in https://github.com/mongodb/mongo-ruby-driver/pull/2864
- RUBY-3500 Fix failing test configurations by @comandeo-mongo in https://github.com/mongodb/mongo-ruby-driver/pull/2879
- RUBY-3496 Fix legacy read pool retry error by @joelim41 in https://github.com/mongodb/mongo-ruby-driver/pull/2878
Full Changelog: https://github.com/mongodb/mongo-ruby-driver/compare/v2.20.0...v2.20.1
- Ruby
Published by mongodb-dbx-release-bot[bot] over 1 year ago
https://github.com/mongodb/mongo-ruby-driver - 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_transactionis 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)
- Ruby
Published by jamis almost 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.19.3
This is a patch release that adds support for:
- Ruby
Published by jamis over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.16.4
This is a patch release that fixes the following issue:
- Ruby
Published by comandeo over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.17.4
This is a patch release that fixes the following issue:
- Ruby
Published by comandeo over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.18.3
This is a patch release that fixes the following issue:
- Ruby
Published by comandeo over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.19.2
This is a patch release that fixes the following issue:
- Ruby
Published by comandeo over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.19.1
This patch release in the 2.19 series fixes the following issue:
RUBY-3284 Connection Pool does not open new connections when needed
- Ruby
Published by comandeo over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.19.0
This feature release of the Ruby driver supports MongoDB version 7.0. It includes the following new features:
- RUBY-3066 Cache AWS Credentials Where Possible
- RUBY-2732 Add native support for AWS IAM Roles for service accounts, EKS in particular
- RUBY-3049 Provide access to raw result document when the server returns an error for a command
- RUBY-2989 Obtain AWS credentials for CSFLE in the same way as for MONGODB-AWS
- RUBY-3088 Support the Azure VM-assigned Managed Identity for Automatic KMS Credentials
- RUBY-3005 Support for Range Indexes
- RUBY-2512 Support AWS authentication with temporary credentials in CSFLE
- RUBY-3062 Add support for GCP attached service accounts when using GCP KMS
The following issues were addressed:
- RUBY-3079 Propagate Original Error for Write Errors Labeled NoWritesPerformed
- RUBY-3104 Collection create method does not support some options
- RUBY-3095 SMC options are not correctly converted to Ruby options
The following minor improvements were made:
- RUBY-3252 Show user friendly error if ffi is not installed
- RUBY-3052 Automatically create Queryable Encryption keys
- RUBY-3185 Remove getNonce command usage for 6.2+
- RUBY-3187 Permit tlsDisableOCSPEndpointCheck in KMS TLS options
- RUBY-2495 Rate limit new connection creations (maxConnecting)
- RUBY-2927 Preemptively cancel in progress operations when SDAM heartbeats timeout
- RUBY-1768 URI serialization to string
- RUBY-2609 Enable TCP_USER_TIMEOUT by default when possible
- RUBY-3105 Swallow SocketError when closing cursor
- RUBY-3068 Expose rich field information in the updateDescription
- RUBY-1595 Improve error reporting when symbol/string is passed as read preference
- RUBY-3081 Do not try to connect to mongocryptd if shared library is available
- Ruby
Published by comandeo over 2 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.18.2
This patch release in the 2.18 series adds the following new features:
- RUBY-1253 Cursor iteration should complete abnormally when another thread closes the cursor
- RUBY-3187 Permit tlsDisableOCSPEndpointCheck in KMS TLS options
The following issues have also been addressed:
- RUBY-1595 Improve error reporting when symbol/string is passed as read preference
- RUBY-3087 Reinstate ability of insert_many to take an Enumerable argument which is not an Array
- Ruby
Published by comandeo about 3 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.18.1
This patch release in the 2.18 series adds the following new feature:
The following issues have also been addressed:
- RUBY-3073 Upgrade libmongocrypt dependency to 1.5.2
- RUBY-3077 Driver fails to load latest version of libmongocrypt
- RUBY-3025 getMore with a batchSize of 0 being sent if a limit of 0 is set
- RUBY-3044 Large bulk_write fails inside transactions
- RUBY-3054 Some find options are not sent to server
- Ruby
Published by p-mongo over 3 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.18.0
This feature release of the Ruby driver supports MongoDB version 6.0. It includes the following new features:
- Added support for queryable encryption.
- Added support for Azure Key Vault, Google Cloud Key Management, and any KMIP compliant Key Management System to be used as master key storage for client side encryption.
- It is now possible to provide the path to a schema map file instead of the entire schema map as an object.
- The driver now implements the feature flag mechanism for incompatible changes and bug fixes. Changes gated behind feature flags for 2.18 are passing view filter and options to aggregate and validation of correct usage of update vs replace methods, as described below.
- Added the validate_update_replace feature flag which validates the parameters to update and replace operations. If this flag is turned on, an error will be raised on an invalid update or replacement document.
- Added the broken_view_options feature flag which allows the view options to be correctly propagated to the aggregate, count, count_documents, distinct, and estimated_document_count mehods. When this flag is switched on, the view options will be ignored in those methods.
- The driver now permits inserting documents with dollar-prefixed and dotted keys.
- CRUD methods, methods for listing databases, collection, and indexes management methods now support a new option :comment. This option enables users to specify an arbitrary comment to help trace the operation through the database profiler, currentOp and logs.
- The estimated_document_count method is now using the count server command instead of $collStats` aggregation pipeline stage, to support operation on views. Applications using the Stable API should upgrade to server versions 5.0.8 (if using MongoDB 5.0) or 5.3.2 (if using MongoDB 5.1/5.2/5.3) or newer to use the count command when API strict is enabled, or avoid setting api_strict: true when constructing Mongo::Client instances with server versions 5.0.0-5.0.7 and 5.1.0-5.3.1.
- The DBRef class has been moved to bson-ruby. For backwards compatibility, BSON::DBRef is aliased as Mongo::DBRef. The BSON::DBRef class derives from BSON::Document, unlike the legacy Mongo::DBRef which derived from Object. BSON::DBRef retains all attributes passed into its constructor, unlike Mongo::DBRef which only allowed $ref, $id, and $db. BSON::DBRef also reorders the fields if necessary to place $ref, $id, and $db first, in that order, as required by the MongoDB server.
- BulkWrite::Result class now has the acknowledged? attribute.
- Providing an empty array of operations to the bulk write is now an error.
- BSON serialization performance has been improved.
- ActiveJob middleware was added to the query cache.
- :authorized_collections options is recognized when listing collections.
- :wildcard_projection option was added to the allowed index specification.
- Added :srv_max_hosts/srvMaxHosts Ruby and URI options to limit how many mongos routers the driver will establish connections to.
- Custom SRV service names are now supported with the :srv_service_name Ruby option and the srvServiceName URI option.
- When 0 is given as the max connection pool size, it is now interpreted to mean no limit.
- The default maximum connection pool size has been increased to 20 from 5.
The following minor improvements were made:
The following issues were addressed:
- RUBY-2972 Calling find_one_and_* methods with write_concern 0 causes an error
- RUBY-2923 Slow spawn of mongocryptd
- RUBY-2961 Zero & negative limits not emulated correctly by QueryCache
- RUBY-1869 watch methods unaffected by :max_await_time_ms
- RUBY-2869 ruby 3.1.0: finalizer can't synchronize using mutexes
- RUBY-2990 Terminate push monitor when it fails
- Ruby
Published by p-mongo over 3 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.17.2
This patch release in the 2.17 series fixes the following issues:
- RUBY-2427 Server description on 4.4+ servers flips between having compression on & off
- RUBY-3046 Mongo::Collection::View#no_cursor_timeout not passed to server
- Ruby
Published by p-mongo over 3 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.16.3
This patch release in the 2.16 series fixes the following issues:
- RUBY-2427 Server description on 4.4+ servers flips between having compression on & off
- RUBY-3046 Mongo::Collection::View#no_cursor_timeout not passed to server
- Ruby
Published by p-mongo over 3 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.18.0.beta1
This beta release of the Ruby driver supports MongoDB version 5.2 and 6.0. This release can be used for early testing of new features, but are not suitable for production deployments.
Please note that MongoDB 6.0 binaries are currently available only as release candidates. Release candidates can be used for early testing of new features, but are not suitable for production deployments.
This release includes the following new features:
- Added support for queryable encryption.
- Added support for Azure Key Vault, Google Cloud Key Management, and any
KMIP compliant Key Management System to be used as master key storage for
client side encryption.
Following issues were also implemented or fixed:
- RUBY-2922 Use the count command instead of collStats to implement estimatedDocumentCount
- RUBY-2909 Snapshot Query Examples for the Manual
- RUBY-2682 Specify 5.0 cursor behaviour
- RUBY-2920 "ChangeStream Spec: fullDocument field in ChangeStreamOptions should be an optional to handle ""default"" case."
- RUBY-2766 Allow hint for unacknowledged writes using OP_MSG when supported by the server
- RUBY-2746 Provide options to limit number of mongos servers used in connecting to sharded clusters
- RUBY-2736 Add server connectionId to command monitoring events
- RUBY-2528 Permit inserting dollar-prefixed or dotted keys
- RUBY-2525 Expose the Reason an Operation Fails Document Validation
- RUBY-2737 Allow custom service names with srvServiceName URI option
- RUBY-2990 Terminate push monitor when it fails
- RUBY-2973 Add the acknowledged? field to the BulkWrite::Result class
- RUBY-2966 QueryCache: Add ActiveJob wrapper
- RUBY-2845 JRuby 9.3 Support
- RUBY-2969 Always report 'wallTime' in the change stream event output
- RUBY-2959 Clustered Indexes for all Collections
- RUBY-2956 Make allowDiskUse opt-out rather than opt-in in 6.0
- RUBY-2891 Change streams support for user-facing PIT pre- and post-images
- RUBY-2822 Add support for the comment field to all helpers
- RUBY-2814 Support authorizedCollections option for listCollections helpers
- RUBY-2742 "Remove OP_KILL_CURSORS, OP_INSERT, OP_UPDATE, OP_DELETE implementations + tests"
- RUBY-2715 Document Time-Series Collections
- RUBY-2480 to_bson getting called 6 times on a collection insert
- RUBY-2443 Adjust batch size based on limit & remaining # of documents
- RUBY-2090 Move driver DBRef class to bson-ruby
- RUBY-2834 Rails 7 Support
- RUBY-2590 Driver Handling of DBRefs
- RUBY-2978 Ruby 3.1: Synchronize can't be called from trap context
- RUBY-2972 Calling find_one_and_* methods with write_concern 0 causes an error
- RUBY-2923 Slow spawn of mongocryptd
- RUBY-3009 Update min_pool_size documentation for population
- RUBY-2961 Zero & negative limits not emulated correctly by QueryCache
- RUBY-2996 Implement update and replace validation
- RUBY-2869 ruby 3.1.0: finalizer can't synchronize using mutexes
- RUBY-2843 count_documents is not documented/tested to take session option
- Ruby
Published by comandeo over 3 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.17.1
This bug fix release in the 2.17 series repairs the following issues:
- RUBY-2869 Avoid using mutexes in code called from finalizers for Ruby 3.1 compatibility
- RUBY-2932 Repair read preference passing in Mongoid when using map_reduce
- Ruby
Published by p-mongo almost 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.16.2
This bug fix release in the 2.16 series repairs a regression manifesting in Mongoid when using map_reduce and passing read preference:
- Ruby
Published by p-mongo almost 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.17.0
This feature release of the Ruby Driver adds support for MongoDB server 5.1.
This release includes the following new features:
- RUBY-2524 Snapshot reads. Added new readConcern level "snapshot" (non-speculative) for read commands outside of transactions, including on secondaries.
- RUBY-2526 Support $merge and $out executing on secondaries
- RUBY-2659 Support 'let' option for aggregate command
- RUBY-2821 Support 'let' option for CRUD commands
This release removes support for Ruby versions 2.3 and 2.4. The minimal required Ruby version is now 2.5. Read more about this change here.
This release also removes support for MongoDB versions older than 3.6. Read more about this change here.
The following bugs were fixed:
The following non-breaking changes were made:
- Ruby
Published by comandeo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.16.1
This is a patch release in the 2.16 series.
The following bugs were fixed:
The following non-breaking changes were made:
- Ruby
Published by comandeo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.16.0
This release adds the following new feature:
- Load balancer support.
This release of the Ruby driver deprecates support for MongoDB server versions below 3.6.
- Ruby
Published by comandeo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.13.3
This patch release in the 2.15 series fixes the following issue:
- Ruby
Published by p-mongo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.14.1
This patch release in the 2.14 series fixes the following issues:
- RUBY-2453 Segfault at program exit due to SRV polling
- RUBY-2558 :secondary_preferred read preference in 3.6+ sharded clusters performs primary read
- RUBY-2675 QueryCache returns wrong results after partial iteration of result set, e.g. after calling
none?
- Ruby
Published by p-mongo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.15.1
This patch release in the 2.15 series fixes the following issue:
- Ruby
Published by p-mongo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.16.0.alpha1
This release adds the following new feature:
- Experimental load balancer support.
The following minor improvement has been made:
- GridFS file retrieval no longer requires index creation privileges when the indexes already exist, and is thus usable with users that have only read permissions.
This release of the Ruby driver increases the minimum required Ruby versionto 2.4.
- Ruby
Published by p-mongo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.15.0
This release adds the following major new features:
- Ruby 3.0 support
- Ability to specify server API parameters
- Support for Zstandard and Snappy wire protocol compression
- Query cache middleware is now available in the driver
- Support for time series options when creating collections
- Experimental support for MongoDB Atlas Serverless when not using a load balancer
Please consult the release notes in the documentation for the complete list of changes.
- Ruby
Published by p-mongo over 4 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.15.0.alpha
This is a preview release for the upcoming 2.15 version.
Major new features of the 2.15 driver version are:
- RUBY-2429 Versioned MongoDB API
- RUBY-1682 Support for Zstandard compression
- RUBY-2439 Support for Snappy compression
- RUBY-2411 Query cache middleware moved from Mongoid to the driver and is usable in applications that do not use Mongoid
The following minor improvements have been made:
- RUBY-2509 Expose server error code name in OperationFailure exception message
- RUBY-1387 Applications can tweak SSLContext used by the driver
- RUBY-2458 Link heartbeat succeeded/failed to started events
- RUBY-2463 Enforce timeout on socket closes
- RUBY-2520 estimated_document_count uses the $collStats aggregation pipeline stage Instead of count command on 5.0+ servers
- RUBY-2444 Remove generic SSL messaging w.r.t. server configuration
- RUBY-2459 Include connection purpose in platform metadata
- Ruby
Published by p-mongo almost 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.14.0
This feature release of the Ruby MongoDB driver includes the following new features:
- RUBY-2130 Move the query cache into the driver and improve its implementation
- RUBY-2093 Non-stapled OCSP Support
- RUBY-2211 Atlas Data Lake support: Use namespace returned from find command in getMore
- RUBY-2020 Set explain verbosity from Mongo::Collection::View::Explainable
- RUBY-2346 Mixed case read preference tag names are now supported
The following minor improvements were made:
- RUBY-1524 Driver session pools are now cleared when reconnecting the client
- RUBY-2399 Provide better diagnostics when inserting non-hashes
- RUBY-2349 estimated_document_count now raises an exception when it is given find conditions
- RUBY-2419 Eliminated driver spamming Server description for address changed from 'standalone' to 'standalone' log messages
- RUBY-2299 Support per-operation write concern for database and collection write methods
- RUBY-2356 Set default logger level to info
- RUBY-2357 Standardize on STDOUT over $stdout
- RUBY-2289 Display monitoring state in client summary
- RUBY-1932 Specify timeouts for DNS queries for SRV URIs
The following bugs were fixed:
- RUBY-2421 Auth mechanism properties not downcased when client is created with host and Ruby options with symbol key
- RUBY-2345 Validate document size on pre-3.6 servers
- RUBY-2166 Mark servers unknown when connections experience network errors during setup
- RUBY-1632 Handle bogus/invalid read concern sub-options
Support for Ruby versions 2.3 and 2.4 has been deprecated in this release. Read more about this change here.
- Ruby
Published by p-mongo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.13.2
This patch release in the 2.13 series improves test coverage in the driver and repairs one fault in diagnostic code where a nonexistent constant was referenced.
- Ruby
Published by p-mongo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.14.0.rc1
This is a preview release of the next feature release of the Ruby MongoDB driver.
This release includes the following new features:
- RUBY-2130 Move the query cache into the driver and improve implementation
- RUBY-2093 Non-stapled OCSP Support
The following non-breaking changes were made:
- RUBY-2299 Support per-operation write concern for database and collection write methods
- RUBY-1632 Handle bogus/invalid read concern sub-options
- RUBY-2356 Set default logger level to info
- RUBY-2357 Standardize on STDOUT over $stdout
- RUBY-2289 Display monitoring state in client summary
- RUBY-1932 Specify timeouts for DNS queries for SRV URIs
- RUBY-2346 Tag names are downcased when given in URI options
- RUBY-2421 Auth mechanism properties not downcased when client is created with host and Ruby options with symbol key
- RUBY-2166 Mark servers unknown when connections experience network errors during setup
- RUBY-2020 Set explain verbosity from Mongo::Collection::View::Explainable
- RUBY-2387 Mark operation result as a public API
The following bugs were fixed:
Support for Ruby versions 2.3 and 2.4 has been deprecated in this release. Read more about this change here.
- Ruby
Published by egiurleo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.13.1
This patch release in the 2.13 series fixes the following issues:
- RUBY-2355 Use server error codes in place of error messages
- RUBY-2345 Validate document size on pre-3.6 servers
- RUBY-2347 Set default value for GSSAPI service name when other auth mechanism properties are set
- Ruby
Published by egiurleo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.12.4
This patch release in the 2.12 series fixes the following issues:
- RUBY-2355 Use server error codes in place of error messages when possible
- RUBY-2345 Validate document size on pre-3.6 servers
- RUBY-2347 Set default value for GSSAPI service name when other auth mechanism properties are set
- Ruby
Published by egiurleo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.13.0
This feature release of the Ruby Driver adds support for MongoDB server 4.4 features.
The following changes have been made since 2.13.0.rc1:
- RUBY-2342 Implement proper AWS auth region calculation
- RUBY-2243 Hidden Indexes
- RUBY-2018 Add client metadata support for wrapping libraries
The following bugs have been fixed:
- RUBY-2234 Large bulk writes with zlib throws DBException error
- RUBY-2241 Too Large Document exception changed between 2.11.x and 2.12
- Ruby
Published by egiurleo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.12.3
This patch release in the 2.12 series fixes the following issues:
- RUBY-2234 Large bulk writes with zlib throws DBException error
- RUBY-2241 Too Large Document exception changed between 2.11.x and 2.12
- Ruby
Published by egiurleo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.13.0.rc1
This is a preview release of the next feature release of the Ruby MongoDB driver which will support MongoDB server 4.4.
The following changes have been made since 2.13.0.beta1:
- RUBY-1865 Support per-CRUD operation write options
- RUBY-2209 Support for 'authorizedDatabases' option
- RUBY-2317 Treat CursorNotFound as a resumable change stream error
- RUBY-2143 Pass through all options to listCollections command
- RUBY-2132 Reduce Client Time To Recovery On Topology Changes
- RUBY-2320 Configure how many backtrace lines are shown in monitor exceptions
- RUBY-2280 Make empty hash optional to count_documents
- RUBY-2165 Yield client to block from constructor
- RUBY-1262 Support block form for using a session
- RUBY-2305 Provide diagnostics when deployment does not support sessions
The following bugs were fixed:
- RUBY-2242 zlib compression broken in driver 2.12.1
- RUBY-2295 Collation option in view not included in count_documents
- RUBY-2321 Timeout of 0 should mean no timeout
- Ruby
Published by p-mongo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.12.2
This patch release in the 2.12 series fixes the following issues:
- RUBY-2210 GridFS does not write data correctly when given String in UTF-8 encoding
- RUBY-2242 zlib compression broken in driver 2.12.1
- RUBY-2272 Exceptions raised during address resolution are not mapped to Mongo::Error
- RUBY-2295 Collation option in view not included in count_documents
- Ruby
Published by p-mongo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.10.5
This patch release in the 2.10 series fixes the following issues:
- RUBY-2210 GridFS does not write data correctly when given String in UTF-8 encoding
- RUBY-2295 Collation option in view not included in count_documents
- Ruby
Published by p-mongo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.11.5
This patch release in the 2.11 series fixes the following issues:
- RUBY-2210 GridFS does not write data correctly when given String in UTF-8 encoding
- RUBY-2295 Collation option in view not included in count_documents
- Ruby
Published by p-mongo over 5 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.13.0.beta1
This is a preview release of the next feature release of the Ruby MongoDB driver which will support MongoDB server 4.4.
This release includes the following new features:
- RUBY-1999 MONGODB-AWS authentication mechanism
- RUBY-1994 Shorter SCRAM conversations, RUBY-2168 Speculative authentication support
- RUBY-2126 Unified replica set discovery behavior
- Hint support RUBY-2097, RUBY-2148, RUBY-1972, RUBY-2001
- RUBY-2000 Support for allowDiskUse on find operations
- RUBY-2184 Driver support for server Hedged Reads
- RUBY-2221 'CommitQuorum' option support for 'createIndexes’ command on MongoDB 4.4
- RUBY-2181 Ensure that the WriteConcernError "errInfo" object is propagated
The following minor improvements were made:
- RUBY-2261 Reduce default keepalive time to align with Azure defaults
- RUBY-2137 Include JRuby version in app metadata
- RUBY-2230 Rescue write errors in GridFS for cleanup purposes in addition to read errors
- RUBY-1997 Handle absence of 'ns' field in index specifications returned from listIndexes
- RUBY-2041 Ensure server proof has been validated during SCRAM conversation
- RUBY-2272 Exceptions raised during address resolution are not mapped to Mongo::Error
- Ruby
Published by p-mongo over 5 years ago
https://github.com/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.
- Ruby
Published by egiurleo almost 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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.
- Ruby
Published by egiurleo almost 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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.
- Ruby
Published by p-mongo almost 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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
- Ruby
Published by egiurleo about 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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
- Ruby
Published by egiurleo about 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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
- Ruby
Published by p-mongo about 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.11.1
This patch release in the 2.11 series fixes the following issue:
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.9.2
This patch release in the 2.9 series fixes the following issues:
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.10.2
This patch release in the 2.10 series fixes the following issues:
- RUBY-1935 database#command attempts to retry as retryable read
- RUBY-1911 Average round trip time may become nil during server selection
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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:
- RUBY-1935 database#command attempts to retry as retryable read
- RUBY-1911 Average round trip time may become nil during server selection
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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:
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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.
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.9.1
This bug fix release in the 2.9 series fixes one additional issue discovered since 2.9.1.rc0 release:
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.9.1.rc0
This patch release in the 2.9 series fixes two issues:
- RUBY-1894 Clear connection pools when monitor ismaster times out
- RUBY-1876 Can't disable retryable read/writes via URI options
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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.
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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.
- Ruby
Published by p-mongo over 6 years ago
https://github.com/mongodb/mongo-ruby-driver - 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.
- Ruby
Published by p-mongo almost 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.8.0
This feature release of the Ruby driver improves connection- and authentication- related diagnostics as well as streamlines handshake and authentication code.
The following issue has been fixed since 2.8.0.rc0:
Please review 2.8.0.rc0 release notes for the full list of changes.
- Ruby
Published by p-mongo almost 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.7.2
This is a maintenance release in the 2.7.x series. It fixes one issue in 2.7.1 potentially affecting applications' test suites:
- Ruby
Published by p-mongo almost 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.8.0.rc0
This release builds on the 2.7.1 release by improving connection- and authentication-related diagnostics as well as streamlining handshake and authentication code.
The following notable tickets have been closed:
- RUBY-1728 Indicate which auth mechanism was used when auth fails
- RUBY-1743 Warn on handshake and auth failures
- RUBY-1744 When handshake/auth fails, indicate which server authentication was attempted against and whether ssl was used
- RUBY-1647 Reset connection pool on non-timeout network errors
- RUBY-1650 Rewrite connection handshake flow to not recurse
- RUBY-1717 Disconnecting connection pool should not reconnect connections
- RUBY-1441 Driver connects to cluster when closing stale sockets
We expect to release 2.8.0 final in about two weeks.
- Ruby
Published by p-mongo about 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.7.1
This release is a maintenance release in the 2.7.x series. It primarily improves server monitoring and server selection diagnostics, as well as the convenient transaction API.
The following notable tickets have been closed:
- RUBY-1714 Check client & monitoring threads on server selection failures
- RUBY-1541 Server selection should fail immediately if the cluster has no servers
- RUBY-1715 Log ismaster retries on monitoring connections
- RUBY-1719 Unknown servers are not marked as such in summaries
- RUBY-1578 Driver attempts to read session attributes during response handling even if it determines sessions are not supported
- RUBY-1665 count_documents helper does not start transactions
- RUBY-1654 Implement w:majority when retrying commitTransaction
- RUBY-1693 Add timeout for with_transaction
- Ruby
Published by p-mongo about 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.7.0
This feature release of the Ruby driver features an improved SDAM implementation, unified URI options and a preview of the convenient API for transactions.
Please refer to release notes for 2.7.0.rc0 for the complete list of new features and changes.
2.7.0 fixes the following issue identified during the RC process:
- Ruby
Published by p-mongo about 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.7.0.rc0
This preview of the upcoming 2.7.0 feature release of the Ruby driver has the following major new features:
- RUBY-1431 SDAM and Server Selection Spec Compliance. Large portions of SDAM code have been rewritten to bring the driver in compliance with published MongoDB driver specifications. No changes to applications using MongoDB are required, however applications should see the following benefits:
- Faster server selection (including during failover in replica sets)
- Faster client initialization
- Better concurrency as more I/O is now done in background threads
- Improved logging and diagnostics of server discovery, topology changes and removal of servers from topology
- Better resiliency to connection and authentication errors
- SDAM events are now published in a more consistent manner
- Monitoring connections no longer authenticate, lessening load on the cluster
- Topology and server description objects are no longer mutated in place, simplifying change tracking for applications/APM implementors
- Locks have been added to synchronize topology updates
- It is possible to wait for background monitoring threads to terminate when closing the client
- RUBY-1559 Unified URI Options. This adds support for a multitude of options in MongoDB URIs to the driver, in a way consistent with other MongoDB-maintained drivers.
- RUBY-1574 Convenient API for Transactions. This adds a
with_transactionmethod to session objects to provide an easier way to retry operations in a transaction until they commit successfully.
The following minor improvements have also been made:
- RUBY-1470 Enable SNI on jruby where possible
- RUBY-1608 Implement functionality to enable/disable TLS hostname verification
- RUBY-1629 Sequence connection setup (e.g. auth) events before command events using the connection
The following bugs have been fixed:
- RUBY-1353 max_staleness does not work due to seconds / milliseconds mismatch
- RUBY-1433 OperationError#code not set on duplicate key error
- RUBY-1474 SDAM events are not published when server is marked unknown during handshake
- RUBY-1481 Handshake & auth exceptions may make connections permanently unusable
- RUBY-1550 Error::Parser fails to correctly handle writeErrors
- RUBY-1464 Time offset ignored in aggregation queries when using ActiveSupport::TimeWithZone
- RUBY-1507 isMaster response changing causes nil reference in the session pool
As well, a number of improvements have been made to tutorial and API documentation of the driver. Full list of fixed issues may be found here.
This version of the driver has been tested with Ruby 2.6.
Lacking major issues we expect to release 2.7.0 final in about a week.
- Ruby
Published by p-mongo about 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.6.4
This patch level release of the ruby driver has the following significant changes:
Improvements:
RUBY-1470 Enable SNI on jruby where possible
RUBY-1651 Backport sdam logging improvements to 2.6
Bugs fixed:
RUBY-1433 OperationError#code not set on duplicate key error
RUBY-1550 Error::Parser fails to correctly handle writeErrors
RUBY-1507 isMaster response changing causes nil reference in the session pool
Version 2.6.3 was skipped due to a certificate issue.
- Ruby
Published by p-mongo about 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.6.2
This patch level release of the ruby driver has the following changes:
- RUBY-1426 Don't remove unknown secondaries servers from the topology
- Ruby
Published by saghm over 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.6.1
This patch level release of the ruby driver has the following changes:
- RUBY-1364 Fix bad performance reading large documents over SSL
- RUBY-1384 Document Session#start_transaction
- RUBY-1385 Correctly handle read preference in session/transaction code
- RUBY-1391 Return correct OpenSSL error message rather than a generic one
- Ruby
Published by saghm over 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.6.0
This is the Ruby driver release supporting the 4.0 version of the MongoDB server.
It has the following changes and new features:
- RUBY-1267 Automate Atlas connectivity tests
- RUBY-1288 Deprecate MongoDB-CR
- RUBY-1289 Implement SASLPrep
- RUBY-1290 GridFS MD5 digest must be optional
- RUBY-1293 SCRAM-SHA-256 Support
- RUBY-1298 Mongo::Client created with ipv6 address encounters error when duplicated via #with
- RUBY-1317 Implement Transactions spec
- RUBY-1323 Update SCRAM-SHA-256 implementation and tests for spec change
- RUBY-1327 Initial aggregate command for a change stream should not be retried
- RUBY-1331 Errors raised by drivers should include codeName string from server response
- RUBY-1333 More errors should be retryable
- RUBY-1337 mongo cannot detect primary after upgrading from 2.4.3 to 2.5.x
- RUBY-1339 Support nameOnly option in listCollections command
- RUBY-1340 Provide Transactions example for Docs
- RUBY-1341 Validations for read mode
- RUBY-1342 Add helpers and options for Change Streams Follow-on Work
- RUBY-1346 Resync retryable writes tests
- RUBY-1347 Implicit sessions must not be used with parallelCollectionScan
- RUBY-1354 Implement new count API
- RUBY-1362 Implement SASLprep for Ruby < 2.2
- RUBY-1365 Update ChangeStream spec to detail usage of startAtOperationTime
- RUBY-1369 Verify change stream #next resume behavior
- RUBY-1370 Add API-level documentation for restriction of geo commands in count helpers
- RUBY-1373 Implement startAtOperationTime
- Ruby
Published by saghm over 7 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.5.3
This patch release has one change:
- RUBY-1336 Ensure that system collections are not returned from listCollections command.
- Ruby
Published by estolfo almost 8 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.5.2
This patch level release of the ruby driver has the following changes:
- RUBY-1279 Refactor Operations
- RUBY-1297 Update server selection tests for read preferences with sharded clusters
- RUBY-1302 Prohibit using unacknowledged writes with explicit sessions
- RUBY-1304 Resync GridFS tests to add test for legacy GridFS, where no filename was set
- RUBY-1313 Deprecate maxScan query option
- RUBY-1314 Deprecate snapshot option
- RUBY-1315 Remove ping before selecting server for a write
- RUBY-1307 Force symbolized config keys
- RUBY-1321 Update documentation to reflect Symbol deprecation
- RUBY-1329 NoMethodError when executing an upsert in a bulk write with write_concern w: 0
- Ruby
Published by estolfo almost 8 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.5.1
- RUBY-1243 Test wire version overlap logic
- RUBY-1283 Enable and configure TCP keepalive by default.
- RUBY-1300 Decrease likelihood of implicit session leaks.
- RUBY-1278 Verify that percents are encoded in connection string creds and rsync connection string common driver tests
- RUBY-1294 Associate a session pool with a cluster instead of a client.
- RUBY-1291 Use an ENV variable to skip tests relying on external connection.
- RUBY-1284 Require Forwardable module explicitly in
Error::Operation. - RUBY-1285 Use socket address to initialize ipv4 resolver when host is localhost.
- RUBY-1275 Add pipeline example to ChangeStream spec (for docs)
- Use EventSubscriber singleton and common subscribed client in tests
- Ruby
Published by estolfo about 8 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.5.0
This is the Ruby driver release supporting the 3.6 version of the MongoDB server.
Please note that support for MongoDB server version 2.4 has been dropped with this release.
Also note that we are no longer testing the driver with JRuby on our continuous integration testing platform. We do, however, continue to test with JRuby on TravisCI and encourage users to still report any issues using JRuby with the driver.
This version has all the changes documented for version 2.5.0.beta in addition to the following:
- RUBY-1205 Support version 3.6 of the MongoDB server
- RUBY-1246 Add support for a "comment" parameter to the aggregate command
- RUBY-1254 Improve server compatibility error messages for wire version checks
- RUBY-1263 Make server description update logging less noisy
- RUBY-1264 Find and aggregate explain should also send session id
- RUBY-1230 Causally Consistent Reads support
- RUBY-1245 Implement Initial DNS Seedlist discovery spec
- RUBY-1242 Implement Database Enumeration spec (@ryuichi7)
- RUBY-1229 Support retryable writes
- RUBY-1234 Improve MapReduce API
- RUBY-1241 Don't cache IP addresses and update logic for determining primary member
- RUBY-1273 Implement #inspect on ChangeStream, Session, ServerSession, SessionPool
- RUBY-1237 Drop support for MongoDB 2.4
- RUBY-741 Support minPoolSize and maxIdleTimeMS
- Improve and update Mongo::Client options documentation
- URI unescape unix domain socket path (@Fudoshiki)
- Ruby
Published by estolfo about 8 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.5.0.beta
This is a beta release of the upcoming 2.5.0 driver version supporting MongoDB server version 3.6.
It is not recommended for production use but please try it out in your testing environments with development releases of server 3.6.
It has the following changes and new features:
- RUBY-1240 Fix warning message about forwarding a private method.
- RUBY-1239 Send seeds as last argument to ReplicaSet Topology #new.
- RUBY-1236 Parse localLogicalSessionTimeoutMinutes from isMaster response
- RUBY-1235 Fix documentation for Collection#find
- RUBY-1228 Support ChangeStreams
- RUBY-1227 Check both min_pool_size and max_pool_size and raise a more helpful error.
- RUBY-1226 Implement drivers session API
- RUBY-1225 Support OP_MSG
- RUBY-1224 Array update improvements
- RUBY-1216 Support OP_COMPRESSED
- Ruby
Published by estolfo over 8 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.4.3
- RUBY-1214 Add index hint to aggregation and non-materialized views.
- RUBY-1220 Username and password must be URI-escaped.
- RUBY-1222 Driver does not properly fall back to IPv4 if IPv6 is not available.
- RUBY-1223 Make SDAM debug logging to be less noisy. (@rinmu)
- RUBY-1125 Document how connection pooling works in the driver.
- Ruby
Published by estolfo over 8 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.4.2
This patch release has the follow changes:
- RUBY-1208 Verify that time remaining is positive or nil when checking if socket connect timed out.
- RUBY-1196 Resync CRUD spec tests and adjust n_modified to be nil on legacy updates to comply with spec.
- RUBY-1206 Convert connect type to Symbol so that Strings can be handled (which result from parsing mongoid config files)
- RUBY-1211 Set Socket KeepAlive (@mikeantonelli)
- RUBY-1212 Don't ping when selecting server for count or distinct operations.
- RUBY-1201 Raise error when instantiating client and min pool size is greater than provided or default max size
- Fix warnings (@amatsuda)
- Improve the recoverability of failed reads and writes due to network issues (@reidmorrison)
- Fix SSL options typo (@andreychernih)
- Ruby
Published by estolfo almost 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.4.1
This patch level release has the following changes:
- Require at least bson gem version 4.2.1 for important fix on BigEndian systems RUBY-1173
- RUBY-1188 Improve SDAM test mocking to not require localhost:27017 to be unreachable
- Ensure that collation option on a Collection::View is applied to methods called on the View. This is a necessary change for Mongoid to support collations.
- Ruby
Published by estolfo about 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.4.0
This release supports the 3.4 version of the MongoDB server. The following changes are included in this minor release in addition to those in 2.4.0.rc0 and 2.4.0.rc1:
- Depend on ~> bson 4.2.0
- Fix roundtrip units mismatch (@jarthod)
- RUBY-1171 Don't require username for X509 authentication
- RUBY-1174 Update maxStaleness spec implementation
- RUBY-1136 Allow platform details to be added to Client handshake doc.
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.3.1
This patch release has the following bug fixes:
- RUBY-1146 Fix Command Monitoring query formatting for queries to mongos.
- RUBY-1147 Fix batch size and limit for find commands.
- RUBY-1163 Fix creating indexes on subdocument fields in server < 2.6
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.4.0.rc1
This second release candidate of version 2.4.0 has the following changes:
- Ensure socket timeout is applied for reads (@wandenberg)
- RUBY-1148 Check operations for collation String keys as well as Symbols.
- Deprecate default socket timeout constant, as it was not effective anyway.
- RUBY-1120 Ensure that socket read timeouts are effective.
- RUBY-1142 Allow SSL certs to be specified as files, Strings, or file paths (@nessche)
- RUBY-1146 Fix Command Monitoring query formatting for queries to mongos.
- RUBY-1147 Fix batch size and limit for find commands.
- Fix warnings when in verbose mode. (@375gnu)
- RUBY-1163 Fix creating indexes on subdocument fields in server < 2.6
- Depend on bson gem >= 4.2.0.rc1
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.4.0.rc0
This release candidate contains support for MongoDB Server version 3.4
It contains the following new features:
- RUBY-1095 Support
maxTimeMSoption in parallelScan helper. - RUBY-1115 Support sending writeConcern for commands that write.
- RUBY-1140 Add TLS SNI support (MRI only)
- RUBY-1133 Allow new option,
max_staleness, so users can set a limit on acceptable staleness of a secondary for a read. - RUBY-1126 Support collation option for operations.
- RUBY-1136 Implement the MongoDB Handshake protocol.
- Depend on bson gem 4.2.0.rc0 so that Decimal128 objects are supported.
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.3.0
- RUBY-1122 Change server type to unknown when authentication fails.
- RUBY-1092 Add option to check keys in inserted documents.
- RUBY-1104 Automatically kill cursors when they aren't exhausted.
- RUBY-1105 Unacknowledged writes should use legacy opts, not write commands.
- RUBY-1111 Support custom GridFS file ids
- RUBY-1130 Deprecate previous GridFS API.
- RUBY-1132 Ensure that read preference is applied to #count and #distinct.
- RUBY-1083 Support 'expire_after_seconds' in addition to 'expire_after' in Index#View
- RUBY-1135 Only allow local_threshold to be configurable at the Mongo::Client level.
- Incorporate Ruby docs in repository
- General Improvements to classes and tests.
- Depend on bson >= 4.1 so that BSON::Config::validating_keys? is an option.
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.7
This patch release has the following bug fixes:
- RUBY-1100 Ensure that connecting block succeeded or disconnect socket.
- Don't make pry a gem dependency
- More robust tests
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.6
This patch release has the following fixes and improvements:
- Add dependency on pry, which is required by the mongo_console (@pvalena)
- Make tests more robust. Don't assume which host and port is the primary, adjust test client options.
- Fix parsing
authSourceoption in URI (@Soulou) - Ensure auth options are properly parsed in URI and make them case-insensitive.
- RUBY-1101 Check if a SSL monitor socket is connectable before connecting it.
- Retry a monitor's ismaster call once upon socket error.
- RUBY-1112 Get auth mechanism by calling ismaster on a socket when it's being connected instead of relying on the server's metadata.
- RUBY-1121 Validate usersInfo command response before parsing it.
- Ensure that a socket is disconnected when auth fails.
- RUBY-1117 Validate a response's id against the expected id (request id) when writing and reading off a socket. Disconnect a socket if an error was raised while it was used. (@jarthod and @elhu)
- RUBY-1100 Fix random authentication failures leading to
not authorizederrors: don't share SHA1 objects between threads.
- Ruby
Published by estolfo over 9 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.5
This release has the following bug fixes:
- Install mongo_console again (@voxik)
- RUBY-1101 Fix 'Socket is nil' error when primary in replicaset is shut down and using SSL.
- Alias #kill_cursors to #close_query on a Collection::View
- RUBY-1092 Update #to_bson method signatures for bson 4.1 API.
- Ruby
Published by estolfo almost 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.4
The following bug fixes are included in this release:
- RUBY-1090 Ensure that cursor type is applied to find commands.
- RUBY-1093 Ensure that negative limits are applied to find commands.
- Ruby
Published by estolfo about 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.3
This patch level release has the following bug fixes and changes:
- RUBY-1086 Ensure that error is raised when reply from server has the cursor not found flag.
- RUBY-1087 Always try to add hosts reported by the primary description.
- RUBY-1089 Fix counts in BulkWrite::Result
- RUBY-1085 Ensure that all upserted and inserted ids are included in BulkWrite::Result
- Driver Benchmarking tests are added to repository. Note that data files are not included in the driver repository.
- Allow :scram to be set as authentication mechanism in the URI. (@mattberther)
- New SDAM yaml test added - tests scenario in RUBY-1087.
- Ruby
Published by estolfo about 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.2
This version has a few changes from users and bug fixes:
- Support passing IO objects to Grid::File and lazily read from them. @janko-m
- Remove unnecessary string allocation in GridFS Read Stream @janko-m
- Don't store authenticator on connection instance.
- MONGOID-4209 Test to ensure distinct always returns an array (even if no results)
- Add more error messages indicating an operation can be retried. @jonhyman
- RUBY-1077 Consider setVersion and electionId when detecting stale primaries
- RUBY-1079 Update documentation for Collection::View#count
- RUBY-1082 Account for when write concern is nil in GridFS write stream
- RUBY-1081 Represent write concern options keys as Symbols and values as Strings or Integers
- RUBY-1078 Use default max message size when value is nil. @jonhyman
- Ruby
Published by estolfo about 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.0
This is the general release of MongoDB Ruby driver version 2.2.0, which supports MongoDB server version 3.2.
It has the changes listed in the 2.2.0.rc0 release as well as the following:
- Update SDAM tests
- Allow tests to run without requiring mongod to be started with the --auth flag
- Stop monitor on server garbage collection
- Scope connection pool to cluster
- Ruby
Published by estolfo about 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 1.12.5
This release has one change - a fix to the bson extension so it can build on Windows
- RUBY-703 Fix bson extension on Windows
- Ruby
Published by estolfo over 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.2.0.rc0
This is the first release candidate of MongoDB Ruby driver version 2.2.0. It has full support for the upcoming MongoDB server version 3.2.
The following new features and changes are included:
RUBY-1033 Support new commands for find, getMore, and killCursors
RUBY-1009 Deprecate eval helpers
RUBY-1008 Change showDiskLoc to showRecordId
RUBY-1034 Support partial indexes
RUBY-1050 Ensure spec compliance for unacknowledged write concerns.
RUBY-1038 Support ReadConcern
RUBY-1036 Support bypassDocumentValidation option
RUBY-1037 Support sending write concern to a findAndModify command
RUBY-1055 Support creating a collection with options
RUBY-1064 Add option maxAwaitTimeMS on getMore commands
The following performance improvements have been made:
RUBY-1019, RUBY-1046, RUBY-1028 Performance improvements. Notably, usage of the bson 4.0, which uses byte buffers instead of strings.
- Ruby
Published by estolfo over 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 1.12.3
- RUBY-941: Fix BSON ObjectId validation.
- Updates to tests for recent versions of the server
- Ruby
Published by estolfo over 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 1.12.4
- RUBY-1008: Update tests for mongodb 3.2
- RUBY-1009: Deprecate eval helper
- RUBY-1007: Use client's op_timeout or the default when refreshing ping time
- RUBY-982: Add MongoReplicaSetClient#reconnect method
- RUBY-1066: Don't override previously-defined Hash#assert_valid_keys (@TiteiKo)
- Ruby
Published by estolfo over 10 years ago
https://github.com/mongodb/mongo-ruby-driver - 2.1.2
- RUBY-1053 Fixes to retry behavior. (@jonhyman)
- RUBY-1051 Fix for Operation Result class.
- RUBY-1054 Don't apply inherited read preference for commands.
- RUBY-1052 Use connect_timeout setting as the timeout for Server Monitor sockets.
- Ensure that only a find one is performed on a GridFS files collection when checking if it's empty.
- Ruby
Published by estolfo over 10 years ago