Releases: mongodb/mongoid
7.0.2
This patch release has the following minor changes:
- MONGOID-4542 embedded_in with polymorphic and touch results in load_missing_constant
- MONGOID-4543 accepts_nested_attributes_for no longer sets autosave: true
- MONGOID-4544 Model#touch results in NoMethodError: undefined method `touch'
- MONGOID-4549 Dependents are tracked incorrectly through sibling documents
- MONGOID-4559 Setting an embeds_one to nil does not persist
- MONGOID-4560 Cloning documents with deep embedded documents don't work
- MONGOID-4608 Add Nor matcher
- MONGOID-4609 Fix Settable: allow setting a nested value to a non-string (on 7.x)
- MONGOID-4610 Mongoid::Clients::Factory test is failing with driver_master
- MONGOID-4612 Map reduce with preference test failure
- MONGOID-4532 Namespaced models in relations are not found
- MONGOID-4576 drop_dups: mark deprecated
7.0.1
This patch release has the following minor changes:
- fix before_remove and after_remove relation callbacks and add shift relation method
- MONGOID-4536 Change session accessor name on a model to avoid name clash
6.4.1
- 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
7.0.0
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
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
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
- 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
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
This version of Mongoid supports (and requires at least) Rails 5.1.
- MONGOID-4440 Support Rails 5.1