Releases: mongodb/mongoid
7.2.3
This patch release in the 7.2 series adds an upgrading note for the following change that was made in 7.2.0 release:
7.1.8
This patch release in the 7.1 series fixes the following issues:
7.0.13
This patch release in the 7.0 series fixes the following issues:
- MONGOID-5042 rails g mongoid:config is not working on Rails 6.1
- MONGOID-5059
set
nilifies attributes excluded viaonly
- MONGOID-4672 Default order in
embeds_many
association causes association to use/return stale data - MONGOID-5076 reload fails to find document when the document's sharded field has been updated
7.2.2
This patch release in the 7.2 series repairs a Rails 6.1 incompatibility in the Mongoid config generator and fixes several user-reported problems. The following issues have been resolved:
- MONGOID-5042 rails g mongoid:config is not working on Rails 6.1
- MONGOID-5063 Support numeric path components as hash keys when embedded matching
- MONGOID-5069 Support numeric path components resolving to hash keys under arrays when embedded matching
- MONGOID-5059
set
nilifies attributes excluded viaonly
- MONGOID-5068 ElemMatch matcher operates on pre-stringified keys in condition verification path against impossible values
- MONGOID-5076 reload fails to find document when the document's sharded field has been updated
7.2.1
This patch release in the 7.2 series adds compatibility with Rails 6.1 and fixes the following issues:
7.1.7
This patch release in the 7.1 series adds compatibility with Rails 6.1 and fixes the following issues:
7.0.12
This patch release in the 7.0 series adds compatibility with Rails 6.1.
7.2.0
This feature release of Mongoid 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 thatModel#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:
- MONGOID-4913 StringifiedSymbol field to expose strings as symbols in Ruby
- MONGOID-4914 Unmask Enumerable#find on one to many associations
- MONGOID-4522 Make #any? not retrieve entire result set, like #exists?
- MONGOID-4703 Add geo_spatial as an alias for geo_spacial
The following bugs have been fixed:
- MONGOID-4977 Use new send_initial_query signature in Mongoid QueryCache
- MONGOID-4890 Destroying model instances with dependent associations in transactions raises OperationFailure due to use of (deprecated) count
- MONGOID-4947 #any? method with block given does not behave as per Enumerable
- MONGOID-4980 Atomic push incorrectly determines whether there is a conflict
- MONGOID-5013 Re-associating identical object destroys itself for dependent: :destroy
- MONGOID-5002 parent.child = Child.new raises TypeError when there's no inverse relation for belongs_to with has_one parent
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.
7.1.6
This patch release in the 7.1 series fixes the following issue:
7.1.5
This is a patch release in the Mongoid 7.1 series. This release fixes the following bug: