Skip to content

[Snyk] Security upgrade langchain from 0.3.31 to 1.0.1#891

Open
graymalkin77 wants to merge 1 commit intomasterfrom
snyk-fix-db27b8ce7680d799e5be86817add16de
Open

[Snyk] Security upgrade langchain from 0.3.31 to 1.0.1#891
graymalkin77 wants to merge 1 commit intomasterfrom
snyk-fix-db27b8ce7680d799e5be86817add16de

Conversation

@graymalkin77
Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the npm dependencies of this project.

Snyk changed the following file(s):

  • extensions/chuck-norris-jokes/package.json
  • extensions/chuck-norris-jokes/package-lock.json

Vulnerabilities that will be fixed with an upgrade:

Issue Score
medium severity Prototype Pollution
SNYK-JS-LANGSMITH-15969264
  708  

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

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

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

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Prototype Pollution

…rris-jokes/package-lock.json to reduce vulnerabilities

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-LANGSMITH-15969264
@graymalkin77
Copy link
Copy Markdown
Author

Merge Risk: High

The upgrade from langchain v0.3 to v1.0 is a major release with significant and breaking API changes. This is not a drop-in replacement and will require substantial code refactoring.

Key Breaking Changes:

  • Package Restructuring: The langchain package has been streamlined. Many modules have been moved to new packages like langchain-core, langchain-community, and the legacy langchain-classic. You will need to update import statements throughout your project.
    • For example, langchain.prompts is now langchain_core.prompts, and many retrievers are in langchain_classic.retrievers.
  • Agent Creation: The initialize_agents function is deprecated. The new standard is langchain.agents.create_agent, which uses a different interface and a new middleware system for customization.
  • Method Invocations: The .run() method on agents and chains has been replaced with .invoke(). The input to .invoke() is now a dictionary (e.g., {"content": "..."}) instead of a string. Similarly, retriever.get_relevant_documents() is now retriever.invoke().
  • Deprecated Components: Core components like RetrievalQA have been deprecated and must be rebuilt using the new runnable syntax.
  • Python Version: Support for Python 3.9 has been dropped; Python 3.10 or higher is now required.

Source: LangChain v1 Migration Guide, Release Notes

Recommendation: This upgrade requires a significant refactoring effort. Developers must carefully follow the official migration guide to update package imports, agent creation logic, and method calls to align with the new v1.0 API. This should be handled in a separate, dedicated effort before merging.

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

Copilot AI review requested due to automatic review settings April 11, 2026 20:37
@graymalkin77
Copy link
Copy Markdown
Author

graymalkin77 commented Apr 11, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR is an automated Snyk security upgrade for the extensions/chuck-norris-jokes extension, updating langchain to remediate a reported vulnerability in the dependency tree.

Changes:

  • Bump langchain dependency from 0.3.31 to 1.0.1 in extensions/chuck-norris-jokes/package.json.
  • Update extensions/chuck-norris-jokes/package-lock.json to reflect the new dependency graph (including new transitive packages and versions).

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
extensions/chuck-norris-jokes/package.json Updates the direct langchain dependency version.
extensions/chuck-norris-jokes/package-lock.json Updates the lockfile for the new langchain version and its transitive dependencies.
Files not reviewed (1)
  • extensions/chuck-norris-jokes/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"html-to-text": "9.0.5",
"jsdom": "24.1.3",
"langchain": "0.3.31"
"langchain": "^1.0.1"
Copy link

Copilot AI Apr 11, 2026

Choose a reason for hiding this comment

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

In package-lock.json, the root package dependency spec for langchain is now "^1.0.1", but package.json pins "1.0.1". This mismatch typically causes npm ci / npm install to fail with “package-lock.json is not up to date with package.json”. Regenerate the lockfile (or edit it) so the spec exactly matches package.json.

Suggested change
"langchain": "^1.0.1"
"langchain": "1.0.1"

Copilot uses AI. Check for mistakes.
Comment on lines 23 to 26
"html-to-text": "9.0.5",
"jsdom": "24.1.3",
"langchain": "0.3.31"
"langchain": "1.0.1"
},
Copy link

Copilot AI Apr 11, 2026

Choose a reason for hiding this comment

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

Upgrading to [email protected] introduces transitive dependencies that declare engines.node >=20 (see package-lock entries for langchain/@langchain/core). This extension’s package.json doesn’t declare a Node engine, and the codebase doesn’t appear to import langchain anywhere under this extension. Either (1) confirm and document/declare the required Node version for this package, or (2) remove langchain from dependencies if it’s not actually used, to avoid forcing Node>=20 unnecessarily.

Copilot uses AI. Check for mistakes.
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.

3 participants