Original release notes
Initial release
release(langchain): 1.4.0a4 test(langchain): cover mixed-era ClientGroup and group elicitation Update libs/langchain_v1/langchain/mcp/adapter.py fix(langchain): drive MCP elicitation via member session for fastmcp 4.0.1 fix(sdk): use latest fastmcp and rm reentrant impl cr cr refactor(langchain): inline MCP client arming into __init__ refactor(langchain): stamp an arm marker instead of introspecting the handler closure fix(langchain): gate MCP interrupt routing on the negotiated protocol era refactor(langchain): drop MCP elicitation flag, derive interrupt routing from the client fix(sdk): add _ReentrantClientGroup fix(langchain): narrow MCPAdapter.client union in mcp tests for mypy chore(langchain): format mcp/adapter.py release(langchain): 1.4.0a3 feat(langchain): group MCP tool metadata under an mcp namespace refactor(langchain): stop exporting MCPAdapterTarget from langchain.mcp refactor(langchain): rename convert_mcp_tool_to_langchain_tool to as_langchain_tool refactor(langchain): rename MCPAdapter.get_tools to list_tools feat(langchain): expose cache_mode on MCPAdapter.get_tools chore(langchain): require fastmcp 4.0.0 feat(langchain): accept a ClientGroup as an MCPAdapter target feat(langchain): mark the langchain.mcp namespace as beta Revert "feat(langchain): accept a ClientGroup as an MCPAdapter target" feat(langchain): accept a ClientGroup as an MCPAdapter target chore(langchain): require fastmcp 4.0.0b5 fix(langchain): require a str MCP target to be an http(s) URL release(langchain): 1.4.0a2 fix(langchain): require full fastmcp for the mcp extra fix(langchain): name the content type MCP conversion could not handle release(langchain): 1.4.0a1 test(langchain): skip MCP tests on a pydantic older than mcp supports test(langchain): drive MCP tests through FastMCP's own utilities fix(langchain/mcp): review edits (#39974) Merge remote-tracking branch 'origin/master' into sydney-runkle/langchain/simplify-mcp-adapter fix(langchain): import assert_never from typing_extensions test(langchain): fix type errors in the MCP test suite test(langchain): cover protocol eras across a multi-server fleet test(langchain): cover both MCP protocol eras through one adapter refactor(langchain): one elicitation request type per mode refactor(langchain): keep the elicitation types out of langchain.mcp fix(langchain): make the two FastMCP-private dependencies fail loudly refactor(langchain): one elicitation response type per action refactor(langchain): refuse MCP continuation rounds instead of polling release(langchain): 1.3.18 (#39966) refactor(langchain): tighten the elicitation answer types refactor(langchain): move _declare_elicitation_capability to elicitation docs(langchain): trim the langchain.mcp docstrings fix(langchain): bound the MCP input-required retry loop refactor(langchain): trim the MCPAdapterTarget docs refactor(langchain): use ELICITATION_INTERRUPT_TYPE as the discriminator refactor(langchain): drop MCPAdapter.aclose fix(langchain): preserve content-block shape in PIIMiddleware redaction (#39894) fix(core): shore up indexing in genai v1 streaming content (#39964) fix(langchain): guard MCP elicitation calls against a dying session feat(langchain): answer MCP elicitation with a LangGraph interrupt feat(langchain): port MCP tool conversion from langchain-mcp-adapters feat(langchain): drop elicitation from MCPAdapter chore(langchain): require FastMCP 4.0.0b4 for the mcp extra feat(langchain): simplify MCPAdapter construction feat(langchain): langchain.mcp namespace, MCPAdapter release(langchain): 1.3.17 (#39893) fix(langchain): frame custom HITL rejection reasons (#39773) chore(deps): bump minor and patch dependencies (#39869) release(langchain): 1.3.16 (#39806) feat(core): add standard model exception types (#39538) feat(langchain): support custom token_counter in ContextEditingMiddleware (#39754) fix(langchain): re-raise non-retryable exceptions in ModelRetryMiddleware (#38960) chore(langchain): update docs on error handling for json schema (#39632) fix(langchain): preserve final repeated schema ordering (#39284) release(langchain): 1.3.15 (#39595) feat(langchain): expose trace_policy on AgentMiddleware (#38910) chore(langchain): fix type errors in tests (#39589) chore: bump h2 from 4.3.0 to 4.4.1 in /libs/langchain_v1 (#39324) fix(langchain): preserve history on SummarizationMiddleware summary failure (#39268) fix(langchain): handle import error in LLMToolEmulator by model (#39290) refactor(langchain): update doc strings (#39305) feat(langchain): add state_schema param to wrap_tool_call (#39292) fix(langchain): re-export PIIMatch from middleware package (#39291) fix(langchain): restrict narrowed ToolStrategy in bound tools (#39259) feat(langchain): filter internal middleware model calls from messages projection (#39252) chore: bump aiohttp from 3.14.1 to 3.14.3 in /libs/langchain_v1 (#39242) chore: bump cryptography from 48.0.1 to 50.0.0 in /libs/langchain_v1 (#39240) test(langchain): regression test for shell tool + checkpointer msgpack error (#39267) fix(langchain): handle malformed structured-output responses (#39245) fix(langchain): prevent orphaned tool_calls in ToolCallLimitMiddleware end behavior (#39258) fix(langchain): add aliases for bedrock mantle chat models (#39260) feat(langchain): add LangSmith provider to init_chat_model (#39224) fix(langchain): clear stale structured_response between checkpointed turns (#39248) fix(langchain): stop HITL approval gates from silently failing open (#39247) chore: bump the minor-and-patch group across 3 directories with 7 updates (#39187) fix(langchain): propagate model middleware control flow (#39199) fix(langchain): update Anthropic config test (#39172) chore: bump pyasn1 from 0.6.3 to 0.6.4 in /libs/langchain_v1 (#39026) chore: bump pillow from 12.2.0 to 12.3.0 in /libs/langchain_v1 (#38994) feat(core): add reasoning_effort as a standard chat model parameter (#38887) docs(langchain): clarify ToolRetryMiddleware exception handling (#38884) release(langchain): 1.3.14 (#38883) fix(langchain): only retry retryable exceptions in ToolRetryMiddleware (#38845) feat(langchain): ToolErrorMiddleware (#38781) release(langchain): 1.3.13 (#38787) feat(langchain): add meta extra and support langchain-meta in init_chat_model (#38786) feat(openai): support explicit prompt caching (#38762) chore(deps): refresh lockfiles (#38746) release(langchain): 1.3.12 (#38730) fix(langchain): propagate interrupts through ToolRetryMiddleware (#38722) fix(langchain): avoid shared process-group kill in shell middleware (#36359) fix(langchain): sanitize anthropic cache markers on fallback retries (#37867) style: fix some ruff preview rules in langchain_v1 and standard-tests (#38657) chore(langchain): add types in agent middleware tests (#38188) release(langchain): 1.3.11 (#38377) fix(langchain,openai): only set strict=True on tools for OpenAI-compatible models in ProviderStrategy (#38370) chore: bump pydantic-settings from 2.12.0 to 2.14.2 in /libs/langchain_v1 (#38279) chore: bump vcrpy from 8.1.1 to 8.2.1 in /libs/langchain_v1 (#38280) chore: bump langsmith from 0.8.9 to 0.8.18 in /libs/langchain_v1 (#38281) docs(langchain): document summarization prompt contract (#38256) release(langchain): 1.3.10 (#38255) chore: bump cryptography from 46.0.7 to 48.0.1 in /libs/langchain_v1 (#38176) chore: bump aiohttp from 3.14.0 to 3.14.1 in /libs/langchain_v1 (#38179) fix(langchain): switch summary format (#38171) fix(langchain): detect provider strategy for dated gpt-5.2/gpt-5.4 snapshots (#38222) chore(langchain): improve typing in tests (#38163) chore: bump pyjwt from 2.12.0 to 2.13.0 in /libs/langchain_v1 (#38168) release(openai): 1.3.2 (#38130) hotfix(openai): switch version (#38123) release(openai): 1.4.0 (#38120) docs: refresh README installation and resources (#38119) test(core,langchain): update tests for explicit deserialization allowlists (#38118) release(core): 1.4.7 (#38111) release(anthropic): 1.4.6 (#38105) release(langchain): 1.3.9 (#38104) fix(langchain,anthropic): confine file-search results and tighten anthropic allowed_prefixes (#38106) release(langchain): 1.3.8 (#38096) style(core,langchain,langchain-classic,partners): replace double backticks in docstrings (#38095) release(core): 1.4.6 (#38061) chore(langchain): add overloads to create_agent (#34309) chore(infra): bump mypy to 2.1 and unify type-check config across the monorepo (#36470) fix(langchain): support async middleware decorator typing (#34584) fix(langchain): tighten structured output model fallbacks (#38042) release(anthropic): 1.4.5 (#38036) hotfix(core): bump lockfile(s) (#38032) refactor(langchain): refactor test_create_agent_tool_validation (#34443) release(langchain): 1.3.7 (#38024) style(langchain): add ruff rules ARG (#34435) feat(langchain): add ProviderToolSearchMiddleware (#37969) chore(langchain): activate mypy warn_return_any (#34249) test(langchain): mark legacy trigger view for 2.0 removal (#38002) release(langchain): 1.3.6 (#38001) fix(langchain): preserve summarization trigger compatibility (#38000) release(langchain): 1.3.5 (#37998) feat(langchain): port AND-capable trigger conditions to SummarizationMiddleware (#34576) hotfix(openai): min core dep (#37990) feat(openai): support apply_patch built-in tool (#37157) chore: bump pyarrow from 21.0.0 to 23.0.1 in /libs/langchain_v1 (#37930) chore: bump dependencies (#37892) chore: bump aiohttp from 3.13.4 to 3.14.0 in /libs/langchain_v1 (#37888) release(langchain): 1.3.4 (#37861) fix(langchain): improve HITL rejection guidance (#37859) release(langchain): 1.3.3 (#37843) chore(langchain): bump langgraph to 1.2.4 (#37857) chore(langchain): loosen langgraph dep range (#37855) feat(langchain): project subagent runs onto typed run.subagents channel (#37739) feat(langchain): add interrupt_mode and when predicate to HumanInTheLoopMiddleware (#37579) chore(langchain): bump to 1.3.2, require langgraph>=1.2.2 (#37703) fix(langchain): land final answer in last AIMessage for TodoListMiddleware (#37643) feat(langchain): redact streamed PII in flight on PIIMiddleware (#37616) chore(infra): bump langchain-tests floor to 1.1.9 (#37610) release(standard-tests): 1.1.9 (#37609) feat(langchain): register stream transformers on middleware (#37591) chore: bump idna from 3.11 to 3.15 in /libs/langchain_v1 (#37534) ci(infra): harden Dependabot version-bound preservation (#37510) refactor(langchain): clean redundancy ifelse. (#37448) hotfix: bump lockfiles (#37508) chore(core,langchain,openai): refresh stale OpenAI model references (#37487) fix(langchain): sort glob_search results by mtime (newest first) (#37462) chore: bump langsmith from 0.7.31 to 0.8.0 in /libs/langchain_v1 (#37391) release(langchain): 1.3.1 (#37454) fix(langchain): alias Bedrock providers in summarization token check (#37453) release(langchain): 1.3.0 (#37361) chore(infra): merge v1.4 into master (#37350) chore: bump urllib3 from 2.6.3 to 2.7.0 in /libs/langchain_v1 (#37328) release(langchain): 1.2.18 (#37250) revert: feat(langchain): ls_agent_type tag on create_agent calls (#37249) chore(langchain-classic): deprecate hub, limit loads/dumps (#37234) refactor(langchain-classic): retarget deprecations to create_agent, other chores (#37164) chore(langchain,langchain-classic): uncomment optional deps (#37163) release(fireworks): 1.2.1 (#37113) release(langchain): 1.2.17 (#37110) feat(langchain): add respond decision to HITL middleware (#37095) release(langchain): 1.2.16 (#37085) chore(docs): update x handle references (#37081) release(anthropic): 1.4.2 (#37061) perf(langchain): stop inlining agent state into tool-dispatch Sends (#36960) docs(langchain): correct import paths in agent middleware docstrings (#36987) hotfix: bump min core versions (#36996) release(openai): 1.2.1 (#36995) feat(core): add content-block-centric streaming (v2) (#36834) fix(fireworks): honor max_retries (#36973) release(openai): 1.2.0 (#36961) docs(langchain): correct import path in ModelCallLimitMiddleware docstring (#36895) feat(langchain): ls_agent_type tag on create_agent calls (#36774) release(core): release 1.3.0 (#36851) chore: bump langsmith from 0.6.3 to 0.7.31 in /libs/langchain_v1 (#36800) chore(deps): bump pytest to 9.0.3 (#36801) chore: bump pytest from 9.0.2 to 9.0.3 in /libs/langchain_v1 (#36717) chore: bump pillow from 12.1.1 to 12.2.0 in /libs/langchain_v1 (#36710) test(langchain): test cache hit/miss on lru (#36659) perf(langchain): add lru cache when resolving types (#36649) perf(langchain): add another init test with middleware (#36644) chore(core): reduce streaming metadata / perf (#36588) perf(langchain): add benchmark command (#36641) chore: bump cryptography from 46.0.6 to 46.0.7 in /libs/langchain_v1 (#36619) docs(langchain): add missing baseten and litellm to init_chat_model (#36562) release(core): 1.2.26 (#36511) release: langchain v1.2.15 (#36496) chore: bump aiohttp from 3.13.3 to 3.13.4 in /libs/langchain_v1 (#36438) release(langchain): 1.2.14 (#36396) chore: pygments>=2.20.0 across all packages (CVE-2026-4539) (#36385) test(langchain): cover runtime recursion limit override in create_agent (#36376) perf(langchain): reduce init speed by 15% (#36375) fix(langchain): update recursion limit for create_agent (#36351) fix(infra): correct lint_diff relative paths in package makefiles (#36333) chore: bump cryptography from 46.0.5 to 46.0.6 in /libs/langchain_v1 (#36324) fix(langchain): recognize ChatAnthropicVertex in _get_approximate_token_counter (#36320) chore(langchain): remove unnecessary description for toods list as a group (#36315) chore(langchain): add async implementation to todolist and test (#36313) chore(langchain): speed up todo list middleware init (#36311) chore: bump requests from 2.32.5 to 2.33.0 in /libs/langchain_v1 (#36241) chore(partners): bump langchain-core min to 1.2.21 (#36183)

