Skip to content

[Snyk] Upgrade mongoose from 8.1.2 to 8.15.0#85

Open
nejidevelops wants to merge 1 commit into
masterfrom
snyk-upgrade-6c25293bf8db6ce127ce25c511772dfe
Open

[Snyk] Upgrade mongoose from 8.1.2 to 8.15.0#85
nejidevelops wants to merge 1 commit into
masterfrom
snyk-upgrade-6c25293bf8db6ce127ce25c511772dfe

Conversation

@nejidevelops
Copy link
Copy Markdown
Owner

snyk-top-banner

Snyk has created this PR to upgrade mongoose from 8.1.2 to 8.15.0.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 62 versions ahead of your current version.

  • The recommended version was released a month ago.

Issues fixed by the recommended upgrade:

Issue Score Exploit Maturity
high severity Improper Neutralization of Special Elements in Data Query Logic
SNYK-JS-MONGOOSE-8446504
649 No Known Exploit
high severity Improper Neutralization of Special Elements in Data Query Logic
SNYK-JS-MONGOOSE-8623536
649 No Known Exploit
Release notes
Package name: mongoose
  • 8.15.0 - 2025-05-16

    8.15.0 / 2025-05-16

    • feat: CSFLE support #15390 baileympearson
    • feat: add strictFilter option to findOneAndUpdate (#14913) #15402 #14913 muazahmed-dev
    • feat(error): set cause to MongoDB error reason on ServerSelection errors #15420 #15416
    • fix(model): make bulkSave() rely on document.validateSync() to validate docs and skip bulkWrite casting #15415 #15410
    • types: stricter projection typing with 1-level deep nesting #15418 #15327 #13840 pshaddel
    • docs: emphasize automatic type inference in TypeScript intro and statics/methods, remove duplicated statics.md #15421
  • 8.14.3 - 2025-05-13

    8.14.3 / 2025-05-13

  • 8.14.2 - 2025-05-08

    8.14.2 / 2025-05-08

    • 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
  • 8.14.1 - 2025-04-29

    8.14.1 / 2025-04-29

    • 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
  • 8.14.0 - 2025-04-25

    8.14.0 / 2025-04-25

    • feat: upgrade MongoDB driver -> 6.16 #15371
    • feat: implement Query findById methods #15337 sderrow
    • feat(subdocument): support schematype-level minimize option to disable minimizing empty subdocuments #15336 #15313
    • feat: add skipOriginalStackTraces option to avoid stack trace performance overhead #15345 #15194
    • fix(model): disallow Model.findOneAndUpdate(update) and fix TypeScript types re: findOneAndUpdate #15365 #15363
    • types: correctly recurse in InferRawDocType #15357 #14954 JavaScriptBach
    • types: include virtuals in toJSON and toObject output if virtuals: true set #15346 #15316
    • types: make init hooks types accurately reflect runtime behavior #15331 #15301
  • 8.13.3 - 2025-04-24

    8.13.3 / 2025-04-24

    • fix: export MongooseBulkSaveIncompleteError #15370 #15369
    • fix: clone POJOs and arrays when casting query filter to avoid mutating objects #15367 #15364
    • types(connection): add Connection.prototype.bulkWrite() to types #15368 #15359
    • docs: add version requirements to v7 migration docs #15361 SethFalco
    • docs: update links in deleteOne & deleteMany API def #15360 Elliot67
    • docs: adds Model#count to list of fns callback removed from #15349 SethFalco
  • 8.13.2 - 2025-04-03

    8.13.2 / 2025-04-03

    • fix: avoid double calling validators on paths in document arrays underneath subdocuments #15338 #15335
  • 8.13.1 - 2025-03-28
  • 8.13.0 - 2025-03-24
  • 8.12.2 - 2025-03-21
  • 8.12.1 - 2025-03-04
  • 8.12.0 - 2025-03-03
  • 8.11.0 - 2025-02-26
  • 8.10.2 - 2025-02-25
  • 8.10.1 - 2025-02-14
  • 8.10.0 - 2025-02-05
  • 8.9.7 - 2025-02-04
  • 8.9.6 - 2025-01-31
  • 8.9.5 - 2025-01-13
  • 8.9.4 - 2025-01-09
  • 8.9.3 - 2024-12-30
  • 8.9.2 - 2024-12-19
  • 8.9.1 - 2024-12-16
  • 8.9.0 - 2024-12-13
  • 8.8.4 - 2024-12-05
  • 8.8.3 - 2024-11-26
  • 8.8.2 - 2024-11-18
  • 8.8.1 - 2024-11-08
  • 8.8.0 - 2024-10-31
  • 8.7.3 - 2024-10-25
  • 8.7.2 - 2024-10-17
  • 8.7.1 - 2024-10-09
  • 8.7.0 - 2024-09-27
  • 8.6.4 - 2024-09-26
  • 8.6.3 - 2024-09-17
  • 8.6.2 - 2024-09-11
  • 8.6.1 - 2024-09-03
  • 8.6.0 - 2024-08-28
  • 8.5.5 - 2024-08-28
  • 8.5.4 - 2024-08-23
  • 8.5.3 - 2024-08-13
  • 8.5.2 - 2024-07-30
  • 8.5.1 - 2024-07-12
  • 8.5.0 - 2024-07-08
  • 8.4.5 - 2024-07-05
  • 8.4.4 - 2024-06-25
  • 8.4.3 - 2024-06-17
  • 8.4.2 - 2024-06-17
  • 8.4.1 - 2024-05-31
  • 8.4.0 - 2024-05-17
  • 8.3.5 - 2024-05-15
  • 8.3.4 - 2024-05-06
  • 8.3.3 - 2024-04-29
  • 8.3.2 - 2024-04-16
  • 8.3.1 - 2024-04-08
  • 8.3.0 - 2024-04-03
  • 8.2.4 - 2024-03-28
  • 8.2.3 - 2024-03-21
  • 8.2.2 - 2024-03-15
  • 8.2.1 - 2024-03-04
  • 8.2.0 - 2024-02-22
  • 8.1.3 - 2024-02-16
  • 8.1.2 - 2024-02-11
from mongoose GitHub release notes

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

For more information:

Snyk has created this PR to upgrade mongoose from 8.1.2 to 8.15.0.

See this package in npm:
mongoose

See this project in Snyk:
https://app.snyk.io/org/newtonombese1/project/390d7b41-268a-462c-bf5e-3970ec7b48c1?utm_source=github&utm_medium=referral&page=upgrade-pr
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @nejidevelops, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request is an automated dependency upgrade initiated by Snyk to update the mongoose package to a much newer version. The primary motivation is to incorporate security fixes for known vulnerabilities, but it also brings in numerous other features, bug fixes, and type improvements from the many versions released since the current one.

Highlights

  • Dependency Upgrade: Upgraded the mongoose dependency from version 8.1.2 to 8.15.0.
  • Security Fixes: This upgrade addresses two high-severity vulnerabilities related to 'Improper Neutralization of Special Elements in Data Query Logic' (SNYK-JS-MONGOOSE-8446504 and SNYK-JS-MONGOOSE-8623536).
  • Transitive Dependency Updates: Several underlying dependencies of mongoose and mongodb have also been updated as part of this change, including mongodb, bson, kareem, sift, and others.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configureGemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request, automatically generated by Snyk, upgrades Mongoose from version 8.1.2 to 8.15.0. This is a substantial update, encompassing 62 intermediate versions, and also brings updates to several transitive dependencies. The primary driver for this upgrade is to address security vulnerabilities, specifically SNYK-JS-MONGOOSE-8446504 and SNYK-JS-MONGOOSE-8623536, related to improper neutralization in data query logic.

Key considerations before merging:

  • Node.js Version Compatibility: Some updated transitive dependencies (e.g., tr46 and whatwg-url, as noted in specific comments) now require Node.js version 18 or higher. It is crucial to verify that your project's runtime environment meets this requirement. If your server/package.json does not already specify a Node.js version in an engines field, consider adding one to clearly define and enforce compatibility for your project.
  • Thorough Testing: Given the significant version jump for Mongoose, comprehensive testing (including unit, integration, and end-to-end tests) is essential. This will help ensure that no breaking changes or unexpected behaviors have been introduced. Reviewing the Mongoose release notes (linked in the PR description) for versions between 8.1.2 and 8.15.0 is also highly recommended to understand the scope of changes and potential impacts.

While this upgrade is important for security, careful validation is necessary to maintain application stability.

Comment thread server/package-lock.json
},
"engines": {
"node": ">=14"
"node": ">=18"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The tr46 package, a transitive dependency, has updated its Node.js engine requirement from >=14 to >=18 as part of this upgrade. Please ensure that your project's runtime environment is compatible with Node.js 18 or newer to prevent potential compatibility issues.

Comment thread server/package-lock.json
},
"engines": {
"node": ">=16"
"node": ">=18"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The whatwg-url package, another transitive dependency, has also updated its Node.js engine requirement. It now specifies node >=18, changed from >=16. It's important to verify that your deployment and development environments meet this new Node.js version requirement.

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.

2 participants