Releases: mongodb/mongoid
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:
7.0.11
This is a patch release in the Mongoid 7.0 series. This release fixes the following bug:
6.4.8
This is a patch release in the Mongoid 6.4 series. This release fixes the following bug:
7.2.0.rc1
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 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-4914 Unmask Enumerable#find on one to many associations
- MONGOID-4948 Add Mongoid to driver's wrapping libraries
- 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
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.4
This patch release in the Mongoid 7.1 series adds the following improvements:
The following bugs have also been fixed:
- MONGOID-4944 Ensure that cached queries with limits return the correct number of results
- MONGOID-4978 Do not raise an error when performing multi-batch queries with query cache enabled
- MONGOID-4853 Querying Date fields using a TimeWithZone instance queries by the date in local time zone
- MONGOID-4873 Do not break Regexp::Raw when Mongoid is loaded
- MONGOID-4952 Access embedded fields in projected query results
This patch replaces the 7.1.3 release, which was unsigned.
7.0.10
This patch release in the Mongoid 7.0 series fixes the following bugs:
- MONGOID-4944 Ensure that cached queries with limits return the correct number of results
- MONGOID-4978 Do not raise an error when performing multi-batch queries with query cache enabled
- MONGOID-4853 Querying Date fields using a TimeWithZone instance queries by the date in local time zone
This patch replaces the 7.0.9 release, which was unsigned.