Releases: Automattic/mongoose
Releases · Automattic/mongoose
8.20.4
9.0.2
9.0.2 / 2025-12-17
- fix(model): trigger error post hook on bulkwrite when pre-hook throws an error #15882 AbdelrahmanHafez
- fix(document): use bitwise OR to accumulate version mode flags #15893 AbdelrahmanHafez
- types(queries): apply Mongoose casting to default MongoDB driver _id in RootFilterOperators #15891 #15887 #15779
- types(schema): correctly infer virtuals, methods on hydrated doc type from schema options #15892
- types: fixed this parameter type detection for methods with arguments #15885 I-Enderlord-I
- types: export InferRawDocTypeWithout_id to replicate Mongoose 8 InferRawDocType behavior #15815 #15814 JavaScriptBach
- docs: improve colors on dark mode #15879 AbdelrahmanHafez
- docs(model): add overwriteImmutable option #15884 AbdelrahmanHafez
- refactor: remove internal callbacks for buffering #15890
8.20.3
8.20.3 / 2025-12-15
- perf: use Object.hasOwn instead of Object#hasOwnProperty #15875 AbdelrahmanHafez
- fix: improve error when calling Document.prototype.init() with null/undefined #15812 Vegapunk-debug
- types(schema): avoid treating paths with default: null as required #15889
- types(schema): allow partial statics to schema.statics() #15780
9.0.1
9.0.1 / 2025-12-05
- perf: use native Buffer.equals() for buffer comparison #15821 AbdelrahmanHafez
- fix(model): fix overwriteImmutable not working with timestamps: true, add overwriteImmutable types re #15781 #15819 AbdelrahmanHafez
- fix(bulkWrite): pass overwriteImmutable option to castUpdate fixes #15782 #15781 jhaayushkumar
- fix(schema): Add enumValues property to Number enum for consistency with String enum #15824 AkaHarshit
- fix: incorrect variable bug in double casting #15849 #15848 lomesh2312
- fix: clear timeout in collection operations #15852 techcodie
- types(query+model): use function overrides instead of | Query<any, any> to support using Query as filter #15791 #15779
- docs(migrating_to_9): clarify removing next() from pre middleware #15813
- docs: add dark mode support and CSS improvements #15753
- docs: Mongoose compatibility page updates #15797 alexbevi
- docs: Add closing backticks to code block in migration guide #15783 isnifer
- docs: fix documentation link in connection.js #15804 salittle0
8.20.2
7.8.8
9.0.0
9.0.0 / 2025-11-21
- BREAKING CHANGE: drop support for callback-based pre middleware, e.g.
next()inpre()hooks - BREAKING CHANGE: update to MongoDB Node driver v7
- BREAKING CHANGE: make UUID schema type return bson UUIDs #15378
- BREAKING CHANGE: make findOne(null), find(null), etc. throw an error instead of returning first doc #15019 #14948
- BREAKING CHANGE: disallow update pipelines by default, require updatePipeline option #15586 #14424
- BREAKING CHANGE: call virtual ref function with subdoc, not top-level doc #14652 #12440 #12363
- BREAKING CHANGE(types): make create() and insertOne() params more strict, remove generics to prevent type inference #15587 #15355
- BREAKING CHANGE(types): make FilterQuery properties no longer resolve to any in TypeScript #15422
- BREAKING CHANGE(types): change
thisto HydratedDocument for default() and required(), HydratedDocument | Query for validate() #15020 #14696 - BREAKING CHANGE(types): make id a virtual in TypeScript rather than a property on Document base class #15572 #13079
- BREAKING CHANGE(types): consolidate RootQuerySelector, Condition, etc. types with MongoDB driver's #15593
- BREAKING CHANGE: asyncify update validators, SchemaType.prototype.doValidate(), save hooks for improved stack traces #15312
- BREAKING CHANGE: remove bson as direct dependency, use mongodb/lib/bson instead #15576 #15154
- BREAKING CHANGE: remove _executionStack, make validate() async function and call Kareem hooks directly vs through wrappers #15298 #14906
- BREAKING CHANGE: remove browser build, move to @mongoosejs/browser instead #15385 #15296
- BREAKING CHANGE: remove schematype caster and casterConstructor properties in favor of embeddedSchemaType and Constructor #15513 #15179
- BREAKING CHANGE: adding missing pluralizations, fixing pluralization: virus -> viruses #14247 ItsBradyDavis
- BREAKING CHANGE: remove connection noListener option #15641 #15640
- feat(types): add Schema.create() for TypeScript type inference #15482 #14954
- chore: remove examples directory #15597
8.20.1
8.20.1 / 2025-11-20
- types: correct Model.schema type and fix unknown check for this param type in schema.methods #15750 #15693
- docs: add detailed loadClass() TypeScript usage guide #15731 #12813 Necro-Rohan
- docs: update version support documentation for Mongoose #15761 ManmathX
- docs: add copy-to-clipboard feature for code blocks in docs #15759 vedansha07
9.0.0-rc1
9.0.0-rc0
9.0.0-rc0 / 2025-11-19
- BREAKING CHANGE: drop support for callback-based pre middleware, e.g.
next()inpre()hooks - BREAKING CHANGE: update to MongoDB Node driver v7
- BREAKING CHANGE: make UUID schema type return bson UUIDs #15378
- BREAKING CHANGE: make findOne(null), find(null), etc. throw an error instead of returning first doc #15019 #14948
- BREAKING CHANGE: disallow update pipelines by default, require updatePipeline option #15586 #14424
- BREAKING CHANGE: call virtual ref function with subdoc, not top-level doc #14652 #12440 #12363
- BREAKING CHANGE(types): make create() and insertOne() params more strict, remove generics to prevent type inference #15587 #15355
- BREAKING CHANGE(types): make FilterQuery properties no longer resolve to any in TypeScript #15422
- BREAKING CHANGE(types): change
thisto HydratedDocument for default() and required(), HydratedDocument | Query for validate() #15020 #14696 - BREAKING CHANGE(types): make id a virtual in TypeScript rather than a property on Document base class #15572 #13079
- BREAKING CHANGE(types): consolidate RootQuerySelector, Condition, etc. types with MongoDB driver's #15593
- BREAKING CHANGE: asyncify update validators, SchemaType.prototype.doValidate(), save hooks for improved stack traces #15312
- BREAKING CHANGE: remove bson as direct dependency, use mongodb/lib/bson instead #15576 #15154
- BREAKING CHANGE: remove _executionStack, make validate() async function and call Kareem hooks directly vs through wrappers #15298 #14906
- BREAKING CHANGE: remove browser build, move to @mongoosejs/browser instead #15385 #15296
- BREAKING CHANGE: remove schematype caster and casterConstructor properties in favor of embeddedSchemaType and Constructor #15513 #15179
- BREAKING CHANGE: adding missing pluralizations, fixing pluralization: virus -> viruses #14247 ItsBradyDavis
- BREAKING CHANGE: remove connection noListener option #15641 #15640
- feat(types): add Schema.create() for TypeScript type inference #15482 #14954
- chore: remove examples directory #15597