uriel-naor / ISSUES

0 stars 0 forks source link

Update dependency mongoose to v4.13.17 - autoclosed #41

Closed uriel-mend-app[bot] closed 1 year ago

uriel-mend-app[bot] commented 1 year ago

This PR contains the following updates:

Package Type Update Change
mongoose (source) dependencies minor 4.2.4 -> 4.13.17

Mend ensures you have the greatest risk reduction (highlighted in green) by removing as many vulnerabilities as possible. Click to see how we calculate risk reduction.

Version 4.13.17 | Risk Change | Critical | High | Medium | Low | | --- | --- | --- | --- | --- | | -100% | 0 (--) | 0 (-2 ) | 1 (-1 ) | 0 (-1 ) |
Version 4.2.4 | Risk Change | Critical | High | Medium | Low | | --- | --- | --- | --- | --- | | N/A | 0 | 2 | 2 | 1 |
Version 4.13.21 | Risk Change | Critical | High | Medium | Low | | --- | --- | --- | --- | --- | | -100% | 0 (--) | 0 (-2 ) | 1 (-1 ) | 0 (-1 ) |

By merging this PR, the number of vulnerabilities in issue #33 will be resolved in part or in full.

--- ### Release Notes

Automattic/mongoose ### [`v4.13.17`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41317--2018-08-30) [Compare Source](https://togithub.com/Automattic/mongoose/compare/df93f5b2b824f835eec682923ee440b049d9ea6d...4.13.17) \==================== - fix(document): disallow setting `constructor` and `prototype` if strict mode false ### [`v4.13.16`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41316--2018-08-30) [Compare Source](https://togithub.com/Automattic/mongoose/compare/631f47633e78af0e1f4dda46ef1bb06197e1bb91...df93f5b2b824f835eec682923ee440b049d9ea6d) \==================== - fix(document): disallow setting **proto** if strict mode false - feat(error): backport adding modified paths to VersionError [#​6928](https://togithub.com/Automattic/mongoose/issues/6928) [freewil](https://togithub.com/freewil) ### [`v4.13.15`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41315--2018-08-14) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.14...631f47633e78af0e1f4dda46ef1bb06197e1bb91) \==================== - fix(mongoose): add global `usePushEach` option for easier Mongoose 4.x + MongoDB 3.6 [#​6858](https://togithub.com/Automattic/mongoose/issues/6858) - chore: fix flakey tests for 4.x [#​6853](https://togithub.com/Automattic/mongoose/issues/6853) [Fonger](https://togithub.com/Fonger) - feat(error): add version number to VersionError [#​6852](https://togithub.com/Automattic/mongoose/issues/6852) [freewil](https://togithub.com/freewil) ### [`v4.13.14`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41314--2018-05-25) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.13...4.13.14) \==================== - fix(model): handle retainKeyOrder option in findOneAndUpdate() [#​6484](https://togithub.com/Automattic/mongoose/issues/6484) ### [`v4.13.13`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41313--2018-05-17) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.12...4.13.13) \==================== - fix(update): stop clobbering $in when casting update [#​6441](https://togithub.com/Automattic/mongoose/issues/6441) [#​6339](https://togithub.com/Automattic/mongoose/issues/6339) - fix: upgrade async -> 2.6.0 re: security warning ### [`v4.13.12`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41312--2018-03-13) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.11...4.13.12) \==================== - fix(document): make virtual get() return undefined instead of null if no getters [#​6223](https://togithub.com/Automattic/mongoose/issues/6223) - docs: fix url in useMongoClient error message [#​6219](https://togithub.com/Automattic/mongoose/issues/6219) [#​6217](https://togithub.com/Automattic/mongoose/issues/6217) [lineus](https://togithub.com/lineus) - fix(discriminator): don't copy `discriminators` property from base schema [#​6122](https://togithub.com/Automattic/mongoose/issues/6122) [#​6064](https://togithub.com/Automattic/mongoose/issues/6064) ### [`v4.13.11`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41311--2018-02-07) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.10...4.13.11) \==================== - docs: fix links in 4.x docs [#​6081](https://togithub.com/Automattic/mongoose/issues/6081) - chore: add release script that uses --tag for npm publish for 4.x releases [#​6063](https://togithub.com/Automattic/mongoose/issues/6063) ### [`v4.13.10`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41310--2018-01-28) [Compare Source](https://togithub.com/Automattic/mongoose/compare/9fea218392c4fb217ef8dbf2aa68e7e4a197bd60...4.13.10) \==================== - docs(model+query): add lean() option to Model helpers [#​5996](https://togithub.com/Automattic/mongoose/issues/5996) [aguyinmontreal](https://togithub.com/aguyinmontreal) - fix: use lazy loading so we can build mongoose with webpack [#​5993](https://togithub.com/Automattic/mongoose/issues/5993) [#​5842](https://togithub.com/Automattic/mongoose/issues/5842) - docs(connections): clarify multi-mongos with useMongoClient for 4.x docs [#​5984](https://togithub.com/Automattic/mongoose/issues/5984) - fix(populate): handle populating embedded discriminator paths [#​5970](https://togithub.com/Automattic/mongoose/issues/5970) - docs(query+aggregate): add more detail re: maxTimeMS [#​4066](https://togithub.com/Automattic/mongoose/issues/4066) ### [`v4.13.9`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4139--2018-01-07) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.8...9fea218392c4fb217ef8dbf2aa68e7e4a197bd60) \=================== - chore: update marked (dev dependency) re: security vulnerability [#​5951](https://togithub.com/Automattic/mongoose/issues/5951) [ChristianMurphy](https://togithub.com/ChristianMurphy) - fix: upgrade mongodb -> 2.2.34 for ipv6 and autoReconnect fixes [#​5794](https://togithub.com/Automattic/mongoose/issues/5794) [#​5760](https://togithub.com/Automattic/mongoose/issues/5760) - docs: use useMongooseAggCursor for aggregate docs [#​2955](https://togithub.com/Automattic/mongoose/issues/2955) ### [`v4.13.8`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4138--2017-12-27) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.7...4.13.8) \=================== - docs(guide): use more up-to-date syntax for autoIndex example [#​5933](https://togithub.com/Automattic/mongoose/issues/5933) - docs: fix grammar [#​5927](https://togithub.com/Automattic/mongoose/issues/5927) [abagh0703](https://togithub.com/abagh0703) - fix: propagate lean options to child schemas [#​5914](https://togithub.com/Automattic/mongoose/issues/5914) - fix(populate): use correct model with discriminators + nested populate [#​5858](https://togithub.com/Automattic/mongoose/issues/5858) ### [`v4.13.7`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4137--2017-12-11) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.6...4.13.7) \=================== - docs(schematypes): fix typo [#​5889](https://togithub.com/Automattic/mongoose/issues/5889) [gokaygurcan](https://togithub.com/gokaygurcan) - fix(cursor): handle `reject(null)` with eachAsync callback [#​5875](https://togithub.com/Automattic/mongoose/issues/5875) [#​5874](https://togithub.com/Automattic/mongoose/issues/5874) [ZacharyRSmith](https://togithub.com/ZacharyRSmith) - fix: disallow setting `mongoose.connection` to invalid values [#​5871](https://togithub.com/Automattic/mongoose/issues/5871) [jinasonlin](https://togithub.com/jinasonlin) - docs(middleware): suggest using `return next()` to stop middleware execution [#​5866](https://togithub.com/Automattic/mongoose/issues/5866) - docs(connection): improve connection string query param docs [#​5864](https://togithub.com/Automattic/mongoose/issues/5864) - fix(document): run validate hooks on array subdocs even if not directly modified [#​5861](https://togithub.com/Automattic/mongoose/issues/5861) - fix(discriminator): don't treat $meta as defining projection when querying [#​5859](https://togithub.com/Automattic/mongoose/issues/5859) - fix(types): handle Decimal128 when using bson-ext on server side [#​5850](https://togithub.com/Automattic/mongoose/issues/5850) - fix(document): ensure projection with only $slice isn't treated as inclusive for discriminators [#​4991](https://togithub.com/Automattic/mongoose/issues/4991) - fix(model): throw error when passing non-object to create() [#​2037](https://togithub.com/Automattic/mongoose/issues/2037) ### [`v4.13.6`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4136--2017-12-02) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.5...4.13.6) \=================== - fix(schema): support strictBool option in schema [#​5856](https://togithub.com/Automattic/mongoose/issues/5856) [ekulabuhov](https://togithub.com/ekulabuhov) - fix(update): make upsert option consistently handle truthy values, not just booleans, for updateOne() [#​5839](https://togithub.com/Automattic/mongoose/issues/5839) - refactor: remove unnecessary constructor check [#​2057](https://togithub.com/Automattic/mongoose/issues/2057) - docs(query): correct function signature for .mod() helper [#​1806](https://togithub.com/Automattic/mongoose/issues/1806) - fix(query): report ObjectParameterError when passing non-object as filter to find() and findOne() [#​1698](https://togithub.com/Automattic/mongoose/issues/1698) ### [`v4.13.5`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4135--2017-11-24) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.4...4.13.5) \=================== - fix(model): handle update cast errors correctly with bulkWrite [#​5845](https://togithub.com/Automattic/mongoose/issues/5845) [Michael77](https://togithub.com/Michael77) - docs: add link to bufferCommands option [#​5844](https://togithub.com/Automattic/mongoose/issues/5844) [ralphite](https://togithub.com/ralphite) - fix(model): allow virtual ref function to return arrays [#​5834](https://togithub.com/Automattic/mongoose/issues/5834) [brunohcastro](https://togithub.com/brunohcastro) - fix(query): don't throw uncaught error if query filter too big [#​5812](https://togithub.com/Automattic/mongoose/issues/5812) - fix(document): if setting unselected nested path, don't overwrite nested path [#​5800](https://togithub.com/Automattic/mongoose/issues/5800) - fix(document): support calling `populate()` on nested document props [#​5703](https://togithub.com/Automattic/mongoose/issues/5703) - fix: add `strictBool` option for schema type boolean [#​5344](https://togithub.com/Automattic/mongoose/issues/5344) [#​5211](https://togithub.com/Automattic/mongoose/issues/5211) [#​4245](https://togithub.com/Automattic/mongoose/issues/4245) - docs(faq): add faq re: typeKey [#​1886](https://togithub.com/Automattic/mongoose/issues/1886) - docs(query): add more detailed docs re: options [#​1702](https://togithub.com/Automattic/mongoose/issues/1702) ### [`v4.13.4`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4134--2017-11-17) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.3...4.13.4) \=================== - fix(aggregate): add chainable .option() helper for setting arbitrary options [#​5829](https://togithub.com/Automattic/mongoose/issues/5829) - fix(aggregate): add `.pipeline()` helper to get the current pipeline [#​5825](https://togithub.com/Automattic/mongoose/issues/5825) - docs: grammar fixes for `unique` FAQ [#​5823](https://togithub.com/Automattic/mongoose/issues/5823) [mfluehr](https://togithub.com/mfluehr) - chore: add node 9 to travis [#​5822](https://togithub.com/Automattic/mongoose/issues/5822) [superheri](https://togithub.com/superheri) - fix(model): fix infinite recursion with recursive embedded discriminators [#​5821](https://togithub.com/Automattic/mongoose/issues/5821) [Faibk](https://togithub.com/Faibk) ### [`v4.13.3`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4133--2017-11-15) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.2...4.13.3) \=================== - chore: add node 8 to travis [#​5818](https://togithub.com/Automattic/mongoose/issues/5818) [superheri](https://togithub.com/superheri) - fix(document): don't apply transforms to nested docs when updating already saved doc [#​5807](https://togithub.com/Automattic/mongoose/issues/5807) ### [`v4.13.2`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41321--2020-07-12) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.1...4.13.2) \==================== - fix(query): delete top-level `_bsontype` property in queries to prevent silent empty queries [#​8222](https://togithub.com/Automattic/mongoose/issues/8222) ### [`v4.13.1`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41319--2019-07-02) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.13.0...4.13.1) \==================== - fix(aggregate): make `setOptions()` work as advertised [#​7950](https://togithub.com/Automattic/mongoose/issues/7950) [#​6011](https://togithub.com/Automattic/mongoose/issues/6011) [cdimitroulas](https://togithub.com/cdimitroulas) ### [`v4.13.0`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4130--2017-11-02) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.6...4.13.0) \=================== - feat(aggregate): add $addFields helper [#​5740](https://togithub.com/Automattic/mongoose/issues/5740) [AyushG3112](https://togithub.com/AyushG3112) - feat(connection): add connection-level bufferCommands [#​5720](https://togithub.com/Automattic/mongoose/issues/5720) - feat(connection): add createCollection() helper [#​5712](https://togithub.com/Automattic/mongoose/issues/5712) - feat(populate): support setting localField and foreignField to functions [#​5704](https://togithub.com/Automattic/mongoose/issues/5704) [#​5602](https://togithub.com/Automattic/mongoose/issues/5602) - feat(query): add multipleCastError option for aggregating cast errors when casting update [#​5609](https://togithub.com/Automattic/mongoose/issues/5609) - feat(populate): allow passing a function to virtual ref [#​5602](https://togithub.com/Automattic/mongoose/issues/5602) - feat(schema): add excludeIndexes option to optionally prevent collecting indexes from nested schemas [#​5575](https://togithub.com/Automattic/mongoose/issues/5575) - feat(model): report validation errors from `insertMany()` if using `ordered: false` and `rawResult: true` [#​5337](https://togithub.com/Automattic/mongoose/issues/5337) - feat(aggregate): add pre/post aggregate middleware [#​5251](https://togithub.com/Automattic/mongoose/issues/5251) - feat(schema): allow using `set` as a schema path [#​1939](https://togithub.com/Automattic/mongoose/issues/1939) ### [`v4.12.6`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4126--2017-11-01) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.5...4.12.6) \=================== - fix(schema): make clone() copy query helpers correctly [#​5752](https://togithub.com/Automattic/mongoose/issues/5752) - fix: undeprecate `ensureIndex()` and use it by default [#​3280](https://togithub.com/Automattic/mongoose/issues/3280) ### [`v4.12.5`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4125--2017-10-29) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.4...4.12.5) \=================== - fix(query): correctly handle `$in` and required for $pull and update validators [#​5744](https://togithub.com/Automattic/mongoose/issues/5744) - feat(aggegate): add $addFields pipeline operator [#​5740](https://togithub.com/Automattic/mongoose/issues/5740) [AyushG3112](https://togithub.com/AyushG3112) - fix(document): catch sync errors in document pre hooks and report as error [#​5738](https://togithub.com/Automattic/mongoose/issues/5738) - fix(populate): handle slice projections correctly when automatically selecting populated fields [#​5737](https://togithub.com/Automattic/mongoose/issues/5737) - fix(discriminator): fix hooks for embedded discriminators [#​5706](https://togithub.com/Automattic/mongoose/issues/5706) [wlingke](https://togithub.com/wlingke) - fix(model): throw sane error when customer calls `mongoose.Model()` over `mongoose.model()` [#​2005](https://togithub.com/Automattic/mongoose/issues/2005) ### [`v4.12.4`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4124--2017-10-21) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.3...4.12.4) \=================== - test(plugins): add coverage for idGetter with id as a schema property [#​5713](https://togithub.com/Automattic/mongoose/issues/5713) [wlingke](https://togithub.com/wlingke) - fix(model): avoid copying recursive $$context object when creating discriminator after querying [#​5721](https://togithub.com/Automattic/mongoose/issues/5721) - fix(connection): ensure connection promise helpers are removed before emitting 'connected' [#​5714](https://togithub.com/Automattic/mongoose/issues/5714) - docs(schema): add notes about runSettersOnQuery to schema setters [#​5705](https://togithub.com/Automattic/mongoose/issues/5705) - fix(collection): ensure queued operations run on the next tick [#​5562](https://togithub.com/Automattic/mongoose/issues/5562) ### [`v4.12.3`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4123--2017-10-16) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.2...4.12.3) \=================== - fix(connection): emit 'reconnect' event as well as 'reconnected' for consistency with driver [#​5719](https://togithub.com/Automattic/mongoose/issues/5719) - fix: correctly bubble up left/joined events for replica set [#​5718](https://togithub.com/Automattic/mongoose/issues/5718) - fix(connection): allow passing in `autoIndex` as top-level option rather than requiring `config.autoIndex` [#​5711](https://togithub.com/Automattic/mongoose/issues/5711) - docs(connection): improve docs regarding reconnectTries, autoReconnect, and bufferMaxEntries [#​5711](https://togithub.com/Automattic/mongoose/issues/5711) - fix(query): handle null with addToSet/push/pull/pullAll update validators [#​5710](https://togithub.com/Automattic/mongoose/issues/5710) - fix(model): handle setDefaultsOnInsert option for bulkWrite updateOne and updateMany [#​5708](https://togithub.com/Automattic/mongoose/issues/5708) - fix(query): avoid infinite recursion edge case when cloning a buffer [#​5702](https://togithub.com/Automattic/mongoose/issues/5702) ### [`v4.12.2`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4122--2017-10-14) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.1...4.12.2) \=================== - docs(faq): add FAQ about using arrow functions for getters/setters, virtuals, and methods [#​5700](https://togithub.com/Automattic/mongoose/issues/5700) - docs(schema): document the childSchemas property and add to public API [#​5695](https://togithub.com/Automattic/mongoose/issues/5695) - fix(query): don't project in populated field if parent field is already projected in [#​5669](https://togithub.com/Automattic/mongoose/issues/5669) - fix: bump mongodb -> 2.2.33 for issue with autoReconnect [#​4513](https://togithub.com/Automattic/mongoose/issues/4513) ### [`v4.12.1`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4121--2017-10-08) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.12.0...4.12.1) \=================== - fix(document): create new doc when setting single nested, no more set() on copy of priorVal [#​5693](https://togithub.com/Automattic/mongoose/issues/5693) - fix(model): recursively call applyMethods on child schemas for global plugins [#​5690](https://togithub.com/Automattic/mongoose/issues/5690) - docs: fix bad promise lib example on home page [#​5686](https://togithub.com/Automattic/mongoose/issues/5686) - fix(query): handle false when checking for inclusive/exclusive projection [#​5685](https://togithub.com/Automattic/mongoose/issues/5685) - fix(discriminator): allow reusing child schema [#​5684](https://togithub.com/Automattic/mongoose/issues/5684) - fix: make addToSet() on empty array with subdoc trigger manual population [#​5504](https://togithub.com/Automattic/mongoose/issues/5504) ### [`v4.12.0`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4120--2017-10-02) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.14...4.12.0) \=================== - docs(validation): add docs coverage for ValidatorError.reason [#​5681](https://togithub.com/Automattic/mongoose/issues/5681) - feat(discriminator): always add discriminatorKey to base schema to allow updating [#​5613](https://togithub.com/Automattic/mongoose/issues/5613) - fix(document): make nested docs no longer inherit parent doc's schema props [#​5586](https://togithub.com/Automattic/mongoose/issues/5586) [#​5546](https://togithub.com/Automattic/mongoose/issues/5546) [#​5470](https://togithub.com/Automattic/mongoose/issues/5470) - feat(query): run update validators on $pull and $pullAll [#​5555](https://togithub.com/Automattic/mongoose/issues/5555) - feat(query): add .error() helper to query to error out in pre hooks [#​5520](https://togithub.com/Automattic/mongoose/issues/5520) - feat(connection): add dropCollection() helper [#​5393](https://togithub.com/Automattic/mongoose/issues/5393) - feat(schema): add schema-level collation option [#​5295](https://togithub.com/Automattic/mongoose/issues/5295) - feat(types): add `discriminator()` function for single nested subdocs [#​5244](https://togithub.com/Automattic/mongoose/issues/5244) - feat(document): add $isDeleted() getter/setter for better support for soft deletes [#​4428](https://togithub.com/Automattic/mongoose/issues/4428) - feat(connection): bubble up reconnectFailed event when driver gives up reconnecting [#​4027](https://togithub.com/Automattic/mongoose/issues/4027) - fix(query): report error if passing array or other non-object as filter to update query [#​3677](https://togithub.com/Automattic/mongoose/issues/3677) - fix(collection): use createIndex() instead of deprecated ensureIndex() [#​3280](https://togithub.com/Automattic/mongoose/issues/3280) ### [`v4.11.14`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41114--2017-09-30) [Compare Source](https://togithub.com/Automattic/mongoose/compare/v4.11.13...4.11.14) \==================== - chore: add nsp check to the CI build [#​5679](https://togithub.com/Automattic/mongoose/issues/5679) [hairyhenderson](https://togithub.com/hairyhenderson) - fix: bump mquery because of security issue with debug package [#​5677](https://togithub.com/Automattic/mongoose/issues/5677) [#​5675](https://togithub.com/Automattic/mongoose/issues/5675) [jonathanprl](https://togithub.com/jonathanprl) - fix(populate): automatically select() populated()-ed fields [#​5669](https://togithub.com/Automattic/mongoose/issues/5669) - fix(connection): make force close work as expected [#​5664](https://togithub.com/Automattic/mongoose/issues/5664) - fix(document): treat $elemMatch as inclusive projection [#​5661](https://togithub.com/Automattic/mongoose/issues/5661) - docs(model/query): clarify which functions fire which middleware [#​5654](https://togithub.com/Automattic/mongoose/issues/5654) - fix(model): make `init()` public and return a promise that resolves when indexes are done building [#​5563](https://togithub.com/Automattic/mongoose/issues/5563) ### [`v4.11.13`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41113--2017-09-24) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.12...v4.11.13) \==================== - fix(query): correctly run replaceOne with update validators [#​5665](https://togithub.com/Automattic/mongoose/issues/5665) [sime1](https://togithub.com/sime1) - fix(schema): replace mistype in setupTimestamp method [#​5656](https://togithub.com/Automattic/mongoose/issues/5656) [zipp3r](https://togithub.com/zipp3r) - fix(query): avoid throwing cast error for strict: throw with nested id in query [#​5640](https://togithub.com/Automattic/mongoose/issues/5640) - fix(model): ensure class gets combined schema when using class syntax with discriminators [#​5635](https://togithub.com/Automattic/mongoose/issues/5635) - fix(document): handle setting doc array to array of top-level docs [#​5632](https://togithub.com/Automattic/mongoose/issues/5632) - fix(model): handle casting findOneAndUpdate() with overwrite and upsert [#​5631](https://togithub.com/Automattic/mongoose/issues/5631) - fix(update): correctly handle $ in updates [#​5628](https://togithub.com/Automattic/mongoose/issues/5628) - fix(types): handle manual population consistently for unshift() and splice() [#​5504](https://togithub.com/Automattic/mongoose/issues/5504) ### [`v4.11.12`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41112--2017-09-18) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.11...4.11.12) \==================== - docs(model): asterisk should not render as markdown bullet [#​5644](https://togithub.com/Automattic/mongoose/issues/5644) [timkinnane](https://togithub.com/timkinnane) - docs: use useMongoClient in connection example [#​5627](https://togithub.com/Automattic/mongoose/issues/5627) [GabrielNicolasAvellaneda](https://togithub.com/GabrielNicolasAvellaneda) - fix(connection): call callback when initial connection failed [#​5626](https://togithub.com/Automattic/mongoose/issues/5626) - fix(query): apply select correctly if a given nested schema is used for 2 different paths [#​5603](https://togithub.com/Automattic/mongoose/issues/5603) - fix(document): add graceful fallback for setting a doc array value and `pull()`-ing a doc [#​3511](https://togithub.com/Automattic/mongoose/issues/3511) ### [`v4.11.11`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41111--2017-09-10) [Compare Source](https://togithub.com/Automattic/mongoose/compare/00d10d77450d91cb70c591db378723af3cf64f0a...4.11.11) \==================== - fix(connection): properly set readyState in response to driver 'close' and 'reconnect' events [#​5604](https://togithub.com/Automattic/mongoose/issues/5604) - fix(document): ensure single embedded doc setters only get called once, with correct value [#​5601](https://togithub.com/Automattic/mongoose/issues/5601) - fix(timestamps): allow enabling updatedAt without createdAt [#​5598](https://togithub.com/Automattic/mongoose/issues/5598) - test: improve unique validator test by making create run before ensureIndex [#​5595](https://togithub.com/Automattic/mongoose/issues/5595) [#​5562](https://togithub.com/Automattic/mongoose/issues/5562) - fix(query): ensure find callback only gets called once when post init hook throws error [#​5592](https://togithub.com/Automattic/mongoose/issues/5592) ### [`v4.11.10`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41110--2017-09-03) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.9...00d10d77450d91cb70c591db378723af3cf64f0a) \==================== - docs: add KeenIO tracking [#​5612](https://togithub.com/Automattic/mongoose/issues/5612) - fix(schema): ensure validators declared with `.validate()` get copied with clone() [#​5607](https://togithub.com/Automattic/mongoose/issues/5607) - fix: remove unnecessary jest warning [#​5480](https://togithub.com/Automattic/mongoose/issues/5480) - fix(discriminator): prevent implicit discriminator schema id from clobbering base schema custom id [#​5591](https://togithub.com/Automattic/mongoose/issues/5591) - fix(schema): hide schema objectid warning for non-hex strings of length 24 [#​5587](https://togithub.com/Automattic/mongoose/issues/5587) - docs(populate): use story schema defined key author instead of creator [#​5578](https://togithub.com/Automattic/mongoose/issues/5578) [dmric](https://togithub.com/dmric) - docs(document): describe usage of `.set()` [#​5576](https://togithub.com/Automattic/mongoose/issues/5576) - fix(document): ensure correct scope in single nested validators [#​5569](https://togithub.com/Automattic/mongoose/issues/5569) - fix(populate): don't mark path as populated until populate() is done [#​5564](https://togithub.com/Automattic/mongoose/issues/5564) - fix(document): make push()-ing a doc onto an empty array act as manual population [#​5504](https://togithub.com/Automattic/mongoose/issues/5504) - fix(connection): emit timeout event on socket timeout [#​4513](https://togithub.com/Automattic/mongoose/issues/4513) ### [`v4.11.9`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4119--2017-08-27) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.8...4.11.9) \=================== - fix(error): avoid using arguments.callee because that breaks strict mode [#​5572](https://togithub.com/Automattic/mongoose/issues/5572) - docs(schematypes): fix spacing [#​5567](https://togithub.com/Automattic/mongoose/issues/5567) - fix(query): enforce binary subtype always propagates to mongodb [#​5551](https://togithub.com/Automattic/mongoose/issues/5551) - fix(query): only skip castForQuery for mongoose arrays [#​5536](https://togithub.com/Automattic/mongoose/issues/5536) - fix(browser): rely on browser entrypoint to decide whether to use BrowserDocument or NodeDocument [#​5480](https://togithub.com/Automattic/mongoose/issues/5480) ### [`v4.11.8`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4118--2017-08-23) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.7...4.11.8) \=================== - feat: add warning about using schema ObjectId as type ObjectId [#​5571](https://togithub.com/Automattic/mongoose/issues/5571) [efkan](https://togithub.com/efkan) - fix(schema): allow setting `id` property after schema was created [#​5570](https://togithub.com/Automattic/mongoose/issues/5570) [#​5548](https://togithub.com/Automattic/mongoose/issues/5548) - docs(populate): remove confusing \_ from populate docs [#​5560](https://togithub.com/Automattic/mongoose/issues/5560) - fix(connection): expose parsed uri fields (host, port, dbname) when using openUri() [#​5556](https://togithub.com/Automattic/mongoose/issues/5556) - docs: added type boolean to options documentation [#​5547](https://togithub.com/Automattic/mongoose/issues/5547) [ndabAP](https://togithub.com/ndabAP) - test: add test coverage for stopping/starting server [#​5524](https://togithub.com/Automattic/mongoose/issues/5524) - fix(aggregate): pull read preference from schema by default [#​5522](https://togithub.com/Automattic/mongoose/issues/5522) ### [`v4.11.7`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4117--2017-08-14) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.6...4.11.7) \=================== - fix: correct properties when calling toJSON() on populated virtual [#​5544](https://togithub.com/Automattic/mongoose/issues/5544) [#​5442](https://togithub.com/Automattic/mongoose/issues/5442) [davidwu226](https://togithub.com/davidwu226) - docs: fix spelling [#​5535](https://togithub.com/Automattic/mongoose/issues/5535) [et](https://togithub.com/et) - fix(error): always set name before stack [#​5533](https://togithub.com/Automattic/mongoose/issues/5533) - fix: add warning about running jest in jsdom environment [#​5532](https://togithub.com/Automattic/mongoose/issues/5532) [#​5513](https://togithub.com/Automattic/mongoose/issues/5513) [#​4943](https://togithub.com/Automattic/mongoose/issues/4943) - fix(document): ensure overwriting a doc array cleans out individual docs [#​5523](https://togithub.com/Automattic/mongoose/issues/5523) - fix(schema): handle creating arrays of single nested using type key [#​5521](https://togithub.com/Automattic/mongoose/issues/5521) - fix: upgrade mongodb -> 2.2.31 to support user/pass options [#​5419](https://togithub.com/Automattic/mongoose/issues/5419) ### [`v4.11.6`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4116--2017-08-07) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.5...4.11.6) \=================== - fix: limiting number of async operations per time in insertMany [#​5529](https://togithub.com/Automattic/mongoose/issues/5529) [andresattler](https://togithub.com/andresattler) - fix: upgrade mongodb -> 2.2.30 [#​5517](https://togithub.com/Automattic/mongoose/issues/5517) - fix(browserDocument): prevent stack overflow caused by double-wrapping embedded doc save() in jest [#​5513](https://togithub.com/Automattic/mongoose/issues/5513) - fix(document): clear single nested doc when setting to empty object [#​5506](https://togithub.com/Automattic/mongoose/issues/5506) - fix(connection): emit reconnected and disconnected events correctly with useMongoClient [#​5498](https://togithub.com/Automattic/mongoose/issues/5498) - fix(populate): ensure nested virtual populate gets set even if top-level property is null [#​5431](https://togithub.com/Automattic/mongoose/issues/5431) ### [`v4.11.5`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4115--2017-07-30) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.4...4.11.5) \=================== - docs: fix link to $lookup [#​5516](https://togithub.com/Automattic/mongoose/issues/5516) [TalhaAwan](https://togithub.com/TalhaAwan) - fix: better parallelization for eachAsync [#​5502](https://togithub.com/Automattic/mongoose/issues/5502) [lchenay](https://togithub.com/lchenay) - docs(document): copy docs for save from model to doc [#​5493](https://togithub.com/Automattic/mongoose/issues/5493) - fix(document): handle dotted virtuals in toJSON output [#​5473](https://togithub.com/Automattic/mongoose/issues/5473) - fix(populate): restore user-provided limit after mutating so cursor() works with populate limit [#​5468](https://togithub.com/Automattic/mongoose/issues/5468) - fix(query): don't throw StrictModeError if geo query with upsert [#​5467](https://togithub.com/Automattic/mongoose/issues/5467) - fix(populate): propagate readPreference from query to populate queries by default [#​5460](https://togithub.com/Automattic/mongoose/issues/5460) - docs: warn not to use arrow functions for statics and methods [#​5458](https://togithub.com/Automattic/mongoose/issues/5458) - fix(query): iterate over all condition keys for setDefaultsOnInsert [#​5455](https://togithub.com/Automattic/mongoose/issues/5455) - docs(connection): clarify server/replset/mongos option deprecation with useMongoClient [#​5442](https://togithub.com/Automattic/mongoose/issues/5442) ### [`v4.11.4`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4114--2017-07-23) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.3...4.11.4) \=================== - fix: handle next() errors in `eachAsync()` [#​5486](https://togithub.com/Automattic/mongoose/issues/5486) [lchenay](https://togithub.com/lchenay) - fix(schema): propagate runSettersOnQuery option to implicitly created schemas [#​5479](https://togithub.com/Automattic/mongoose/issues/5479) \[https://github.com/ValYouW] - fix(query): run castConditions() correctly in update ops [#​5477](https://togithub.com/Automattic/mongoose/issues/5477) - fix(query): ensure castConditions called for findOne and findOneAnd\* [#​5477](https://togithub.com/Automattic/mongoose/issues/5477) - docs: clarify relationship between $lookup and populate [#​5475](https://togithub.com/Automattic/mongoose/issues/5475) [TalhaAwan](https://togithub.com/TalhaAwan) - test: add coverage for arrays of arrays [zbjornson](https://togithub.com/zbjornson) - fix(middleware): ensure that error handlers for save get doc as 2nd param [#​5466](https://togithub.com/Automattic/mongoose/issues/5466) - fix: handle strict: false correctly [#​5454](https://togithub.com/Automattic/mongoose/issues/5454) [#​5453](https://togithub.com/Automattic/mongoose/issues/5453) [wookieb](https://togithub.com/wookieb) - fix(query): apply schema excluded paths if only projection is a $slice [#​5450](https://togithub.com/Automattic/mongoose/issues/5450) - fix(query): correct discriminator handling for schema `select: false` fields in schema [#​5448](https://togithub.com/Automattic/mongoose/issues/5448) - fix(cursor): call next() in series when parallel option used [#​5446](https://togithub.com/Automattic/mongoose/issues/5446) - chore: load bundled driver first to avoid packaging problem [#​5443](https://togithub.com/Automattic/mongoose/issues/5443) [prototypeme](https://togithub.com/prototypeme) - fix(query): defer condition casting until final exec [#​5434](https://togithub.com/Automattic/mongoose/issues/5434) - fix(aggregate): don't rely on mongodb aggregate to put a cursor in the callback [#​5394](https://togithub.com/Automattic/mongoose/issues/5394) - docs(aggregate): add useMongooseAggCursor docs [#​5394](https://togithub.com/Automattic/mongoose/issues/5394) - docs(middleware): clarify context for document, query, and model middleware [#​5381](https://togithub.com/Automattic/mongoose/issues/5381) ### [`v4.11.3`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4113--2017-07-14) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.2...4.11.3) \=================== - fix(connection): remove .then() before resolving to prevent infinite recursion [#​5471](https://togithub.com/Automattic/mongoose/issues/5471) ### [`v4.11.2`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4112--2017-07-13) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.1...4.11.2) \=================== - docs: fix comment typo in connect example [#​5435](https://togithub.com/Automattic/mongoose/issues/5435) [ConnorMcF](https://togithub.com/ConnorMcF) - fix(update): correctly cast document array in update validators with exec() [#​5430](https://togithub.com/Automattic/mongoose/issues/5430) - fix(connection): handle autoIndex with useMongoClient [#​5423](https://togithub.com/Automattic/mongoose/issues/5423) - fix(schema): handle `type: [Array]` in schemas [#​5416](https://togithub.com/Automattic/mongoose/issues/5416) - fix(timestamps): if overwrite is set and there's a $set, use $set instead of top-level update [#​5413](https://togithub.com/Automattic/mongoose/issues/5413) - fix(document): don't double-validate deeply nested doc array elements [#​5411](https://togithub.com/Automattic/mongoose/issues/5411) - fix(schematype): clone default objects so default not shared across object instances unless `shared` specified [#​5407](https://togithub.com/Automattic/mongoose/issues/5407) - fix(document): reset down the nested subdocs when resetting parent doc [#​5406](https://togithub.com/Automattic/mongoose/issues/5406) - fix: don't pass error arg twice to error handlers [#​5405](https://togithub.com/Automattic/mongoose/issues/5405) - fix(connection): make openUri() return connection decorated with then() and catch() [#​5404](https://togithub.com/Automattic/mongoose/issues/5404) - fix: enforce $set on an array must be an array [#​5403](https://togithub.com/Automattic/mongoose/issues/5403) - fix(document): don't crash if calling `validateSync()` after overwriting doc array index [#​5389](https://togithub.com/Automattic/mongoose/issues/5389) - fix(discriminator): ensure discriminator key doesn't count as user-selected field for projection [#​4629](https://togithub.com/Automattic/mongoose/issues/4629) ### [`v4.11.1`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​41114--2017-09-30) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.11.0...4.11.1) \==================== - chore: add nsp check to the CI build [#​5679](https://togithub.com/Automattic/mongoose/issues/5679) [hairyhenderson](https://togithub.com/hairyhenderson) - fix: bump mquery because of security issue with debug package [#​5677](https://togithub.com/Automattic/mongoose/issues/5677) [#​5675](https://togithub.com/Automattic/mongoose/issues/5675) [jonathanprl](https://togithub.com/jonathanprl) - fix(populate): automatically select() populated()-ed fields [#​5669](https://togithub.com/Automattic/mongoose/issues/5669) - fix(connection): make force close work as expected [#​5664](https://togithub.com/Automattic/mongoose/issues/5664) - fix(document): treat $elemMatch as inclusive projection [#​5661](https://togithub.com/Automattic/mongoose/issues/5661) - docs(model/query): clarify which functions fire which middleware [#​5654](https://togithub.com/Automattic/mongoose/issues/5654) - fix(model): make `init()` public and return a promise that resolves when indexes are done building [#​5563](https://togithub.com/Automattic/mongoose/issues/5563) ### [`v4.11.0`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4110--2017-06-25) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.8...4.11.0) \=================== - feat(query): execute setters with query as context for `runSettersOnQuery` [#​5339](https://togithub.com/Automattic/mongoose/issues/5339) - feat(model): add translateAliases function [#​5338](https://togithub.com/Automattic/mongoose/issues/5338) [rocketspacer](https://togithub.com/rocketspacer) - feat(connection): add `useMongoClient` and `openUri` functions, deprecate current connect logic [#​5304](https://togithub.com/Automattic/mongoose/issues/5304) - refactor(schema): make id virtual not access doc internals [#​5279](https://togithub.com/Automattic/mongoose/issues/5279) - refactor: handle non-boolean lean [#​5279](https://togithub.com/Automattic/mongoose/issues/5279) - feat(cursor): add addCursorFlag() support to query and agg cursors [#​4814](https://togithub.com/Automattic/mongoose/issues/4814) - feat(cursor): add parallel option to eachAsync [#​4244](https://togithub.com/Automattic/mongoose/issues/4244) - feat(schema): allow setting custom error constructor for custom validators [#​4009](https://togithub.com/Automattic/mongoose/issues/4009) ### [`v4.10.8`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4108--2017-06-21) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.7...4.10.8) \=================== - docs: fix small formatting typo on schematypes [#​5374](https://togithub.com/Automattic/mongoose/issues/5374) [gianpaj](https://togithub.com/gianpaj) - fix(model): allow null as an \_id [#​5370](https://togithub.com/Automattic/mongoose/issues/5370) - fix(populate): don't throw async uncaught exception if model not found in populate [#​5364](https://togithub.com/Automattic/mongoose/issues/5364) - fix: correctly cast decimals in update [#​5361](https://togithub.com/Automattic/mongoose/issues/5361) - fix(error): don't use custom getter for ValidationError message [#​5359](https://togithub.com/Automattic/mongoose/issues/5359) - fix(query): handle runSettersOnQuery in built-in \_id setter [#​5351](https://togithub.com/Automattic/mongoose/issues/5351) - fix(document): ensure consistent context for nested doc custom validators [#​5347](https://togithub.com/Automattic/mongoose/issues/5347) ### [`v4.10.7`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4107--2017-06-18) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.6...4.10.7) \=================== - docs(validation): show overriding custom validator error with 2nd cb arg [#​5358](https://togithub.com/Automattic/mongoose/issues/5358) - fix: `parseOption` mutates user passed option map [#​5357](https://togithub.com/Automattic/mongoose/issues/5357) [igwejk](https://togithub.com/igwejk) - docs: fix guide.jade typo [#​5356](https://togithub.com/Automattic/mongoose/issues/5356) [CalebAnderson2014](https://togithub.com/CalebAnderson2014) - fix(populate): don't set populate virtual to ids when match fails [#​5336](https://togithub.com/Automattic/mongoose/issues/5336) - fix(query): callback with cast error if remove and delete\* args have a cast error [#​5323](https://togithub.com/Automattic/mongoose/issues/5323) ### [`v4.10.6`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4106--2017-06-12) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.5...4.10.6) \=================== - fix(cursor): handle custom model option for populate [#​5334](https://togithub.com/Automattic/mongoose/issues/5334) - fix(populate): handle empty virtual populate with Model.populate [#​5331](https://togithub.com/Automattic/mongoose/issues/5331) - fix(model): make ensureIndexes() run with autoIndex: false unless called internally [#​5328](https://togithub.com/Automattic/mongoose/issues/5328) [#​5324](https://togithub.com/Automattic/mongoose/issues/5324) [#​5317](https://togithub.com/Automattic/mongoose/issues/5317) - fix: wait for all connections to close before resolving disconnect() promise [#​5316](https://togithub.com/Automattic/mongoose/issues/5316) - fix(document): handle setting populated path with custom typeKey in schema [#​5313](https://togithub.com/Automattic/mongoose/issues/5313) - fix(error): add toJSON helper to ValidationError so `message` shows up with JSON.stringify [#​5309](https://togithub.com/Automattic/mongoose/issues/5309) - feat: add `getPromiseConstructor()` to prevent need for `mongoose.Promise.ES6` [#​5305](https://togithub.com/Automattic/mongoose/issues/5305) - fix(document): handle conditional required with undefined props [#​5296](https://togithub.com/Automattic/mongoose/issues/5296) - fix(model): clone options before inserting in save() [#​5294](https://togithub.com/Automattic/mongoose/issues/5294) - docs(populate): clarify that multiple populate() calls on same path overwrite [#​5274](https://togithub.com/Automattic/mongoose/issues/5274) ### [`v4.10.5`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4105--2017-06-06) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.4...4.10.5) \=================== - chore: improve contrib guide for building docs [#​5312](https://togithub.com/Automattic/mongoose/issues/5312) - fix(populate): handle init-ing nested virtuals properly [#​5311](https://togithub.com/Automattic/mongoose/issues/5311) - fix(update): report update validator error if required path under single nested doc not set - fix(schema): remove default validate pre hook that was causing issues with jest [#​4943](https://togithub.com/Automattic/mongoose/issues/4943) ### [`v4.10.4`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4104--2017-05-29) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.3...4.10.4) \=================== - chore: dont store test data in same directory [#​5303](https://togithub.com/Automattic/mongoose/issues/5303) - chore: add data dirs to npmignore [#​5301](https://togithub.com/Automattic/mongoose/issues/5301) [Starfox64](https://togithub.com/Starfox64) - docs(query): add docs about runSettersOnQuery [#​5300](https://togithub.com/Automattic/mongoose/issues/5300) ### [`v4.10.3`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4103--2017-05-27) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.2...4.10.3) \=================== - docs: correct inconsistent references to updateOne and replaceOne [#​5297](https://togithub.com/Automattic/mongoose/issues/5297) [dhritzkiv](https://togithub.com/dhritzkiv) - docs: fix dropdowns in docs [#​5292](https://togithub.com/Automattic/mongoose/issues/5292) [nathanallen](https://togithub.com/nathanallen) - docs: add description of alias option [#​5287](https://togithub.com/Automattic/mongoose/issues/5287) - fix(document): prevent infinite loop if validating nested array [#​5282](https://togithub.com/Automattic/mongoose/issues/5282) - fix(schema): correctly handle ref ObjectIds from different mongoose libs [#​5259](https://togithub.com/Automattic/mongoose/issues/5259) - fix(schema): load child class methods after base class methods to allow override [#​5227](https://togithub.com/Automattic/mongoose/issues/5227) ### [`v4.10.2`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4102--2017-05-22) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.1...4.10.2) \=================== - fix: bump ms -> 2.0.0 and mquery -> 2.3.1 for minor security vulnerability [#​5275](https://togithub.com/Automattic/mongoose/issues/5275) ### [`v4.10.1`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4101--2017-05-21) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.10.0...4.10.1) \=================== - fix(aggregate): handle sorting by text score correctly [#​5258](https://togithub.com/Automattic/mongoose/issues/5258) - fix(populate): handle doc.populate() with virtuals [#​5240](https://togithub.com/Automattic/mongoose/issues/5240) - fix(schema): enforce that `_id` is never null [#​5236](https://togithub.com/Automattic/mongoose/issues/5236) ### [`v4.10.0`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4100--2017-05-18) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.9.10...4.10.0) \=================== - fix(schema): update clone method to include indexes [#​5268](https://togithub.com/Automattic/mongoose/issues/5268) [clozanosanchez](https://togithub.com/clozanosanchez) - feat(schema): support aliases [#​5184](https://togithub.com/Automattic/mongoose/issues/5184) [rocketspacer](https://togithub.com/rocketspacer) - feat(aggregate): add mongoose-specific aggregation cursor option [#​5145](https://togithub.com/Automattic/mongoose/issues/5145) - refactor(model): make sharding into a plugin instead of core [#​5105](https://togithub.com/Automattic/mongoose/issues/5105) - fix(document): make nested doc mongoose internals not enumerable again [#​5078](https://togithub.com/Automattic/mongoose/issues/5078) - feat(model): pass params to pre hooks [#​5064](https://togithub.com/Automattic/mongoose/issues/5064) - feat(timestamps): support already defined timestamp paths in schema [#​4868](https://togithub.com/Automattic/mongoose/issues/4868) - feat(query): add runSettersOnQuery option [#​4569](https://togithub.com/Automattic/mongoose/issues/4569) - fix(query): add strictQuery option that throws when not querying on field not in schema [#​4136](https://togithub.com/Automattic/mongoose/issues/4136) - fix(update): more complete handling for overwrite option with update validators [#​3556](https://togithub.com/Automattic/mongoose/issues/3556) - feat: support `unique: true` in arrays via the mongoose-unique-array plugin [#​3347](https://togithub.com/Automattic/mongoose/issues/3347) - fix(model): always emit 'index', even if no indexes [#​3347](https://togithub.com/Automattic/mongoose/issues/3347) - fix(schema): set unique indexes on primitive arrays [#​3347](https://togithub.com/Automattic/mongoose/issues/3347) - feat(validation): include failed paths in error message and inspect output [#​3064](https://togithub.com/Automattic/mongoose/issues/3064) [#​2135](https://togithub.com/Automattic/mongoose/issues/2135) - fix(model): return saved docs when create() fails [#​2190](https://togithub.com/Automattic/mongoose/issues/2190) ### [`v4.9.10`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​4910--2017-05-17) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.9.9...4.9.10) \=================== - fix(connection): ensure callback arg to openSet() is handled properly [#​5249](https://togithub.com/Automattic/mongoose/issues/5249) - docs: remove dead plugins repo and add content links [#​5247](https://togithub.com/Automattic/mongoose/issues/5247) - fix(model): skip index build if connecting after model init and autoIndex false [#​5176](https://togithub.com/Automattic/mongoose/issues/5176) ### [`v4.9.9`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#​499--2017-05-13) [Compare Source](https://togithub.com/Automattic/mongoose/compare/4.9.8...4.9.9) \================== - docs: correct value for Query#regex() [#​5230](https://togithub.com/Automattic