Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
164 lines (90 sloc) 5.56 KB


For instructions on upgrading to newer versions, visit


Resolved Issues

  • #1116 Embedded children retain reference to parent in destroy callbacks.

  • #1110, #1115 Don't memoize metadata related helpers on documents.

  • #1112 db:create_indexes no longer indexes subclasses multiple times.

  • #1111, #1098 Don't set _id in $set operations.

  • #1007 Update attribute properly tracks array changes.


This was a specific release to get a Psych generated gemspec so no more parse errors would occur on those rubies that were using the new YAML parser.


Resolved Issues

  • #1109 Fixed validations not loading one to ones into memory.

  • #1107 Mongoid no longer wants required mongoid/railtie in application.rb

  • #1102 Fixed nested attributes deletion.

  • #1097 Reload now runs after_initialize callbacks.

  • #1079 Embeds many no longer duplicates documents.

  • #1078 Fixed array criteria matching on embedded documents.

  • #1028 Implement scoped on one-to-many and many-to-many relations.

  • #988 Many-to-many clear no longer deletes the child documents.

  • #977 Autosaving relations works also through nested attributes.

  • #972 Recursive embedding now handles namespacing on generated names.

  • #943 Don't override Document#attributes.

  • #893 Verify count is not caching on many to many relations.

  • #815 Verify after_initialize is run in the correct place.

  • #793 Verify any_of scopes chain properly with any other scope.

  • #776 Fixed mongoid case quality when dealing with subclasses.

  • #747 Fixed complex criteria using its keys to render its string value.

  • #721 safely now properly raises validation errors when they occur.


Resolved Issues

  • #1082 Alias size and length to count on criteria. (Adam Greene)

  • #1044 When multiple relations are defined for the same class, always return the default inverse first if inverse_of is not defined.

  • #710 Nested attributes accept both id and _id in hashes or arrays.

  • #1047 Ignore nil values passed to embeds_man pushes and substitution. (Derick Bailey)


Resolved Issues

  • #1021, #719 Many to many relations dont trigger extra database queries when pushing new documents.

  • #607 Calling create on large associations does not load the entire relation.

  • #1064 Mongoid::Paranoia should respect unscoped and scoped.

  • #1026 model#update_attribute now can update booleans to false.

  • #618 Crack XML library breaks Mongoid by adding #attributes method to the String class. (Stephen McGinty)


Major Changes

  • Mongoid now requires MongoDB 1.8.x in order to properly support the #bit and #rename atomic operations.

  • Traditional slave support has been removed from Mongoid. Replica sets should be used in place of traditional master and slave setups.

  • Custom field serialization has changed. Please see serializable for changes.

  • The dirty attribute tracking has been switched to use ActiveModel, this brings many bug fixes and changes:

    • #756 After callbacks and observers see what was changed instead of changes just made being in previous_changes

    • #434 Documents now are flagged as dirty when brand new or the state on instantiation differs from the database state. This is consistent with ActiveRecord.

    • #323 Mongoid now supports [field]_will_change! from ActiveModel::Dirty

  • Mongoid model preloading in development mode now defaults to false.

  • :autosave => true on relational associations now saves on update as well as create.

  • Mongoid now has an identity map for simple find by id queries. See the website for documentation.

New Features

  • #1067 Fields now accept a :versioned attribute to be able to disable what fields are versioned with Mongoid::Versioning. (Jim Benton)

  • #587 Added order preference to many and many to many associations (Gregory Man)

  • Added ability to chain order_by statements (Gregory Man)

  • #961 Allow arbitrary Mongo::Connection options to pass through Mongoid::Config::Database object. (Morgan Nelson)

  • Enable autosave for many to many references. (Dave Krupinski)

  • The following explicit atomic operations have been added: Model#bit, Model#pop, Model#pull, Model#push_all, Model#rename, Model#unset.

  • Added exception translations for Hindi. (Sukeerthi Adiga)

Resolved Issues

  • #974 Fix attribute_present? to work correctly then attribute value is false, thanks to @nickhoffman (Gregory Man)

  • #960 create indexes rake task is not recognizing a lot of mongoid models because it has problems guessing their model names from filenames (Tobias Schlottke)

  • #874 Deleting from a M-M reference is one-sided (nickhoffman, davekrupinski)

  • Replace deprecated class_inheritable_hash dropped in Rails 3.1+ (Konstantin Shabanov)

  • Fix inconsistent state when replacing an entire many to many relation

  • Don't clobber inheritable attributes when adding subclass field inheritance (Dave Krupinski)

  • #914 Querying embedded documents with '$or' selector (Max Golovnia)

  • #514 Fix marshaling of documents with relation extensions (Chris Griego)

    Metadata#extension now returns a Module, instead of a Proc, when an extension is defined.

  • #837 When allow_dynamic_fields is set to false and loading an embedded document with an unrecognized field, an exception is raised.

  • #963 Initializing array of embedded documents via hash regressed (Chris Griego, Morgan Nelson)

  • Mongoid::Config.reset resets the options to their default values.

  • Mongoid::Fields.defaults is memoized for faster instantiation of models.

Jump to Line
Something went wrong with that request. Please try again.