talevy013 / TestTal

MIT License
0 stars 0 forks source link

Update dependency mongoose to v5 #331

Open mend-for-github-com[bot] opened 1 year ago

mend-for-github-com[bot] commented 1 year ago

This PR contains the following updates:

Package Type Update Change
mongoose (source) dependencies major ^4.13.12 -> ^5.13.21

By merging this PR, the below issues will be automatically resolved and closed:

Severity CVSS Score CVE GitHub Issue
Critical 9.8 CVE-2020-7610 #21
Critical 9.8 CVE-2022-2564 #275
Critical 9.8 CVE-2023-3696 #328
High 7.8 CVE-2021-43138 #248
Medium 6.5 WS-2019-0311 #18
Medium 5.6 CVE-2021-23438 #66
Medium 5.3 CVE-2020-35149 #54
Medium 4.2 CVE-2019-2391 #267

Release Notes

Automattic/mongoose (mongoose) ### [`v5.13.21`](https://redirect.github.com/Automattic/mongoose/compare/5.13.20...5.13.21) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.20...5.13.21) ### [`v5.13.20`](https://redirect.github.com/Automattic/mongoose/compare/5.13.19...5.13.20) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.19...5.13.20) ### [`v5.13.19`](https://redirect.github.com/Automattic/mongoose/compare/5.13.18...5.13.19) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.18...5.13.19) ### [`v5.13.18`](https://redirect.github.com/Automattic/mongoose/compare/5.13.17...5.13.18) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.17...5.13.18) ### [`v5.13.17`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51317--2023-04-04) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.16...5.13.17) \==================== - fix: backport fix for array filters handling $or and $and [#​13195](https://redirect.github.com/Automattic/mongoose/issues/13195) [#​13192](https://redirect.github.com/Automattic/mongoose/issues/13192) [#​10696](https://redirect.github.com/Automattic/mongoose/issues/10696) [raj-goguardian](https://redirect.github.com/raj-goguardian) - fix: update the isIndexEqual function to take into account non-text indexes when checking compound indexes that include both text and non-text indexes [#​13138](https://redirect.github.com/Automattic/mongoose/issues/13138) [#​13136](https://redirect.github.com/Automattic/mongoose/issues/13136) [rdeavila94](https://redirect.github.com/rdeavila94) ### [`v5.13.16`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51316--2023-02-20) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.15...5.13.16) \==================== - fix: make access to process.versions lazy [#​12584](https://redirect.github.com/Automattic/mongoose/issues/12584) [maciasello](https://redirect.github.com/maciasello) - fix(types): add missing type definitions for `bulkSave()` [#​12019](https://redirect.github.com/Automattic/mongoose/issues/12019) - docs: backport documentation URL updates [#​12692](https://redirect.github.com/Automattic/mongoose/issues/12692) [hasezoey](https://redirect.github.com/hasezoey) ### [`v5.13.15`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51315--2022-08-22) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.14...5.13.15) \==================== - fix: backport fix for CVE-2022-2564 [#​12281](https://redirect.github.com/Automattic/mongoose/issues/12281) [shubanker](https://redirect.github.com/shubanker) - docs: fix broken link from findandmodify method deprecation [#​11366](https://redirect.github.com/Automattic/mongoose/issues/11366) [laissonsilveira](https://redirect.github.com/laissonsilveira) ### [`v5.13.14`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51314--2021-12-27) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.13...5.13.14) \==================== - fix(timestamps): avoid setting createdAt on documents that already exist but dont have createdAt [#​11024](https://redirect.github.com/Automattic/mongoose/issues/11024) - docs(models): fix up nModified example for 5.x [#​11055](https://redirect.github.com/Automattic/mongoose/issues/11055) ### [`v5.13.13`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51313--2021-11-02) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.12...5.13.13) \==================== - fix: upgrade to mongodb@3.7.3 [#​10909](https://redirect.github.com/Automattic/mongoose/issues/10909) [gaurav-sharma-gs](https://redirect.github.com/gaurav-sharma-gs) - fix: correctly emit end event in before close [#​10916](https://redirect.github.com/Automattic/mongoose/issues/10916) [iovanom](https://redirect.github.com/iovanom) - fix(index.d.ts): improve ts types for query set [#​10942](https://redirect.github.com/Automattic/mongoose/issues/10942) [jneal-afs](https://redirect.github.com/jneal-afs) ### [`v5.13.12`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51312--2021-10-19) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.11...5.13.12) \==================== - fix(cursor): use stream destroy method on close to prevent emitting duplicate 'close' [#​10897](https://redirect.github.com/Automattic/mongoose/issues/10897) [iovanom](https://redirect.github.com/iovanom) - fix(index.d.ts): backport streamlining of FilterQuery and DocumentDefinition to avoid "excessively deep and possibly infinite" TS errors [#​10617](https://redirect.github.com/Automattic/mongoose/issues/10617) ### [`v5.13.11`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51311--2021-10-12) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.10...5.13.11) \==================== - fix: upgrade mongodb -> 3.7.2 [#​10871](https://redirect.github.com/Automattic/mongoose/issues/10871) [winstonralph](https://redirect.github.com/winstonralph) - fix(connection): call setMaxListeners(0) on MongoClient to avoid event emitter memory leak warnings with `useDb()` [#​10732](https://redirect.github.com/Automattic/mongoose/issues/10732) ### [`v5.13.10`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51310--2021-10-05) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.9...5.13.10) \==================== - fix(index.d.ts): allow using type: SchemaDefinitionProperty in schema definitions [#​10674](https://redirect.github.com/Automattic/mongoose/issues/10674) - fix(index.d.ts): allow AnyObject as param to findOneAndReplace() [#​10714](https://redirect.github.com/Automattic/mongoose/issues/10714) ### [`v5.13.9`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5139--2021-09-06) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.8...5.13.9) \=================== - fix(populate): avoid setting empty array on lean document when populate result is undefined [#​10599](https://redirect.github.com/Automattic/mongoose/issues/10599) - fix(document): make depopulate() handle populated paths underneath document arrays [#​10592](https://redirect.github.com/Automattic/mongoose/issues/10592) - fix: peg [@​types/bson](https://redirect.github.com/types/bson) version to 1.x || 4.0.x to avoid stubbed 4.2.x release [#​10678](https://redirect.github.com/Automattic/mongoose/issues/10678) - fix(index.d.ts): simplify UpdateQuery to avoid "excessively deep and possibly infinite" errors with `extends Document` and `any` [#​10647](https://redirect.github.com/Automattic/mongoose/issues/10647) - fix(index.d.ts): allow specifying weights as an IndexOption [#​10586](https://redirect.github.com/Automattic/mongoose/issues/10586) - fix: upgrade to mpath v0.8.4 re: security issue [#​10683](https://redirect.github.com/Automattic/mongoose/issues/10683) ### [`v5.13.8`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5138--2021-08-23) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.7...5.13.8) \=================== - fix(populate): handle populating subdoc array virtual with sort [#​10552](https://redirect.github.com/Automattic/mongoose/issues/10552) - fix(model): check for code instead of codeName when checking for existing collections for backwards compat with MongoDB 3.2 [#​10420](https://redirect.github.com/Automattic/mongoose/issues/10420) - fix(index.d.ts): correct value of this for custom query helper methods [#​10545](https://redirect.github.com/Automattic/mongoose/issues/10545) - fix(index.d.ts): allow strings for ObjectIds in nested properties [#​10573](https://redirect.github.com/Automattic/mongoose/issues/10573) - fix(index.d.ts): add match to VirtualTypeOptions.options [#​8749](https://redirect.github.com/Automattic/mongoose/issues/8749) - fix(index.d.ts): allow QueryOptions populate parameter type PopulateOptions [#​10587](https://redirect.github.com/Automattic/mongoose/issues/10587) [osmanakol](https://redirect.github.com/osmanakol) - docs(api): add Document#$where to API docs [#​10583](https://redirect.github.com/Automattic/mongoose/issues/10583) ### [`v5.13.7`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5137--2021-08-11) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/477afdc8aa1297b87e784085133617765a059a4d...5.13.7) \=================== - perf(index.d.ts): loosen up restrictions on ModelType generic for Schema for a ~50% perf improvement when compiling TypeScript and using intellisense [#​10536](https://redirect.github.com/Automattic/mongoose/issues/10536) [#​10515](https://redirect.github.com/Automattic/mongoose/issues/10515) [#​10349](https://redirect.github.com/Automattic/mongoose/issues/10349) - fix(index.d.ts): fix broken `Schema#index()` types [#​10562](https://redirect.github.com/Automattic/mongoose/issues/10562) [JaredReisinger](https://redirect.github.com/JaredReisinger) - fix(index.d.ts): allow using SchemaTypeOptions with array of raw document interfaces [#​10537](https://redirect.github.com/Automattic/mongoose/issues/10537) - fix(index.d.ts): define IndexOptions in terms of mongodb.IndexOptions [#​10563](https://redirect.github.com/Automattic/mongoose/issues/10563) [JaredReisinger](https://redirect.github.com/JaredReisinger) - fix(index.d.ts): improve intellisense for DocumentArray `push()` [#​10546](https://redirect.github.com/Automattic/mongoose/issues/10546) - fix(index.d.ts): correct type for expires [#​10529](https://redirect.github.com/Automattic/mongoose/issues/10529) - fix(index.d.ts): add Query#model property to ts bindings [#​10531](https://redirect.github.com/Automattic/mongoose/issues/10531) - refactor(index.d.ts): make callbacks use the new Callback and CallbackWithoutResult types [#​10550](https://redirect.github.com/Automattic/mongoose/issues/10550) [thiagokisaki](https://redirect.github.com/thiagokisaki) ### [`v5.13.6`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5136--2021-08-09) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.5...477afdc8aa1297b87e784085133617765a059a4d) \=================== - fix: upgrade mongodb driver -> 3.6.11 [#​10543](https://redirect.github.com/Automattic/mongoose/issues/10543) [maon-fp](https://redirect.github.com/maon-fp) - fix(schema): throw more helpful error when defining a document array using a schema from a different copy of the Mongoose module [#​10453](https://redirect.github.com/Automattic/mongoose/issues/10453) - fix: add explicit check on constructor property to avoid throwing an error when checking objects with null prototypes [#​10512](https://redirect.github.com/Automattic/mongoose/issues/10512) - fix(cursor): make sure to clear stack every 1000 docs when calling `next()` to avoid stack overflow with large batch size [#​10449](https://redirect.github.com/Automattic/mongoose/issues/10449) - fix(index.d.ts): allow calling new Model(...) with generic Model param [#​10526](https://redirect.github.com/Automattic/mongoose/issues/10526) - fix(index.d.ts): update type declarations of Schema.index method [#​10538](https://redirect.github.com/Automattic/mongoose/issues/10538) [#​10530](https://redirect.github.com/Automattic/mongoose/issues/10530) [Raader](https://redirect.github.com/Raader) - fix(index.d.ts): add useNewUrlParser and useUnifiedTopology to ConnectOptions [#​10500](https://redirect.github.com/Automattic/mongoose/issues/10500) - fix(index.d.ts): add missing type for diffIndexes [#​10547](https://redirect.github.com/Automattic/mongoose/issues/10547) [bvgusak](https://redirect.github.com/bvgusak) - fix(index.d.ts): fixed incorrect type definition for Query's .map function [#​10544](https://redirect.github.com/Automattic/mongoose/issues/10544) [GCastilho](https://redirect.github.com/GCastilho) - docs(schema): add more info and examples to Schema#indexes() docs [#​10446](https://redirect.github.com/Automattic/mongoose/issues/10446) - chore: add types property to package.json [#​10557](https://redirect.github.com/Automattic/mongoose/issues/10557) [thiagokisaki](https://redirect.github.com/thiagokisaki) ### [`v5.13.5`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5135--2021-07-30) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.4...5.13.5) \=================== - perf(index.d.ts): improve typescript type checking performance [#​10515](https://redirect.github.com/Automattic/mongoose/issues/10515) [andreialecu](https://redirect.github.com/andreialecu) - fix(index.d.ts): fix debug type in MongooseOptions [#​10510](https://redirect.github.com/Automattic/mongoose/issues/10510) [thiagokisaki](https://redirect.github.com/thiagokisaki) - docs(api): clarify that `depopulate()` with no args depopulates all [#​10501](https://redirect.github.com/Automattic/mongoose/issues/10501) [gfrancz](https://redirect.github.com/gfrancz) ### [`v5.13.4`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5134--2021-07-28) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.3...5.13.4) \=================== - fix: avoid pulling non-schema paths from documents into nested paths [#​10449](https://redirect.github.com/Automattic/mongoose/issues/10449) - fix(update): support overwriting nested map paths [#​10485](https://redirect.github.com/Automattic/mongoose/issues/10485) - fix(update): apply timestamps to subdocs that would be newly created by `$setOnInsert` [#​10460](https://redirect.github.com/Automattic/mongoose/issues/10460) - fix(map): correctly clone subdocs when calling toObject() on a map [#​10486](https://redirect.github.com/Automattic/mongoose/issues/10486) - fix(cursor): cap parallel batchSize for populate at 5000 [#​10449](https://redirect.github.com/Automattic/mongoose/issues/10449) - fix(index.d.ts): improve autocomplete for new Model() by making `doc` an object with correct keys [#​10475](https://redirect.github.com/Automattic/mongoose/issues/10475) - fix(index.d.ts): add MongooseOptions interface [#​10471](https://redirect.github.com/Automattic/mongoose/issues/10471) [thiagokisaki](https://redirect.github.com/thiagokisaki) - fix(index.d.ts): make LeanDocument work with PopulatedDoc [#​10494](https://redirect.github.com/Automattic/mongoose/issues/10494) - docs(mongoose+connection): correct default value for bufferTimeoutMS [#​10476](https://redirect.github.com/Automattic/mongoose/issues/10476) - chore: remove unnecessary 'eslint-disable' comments [#​10466](https://redirect.github.com/Automattic/mongoose/issues/10466) [thiagokisaki](https://redirect.github.com/thiagokisaki) ### [`v5.13.3`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5133--2021-07-16) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.2...5.13.3) \=================== - fix(model): avoid throwing error when bulkSave() called on a document with no changes [#​10437](https://redirect.github.com/Automattic/mongoose/issues/10437) - fix(timestamps): apply timestamps when creating new subdocs with `$addToSet` and with positional operator [#​10447](https://redirect.github.com/Automattic/mongoose/issues/10447) - fix(schema): allow calling Schema#loadClass() with class that has a static getter with no setter [#​10436](https://redirect.github.com/Automattic/mongoose/issues/10436) - fix(model): handle re-applying object defaults after explicitly unsetting [#​10442](https://redirect.github.com/Automattic/mongoose/issues/10442) [semirturgay](https://redirect.github.com/semirturgay) - fix: bump mongodb driver -> 3.6.10 [#​10440](https://redirect.github.com/Automattic/mongoose/issues/10440) [AbdelrahmanHafez](https://redirect.github.com/AbdelrahmanHafez) - fix(index.d.ts): consistently use NativeDate instead of Date for Date validators and timestamps functions [#​10426](https://redirect.github.com/Automattic/mongoose/issues/10426) - fix(index.d.ts): allow calling `discriminator()` with non-document [#​10452](https://redirect.github.com/Automattic/mongoose/issues/10452) [#​10421](https://redirect.github.com/Automattic/mongoose/issues/10421) [DouglasGabr](https://redirect.github.com/DouglasGabr) - fix(index.d.ts): allow passing ResultType generic to Schema#path() [#​10435](https://redirect.github.com/Automattic/mongoose/issues/10435) ### [`v5.13.2`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5132--2021-07-03) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.1...5.13.2) \=================== - fix: hardcode [@​types/node](https://redirect.github.com/types/node) version for now to avoid breaking changes from [DefinitelyTyped/DefinitelyTyped#53669](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/issues/53669) [#​10415](https://redirect.github.com/Automattic/mongoose/issues/10415) - fix(index.d.ts): allow using type: Date with Date paths in SchemaDefinitionType [#​10409](https://redirect.github.com/Automattic/mongoose/issues/10409) - fix(index.d.ts): allow extra VirtualTypeOptions for better plugin support [#​10412](https://redirect.github.com/Automattic/mongoose/issues/10412) - docs(api): add SchemaArray to docs [#​10397](https://redirect.github.com/Automattic/mongoose/issues/10397) - docs(schema+validation): fix broken links [#​10396](https://redirect.github.com/Automattic/mongoose/issues/10396) - docs(transactions): add note about creating a connection to transactions docs [#​10406](https://redirect.github.com/Automattic/mongoose/issues/10406) ### [`v5.13.1`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51317--2023-04-04) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.13.0...5.13.1) \==================== - fix: backport fix for array filters handling $or and $and [#​13195](https://redirect.github.com/Automattic/mongoose/issues/13195) [#​13192](https://redirect.github.com/Automattic/mongoose/issues/13192) [#​10696](https://redirect.github.com/Automattic/mongoose/issues/10696) [raj-goguardian](https://redirect.github.com/raj-goguardian) - fix: update the isIndexEqual function to take into account non-text indexes when checking compound indexes that include both text and non-text indexes [#​13138](https://redirect.github.com/Automattic/mongoose/issues/13138) [#​13136](https://redirect.github.com/Automattic/mongoose/issues/13136) [rdeavila94](https://redirect.github.com/rdeavila94) ### [`v5.13.0`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5130--2021-06-28) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.15...5.13.0) \=================== - feat(query): add sanitizeProjection option to opt in to automatically sanitizing untrusted query projections [#​10243](https://redirect.github.com/Automattic/mongoose/issues/10243) - feat(model): add `bulkSave()` function that saves multiple docs in 1 `bulkWrite()` [#​9727](https://redirect.github.com/Automattic/mongoose/issues/9727) [#​9673](https://redirect.github.com/Automattic/mongoose/issues/9673) [AbdelrahmanHafez](https://redirect.github.com/AbdelrahmanHafez) - feat(document): allow passing a list of virtuals or `pathsToSkip` to apply in `toObject()` and `toJSON()` [#​10120](https://redirect.github.com/Automattic/mongoose/issues/10120) - fix(model): make Model.validate use object under validation as context by default [#​10360](https://redirect.github.com/Automattic/mongoose/issues/10360) [AbdelrahmanHafez](https://redirect.github.com/AbdelrahmanHafez) - feat(document): add support for pathsToSkip in validate and validateSync [#​10375](https://redirect.github.com/Automattic/mongoose/issues/10375) [AbdelrahmanHafez](https://redirect.github.com/AbdelrahmanHafez) - feat(model): add `diffIndexes()` function that calculates what indexes `syncIndexes()` will create/drop without actually executing any changes [#​10362](https://redirect.github.com/Automattic/mongoose/issues/10362) [IslandRhythms](https://redirect.github.com/IslandRhythms) - feat(document): avoid using sessions that have ended, so you can use documents that were loaded in the session after calling `endSession()` [#​10306](https://redirect.github.com/Automattic/mongoose/issues/10306) ### [`v5.12.15`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51215--2021-06-25) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.14...5.12.15) \==================== - fix(index.d.ts): add extra TInstanceMethods generic param to `Schema` for cases when we can't infer from Model [#​10358](https://redirect.github.com/Automattic/mongoose/issues/10358) - fix(index.d.ts): added typings for near() in model aggregation [#​10373](https://redirect.github.com/Automattic/mongoose/issues/10373) [tbhaxor](https://redirect.github.com/tbhaxor) - fix(index.d.ts): correct function signature for `Query#cast()` [#​10388](https://redirect.github.com/Automattic/mongoose/issues/10388) [lkho](https://redirect.github.com/lkho) - docs(transactions): add import statement [#​10365](https://redirect.github.com/Automattic/mongoose/issues/10365) [JimLynchCodes](https://redirect.github.com/JimLynchCodes) - docs(schema): add missing `discriminatorKey` schema option [#​10386](https://redirect.github.com/Automattic/mongoose/issues/10386) [#​10376](https://redirect.github.com/Automattic/mongoose/issues/10376) [IslandRhythms](https://redirect.github.com/IslandRhythms) - docs(index.d.ts): fix typo [#​10363](https://redirect.github.com/Automattic/mongoose/issues/10363) [houssemchebeb](https://redirect.github.com/houssemchebeb) ### [`v5.12.14`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51214--2021-06-15) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.13...5.12.14) \==================== - fix(schema): check that schema type is an object when setting isUnderneathDocArray [#​10361](https://redirect.github.com/Automattic/mongoose/issues/10361) [vmo-khanus](https://redirect.github.com/vmo-khanus) - fix(document): avoid infinite recursion when setting single nested subdoc to array [#​10351](https://redirect.github.com/Automattic/mongoose/issues/10351) - fix(populate): allow populating nested path in schema using `Model.populate()` [#​10335](https://redirect.github.com/Automattic/mongoose/issues/10335) - fix(drivers): emit operation-start/operation-end events to allow inspecting when operations start and end - fix(index.d.ts): improve typings for virtuals [#​10350](https://redirect.github.com/Automattic/mongoose/issues/10350) [thiagokisaki](https://redirect.github.com/thiagokisaki) - fix(index.d.ts): correct constructor type for Document [#​10328](https://redirect.github.com/Automattic/mongoose/issues/10328) - fix(index.d.ts): add `ValidationError` as a possible type for `ValidationError#errors` [#​10320](https://redirect.github.com/Automattic/mongoose/issues/10320) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix: remove unnecessary async devDependency that's causing npm audit warnings [#​10281](https://redirect.github.com/Automattic/mongoose/issues/10281) - docs(typescript): add schemas guide [#​10308](https://redirect.github.com/Automattic/mongoose/issues/10308) - docs(model): add options parameter description to `Model.exists()` [#​10336](https://redirect.github.com/Automattic/mongoose/issues/10336) [Aminoiz](https://redirect.github.com/Aminoiz) ### [`v5.12.13`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51213--2021-06-04) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.12...5.12.13) \==================== - perf(document): avoid creating nested paths when running `$getAllSubdocs()` [#​10275](https://redirect.github.com/Automattic/mongoose/issues/10275) - fix: make returnDocument option work with `findOneAndUpdate()` [#​10232](https://redirect.github.com/Automattic/mongoose/issues/10232) [#​10231](https://redirect.github.com/Automattic/mongoose/issues/10231) [cnwangjie](https://redirect.github.com/cnwangjie) - fix(document): correctly reset subdocument when resetting a map subdocument underneath a single nested subdoc after save [#​10295](https://redirect.github.com/Automattic/mongoose/issues/10295) - perf(query): avoid setting non-null sessions to avoid overhead from $getAllSubdocs() [#​10275](https://redirect.github.com/Automattic/mongoose/issues/10275) - perf(document): pre split schematype paths when compiling schema to avoid extra overhead of splitting when hydrating documents [#​10275](https://redirect.github.com/Automattic/mongoose/issues/10275) - perf(schema): pre-calculate mapPaths to avoid looping over every path for each path when initing doc [#​10275](https://redirect.github.com/Automattic/mongoose/issues/10275) - fix(index.d.ts): drill down into nested arrays when creating LeanDocument type [#​10293](https://redirect.github.com/Automattic/mongoose/issues/10293) ### [`v5.12.12`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51212--2021-05-28) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.11...5.12.12) \==================== - fix(documentarray): retain atomics when setting to a new array [#​10272](https://redirect.github.com/Automattic/mongoose/issues/10272) - fix(query+model): fix deprecation warning for `returnOriginal` with `findOneAndUpdate()` [#​10298](https://redirect.github.com/Automattic/mongoose/issues/10298) [#​10297](https://redirect.github.com/Automattic/mongoose/issues/10297) [#​10292](https://redirect.github.com/Automattic/mongoose/issues/10292) [#​10285](https://redirect.github.com/Automattic/mongoose/issues/10285) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(index.d.ts): make `map()` result an array if used over an array [#​10288](https://redirect.github.com/Automattic/mongoose/issues/10288) [quantumsheep](https://redirect.github.com/quantumsheep) ### [`v5.12.11`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51211--2021-05-24) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.10...5.12.11) \==================== - fix(populate): skip applying setters when casting arrays for populate() to avoid issues with arrays of immutable elements [#​10264](https://redirect.github.com/Automattic/mongoose/issues/10264) - perf(schematype): avoid cloning setters every time we run setters [#​9588](https://redirect.github.com/Automattic/mongoose/issues/9588) - perf(get): add benchmarks and extra cases to speed up get() [#​9588](https://redirect.github.com/Automattic/mongoose/issues/9588) - perf(array): improve array constructor performance on small arrays to improve nested array perf [#​9588](https://redirect.github.com/Automattic/mongoose/issues/9588) - fix(index.d.ts): allow using type: \[String] with string\[] when using SchemaDefinition with generic [#​10261](https://redirect.github.com/Automattic/mongoose/issues/10261) - fix(index.d.ts): support ReadonlyArray as well as regular array where possible in schema definitions [#​10260](https://redirect.github.com/Automattic/mongoose/issues/10260) - docs(connection): document noListener option to useDb [#​10278](https://redirect.github.com/Automattic/mongoose/issues/10278) [stuartpb](https://redirect.github.com/stuartpb) - docs: migrate raw tutorial content from pug / JS to markdown [#​10271](https://redirect.github.com/Automattic/mongoose/issues/10271) - docs: fix typo [#​10269](https://redirect.github.com/Automattic/mongoose/issues/10269) [sanjib](https://redirect.github.com/sanjib) ### [`v5.12.10`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51210--2021-05-18) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.9...5.12.10) \==================== - fix(query): allow setting `defaults` option on result documents from query options [#​7287](https://redirect.github.com/Automattic/mongoose/issues/7287) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(populate): handle populating embedded discriminator with custom tiedValue [#​10231](https://redirect.github.com/Automattic/mongoose/issues/10231) - fix(document): allow passing space-delimited string of `pathsToValidate` to `validate()` and `validateSync()` [#​10258](https://redirect.github.com/Automattic/mongoose/issues/10258) - fix(model+schema): support `loadClass()` on classes that have `collection` as a static property [#​10257](https://redirect.github.com/Automattic/mongoose/issues/10257) [#​10254](https://redirect.github.com/Automattic/mongoose/issues/10254) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(SchemaArrayOptions): correct property name [#​10236](https://redirect.github.com/Automattic/mongoose/issues/10236) - fix(index.d.ts): add any to all query operators to minimize likelihood of "type instantiation is excessively deep" when querying docs with 4-level deep subdocs [#​10189](https://redirect.github.com/Automattic/mongoose/issues/10189) - fix(index.d.ts): add $parent() in addition to parent() in TS definitions - fix(index.d.ts): correct async iterator return type for QueryCursor [#​10253](https://redirect.github.com/Automattic/mongoose/issues/10253) [#​10252](https://redirect.github.com/Automattic/mongoose/issues/10252) [#​10251](https://redirect.github.com/Automattic/mongoose/issues/10251) [borfig](https://redirect.github.com/borfig) - fix(index.d.ts): add `virtualsOnly` parameter to `loadClass()` function signature [IslandRhythms](https://redirect.github.com/IslandRhythms) - docs(typescript): add typescript populate docs [#​10212](https://redirect.github.com/Automattic/mongoose/issues/10212) - docs: switch from AWS to Azure Functions for search [#​10244](https://redirect.github.com/Automattic/mongoose/issues/10244) ### [`v5.12.9`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5129--2021-05-13) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.8...5.12.9) \=================== - fix(schema): ensure add() overwrites existing schema paths by default [#​10208](https://redirect.github.com/Automattic/mongoose/issues/10208) [#​10203](https://redirect.github.com/Automattic/mongoose/issues/10203) - fix(schema): support creating nested paths underneath document arrays [#​10193](https://redirect.github.com/Automattic/mongoose/issues/10193) - fix(update): convert nested dotted paths in update to nested paths to avoid ending up with dotted properties in update [#​10200](https://redirect.github.com/Automattic/mongoose/issues/10200) - fix(document): allow calling validate() and validateSync() with `options` as first parameter [#​10216](https://redirect.github.com/Automattic/mongoose/issues/10216) - fix(schema): apply static properties to model when using loadClass() [#​10206](https://redirect.github.com/Automattic/mongoose/issues/10206) - fix(index.d.ts): allow returning Promise from middleware functions [#​10229](https://redirect.github.com/Automattic/mongoose/issues/10229) - fix(index.d.ts): add pre('distinct') hooks to TypeScript [#​10192](https://redirect.github.com/Automattic/mongoose/issues/10192) ### [`v5.12.8`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5128--2021-05-10) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.7...5.12.8) \=================== - fix(populate): handle populating immutable array paths [#​10159](https://redirect.github.com/Automattic/mongoose/issues/10159) - fix(CastError): add `toJSON()` function to ensure `name` property always ends up in `JSON.stringify()` output [#​10166](https://redirect.github.com/Automattic/mongoose/issues/10166) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(query): add allowDiskUse() method to improve setting MongoDB 4.4's new `allowDiskUse` option [#​10177](https://redirect.github.com/Automattic/mongoose/issues/10177) - fix(populate): allow populating paths under mixed schematypes where some documents have non-object properties [#​10191](https://redirect.github.com/Automattic/mongoose/issues/10191) - chore: remove unnecessary driver dynamic imports so Mongoose can work with Parcel [#​9603](https://redirect.github.com/Automattic/mongoose/issues/9603) - fix(index.d.ts): allow any object as parameter to create() and `insertMany()` [#​10144](https://redirect.github.com/Automattic/mongoose/issues/10144) - fix(index.d.ts): allow creating Model class with raw interface, no `extends Document` [#​10144](https://redirect.github.com/Automattic/mongoose/issues/10144) - fix(index.d.ts): separate UpdateQuery from `UpdateWithAggregationPipeline` for cases when `UpdateQuery` is used as a function param [#​10186](https://redirect.github.com/Automattic/mongoose/issues/10186) - fix(index.d.ts): don't require error value in pre/post hooks [#​10213](https://redirect.github.com/Automattic/mongoose/issues/10213) [michaln-q](https://redirect.github.com/michaln-q) - docs(typescript): add a typescript intro tutorial and statics tutorial [#​10021](https://redirect.github.com/Automattic/mongoose/issues/10021) - docs(typescript): add query helpers tutorial [#​10021](https://redirect.github.com/Automattic/mongoose/issues/10021) - docs(deprecations): add note that you can safely ignore `useFindAndModify` and `useCreateIndex` deprecation warnings [#​10155](https://redirect.github.com/Automattic/mongoose/issues/10155) - chore(workflows): add node 16 to github actions [#​10201](https://redirect.github.com/Automattic/mongoose/issues/10201) [AbdelrahmanHafez](https://redirect.github.com/AbdelrahmanHafez) ### [`v5.12.7`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5127--2021-04-29) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.6...5.12.7) \=================== - fix(document): make $getPopulatedDocs() return populated virtuals [#​10148](https://redirect.github.com/Automattic/mongoose/issues/10148) - fix(discriminator): take discriminator schema's single nested paths over base schema's [#​10157](https://redirect.github.com/Automattic/mongoose/issues/10157) - fix(discriminator): allow numbers and ObjectIds as tied values for discriminators [#​10130](https://redirect.github.com/Automattic/mongoose/issues/10130) - fix(document): avoid double validating paths underneath mixed objects in save() [#​10141](https://redirect.github.com/Automattic/mongoose/issues/10141) - fix(schema): allow path() to return single nested paths within document arrays [#​10164](https://redirect.github.com/Automattic/mongoose/issues/10164) - fix(model+query): consistently wrap query callbacks in `process.nextTick()` to avoid clean stack traces causing memory leak when using synchronous recursion like `async.whilst()` [#​9864](https://redirect.github.com/Automattic/mongoose/issues/9864) - fix(cursor): correctly report CastError when using noCursorTimeout flag [#​10150](https://redirect.github.com/Automattic/mongoose/issues/10150) - fix(index.d.ts): add CastError constructor [#​10176](https://redirect.github.com/Automattic/mongoose/issues/10176) - fix(index.d.ts): allow setting mongoose.pluralize(null) in TypeScript [#​10185](https://redirect.github.com/Automattic/mongoose/issues/10185) - docs: add link to transactions guide from nav bar [#​10143](https://redirect.github.com/Automattic/mongoose/issues/10143) - docs(validation): add section about custom error messages [#​10140](https://redirect.github.com/Automattic/mongoose/issues/10140) - docs: make headers linkable via clicking [#​10156](https://redirect.github.com/Automattic/mongoose/issues/10156) - docs: broken link in document.js [#​10190](https://redirect.github.com/Automattic/mongoose/issues/10190) [joostdecock](https://redirect.github.com/joostdecock) - docs: make navbar responsive on legacy 2.x docs [#​10171](https://redirect.github.com/Automattic/mongoose/issues/10171) [ad99526](https://redirect.github.com/ad99526) ### [`v5.12.6`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5126--2021-04-27) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.5...5.12.6) \=================== - fix(query): allow setting `writeConcern` schema option to work around MongoDB driver's `writeConcern` deprecation warning [#​10083](https://redirect.github.com/Automattic/mongoose/issues/10083) [#​10009](https://redirect.github.com/Automattic/mongoose/issues/10009) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(populate): dedupe when virtual populate foreignField is an array to avoid duplicate docs in result [#​10117](https://redirect.github.com/Automattic/mongoose/issues/10117) - fix(populate): add `localField` filter to `$elemMatch` on virtual populate when custom `match` has a `$elemMatch` and `foreignField` is an array [#​10117](https://redirect.github.com/Automattic/mongoose/issues/10117) - fix(query): convert projection string values to numbers as a workaround for [#​10142](https://redirect.github.com/Automattic/mongoose/issues/10142) - fix(document): set version key filter on `save()` when using `optimisticConcurrency` if no changes in document [#​10128](https://redirect.github.com/Automattic/mongoose/issues/10128) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(model): use `obj` as `context` in `Model.validate()` if `obj` is a document [#​10132](https://redirect.github.com/Automattic/mongoose/issues/10132) - fix(connection): avoid db events deprecation warning when using `useDb()` with `useUnifiedTopology` [#​8267](https://redirect.github.com/Automattic/mongoose/issues/8267) - fix: upgrade to sift@13.5.2 to work around transitive dev dependency security warning [#​10121](https://redirect.github.com/Automattic/mongoose/issues/10121) - fix(index.d.ts): allow any object as parameter to `create()` and `insertMany()` [#​10144](https://redirect.github.com/Automattic/mongoose/issues/10144) - fix(index.d.ts): clarify that `eachAsync()` callback receives a single doc rather than array of docs unless `batchSize` is set [#​10135](https://redirect.github.com/Automattic/mongoose/issues/10135) - fix(index.d.ts): clarify that return value from `validateSync()` is a ValidationError [#​10147](https://redirect.github.com/Automattic/mongoose/issues/10147) [michaln-q](https://redirect.github.com/michaln-q) - fix(index.d.ts): add generic type for Model constructor [#​10074](https://redirect.github.com/Automattic/mongoose/issues/10074) [Duchynko](https://redirect.github.com/Duchynko) - fix(index.d.ts): add parameter type in merge [#​10168](https://redirect.github.com/Automattic/mongoose/issues/10168) [yoonhoGo](https://redirect.github.com/yoonhoGo) ### [`v5.12.5`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5125--2021-04-19) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.4...5.12.5) \=================== - fix(populate): handle populating underneath document array when document array property doesn't exist in db [#​10003](https://redirect.github.com/Automattic/mongoose/issues/10003) - fix(populate): clear out dangling pointers to populated docs so query cursor with populate() can garbage collect populated subdocs [#​9864](https://redirect.github.com/Automattic/mongoose/issues/9864) - fix(connection): pull correct `autoCreate` value from Mongoose global when creating new model before calling `connect()` [#​10091](https://redirect.github.com/Automattic/mongoose/issues/10091) - fix(populate): handle populating paths on documents with discriminator keys that point to non-existent discriminators [#​10082](https://redirect.github.com/Automattic/mongoose/issues/10082) - fix(index.d.ts): allow numbers as discriminator names [#​10115](https://redirect.github.com/Automattic/mongoose/issues/10115) - fix(index.d.ts): allow `type: Boolean` in Schema definitions [#​10085](https://redirect.github.com/Automattic/mongoose/issues/10085) - fix(index.d.ts): allow passing array of aggregation pipeline stages to `updateOne()` and `updateMany()` [#​10095](https://redirect.github.com/Automattic/mongoose/issues/10095) - fix(index.d.ts): support legacy 2nd param callback syntax for `deleteOne()`, `deleteMany()` [#​10122](https://redirect.github.com/Automattic/mongoose/issues/10122) - docs(mongoose): make `useCreateIndex` always `false` in docs [#​10033](https://redirect.github.com/Automattic/mongoose/issues/10033) - docs(schema): fix incorrect links from schema API docs [#​10111](https://redirect.github.com/Automattic/mongoose/issues/10111) ### [`v5.12.4`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5124--2021-04-15) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.3...5.12.4) \=================== - fix: upgrade mongodb driver -> 3.6.6 [#​10079](https://redirect.github.com/Automattic/mongoose/issues/10079) - fix: store fields set with select:false at schema-level when saving a new document [#​10101](https://redirect.github.com/Automattic/mongoose/issues/10101) [ptantiku](https://redirect.github.com/ptantiku) - fix(populate): avoid turning already populated field to null when populating an existing lean document [#​10068](https://redirect.github.com/Automattic/mongoose/issues/10068) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(populate): correctly populate lean subdocs with `_id` property [#​10069](https://redirect.github.com/Automattic/mongoose/issues/10069) - fix(model): insertedDocs may contain docs that weren't inserted [#​10098](https://redirect.github.com/Automattic/mongoose/issues/10098) [olnazx](https://redirect.github.com/olnazx) - fix(schemaType): make type Mixed cast error objects to pojos [#​10131](https://redirect.github.com/Automattic/mongoose/issues/10131) [AbdelrahmanHafez](https://redirect.github.com/AbdelrahmanHafez) - fix(populate): support populating embedded discriminators in nested arrays [#​9984](https://redirect.github.com/Automattic/mongoose/issues/9984) - fix(populate): handle populating map paths using trailing `.$*` [#​10123](https://redirect.github.com/Automattic/mongoose/issues/10123) - fix(populate): allow returning primitive from `transform()` function for single conventional populate [#​10064](https://redirect.github.com/Automattic/mongoose/issues/10064) - fix(index.d.ts): allow generic classes of `T` to use `T & Document` internally [#​10046](https://redirect.github.com/Automattic/mongoose/issues/10046) - fix(index.d.ts): allow `$pull` with `$` paths [#​10075](https://redirect.github.com/Automattic/mongoose/issues/10075) - fix(index.d.ts): use correct `Date` type for `$currentDate` [#​10058](https://redirect.github.com/Automattic/mongoose/issues/10058) - fix(index.d.ts): add missing asyncInterator to Query type def [#​10094](https://redirect.github.com/Automattic/mongoose/issues/10094) [borfig](https://redirect.github.com/borfig) - fix(index.d.ts): allow RHS of `$unset` properties to be any value [#​10066](https://redirect.github.com/Automattic/mongoose/issues/10066) - fix(index.d.ts): allow setting SchemaType `index` property to a string [#​10077](https://redirect.github.com/Automattic/mongoose/issues/10077) - refactor(index.d.ts): move discriminator() to common interface [#​10109](https://redirect.github.com/Automattic/mongoose/issues/10109) [LoneRifle](https://redirect.github.com/LoneRifle) ### [`v5.12.3`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5123--2021-03-31) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.2...5.12.3) \=================== - fix: avoid setting schema-level collation on text indexes [#​10044](https://redirect.github.com/Automattic/mongoose/issues/10044) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(query): add `writeConcern()` method to avoid writeConcern deprecation warning [#​10009](https://redirect.github.com/Automattic/mongoose/issues/10009) - fix(connection): use queueing instead of event emitter for `createCollection()` and other helpers to avoid event emitter warning [#​9778](https://redirect.github.com/Automattic/mongoose/issues/9778) - fix(connection): scope `Connection#id` to Mongoose instance so id always lines up with `mongoose.connections` index [#​10025](https://redirect.github.com/Automattic/mongoose/issues/10025) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix: avoid throwing in `promiseOrCallback()` if 3rd param isn't an EventEmitter [#​10055](https://redirect.github.com/Automattic/mongoose/issues/10055) [emrebass](https://redirect.github.com/emrebass) - fix(index.d.ts): add Model as 2nd generic param to `Model.discriminator()` [#​10054](https://redirect.github.com/Automattic/mongoose/issues/10054) [coro101](https://redirect.github.com/coro101) - fix(index.d.ts): add docs to `next()` callback for `pre('insertMany')` hooks [#​10078](https://redirect.github.com/Automattic/mongoose/issues/10078) [#​10072](https://redirect.github.com/Automattic/mongoose/issues/10072) [pezzu](https://redirect.github.com/pezzu) - fix(index.d.ts): add `transform` to PopulateOptions interface [#​10061](https://redirect.github.com/Automattic/mongoose/issues/10061) - fix(index.d.ts): add DocumentQuery type for backwards compatibility [#​10036](https://redirect.github.com/Automattic/mongoose/issues/10036) ### [`v5.12.2`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5122--2021-03-22) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.1...5.12.2) \=================== - fix(QueryCursor): consistently execute `post('find')` hooks with an array of docs [#​10015](https://redirect.github.com/Automattic/mongoose/issues/10015) [#​9982](https://redirect.github.com/Automattic/mongoose/issues/9982) [IslandRhythms](https://redirect.github.com/IslandRhythms) - fix(schema): support setting `ref` as an option on an array SchemaType [#​10029](https://redirect.github.com/Automattic/mongoose/issues/10029) - fix(query): apply schema-level `select` option from array schematypes [#​10029](https://redirect.github.com/Automattic/mongoose/issues/10029) - fix(schema): avoid possible prototype pollution with `Schema()` constructor [#​10035](https://redirect.github.com/Automattic/mongoose/issues/10035) [zpbrent](https://redirect.github.com/zpbrent) - fix(model): make bulkWrite skip timestamps with timestamps: false [#​10050](https://redirect.github.com/Automattic/mongoose/issues/10050) [SoftwareSing](https://redirect.github.com/SoftwareSing) - fix(index.d.ts): make query methods return `QueryWithHelpers` so query helpers pass through chaining [#​10040](https://redirect.github.com/Automattic/mongoose/issues/10040) - fix(index.d.ts): add `upserted` array to `updateOne()`, `updateMany()`, `update()` result [#​10042](https://redirect.github.com/Automattic/mongoose/issues/10042) - fix(index.d.ts): add back `Aggregate#project()` types that were mistakenly removed in 5.12.0 [#​10043](https://redirect.github.com/Automattic/mongoose/issues/10043) - fix(index.d.ts): always allow setting `type` in Schema to a SchemaType class or a Schema instance [#​10030](https://redirect.github.com/Automattic/mongoose/issues/10030) - docs(transactions): introduce `session.withTransaction()` before `session.startTransaction()` because `withTransaction()` is the recommended approach [#​10008](https://redirect.github.com/Automattic/mongoose/issues/10008) - docs(mongoose+browser): fix broken links to info about `mongoose.Types` [#​10016](https://redirect.github.com/Automattic/mongoose/issues/10016) ### [`v5.12.1`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51215--2021-06-25) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.12.0...5.12.1) \==================== - fix(index.d.ts): add extra TInstanceMethods generic param to `Schema` for cases when we can't infer from Model [#​10358](https://redirect.github.com/Automattic/mongoose/issues/10358) - fix(index.d.ts): added typings for near() in model aggregation [#​10373](https://redirect.github.com/Automattic/mongoose/issues/10373) [tbhaxor](https://redirect.github.com/tbhaxor) - fix(index.d.ts): correct function signature for `Query#cast()` [#​10388](https://redirect.github.com/Automattic/mongoose/issues/10388) [lkho](https://redirect.github.com/lkho) - docs(transactions): add import statement [#​10365](https://redirect.github.com/Automattic/mongoose/issues/10365) [JimLynchCodes](https://redirect.github.com/JimLynchCodes) - docs(schema): add missing `discriminatorKey` schema option [#​10386](https://redirect.github.com/Automattic/mongoose/issues/10386) [#​10376](https://redirect.github.com/Automattic/mongoose/issues/10376) [IslandRhythms](https://redirect.github.com/IslandRhythms) - docs(index.d.ts): fix typo [#​10363](https://redirect.github.com/Automattic/mongoose/issues/10363) [houssemchebeb](https://redirect.github.com/houssemchebeb) ### [`v5.12.0`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#5120--2021-03-11) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.11.20...5.12.0) \=================== - feat(populate): add `transform` option that Mongoose will call on every populated doc [#​3775](https://redirect.github.com/Automattic/mongoose/issues/3775) - feat(query): make `Query#pre()` and `Query#post()` public [#​9784](https://redirect.github.com/Automattic/mongoose/issues/9784) - feat(document): add `Document#getPopulatedDocs()` to return an array of all populated documents in a document [#​9702](https://redirect.github.com/Automattic/mongoose/issues/9702) [IslandRhythms](https://redirect.github.com/IslandRhythms) - feat(document): add `Document#getAllSubdocs()` to return an array of all single nested and array subdocuments [#​9764](https://redirect.github.com/Automattic/mongoose/issues/9764) [IslandRhythms](https://redirect.github.com/IslandRhythms) - feat(schema): allow `schema` as a schema path name [#​8798](https://redirect.github.com/Automattic/mongoose/issues/8798) [IslandRhythms](https://redirect.github.com/IslandRhythms) - feat(QueryCursor): Add batch processing for eachAsync [#​9902](https://redirect.github.com/Automattic/mongoose/issues/9902) [khaledosama999](https://redirect.github.com/khaledosama999) - feat(connection): add `noListener` option to help with use cases where you're using `useDb()` on every request [#​9961](https://redirect.github.com/Automattic/mongoose/issues/9961) - feat(index): emit 'createConnection' event when user calls `mongoose.createConnection()` [#​9985](https://redirect.github.com/Automattic/mongoose/issues/9985) - feat(connection+index): emit 'model' and 'deleteModel' events on connections when creating and deleting models [#​9983](https://redirect.github.com/Automattic/mongoose/issues/9983) - feat(query): allow passing `explain` option to `Model.exists()` [#​8098](https://redirect.github.com/Automattic/mongoose/issues/8098) [IslandRhythms](https://redirect.github.com/IslandRhythms) ### [`v5.11.20`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51120--2021-03-11) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.11.19...5.11.20) \==================== - fix(query+populate): avoid unnecessarily projecting in subpath when populating a path that uses an elemMatch projection [#​9973](https://redirect.github.com/Automattic/mongoose/issues/9973) - fix(connection): avoid `db` events deprecation warning with 'close' events [#​10004](https://redirect.github.com/Automattic/mongoose/issues/10004) [#​9930](https://redirect.github.com/Automattic/mongoose/issues/9930) - fix(index.d.ts): make `$pull` more permissive to allow dotted paths [#​9993](https://redirect.github.com/Automattic/mongoose/issues/9993) ### [`v5.11.19`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51119--2021-03-05) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.11.18...5.11.19) \==================== - fix(document): skip validating array elements that aren't modified when `validateModifiedOnly` is set [#​9963](https://redirect.github.com/Automattic/mongoose/issues/9963) - fix(timestamps): apply timestamps on `findOneAndReplace()` [#​9951](https://redirect.github.com/Automattic/mongoose/issues/9951) - fix(schema): correctly handle trailing array filters when looking up schema paths [#​9977](https://redirect.github.com/Automattic/mongoose/issues/9977) - fix(schema): load child class getter for virtuals instead of base class when using `loadClass()` [#​9975](https://redirect.github.com/Automattic/mongoose/issues/9975) - fix(index.d.ts): allow creating statics without passing generics to `Schema` constructor [#​9969](https://redirect.github.com/Automattic/mongoose/issues/9969) - fix(index.d.ts): add QueryHelpers generic to schema and model, make all query methods instead return QueryWithHelpers [#​9850](https://redirect.github.com/Automattic/mongoose/issues/9850) - fix(index.d.ts): support setting `type` to an array of schemas when using SchemaDefinitionType [#​9962](https://redirect.github.com/Automattic/mongoose/issues/9962) - fix(index.d.ts): add generic to plugin schema definition [#​9968](https://redirect.github.com/Automattic/mongoose/issues/9968) [emiljanitzek](https://redirect.github.com/emiljanitzek) - docs: small typo fix [#​9964](https://redirect.github.com/Automattic/mongoose/issues/9964) [KrishnaMoorthy12](https://redirect.github.com/KrishnaMoorthy12) ### [`v5.11.18`](https://redirect.github.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#51118--2021-02-23) [Compare Source](https://redirect.github.com/Automattic/mongoose/compare/5.11.17...5.11.18) \==================== - fix(connection): set connection state to `disconnected` if connecting string failed to parse [#​9921](https://redirect.github.com/Automattic/mongoose/issues/9921) - fix(connection): remove `db` events deprecation warning if `useUnifiedTopology = true` [#​9930](https://redirect.github.com/Automattic/mongoose/issues/9930) - fix(connection): fix promise chaining for openUri [#​9960](https://redirect.github.com/Automattic/mongoose/issues/9960) [l