Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 21, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
mongoose (source) ^8.9.5^9.0.0 age confidence

Release Notes

Automattic/mongoose (mongoose)

v9.1.5

Compare Source

==================

v9.1.4

Compare Source

==================

v9.1.3

Compare Source

==================

  • fix(model): support timestamps option to insertMany() as both boolean and QueryTimestampsConfig #​15941 #​15938
  • fix(query): include preview of current and incoming update in error when merging normal update with pipeline #​15939 #​15928
  • types(model): apply basic type casting to paths underneath subdocuments #​15948 #​15947
  • types(utility): make WithLevel1NestedPaths correctly handle PopulatedDoc and other TypeScript unions with Document members #​15942 #​15923
  • docs(schema): expose "DocumentArrayElement" #​15590 hasezoey

v9.1.2

Compare Source

==================

v9.1.1

Compare Source

==================

  • fix(document): avoid 'Cannot mix array and object updates' on doc.updateOne() with pipeline #​15928
  • docs: update default search version to 9.x #​15926 #​15925

v9.1.0

Compare Source

===================

  • feat(model): make pathsToSave handle saving just a subpath of a modified path #​15896
  • feat(document+model): pass options to pre('deleteOne') and update+options to pre('updateOne') hooks #​15908 #​15870
  • feat(versioning): optimistic concurrency exclude option, update docs for optimisticConcurrency options #​15917 #​15915 #​15912 AbdelrahmanHafez
  • feat(document): add support for getAtomics() to allow custom container types to utilize atomics #​15817
  • perf: optimize Object.keys() checks and optional chaining #​15865 AbdelrahmanHafez
  • fix: add support for typescript style enums #​15914 #​15913 mjfwebb
  • fix(document): when cloning a doc with subdocs, make sure the subdocs parent is the cloned doc #​15904 #​15901
  • types(models): support Mongoose query casting in AnyBulkWriteOperation filter property #​15918 #​15910
  • types: allow calling create() with TRawDocType for better generics support #​15903 #​15902
  • types(document): add id virtual getter by default to HydrateDocument<> if TOverrides is Record<string, never> #​15906 #​15900
  • docs(schema): add lean to list of schema options #​15907 #​15894 #​12081

v9.0.2

Compare Source

==================

v9.0.1

Compare Source

==================

v9.0.0

Compare Source

==================

  • BREAKING CHANGE: drop support for callback-based pre middleware, e.g. next() in pre() 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 this to 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

v8.21.0

Compare Source

===================

  • feat(document+model): pass options to pre('deleteOne') and update+options to pre('updateOne') hooks #​15908 #​15870
  • feat(document): add support for getAtomics() to allow custom container types to utilize atomics #​15817
  • fix: add support for typescript style enums #​15914 #​15913 mjfwebb

v8.20.4

Compare Source

===================

v8.20.3

Compare Source

===================

  • 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

v8.20.2

Compare Source

===================

v8.20.1

Compare Source

===================

v8.20.0

Compare Source

===================

v8.19.4

Compare Source

===================

v8.19.3

Compare Source

===================

  • fix(model+plugins): correctly apply shard key on deleteOne() #​15705 #​15701
  • fix(schema): correctly cache text indexes as 'text' not 1 #​15695
  • types: make inferRawDocType correctly infer empty array type [] as any[] #​15704 #​15699

v8.19.2

Compare Source

===================

  • perf(setDefaultsOnInsert): avoid computing all modified paths when running setDefaultsOnInsert and update validators, only calculate if there are defaults to set #​15691 #​15672
  • fix: correct handling of relative vs absolute paths with maps and subdocuments #​15682 #​15678 #​15350
  • ci: add publish script with provenance #​15684 #​15680

v8.19.1

Compare Source

===================

  • perf: avoid getting all modified paths in update when checking if versionKey needs to be set #​15677 #​15672
  • perf: Avoid needless path translation #​15679 orgads
  • fix(query): throw error if using update operator with modifier and no path #​15670 #​15642
  • types: avoid making FilterQuery a conditional type because of how typescript handles distributed conditional unions #​15676 #​15671
  • docs: update installation instructions #​15675 aalok-y

v8.19.0

Compare Source

===================

v8.18.3

Compare Source

===================

v8.18.2

Compare Source

===================

  • fix(document): prevent $clone() from converting mongoose arrays into vanilla arrays #​15633 #​15625
  • fix(connection): use correct collection name for model when using useConnection() #​15637
  • fix(connection): propagate changes to _lastHeartbeatAt to useDb() child connections #​15640 #​15635
  • types: fix schema property type definition in SchemaType #​15631

v8.18.1

Compare Source

===================

  • types: correct type inference for maps of maps #​15602
  • types(model): copy base model statics onto discriminator model #​15623 #​15600
  • types: fix types for a string of enums #​15605 ruiaraujo
  • types(SchemaOptions): disallow versionKey: true, which fails at runtime #​15606
  • docs(typescript): add example explaining how to use query helper overrides for handling lean() #​15622 #​15601
  • docs(transactions): add note about nested transactions #​15624

v8.18.0

Compare Source

===================

  • feat(schema): support for union types #​15574 #​10894
  • fix: trim long strings in minLength and maxLength error messages and display the string length #​15571 #​15550
  • types(connection+collection): make BaseCollection and BaseConnection usable as values #​15575 #​15548
  • types: remove logic that omits timestamps when virtuals, methods, etc. options set #​15577 #​12807

