Skip to content

Releases: mongodb/mongoid

9.0.5

30 Jan 20:02
45e670f
Compare
Choose a tag to compare

Version 9.0.5 of the Mongoid ODM for MongoDB is now available.

Release Highlights

  • MONGOID-5836 - Callbacks were being duplicated on deeply embedded children.
  • MONGOID-5839 - When using single-collection inheritance, eager loading (with #includes) was not producing the correct query when the root of the query was the document subclass.
  • MONGOID-5825 - The Mongoid::Timestamps module would (in certain cases) attempt to timestamp deleted documents, which resulted in a FrozenError being raised.
  • MONGOID-5822 - Perform validations on embedded documents even if the embedded documents have not changed.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 9.0.5 mongoid

Full Changelog: v9.0.4...v9.0.5

8.1.9

30 Jan 20:00
9772be1
Compare
Choose a tag to compare

Version 8.1.9 of the Mongoid ODM for MongoDB is now available.

Release Highlights

  • MONGOID-5836 - Callbacks were being duplicated on deeply embedded children.
  • MONGOID-5839 - When using single-collection inheritance, eager loading (with #includes) was not producing the correct query when the root of the query was the document subclass.
  • MONGOID-5825 - The Mongoid::Timestamps module would (in certain cases) attempt to timestamp deleted documents, which resulted in a FrozenError being raised.
  • MONGOID-5822 - Perform validations on embedded documents even if the embedded documents have not changed.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 8.1.9 mongoid

Full Changelog: v8.1.8...v8.1.9

8.0.9

29 Jan 17:58
f49d011
Compare
Choose a tag to compare

Version 8.0.9 of the Mongoid ODM for MongoDB is now available.

Release Highlights

  • MONGOID-5836 - Callbacks were being duplicated on deeply embedded children. A related issue (MONGOID-5542) was also backported to 8.0, exposing the Mongoid.prevent_multiple_calls_of_embedded_callbacks setting to preserve backwards compatibility in most cases (defaults to false).
  • MONGOID-5757 - Child validations were being short-circuited, resulting in subsequent validation callbacks not being called after the first failing validation.
  • MONGOID-5797 - Accessing the parent document from an embedded document was failing with an error when the original query applied a projection.
  • MONGOID-5810 - When Mongoid.legacy_attributes is true, the #as_document method was returning a hash that leaked internal model state. The hash is now deep-duplicated before being returned (which may have performance implications for large documents or complex hashes).
  • MONGOID-5839 - When using single-collection inheritance, eager loading (with #includes) was not producing the correct query when the root of the query was the document subclass.
  • MONGOID-5825 - The Mongoid::Timestamps module would (in certain cases) attempt to timestamp deleted documents, which resulted in a FrozenError being raised.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 8.0.9 mongoid

Full Changelog: v8.0.8...v8.0.9

9.0.4

08 Jan 22:09
73d061c
Compare
Choose a tag to compare

Version 9.0.4 of the Mongoid ODM for MongoDB is now available.

Release Highlights

There is one new feature in this release:

MONGOID-5829 adds Mongoid.ignore_paths, which specifies an array of glob patterns. Any file matching any of these patterns will not be automatically loaded during autoloading (e.g. Mongoid.load_models). This fixes a problem encountered when non-model files (e.g. "concerns") are stored under the traditional model directories.

The following bug fixes are included in this release.

  • MONGOID-5830 fixes a bug caused by an earlier optimization that forgot to account for the fact that the client name may be provided a as a Proc.
  • MONGOID-5831 fixes an incompatibility with Rails 8.0.1 and later due to the inadvertent use of an internal Rails API.
  • MONGOID-5737 fixes an error that occurred when comparing a Mongoid::Document instance with an object that was not a Mongoid::Document instance.
  • MONGOID-5780 ensures that calling not multiple times (e.g. Model.where.not.not) will toggle the criteria's negation state, rather than simply setting it to true.
  • MONGOID-5816 prevents attr_readonly from leaking into sibling classes, which was making it difficult to specify that certain attributes are only read-only in certain parts of an inheritance tree.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 9.0.4 mongoid

Full Changelog: v9.0.3...v9.0.4

8.1.8

07 Jan 16:29
414e554
Compare
Choose a tag to compare

Version 8.1.8 of the Mongoid ODM for MongoDB is now available.

Release Highlights

This is a patch release with the following bug fixes:

  • MONGOID-5810 -- Internal model state was being leaked via #as_document, allowing the state to be unexpectedly mutated when the returned document was mutated.
  • MONGOID-5737 -- Comparing a model with a non-model was causing an error.
  • MONGOID-5780 -- Chaining multiple not predicates together was not toggling the negation state (e.g. Model.where.not.not.not)
  • MONGOID-5816 -- attr_readonly was leaking into sibling classes, making it difficult to mark attributes read-only for only parts of an inheritance heirarchy.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 8.1.8 mongoid

What's Changed

Full Changelog: v8.1.7...v8.1.8

9.0.3

12 Nov 17:31
058e59e
Compare
Choose a tag to compare

Version 9.0.3 of the Mongoid ODM for MongoDB is now available.

Release Highlights

This patch release adds support for Ruby 3.3 and Rails 8 to Mongoid 9.0.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 9.0.3 mongoid

What's Changed

Full Changelog: v9.0.2...v9.0.3

8.1.7

12 Nov 17:28
f3dbfa7
Compare
Choose a tag to compare

Version 8.1.7 of the Mongoid ODM for MongoDB is now available.

Release Highlights

This patch release adds support for Ruby 3.3 and Rails 8 to Mongoid 8.1.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 8.1.7 mongoid

What's Changed

Full Changelog: v8.1.6...v8.1.7

9.0.2

20 Sep 12:14
fc09714
Compare
Choose a tag to compare

Version 9.0.2 of the Mongoid ODM for MongoDB is now available.

Release Highlights

This patch release adds support for Rails 7.2. It also adds support for custom polymorphic types, and includes bug fixes.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 9.0.2 mongoid

What's Changed

New Contributors

Full Changelog: v9.0.1...v9.0.2

8.1.6

20 Sep 16:58
a549de2
Compare
Choose a tag to compare

Version 8.1.6 of the Mongoid ODM for MongoDB is now available.

Release Highlights

  • MONGOID-5806: Rails 7.2 support.
  • MONGOID-5769: Fix error with the $pull and $pop operators not being handled correctly by updateAll.
  • MONGOID-5789: Fix behavior when requesting an attribute with nil as the name. Previously raised a spurious exception, now returns an empty string.
  • MONGOID-5797: When using a projection on a model with an embeds_many relation, accessing the inverse (parent) relation was failing. This has been fixed.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 8.1.6 mongoid

What's Changed

Full Changelog: v8.1.5...v8.1.6

9.0.1

29 Jul 19:50
15e2ba9
Compare
Choose a tag to compare

Version 9.0.1 of the Mongoid ODM for MongoDB is now available.

Release Highlights

  • MONGOID-5786: In accordance with Ruby's enumerable API, the #sum method now accepts an optional block. Thank you to Cristián Pérez for your contributions!
  • MONGOID-5688: Problematic recursive callstacks in cascading callbacks have been linearized using Ruby Fibers to prevent SystemStackErrors with greater numbers of embedded documents. Thank you to Adviti Mishra for your contributions!
  • MONGOID-5769: $pop and $pull are now mongoized the same way as #addToSet or $push to ensure update_all functions as intended. Thank you to John Maguir and Michael Deryugin for your contributions!
  • MONGOID-5789: querying an attribute with a nil name now returns an empty string, rather than raising an exception. Thank you to Dan Healy for your contribution!
  • MONGOID-5785: if you set Mongoid.allow_scopes_to_unset_default_scope = true, you can invoke (e.g.) unscoped in a named scope to reset the current scope. This is useful for overriding default scopes inside of a named scope. This option will default to true in Mongoid 10.
  • MONGOID-5791: If the parent document class is not loaded at the time of loading the embedded document class, a NameError used to be raised. This has been fixed.
  • MONGOID-5796: The docs previously present in the Mongoid repository have been moved to the docs-mongoid repository.

Documentation

Documentation is available at MongoDB.com.

Installation

You may install this version via RubyGems, with:

gem install --version 9.0.1 mongoid

What's Changed

New Contributors

Full Changelog: v9.0.0...v9.0.1