Releases: mongodb/mongoid
5.2.0.rc0
This release candidate includes support for the new features of server version 3.4, among other smaller changes:
- Refactored map reduce internals
- MONGOID-4398 Synchronize driver client creation
- Don't use unless with else (@ivanovaleksey)
- MONGOID-4237 Extend BSON::Decimal128 so it can be evolved in queries
- MONGOID-4326 Support collation in queries
- MONGOID-4328 Allow app_name to be set in mongoid.yml
- MONGOID-4327 Ensure that max_staleness is exposed as a read pref option
6.0.3
This patch release has the following fixes:
- MONGOID-3490 Fix Fields::Localized#lookup to work with boolean.
- MONGOID-4360 Fix text search used in Aggregation pipeline.
- MONGOID-4365 Allow partial iteration when eager loading.
- Allow map_reduce to use read preference of client (@cesar-tonnoir)
- Prefix Readonly#_loaded? method to avoid namespace pollution (@romanlehnert)
- Bypass the query cache when reloading a document (@eugeneius)
5.1.6
This patch release has the following fixes:
- MONGOID-3490 Fix Fields::Localized#lookup to work with boolean.
- MONGOID-4360 Fix text search used in Aggregation pipeline.
- MONGOID-4365 Allow partial iteration when eager loading.
- Allow map_reduce to use read preference of client (@cesar-tonnoir)
- Include sort option in cache key (@jefmathiot)
- Bypass the query cache when reloading a document (@eugeneius)
6.0.2
This release only has one change but was necessary because of a bug introduced into 6.0.1 by the fix to ticket MONGOID-4310
The bug reports can be found here:
- MONGOID-4357, MONGOID-4358 Fix merging criteria selectors when objects in a list do not respond to the #| method.
6.0.1
This patch level release has the following bug fixes:
- MONGOID-4315 Eager load objects when criteria docs are enumerated multiple times
- MONGOID-4350 Fix counter_cache update when foreign_key isn't default (@TheSmartnik)
- MONGOID-4313, MONGOID-4317 Fix Includes throwing NoMethodError when document is nil
- MONGOID-3407 Fix setting a hash field with atomic operator
- MONGOID-4310 Chained $in clauses should be an intersection.
- Add docs for create/remove indexes called on models (@miguelgraz)
- Don't fail when doing a localized attribute lookup which has a nil value after object initialization (@nicolasblanco)
- Add support for clone documents that have nil legacy attributes. (@okoriko)
5.1.5
This patch level release has the following bug fixes:
- MONGOID-4315 Eager load objects when criteria docs are enumerated multiple times
- MONGOID-4350 Fix counter_cache update when foreign_key isn't default (@TheSmartnik)
- MONGOID-4313, MONGOID-4317 Fix Includes throwing NoMethodError when document is nil
- MONGOID-3407 Fix setting a hash field with atomic operator
- Use right database when override_database + options. (@sylvain-8422)
6.0.0
This is the general release of Mongoid 6.0, which supports Rails 5.
Please see the release notes for version 6.0.0.beta and 6.0.0.rc0 for more details on changes since the 5.x series.
Please note that JRuby 9.0 preforms much slower and uses more memory than we've seen with previous JRuby and Mongoid versions. You may want to put off upgrading to JRuby 9.0 + Mongoid 6.0 until the JRuby team has resolved some performance issues. Here is the relevant github issue with the JRuby project.
This release contains the following changes in addition to those list in the beta and rc0 versions of Mongoid 6.0.0.
- Require Ruby driver >= 2.3 so that keys can be validated upon insert.
- MONGOID-3843 Ensure that the output db is queried in mapReduce operations.
- MONGOID-4173 Fix nested eager loading.
- MONGOID-4280 Allow both Strings and Symbols to be used when accessing values in the as_document object.
- MONGOID-4313 Fix nil errors in Eager loading.
- Avoid NoMethodError when using #nested (@quinn)
- Update list of tested Ruby versions in Readme (@tricknotes)
- Documentation updates for 6.0
5.1.4
This patch release has the following bug fixes:
- MONGOID-4300 Don't double set a relation.
- MONGOID-4289 Fix cloning with embedded translations.
- MONGOID-4275 Ensure existing translations are used when a field is localized.
- Criteria#map uses #pluck, not #only (@Benjamin-Dobell)
- MONGOID-4296 Fix regression with #only and embedded fields
- Add mongodb.com docs to repository
6.0.0.rc0
This is the first release candidate of Mongoid 6.0, which supports Rails 5.
The following changes are in rc0, in addition to the changes noted for the 6.0 beta release.
Bug fixes
- MONGOID-4289 Fix cloning with embedded translations (@eric-pigeon)
- MONGOID-4300 Don't double-set a relation
- MONGOID-4304 Accept extra field for association 'touch' option (@duhast)
- Fix hbtm eager loading (@ElMassimo)
API and behavior changes
- MONGOID-4052 #only and #without methods are not scoped to specific locales, unless user explicitly does so. (@johnnyshields)
- Adjust Proxy equality methods (@marshalium)
- Criteria#map uses #pluck, not #only (@Benjamin-Dobell)
Improvements and features
- MONGOID-4301 Support $elemMatch in Matchable#matches? (@jonhyman)
- Make Proxy undef regex more precise (@marshalium)
- Incorporated Mongoid documentation into repository.
- MONGOID-4274 Add QueryChache to the docs and take out Origin references
- Improve test suite performance and ensure that new connections get closed
6.0.0.beta
This is a beta release of Mongoid 6.0, which supports Rails 5.
Mongoid 6.0 has a number of bug fixes, API changes, and improvements:
Bug fixes
- MONGOID-3243 #find_or_create_by does not respect dynamic collection setting.
- MONGOID-3551 Fix adding nested documents to nested relation using accepts_nested_attributes_for
- MONGOID-4228 Fix using $not, $and, $or on embedded document queries. (@jonhyman)
- MONGOID-4241 Only update timestamp when calling #touch, regardless of what other changes are pending. (@connerfritz)
- MONGOID-4272 Fix replacing relation when it is already set as an instance variable.
API and behavior changes
- MONGOID-4268 Mongoid 6 behavior changes
- MONGOID-3535 Don't consider document readonly if #only or #without are used. Allow loaded attributes to be changed.
- MONGOID-3727 Don't mutate criteria object when calling #reorder
- MONGOID-3833 Return false instead of raising an exception when using comparison operators on inappropriate types.
- MONGOID-3944 Support #create_with method.
- MONGOID-4019, MONGOID-4182 Don't include Mongoi::Attributes::Dynamic when cloning documents with unknown attributes.
- MONGOID-4165 Fix inconsistent BigDecimal#mongoize behavior (@johnnyshields)
- MONGOID-4167 Raise an exception if Model#with is called with invalid driver options.
- MONGOID-4175 Add option to include or exclude sort when using #first or #last ( @PedroEscudero and @Juanchote)
- MONGOID-4180 Require a parent for a child in a belongs_to relation.
- MONGOID-4193 Override attributes in criteria's selector with write method's attributes.
- MONGOID-4226 Require ruby > 2.2.2
- MONGOID-4264 Require belongs_to by default and provide options to override requirement.
- MONGOID-4270 Take out run_targeted_callbacks
- MONGOID-4239 Validate field names.
Improvements and features
- MONGOID-4012 Add max_time_ms as an option on Criteria.
- MONGOID-4261, MONGOID-3887 Assign hash attributes in #first_or_* methods on Criteria.
- MONGOID-3074 Consider time zones when returning distinct query results
- MONGOID-3158 DateTime#mongoize and Date#mongoize return nil for invalid strings.
- MONGOID-3842 Allow cache timestamp format to be changed. (@DouweM)
- MONGOID-3875 Note in documentation that Mongoid::Attributes::Dynamic is needed when using counter_cache.
- MONGOID-4129 Close connections opened by calling #with.
- MONGOID-4218 Support Rails 5
- MONGOID-4225 Incorporate separate Origin gem into Mongoid's codebase.
- MONGOID-4266 Support passing multiple contexts to #valid?
- MONGOID-4267 Support #attr_name_previously_changed? and #attr_name_previous_change
- Add sorting options to the cache key (@jefmathiot)
- Don't allow method names containing hyphens (@tdonia)