Skip to content

7.2.0.rc1

Compare
Choose a tag to compare
@egiurleo egiurleo released this 13 Oct 19:10
· 703 commits to master since this release
6095443

This is a preview of the next feature release of Mongoid.

Mongoid 7.2 includes the following principal changes:

  • Embedded matchers have been largely rewritten. In several cases the behavior of Mongoid matchers was changed to match MongoDB server. Please see the upgrading guide section for detailed changes.
  • Model#count is now implemented using the aggregation pipeline $count stage. Model#estimated_count method was added to provide the estimated count that Model#count used to provide. This change should be transparent to most applications but may increase runtime for applications that call #count, especially with complex conditions (with the benefit being of #count producing accurate results). See this upgrading guide section for further details.
  • Discriminator key and value can now be overridden for models using inheritance.
  • Shard key is now used when reloading models for improved performance in sharded deployments.
  • The query cache was moved to the driver. Mongoid 7.2 will transparently use the query cache implementation in driver versions 2.14 and higher, with a fallback on the legacy query cache implementation that will continue to be provided for when Mongoid is used with older driver versions. The driver's query cache implementation provides new features such as caching the aggregation pipelines and more fine grained cache expiration. Both the driver's query cache implementation and Mongoid's legacy query cache implementation also contain fixes to known issues like inability to cache results when they are returned in multiple batches from the server.

The following additional improvements were made:

The following bugs have been fixed:

Support for Ruby MRI versions 2.3 and 2.4 has been deprecated as of this release. See this ticket for more details. We intend to stop supporting these Ruby versions as of Mongoid 7.3.

Please read the upgrading guide for the detailed list of changes, major new features and upgrading guidance.