Every commit scored for change-risk against this repo's own history, so 'elevated' means elevated here rather than on some global curve.
Needs review
986 commits sit in this repo's top risk tercile, which is 33% of the 3,000scored. The cut is drawn against this codebase's own history rather than a global curve, so a quiet repo still fills its top band, and here it starts at 6.9 out of 10. What pushes a commit up is size and spread together: a large change confined to one area scores below a smaller one scattered across a dozen files.
Commit categories over time, read off the subject line. Fixes carry the accent because that is the series this chart exists to show.
Began fix-led, now leaning chore.
Ranked by change-risk, highest first. Priority is a tercile of this repo's own distribution, so a quiet repo still fills its top band.
| # | Commit | Author | When | Lines | Risk | Top driver |
|---|---|---|---|---|---|---|
| 1 | 310e6438release[anthropic]: 0.3.15 (#31479) | Bagatur | 1y ago | +826.6K -0 | 100%Elevated | more lines added than baseline |
| 2 | 67eca93dchore(model-profiles): refresh model profile data (#37466) | langchain-model-profile-bot[bot] | 2mo ago | +5.4K -1.9K | 100%Elevated | more lines added than baseline |
| 3 | 9ce72ebafeat(core): add content-block-centric streaming (v2) (#36834) | Nick Hollon | 3mo ago | +8.4K -96 | 100%Elevated | more lines added than baseline |
| 4 | f9fd7be6feat(openrouter): add `langchain-openrouter` provider package (#35211) | Mason Daugherty | 5mo ago | +9.0K -4 | 100%Elevated | more lines added than baseline |
| 5 | 637bb1cbfeat: refactor tests coverage (#33927) | Sydney Runkle | 8mo ago | +5.3K -4.9K | 100%Elevated | more lines added than baseline |
| 6 | 493be259feat(core): mint langchain-model-profiles and add profile property to `BaseChatModel` (#33728) | ccurme | 9mo ago | +17.3K -0 | 100%Elevated | more lines added than baseline |
| 7 | 6fc21afbstyle: `.. code-block::` admonition translations (#33400) | Mason Daugherty | 9mo ago | +10.4K -11.3K | 100%Elevated | more lines added than baseline |
| 8 | eaa6dccerelease: v1.0.0 (#32567) | Mason Daugherty | 9mo ago | +23.8K -17.6K | 100%Elevated | more lines added than baseline |
| 9 | 7ddc798ffix(openai): pin upper bound to prevent Pydantic 2.7.0 issues (#33038) | Mason Daugherty | 10mo ago | +7.1K -5.6K | 100%Elevated | more lines added than baseline |
| 10 | 18db07c2feat(langchain): revamped `create_react_agent` (#32705) | Sydney Runkle | 11mo ago | +8.1K -69 | 100%Elevated | more lines added than baseline |
| 11 | 56dde3adfeat(langchain): v1 scaffolding (#32166) | Eugene Yurtsev | 1y ago | +8.5K -0 | 100%Elevated | more lines added than baseline |
| 12 | 4d9eefecfix: bump lockfiles (#31923) | Mason Daugherty | 1y ago | +5.7K -5.7K | 100%Elevated | more lines added than baseline |
| 13 | 6c2b70e6feat(openai): add ChatGPT OAuth-backed `ChatOpenAICodex` chat model (#37569) | open-swe[bot] | 1mo ago | +4.3K -7 | 99%Elevated | more lines added than baseline |
| 14 | 1de100f2chore(infra): bump mypy to 2.1 and unify type-check config across the monorepo (#36470) | Christophe Bornet | 1mo ago | +3.8K -1.5K | 99%Elevated | more lines added than baseline |
| 15 | 4000c223feat(openai): prevent silent streaming hangs in `ChatOpenAI` (#36949) | Asamu David | 3mo ago | +2.0K -49 | 99%Elevated | more lines added than baseline |
| 16 | 2dc13963chore(langchain): update deps (#33951) | Sydney Runkle | 8mo ago | +1.9K -1.6K | 99%Elevated | more lines added than baseline |
| 17 | a022e3c1feat(langchain_v1): Add ShellToolMiddleware and ClaudeBashToolMiddleware (#33527) | Nuno Campos | 9mo ago | +2.3K -477 | 99%Elevated | more lines added than baseline |
| 18 | 34de8ec1feat(anthropic): add more anthropic middleware (#33510) | Eugene Yurtsev | 9mo ago | +2.5K -169 | 99%Elevated | more lines added than baseline |
| 19 | 1bf29da0feat(langchain_v1): add on_tool_call middleware hook (#33329) | Eugene Yurtsev | 9mo ago | +2.6K -43 | 99%Elevated | more lines added than baseline |
| 20 | 2c3fec01feat(langchain_v1): on_model_call middleware (#33328) | Eugene Yurtsev | 9mo ago | +2.3K -195 | 99%Elevated | more lines added than baseline |
| 21 | af07949dfix(docs): Redirects (#33190) | Lauren Hirata Singh | 10mo ago | +3.2K -1 | 99%Elevated | more lines added than baseline |
| 22 | 781db9d8chore: update `pyproject.toml` files, remove codespell (#33028) | Mason Daugherty | 10mo ago | +6.4K -4.9K | 99%Elevated | more lines added than baseline |
| 23 | bd765753release(chroma): 0.2.6 (#32901) | Mason Daugherty | 10mo ago | +2.2K -1.7K | 99%Elevated | more lines added than baseline |
| 24 | 6e2f46d0feat(langchain): middleware support in `create_agent` (#32828) | Sydney Runkle | 10mo ago | +2.7K -293 | 99%Elevated | more lines added than baseline |
| 25 | 8b663ed6chore(text-splitters): bump mypy version to 1.17 (#32387) | Christophe Bornet | 11mo ago | +2.0K -2.0K | 99%Elevated | more lines added than baseline |
| 26 | 7f015b6ffix(text-splitters): update lock for release | Mason Daugherty | 1y ago | +2.0K -2.0K | 99%Elevated | more lines added than baseline |
| 27 | c14bd1fcfix(docs): update RAG tutorials link to point to correct path (#32169) | Kanav Bansal | 1y ago | +1.9K -1.9K | 99%Elevated | more lines added than baseline |
| 28 | 2104cf0dfix: replace deprecated `Pydantic .schema()` calls with v1/v2 compatible pattern (#32162) | Copilotcopilotautonomous | 1y ago | +3.0K -3.0K | 99%Elevated | more lines added than baseline |
| 29 | 3628dccbchore(docs): add gtm tag to docs (#32048) | Eugene Yurtsev | 1y ago | +2.3K -35 | 99%Elevated | more lines added than baseline |
| 30 | f9be3cc3feat(perplexity): `use_responses_api` flag on `ChatPerplexity` (#37359) | James Liounisclaudeassisted | 2mo ago | +1.8K -0 | 99%Elevated | more lines added than baseline |
| 31 | d08245f7feat(langchain): redact streamed PII in flight on `PIIMiddleware` (#37616) | Nick Hollon | 2mo ago | +2.2K -8 | 99%Elevated | more lines added than baseline |
| 32 | da380bccchore(infra): merge v1.4 into master (#37350) | Nick Hollon | 2mo ago | +1.8K -780 | 99%Elevated | more lines added than baseline |
| 33 | fe99cb29fix(standard-tests): update standard tests for sandbox backends (#36036) | ccurme | 3mo ago | +1.5K -61 | 99%Elevated | more lines added than baseline |
| 34 | 5d9568b5feat(model-profiles): new fields + `Makefile` target (#35788) | Mason Daugherty | 4mo ago | +2.4K -34 | 99%Elevated | more lines added than baseline |
| 35 | 328bf24achore(deps): bump the uv group across 20 directories with 3 updates (#34941) | dependabot[bot] | 5mo ago | +1.5K -1.4K | 99%Elevated | more lines added than baseline |
| 36 | d8996810feat(core): add XML format option for `get_buffer_string` (#34802) | Weichen Zhao | 6mo ago | +1.2K -11 | 99%Elevated | more lines added than baseline |
| 37 | b296f103feat: `ModelRetryMiddleware` (#34027) | Sydney Runkle | 8mo ago | +1.3K -101 | 99%Elevated | more lines added than baseline |
| 38 | 3152d258fix: support python 3.14 in various projects (#33575) | ccurme | 9mo ago | +2.3K -1.7K | 99%Elevated | more lines added than baseline |
| 39 | 0788461afeat(openai): Add openai moderation middleware (#33492) | Nuno Campos | 9mo ago | +1.8K -567 | 99%Elevated | more lines added than baseline |
| 40 | 6ea03ab4style(core): drop python `39` linting target for 3.10 (#33286) | Mason Daugherty | 9mo ago | +2.4K -2.7K | 99%Elevated | more lines added than baseline |
| 41 | 4d1cfa49chore(langchain,prompty): rename to langchain-classic (#33256) | Eugene Yurtsev | 9mo ago | +2.2K -2.0K | 99%Elevated | more lines added than baseline |
| 42 | 0be7515adocs: add superlinked retriever integration (#32433) | Filip Makraduli | 10mo ago | +1.6K -0 | 99%Elevated | more lines added than baseline |
| 43 | 03f0ebd9docs: add Bigtable Key-value Store and Vector Store Docs (#32598) | Michael Yilma | 10mo ago | +1.5K -0 | 99%Elevated | more lines added than baseline |
| 44 | 3d08b6bdchore: adress pytest-asyncio deprecation warnings + other nits (#32696) | Mason Daugherty | 11mo ago | +3.0K -2.9K | 99%Elevated | more lines added than baseline |
| 45 | 166c0274docs: add scrapeless integration documentation (#32081) | Anderson | 11mo ago | +1.3K -0 | 99%Elevated | more lines added than baseline |
| 46 | 10996a28release(perplexity): 0.1.2 (#32176) | Mason Daugherty | 1y ago | +1.4K -1.4K | 99%Elevated | more lines added than baseline |
| 47 | 58768d8arelease(xai): 0.2.5 (#32174) | Mason Daugherty | 1y ago | +1.4K -1.4K | 99%Elevated | more lines added than baseline |
| 48 | 02d0a9afchore(core): unpin packaging dependency (#32032) | Eugene Yurtsev | 1y ago | +1.9K -1.7K | 99%Elevated | more lines added than baseline |
| 49 | e7eac272ruff: more rules across the board & fixes (#31898) | Mason Daugherty | 1y ago | +2.8K -1.7K | 99%Elevated | more lines added than baseline |
| 50 | 15dc684ddocs: Integration with GreenNode Serverless AI (#31836) | Viet Hoang | 1y ago | +1.3K -0 | 99%Elevated | more lines added than baseline |
Two views of the same model: where the cuts fall, and what commit shape lands you above them.
Every scored commit, binned on the raw 0 to 10 score rather than the percentile. Percentile ranks are uniform by construction, so that axis has no shape to draw. The dashed lines are the tercile cuts behind each row's priority pill.
The 200 most recent commits, on their own recency sample rather than the feed above: that defaults to risk-sorted, so reusing it would plot only the top tercile and call it the spread. Big and scattered is what the model penalises. Click a dot to open it.
langchain-ai/langchain has 3,002 commits in its history from 386 contributors, the first of them Jun 3, 2025. In the last 90 days 515 files were touched, 1,160 times in total, most often _profiles.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.