Skip to content

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

Open
graymalkin77 wants to merge 1 commit intomasterfrom
snyk-fix-63c8145dbf053d59489f1d56ec0010f5
Open

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

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/diffbot/package.json
  • extensions/diffbot/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

…k.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:48
@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

Updates the extensions/diffbot extension’s npm dependencies to address a Snyk-reported vulnerability by upgrading langchain to a new major version.

Changes:

  • Bump langchain from 0.3.31 to 1.0.1 in extensions/diffbot/package.json.
  • Regenerate extensions/diffbot/package-lock.json, updating transitive dependencies pulled in by the new langchain version.

Reviewed changes

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

File Description
extensions/diffbot/package.json Pins langchain to 1.0.1 to remediate the reported vulnerability path.
extensions/diffbot/package-lock.json Updates the resolved dependency tree for langchain@1.0.1 and related transitive packages.
Files not reviewed (1)
  • extensions/diffbot/package-lock.json: Language not supported

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

"flattie": "1.1.1",
"json-to-plain-text": "1.2.0",
"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.json the dependency spec is pinned to "langchain": "1.0.1", but the lockfile records it as "langchain": "^1.0.1" under packages[""]. This spec mismatch will cause npm install to rewrite the lockfile and can lead to unexpected version drift. Update the lockfile entry to match the exact spec (or change package.json to use the caret) and regenerate the lockfile with the repo’s intended npm version.

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

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