Skip to content

Releases: mongodb/mongoid

6.4.1

03 May 22:17
Compare
Choose a tag to compare
  • MONGOID-4536 Internal API conflict with relation or attribute named 'session'
  • MONGOID-4525 set modifier method don't persist change with a empty hash
  • MONGOID-4526 Update mongoid.yml to point user to driver client documentation for options

5.4.0

03 May 16:57
Compare
Choose a tag to compare

This minor release has the following changes:

  • Drop support for MongoDB server version 2.4
  • Require ruby driver version >= 2.5.1
  • MONGOID-4499 Support $push + $each instead of $pushAll. (@TreyE)

7.0.0

12 Mar 14:00
Compare
Choose a tag to compare

This major version of Mongoid has a number of significant refactors, bug fixes, and behavior corrections. Please refer to the list of changes in version 7.0.0.beta and the following list for a complete picture of the changes.

These are the behavior changes:

  • Fixup the falsey logic of nested (@nolaneo)
  • MONGOID-4477 Don't report destroyed count with unacknowledged writes

These are the bug fixes and API/feature additions:

  • Drop support for MongoDB server version 2.4.0 / require at least server version 2.6.0.
  • Require at least Ruby driver version 2.5.1
  • remove warning: instance variable @__parent not initialized (@qbantek)
  • MONGOID-4470 Add id_sort :none option to enumerable #first and #last
  • MONGOID-4485 Remove Ruby 1.9 temporal fix removing Symbol:Size from Ruby's Symbol class (@ColinTheRobot)
  • MONGOID-4487: Fix atomically to support empty updates (@gingerhendrix)
  • Use old value of shar key when calculating Mongoid::Shardableshard_key_selector (@intale)
  • Fix typo in documentation for And.rb (@kattak)
  • add support for using $not in $elemMatch (@loganyu)
  • Ensure the persistence context is unset when invalid (@benknowles)
  • fix cloning document with polymorphic embedded documents with multiple language field (@tomasc)
  • Add support for .inc to contextual (@johnnyshields)
  • Travis test improvements (@johnnyshields)
  • MONGOID-4497 Covert type to String before looking up in attributes hash.
  • Remove QueryCache#read_or_server_selector (@koraktor)
  • MONGOID-4505 Fix typo in tutorial for default_scope
  • MONGOID-4499 Replace uses of pushAll with push and each
  • MONGOID-3362 Don't allow Relations::Marcros methods to be field names
  • MONGOID-4503 Support passing array_filters to update methods
  • MONGOID-4483 Demongoize attribute values when accessing via #read_attribute or #[]
  • MONGOID-2882 Set base relation on has_many enumerable objects
  • MONGOID-4508 Ensure that fields are evolved properly when chaining criterion
  • Fix Mongoid::Errors::UnknownModel (@Fudoshiki)
  • MONGOID-4506 Support sessions
  • fix query date parser with ActiveSupport timezone (@infernalmaster)

6.4.0

12 Mar 11:32
Compare
Choose a tag to compare

This version of Mongoid most notably adds support for sessions.
The full list of changes is as follows:

  • Require at least version 2.5.1 of the Ruby driver
  • MONGOID-4517 Implement sessions support
  • MONGOID-4508 Chained "in" when querying on ids should evolve to ObjectId before the value comparison
  • MONGOID-4477 Ensure that Model.destroy_all returns 0 for unacknowledged write concern

6.3.0

29 Jan 11:36
Compare
Choose a tag to compare

This release of Mongoid depends on at least Ruby driver version 2.5.0, which supports MongoDB server version 3.6 and which drops supports for MongoDB server version 2.4. This requirement addresses MONGOID-4504.

In other words, this version of Mongoid supports MongoDB server versions 2.6 - 3.6.

The following bug fixes and changes are in this release:

  • MONGOID-3362 Don't allow associations to be a Model field name, as it conflicts with the internal API.
  • MONGOID-4499 Use $push and $each instead of $pushAll
  • MONGOID-4470 Add id_sort :none option to enumerable #first and #last
  • MONGOID-4497 Allow _type to be a Symbol or String. (@pacop)
  • MONGOID-4505 Fix typo in documentation.
  • MONGOID-4503 Support passing array_filters to update methods.
  • Ensure that Persistence Context is cleared, even when error is raised in accessing client. (@benknowles)

6.2.1

15 Aug 14:36
Compare
Choose a tag to compare
  • MONGOID-4444 Don't include PersistenceContext methods in prohibted field names, include Clients::Options instead
  • MONGOID-4466 Duplicate of MONGOID-4444
  • MONGOID-4453 Ignore attr_readonly when defined on foreign key fields
  • MONGOID-4445 Remove unnecessary extra inverse criterion when retrieving has_many objects
  • MONGOID-4451 Unexpected exception when using a "destructive" field
  • Make _destroy alias flagged_for_destroy? (@danielfarrell)

7.0.0.beta

12 Mar 12:27
Compare
Choose a tag to compare

This is a beta release of Mongoid 7.0. It's is meant for testing and not for production. The API may also evolve as further betas and release candidates are released. Please report any issues in the jira project for Mongoid.

The release contains a large refactor of the way associations are defined between models. There are some behavior changes but the API is mostly unchanged. Please see the below list for details on bug fixes, behavior changes and API adjustments:

