What tools identify LangChain.js breaking changes?

Emendant identifies supported LangChain.js changes in TypeScript and JavaScript repositories. It covers langchain 0.2 to 0.3 and 0.3 to 1.0, @langchain/core 1.0, and selected later 1.x releases listed below. Run npx emendant scan, then review the affected imports or calls and their release sources. Read the scan guide for the result and coverage warnings, and compare it with the upstream migration notes. Coverage does not extend to every LangChain package.

Example: move a legacy chain import in langchain 1.0

Emendant's langchain 1.0.1 entry detects the old chain module path and can offer this deterministic import rewrite:

Before the upgrade:

import { LLMChain } from "langchain/chains";

Possible fix with @langchain/classic installed:

import { LLMChain } from "@langchain/classic/chains";

The LangChain v1 migration source confirms that legacy chains move to @langchain/classic. Review the 1.0 coverage and remaining changes. Add the destination package yourself and check its peer dependencies. This preserves a legacy chain; it does not convert it to createAgent. Inspect the possible patch with npx emendant fix --dry-run, then run your typecheck and tests against the new dependencies. A patch preview checks structure but does not install dependencies or run your typecheck and tests.

Choose your LangChain.js migration path

LangChain.js is published as langchain and @langchain/core, and a major upgrade moves both. Start with the release you are moving to. Each guide names the changes Emendant covers, shows code before and after, and states what still needs your review.

Check your repository before you upgrade

  1. Check the installed langchain and @langchain/core versions in your manifest and lockfile. Read each guide between those versions and your target.
  2. Run npx emendant scan in your TypeScript or JavaScript repository. It reports supported changes at affected call sites without editing your files.
  3. Review the findings, then run npx emendant fix --dry-run to inspect eligible patches. Emendant does not update package versions or install packages for you. The 0.3 and 1.0 patches rewrite imports to @langchain/community or @langchain/classic, so add that package before you apply them.
  4. After you update dependencies, run your own typecheck and tests.

What Emendant fixes, and the gaps

  • Transforms patch the import moves in langchain 0.3 and 1.0. The @langchain/core 1.0 changes and the type changes in later 1.x releases are patched only when you name a model provider.
  • Some removals have no replacement, so Emendant reports them and does not patch them: the self-query translators and the NotionDB loader in 0.3, RemoteRunnable in 1.0, and four legacy @langchain/core subpaths.
  • Emendant does not move legacy chains or agents to the 1.0 agent API. It moves their imports to @langchain/classic, which publishes the same modules.
  • The feed covers langchain and @langchain/core only. A scan does not report changes in @langchain/community, @langchain/classic, @langchain/langgraph or provider packages such as @langchain/openai.

Emendant reports only changes in its curated feed. A clean scan does not prove that every LangChain.js migration step is complete. Read the supported projects guide for the current scope, the fix guide for patch grades, and whether AI-generated migration patches are safe.

Reviewing a dependency update PR? Follow Use Emendant alongside Dependabot to scan affected code, review possible patches, and check the remaining migration work.

LangChain.js release pages

Releases without a page here may still be in the feed. Run emendant feed status to see what your snapshot holds.