NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4415 most downloaded on npm
Mongoose MongoDB ODM
Last release today
04 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
16 years old
1021 releases · first in 2010
fix: raw result deprecation message #13954 simllll
feat: upgrade mongodb node driver -> 5.9.0 #13927 #13926 sanguineti
$or #13938 #13906One column per quarter.
fix: avoid stripping out id property when _id is set #13933 #13892 #13867
id property when _id is set #13933 #13892 #13867docs(deprecations): fix typo in includeResultMetadata deprecation docs #13884 #13844
fix(schema): handle number discriminator keys when using Schema.prototype.discriminator() #13858 #13788
id property when calling set() with both id and _id specified to avoid id setter overwriting #13762docs(model): replace outdated docs on deprecated findOneAndUpdate() overwrite option #13821 #13715
virtuals.pathsToSkip option for toObject() and toJSON() #13798 RobertHunter-Plutofeat: deprecate overwrite option for findOneAndUpdate() #13578
overwrite option for findOneAndUpdate() #13578fix(debug): avoid putting virtuals and getters in debug output #13778
fix(connection): reset document state in between transaction retries #13726 #13698
get(), markModified(), etc. with known property name literal #13739 maybesmurffix: avoid applying map property getters when saving #13704 #13657
docs(deprecations): quick fix for includeResultMetadata docs #13695
fix(document): correctly clean up nested subdocs modified state on save() #13644 #13609
perf: speed up mapOfSubdocs benchmark by 4x by avoiding unnecessary O(n^2) loop in getPathsToValidate() #13614
chore: release 7.4.4 to overwrite accidental publish of 5.13.20 to latest tag
fix: avoid prototype pollution on init
fix(model): avoid TypeError if insertMany() fails with error that does not have writeErrors property #13579 #13531
fix(query): respect query-level strict option on findOneAndReplace() #13516 #13507
feat: upgrade mongodb -> 5.6.0 #13455 lorand-horvath
ordered option to Model.create() #13472 #4038fix(query): handle non-string discriminator key values in query #13496 #13492
fix(model): ignore falsy last argument to create() for backwards compatibility #13493 #13491 #13487 MohOraby
fix(schema): make bulkWrite updateOne() and updateMany() respect timestamps option when set by merging schemas #13445
docs(connections): add details about keepAlive deprecation #13431
feat(document): add flattenObjectIds option to toObject() and toJSON() #13383 #13341
fix: set timestamps on single nested subdoc in insertMany() #13416 #13343
JSON.stringify() virtuals docs #13273 iateninefix(document): handle set() from top-level underneath a map of mixed #13386
createConnection() #13376feat(schema): add BigInt support, upgrade mongodb -> 5.3.0 #13318 #13081 #6936
fix(schema): correctly handle uuids with populate() #13317 #13267
fix(schema): fix dangling reference to virtual in tree after removeVirtual() #13255 #13085
findOneAndUpdate() #13220 #13219 dermasmidfix(query): avoid executing transforms if query wasn't executed #13185 #13165
fix: validate array elements when passing array path to validateSync() in pathsToValidate #13167 #13159
select() as string, string[], or record; not any #13146 #13142 rbereziukfix(aggregate): added await to prevent exception in aggregate exec #13126 lpizzinidev
BREAKING CHANGE: copy schema options when merging schemas using new Schema() or Schema.prototype.add() #13092
BREAKING CHANGE: remove support for callbacks #11431
strictQuery: false by default #11861 #11807 #11514_id: false #12832 #7558 lpizzinidevfix(query): apply sanitizeFilter in countDocuments and cursor
Nothing published for this version
fix: handle other top-level query operators in sanitizeFilter
chore: remove coverage output from bundle
chore: re-release to force npm audit to pick up 6.x fix for CVE-2025-23061
fix: disallow nested $where in populate match
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →