Releases: mongodb/mongoid
9.0.11
The MongoDB Ruby team is pleased to announce version 9.0.11 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 9.0.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 9.0.11 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '9.0.11'
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
MONGOID-5930 Add Mongoid::Config.allow_reparenting_via_nested_attributes (PR)
Add Mongoid::Config.allow_reparenting_via_nested_attributes, defaulting to true. When false, this prevents dependent has_many records from being reparented via use of nested attributes. When true, records may be reparented via nested attributes.
This setting will default to false in Mongoid 9.1, and will be removed in Mongoid 10.
MONGOID-5751 avoid unnecessary autosaves of unchanged subtrees (PR)
The legacy behavior of associations with autosave: true resulted in all #save being invoked on all children of those associations, whether those children actually needed it or not. All corresponding after_save hooks were invoked as well, recursively, clear to the bottom of the autosave tree.
This PR adds an option to change this behavior, ensuring that subtrees are only autosaved if there are any changed documents in the subtree.
Mongoid.autosave_saves_unchanged_documents = trueThe default is true, allowing the legacy behavior to prevail. If your program depends on this legacy behavior, you are encouraged to rewrite the affected code and set the value to false. The default value of this option will be false in Mongoid 9.1, and will go away in Mongoid 10. At that point the legacy autosave behavior will be removed.
Other New Features
- MONGOID-5932 Add Ruby 4.0 support (PR)
9.0.10
The MongoDB Ruby team is pleased to announce version 9.0.10 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 9.0.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 9.0.10 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '9.0.10'
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
- MONGOID-5864 Include Rails framework version in client metadata on initial handshake (PR)
Bug Fixes
- MONGOID-5899 Write conflict error when accessing embedded documents via [] operator after direct DB update (PR)
- MONGOID-5919 Restrict Criteria.from_hash method (PR)
8.1.12
The MongoDB Ruby team is pleased to announce version 8.1.12 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 8.1.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 8.1.12 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '8.1.12'
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
- MONGOID-4889 Optimize batch assignment of embedded documents (backport to 8.1) (PR)
- MONGOID-5864 Include Rails framework version in client metadata on initial handshake (PR)
Bug Fixes
- MONGOID-5833 Fix Document#touch (PR)
- MONGOID-5919 Restrict to_criteria (PR)
8.0.12
The MongoDB Ruby team is pleased to announce version 8.0.12 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 8.0.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 8.0.12 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '8.0.12'
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
- MONGOID-5864 Include Rails framework version in client metadata on initial handshake (PR)
Bug Fixes
- MONGOID-5919 Restrict to_criteria (PR)
7.6.1
The MongoDB Ruby team is pleased to announce version 7.6.1 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 7.6.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 7.6.1 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '7.6.1'
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
- MONGOID-5864 Include Rails framework version in client metadata on initial handshake (PR)
Bug Fixes
- MONGOID-5919 Restrict to_criteria (PR)
9.0.9
The MongoDB Ruby team is pleased to announce version 9.0.9 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 9.0.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 9.0.9 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '9.0.9'
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
- MONGOID-5890 Handle BSON::Decimal128 specially when checking for changes (PR)
- Rails 8.1 Support (PR)
- MONGOID-5900 Fix #pluck on associations (PR)
7.6.0
The MongoDB Ruby team is pleased to announce version 7.6.0 of the mongoid gem - a Ruby ODM for MongoDB. This is a new minor release in the 7.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 7.6.0 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '7.6.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
- 7.6.0 is now officially compatible with the actual version of the Mongo Ruby Driver (PR)
9.0.8
The MongoDB Ruby team is pleased to announce version 9.0.8 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 9.0.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 9.0.8 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '9.0.8'
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
- MONGOID-5852 Fix after_action_commit callbacks (PR)
- MONGOID-4889 Optimize batch assignment of embedded documents (PR)
- MONGOID-5888 Ensure deeply nested children are validated correctly (PR)
- MONGOID-5885 Return value from transaction yield to caller instead of internal state (PR)
- MONGOID-5895 Make Reload Properly Update new_record (PR)
- MONGOID-5887 Include server hint for aggregate operations (PR)
- MONGOID-5869 Fix incorrectly named global_executor_concurrency config in code comment (PR)
9.0.7
The MongoDB Ruby team is pleased to announce version 9.0.7 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 9.0.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 9.0.7 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '9.0.7'
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
MONGOID-5848 Revert MONGOID-5822 (PR)
MONGOID-5822 attempted to fix a regression where child callbacks that depended on parent state were no longer invoked if the child had not changed. However, the fix itself introduced an unacceptable performance regression.
This PR restores the earlier functionality, which will break apps that depend on callbacks being invoked on unmodified children (for example, when a child callback depends simply on the parent having changed state).
For now, the correct way to implement that behavior is to explicitly iterate over the children in a parent callback, e.g.:
class Parent
include Mongoid::Document
has_many :children
after_save { children.each(&:parent_changed_callback) }
end
class Child
include Mongoid::Document
belongs_to :parent
def parent_changed_callback
# ...
end
endOther Bug Fixes
- MONGOID-5843 Ensure BSON::Decimal128 is considered to be numeric (PR)
- MONGOID-5874 Fix persisting embedded children (PR)
- MONGOID-5863 last overrides skip (PR)
8.1.11
The MongoDB Ruby team is pleased to announce version 8.1.11 of the mongoid gem - a Ruby ODM for MongoDB. This is a new patch release in the 8.1.x series of Mongoid.
Install this release using RubyGems via the command line as follows:
gem install -v 8.1.11 mongoid
Or simply add it to your Gemfile:
gem 'mongoid', '8.1.11'
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
MONGOID-5848 Revert MONGOID-5822 (PR)
MONGOID-5822 attempted to fix a regression where child callbacks that depended on parent state were no longer invoked if the child had not changed. However, the fix itself introduced an unacceptable performance regression.
This PR restores the earlier functionality, which will break apps that depend on callbacks being invoked on unmodified children.
For now, the correct way to implement that behavior is to explicitly iterate over the children in a parent callback, e.g.:
class Parent
include Mongoid::Document
has_many :children
after_save { children.each(&:parent_changed_callback) }
end
class Child
include Mongoid::Document
belongs_to :parent
def parent_changed_callback
# ...
end
endOther Bug Fixes
- MONGOID-5874 Fix persisting embedded children (PR)
- MONGOID-5863 last overrides skip (PR)