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