LangChain 0.3 removed the document loaders and the Python interpreter tool that had been duplicated in @langchain/community since the packages split, 39 subpaths in all, each still published there under the same name. It also collapsed langchain/memory/index into langchain/memory, and removed five self-query translator entrypoints plus the NotionDB loader, which the migration notes point at integration packages rather than at a subpath this entry can name.
What changed
- 39 document loader and tool subpaths moved to
@langchain/community, same names.langchain/document_loaders/fs/*,langchain/document_loaders/web/*andlangchain/experimental/tools/pyinterpreterare gone fromlangchainand published by@langchain/community0.3.0 under the identical subpath and export names. The map was derived by diffing the exports oflangchain0.2.20 against 0.3.0 and keeping every removed subpath the community package still publishes. langchain/memory/indexcollapsed intolangchain/memory. The two entrypoints re-exported the same module in 0.2.20, so only the specifier changes.- Six entrypoints left with no equivalent subpath. The five
retrievers/self_querytranslators (chroma, pinecone, supabase, vectara, weaviate) anddocument_loaders/web/notiondbare gone from both packages under their old name. The migration notes point self-query users at the matching integration package; the NotionDB loader has no documented replacement.
Before and after
A loader import built against 0.2.20:
import { PDFLoader } from 'langchain/document_loaders/fs/pdf';import { CSVLoader } from 'langchain/document_loaders/fs/csv';After npx emendant fix, only the package in front of the subpath changes:
import { PDFLoader } from '@langchain/community/document_loaders/fs/pdf';import { CSVLoader } from '@langchain/community/document_loaders/fs/csv';The same rewrite handles langchain/memory/index to langchain/memory: one specifier, no package added. There is no after for the self-query translators or the NotionDB loader. The entry carries no fix, so langchain/retrievers/self_query/pinecone keeps failing to resolve until you find its integration package by hand.
Migration guidance and its limits
Apply the two deterministic patches: the community entrypoint rewrite and the memory/index collapse. Neither installs @langchain/community for you. Add it to your manifest before running the fix, or the rewritten imports fail to resolve in its place.
Emendant does not fix the self-query translators or the NotionDB loader. No patch is offered because the entry carries none: the five translators moved into per-store integration packages this map cannot pin one subpath for, and the NotionDB loader has no documented replacement at all. A scan reports these as findings for you to resolve by hand.
No change in this release is assisted, so no model provider is needed for anything a clean scan finds here. A clean scan proves your imports still resolve. It does not prove the migrated code loads the same documents the old entrypoints did, since @langchain/community 0.3.0 is a different package resolving its own dependencies.
What Emendant detects, fixes and verifies
3 changes in langchain 0.3.0. 2 patched by a transform, 0 patched only with a model provider you name, 1 report only. Every patch is proved in a copy of your repository before it is offered, and its header names the checks that passed. This table is generated from the feed entry, so it cannot claim more than the entry does.
| Change | Severity | Detects | Fix | Verified by |
|---|---|---|---|---|
The deprecated community entrypoints were removedlangchain-npm-0.3.0-community-entrypoints-removed | Breaking |
| Patch, written by the replace-module-path transform | Your typecheck and tests |
langchain/memory/index collapsed into langchain/memorylangchain-npm-0.3.0-memory-index-collapsed | Breaking |
| Patch, written by the replace-module-path transform | Your typecheck and tests |
The self-query translator entrypoints left for the integration packageslangchain-npm-0.3.0-self-query-entrypoints-removed | Breaking |
| Report only | Not applicable |
emendant explain <change-id> prints any row's entry, guidance and sources at the terminal.
Coverage
- Snapshot
2026-08-28.1, sequence 11, signed 28 August 2026- Minimum CLI
emendant@0.1.0- Feed entry
feed/npm/langchain/0.3.0.json
emendant feed status shows the snapshot your machine holds, and emendant feed update fetches the latest.
Primary sources
Every claim above was checked against these, each pinned to the release rather than to a default branch.
- Indexlangchain-ai/langchainjs at 0.3.5
- langchain@0.3.0npm registry, the published package
- langchain@0.2.20npm registry, the published package
Scan your repository
Runs locally, reads your lockfile and source, sends nothing anywhere.
npx emendant scanThen npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.