These are the behavior changes:

  • MONGOID-4354 Provide more helpful error message when _type field doesn't correspond to a Class name
  • MONGOID-4455 Make readonly attributes behavior consistent with ActiveRecord
  • MONGOID-3831 Mongoize to a String when Range#mongoize receives a string instead of Range
  • MONGOID-3678 Change #matches? to #_matches? to avoid relation name clash

These are the bug fixes and API/feature additions:

  • Provide all dependent options that ActiveRecord has (documentation here)
  • MONGOID-3261 Objects are built twice when relation is specified in the constructor.
  • MONGOID-3586 Persistence inconsistency.
  • MONGOID-3765 determine_inverse_foreign_key does not observe customized foreign key
  • MONGOID-3797 HABM relations are not saved correctly on both sides if providing just model_ids
  • MONGOID-3809 Duplicate embedded document created on save (repro included)
  • MONGOID-3829 Setting referenced-in relation breaks substitution of the inverse relation.
  • MONGOID-3830 Range field type/extension seems to have a weird bug if given a string
  • MONGOID-3850 Coexisting instances are able to bypass the uniqueness validator on embedded docs
  • MONGOID-3876 delete_all conditions don't work with aliased fields.
  • MONGOID-3893 Adding pointers in embedded document corrupts the pointed document
  • MONGOID-3901 Create the dependent behavior restrict_with_error
  • MONGOID-3917 Create child object with inheritance and nested attributes.
  • MONGOID-4054 (Works as designed) Mongoid localized field not being set in first form submission
  • MONGOID-4100 Ensure that type gets set for first_or methods on polymorphic objects
  • MONGOID-4210 Embedded document unexpected autosave behavior
  • MONGOID-4273 Self-referencing has_and_belongs_to_many not updated properly
  • MONGOID-4282 Foreign key string are not properly evolved to ObjectIds in #where for polymorphic relations
  • MONGOID-4309 Infinite Loop In Callbacks
  • MONGOID-4427 Updating an embedded document triggers an unnecessary unset
  • MONGOID-4435 Cloning Criteria does not preserve read preference
  • MONGOID-4436 Duplicate of MONGOID-2882
  • MONGOID-4442 Missing Mongoid::Relations::Cascading::DeleteAll
  • MONGOID-4444 Field names display and options are on prohibited_methods list
  • MONGOID-4258 Autosave does not cascade unless all items are "dirty"
  • MONGOID-4259 "dependent: :destroy" option destroys out-of-date relation
  • MONGOID-4431 Avoid using synced and syncable internally so as not to clash with potential attribute names
  • MONGOID-4445 Remove unnecessary extra inverse criterion when retrieving has_many objects
  • MONGOID-4447 Support passing a document to $unwind operator in aggregation
  • MONGOID-4448 Add global config option to always create indexes in the background
  • MONGOID-4449 Avoid using #base and #target method names on proxy objects
  • MONGOID-4461 Encourage referring to MongoDB docs for supported map reduce options

6.2.0

07 Jun 14:49
Compare
Choose a tag to compare

This version of Mongoid supports (and requires at least) Rails 5.1.

6.1.1

06 Jun 12:28
Compare
Choose a tag to compare

This patch release has the following changes:

  • Update config template (@ivanovaleksey)
  • MONGOID-3806 use where with delete conditions instead of driver API for #delete_all.
  • Fix YARD doc for Criteria#merge method (@ivanovaleksey)
  • Add support for matching index of an array (@loganyu)
  • Refactor eager preload to avoid stack overflow (@Val)
  • Small improvement to spec for Touchable (@johnnyshields)
  • MONGOID-4415 Ensure that storage options of parent are used for embedded docs when persisting
  • MONGOID-4319 Don't replace relation if new one is identical to existing.
  • Fix sort to id_sort option typos (@hartator)
  • MONGOID-4416 Don't run touch callbacks when #touch is called on an object from a relation's callback
  • MONGOID-4418 Don't allow PersistenceContext method as field names
  • Fix compatibility of Mongoid::Contextual::None with other contexts by adding distinct (@ElMassimo)
  • Update mongoid-queries.txt (@wndfly)
  • Update mongoid-queries.txt with valid ruby (@arbourd)
  • RUBY-1207 Note that username and password are required for most auth mechanisms.
  • MONGOID-4426 Account for nil value in Hash field before setting
  • Allow raw bson regexp query criteria on fields specified as Strings
  • MONGOID-4425 #as_document continues to return BSON::Document, but use internal api method #as_attributes otherwise
  • MONGOID-4431 Avoid use of certain names in Synchronization module so not to interfer with attribute names
  • MONGOID-3678 Change #matches? to #_matches? to avoid relation name clash
  • MONGOID-4435 Don't convert option keys to String from Symbols when cloning criteria
  • Travis and Evergreen improvements
  • API docs available at https://docs.mongodb.com/mongoid/6.1/api/

Tickets that are closed as of this release without changes:

5.2.1

05 Apr 10:00
Compare
Choose a tag to compare

This patch level release has the following changes:

  • Add support for matching the index of an array (@loganyu)
  • MONGOID-4428 Ensure that a BSON::Regexp::Raw object is serialized to a BSON regex when querying a field with type String. Also allow a BSON::Regexp::Raw object to be compiled to a native Ruby Regexp when querying in-memory documents. Please ensure that all uses of Ruby's Regexp class refer to it with the explicit syntax: ::Regexp.