v8.17.2

Compare Source

===================

  • fix: avoid Model.validate() hanging when all paths fail casting #​15580 #​15579 piotracalski
  • types(document): better support for flattenObjectIds and versionKey options for toObject() and toJSON() #​15582 #​15578
  • docs: fix docs jsdoc tags and add UUID to be listed #​15585
  • docs(document): fix code sample that errors with "Cannot set properties of undefined" #​15589

v8.17.1

Compare Source

===================

v8.17.0

Compare Source

===================

v8.16.5

Compare Source

===================

  • fix(map): avoid throwing required error if saving map of primitives with required: true #​15542
  • types(model): export MongooseBulkWriteResult type #​15546
  • types(connection): add base to connection type #​15544

v8.16.4

Compare Source

===================

v8.16.3

Compare Source

===================

  • fix(document): clean modified subpaths if unsetting map #​15520 #​15519
  • fix: make DocumentArray SchemaType pass all options to embedded SchemaType #​15523
  • types: support readonly array in query.select #​15527 omermizr

v8.16.2

Compare Source

===================

  • fix(cursor): populate after hydrating in queryCursor so populated docs get parent() #​15498 #​15494
  • fix(schema): support toJSONSchema() on mixed types and improve error message about unsupported types #​15492 #​15489
  • types: add _id and __v to toObject/toJSON transform type #​15501 #​15479
  • types(schema): use user-provided THydratedDocumentType as context for virtual get() and set() #​15517 #​15516
  • types: improve typing for transform option to toJSON and toObject #​15485
  • docs: link to custom setter docs from lowercase, etc. options and note that setters run on query filters #​15493 #​15491
  • docs(jest): add note about resetModules #​15515

v8.16.1

Compare Source

===================

  • fix(document): avoid setting _skipMarkModified when setting nested path with merge option #​15484 #​11913
  • fix(model): make sure post save error handler gets doc as param on VersionError #​15483 #​15480
  • fix: consistent $conditionalHandlers setup between schematypes #​15490
  • docs(compatibility): note that mongodb 4.0 is not supported anymore since 8.16.0 #​15487 hasezoey
  • docs: remove unnecessary --save flag from npm install instruction #​15486 Thahirgeek

v8.16.0

Compare Source

===================

v8.15.2

Compare Source

===================

  • fix(document+schema): improve handling for setting paths underneath maps, including maps of maps #​15477 #​15461
  • fix: report default paths in VersionError message because they can can cause VersionError #​15464
  • fix(updateValidators): ensure update validators only call validators underneath single nested paths once #​15446 #​15436
  • fix: fix validation for deeply nested maps of subdocuments #​15469 #​15447 AbdelrahmanHafez
  • fix(DocumentArray): correctly set parent if instantiated with schema from another Mongoose instance #​15471 #​15466
  • types(model): use ProjectionType for Model.hydrate() #​15447 #​15443

v8.15.1

Compare Source

===================

v8.15.0

Compare Source

===================

v8.14.3

Compare Source

===================

v8.14.2

Compare Source

===================

  • fix(query): handle casting array filter paths underneath array filter paths with embedded discriminators #​15388 #​15386
  • docs(typescript): correct schema and model generic params in TS virtuals docs #​15391
  • docs+types(schema): add alternative optimisticConcurrency syntaxes to docs + types #​15405 #​10591
  • chore: add Node 24 to CI matrix #​15408 stscoundrel

v8.14.1

Compare Source

===================

  • fix: correct change tracking with maps of arrays of primitives and maps of maps #​15374 #​15350
  • fix(populate): consistently convert Buffer representation of UUID to hex string to avoid confusing populate assignment #​15383 #​15382
  • docs: add TypeScript Query guide with info on lean() + transform() #​15377 #​15311

v8.14.0

Compare Source

===================

v8.13.3

Compare Source

===================

v8.13.2

Compare Source

===================

  • fix: avoid double calling validators on paths in document arrays underneath subdocuments #​15338 #​15335

v8.13.1

[Compare Source](https://redirect.gith


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Nov 21, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: krew.io-source/package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: closure-webpack-plugin@2.6.1
npm ERR! Found: webpack@5.94.0
npm ERR! node_modules/webpack
npm ERR!   webpack@"^5.94.0" from the root project
npm ERR!   peer webpack@"^5.0.0" from grunt-webpack@7.0.0
npm ERR!   node_modules/grunt-webpack
npm ERR!     grunt-webpack@"^7.0.0" from the root project
npm ERR!   1 more (terser-webpack-plugin)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer webpack@"4.x" from closure-webpack-plugin@2.6.1
npm ERR! node_modules/closure-webpack-plugin
npm ERR!   closure-webpack-plugin@"^2.5.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: webpack@4.47.0
npm ERR! node_modules/webpack
npm ERR!   peer webpack@"4.x" from closure-webpack-plugin@2.6.1
npm ERR!   node_modules/closure-webpack-plugin
npm ERR!     closure-webpack-plugin@"^2.5.0" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /runner/cache/others/npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /runner/cache/others/npm/_logs/2026-01-20T18_33_54_690Z-debug-0.log

@renovate renovate bot force-pushed the renovate/mongoose-9.x branch from 551b6f8 to 75452ce Compare January 19, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant