releases.shpreview
LangChain/LangChain (Python)/langchain-core==1.4.0

langchain-core==1.4.0

Changes since langchain-core==0.3.86

chore(infra): merge v1.4 into master (#37350) chore: bump urllib3 from 2.6.3 to 2.7.0 in /libs/core (#37329) fix(core): avoid eager pydantic.v1 import in @deprecated (#37308) chore: bump mistune from 3.1.4 to 3.2.1 in /libs/core (#37237) chore: bump jupyter-server from 2.17.0 to 2.18.0 in /libs/core (#37204) release(core): 1.3.3 (#37198) fix(core): set deprecation since to 1.3.3 to match release (#37200) fix(core, langchain): harden load() against untrusted manifests (#37197) chore: bump notebook from 7.5.0 to 7.5.6 in /libs/core (#37109) chore: bump types-pyyaml from 6.0.12.20250915 to 6.0.12.20260408 in /libs/core (#37129) fix(core): preserve structured inputs on tool runs in tracers (#37108) release(perplexity): 1.2.0 (#37091) chore(docs): update x handle references (#37081) fix(core): make removal optional in warn_deprecated (#37056) fix(core): validate batch_size in _batch and _abatch to prevent infinite loop (#36663) chore(core): mark stream_v2/astream_v2 as beta (#36992) release(core): 1.3.2 (#36990) feat(core): add content-block-centric streaming (v2) (#36834) release(core): 1.3.1 (#36972) feat(core): allow _format_output to pass through list of ToolOutputMixin instances (#36963) chore: bump nbconvert from 7.17.0 to 7.17.1 in /libs/core (#36923) feat(core): Update inheritance behavior for tracer metadata for special keys (#36900) chore: bump langsmith from 0.7.13 to 0.7.31 in /libs/core (#36813) release(core): release 1.3.0 (#36851) release(core): 1.3.0a3 (#36829) chore(core): keep checkpoint_ns behavior in streaming metadata for backwards compat (#36828) feat(core): Add chat model and LLM invocation params to traceable metadata (#36771) fix(core): restore cloud metadata IPs and link-local range in SSRF policy (#36816) chore(deps): bump pytest to 9.0.3 (#36801) chore(core): harden private SSRF utilities (#36768) fix(openai): handle content blocks without type key in responses api conversion (#36725) chore: bump pytest from 9.0.2 to 9.0.3 in /libs/core (#36719) release(core): 1.3.0.a2 (#36698) fix(core): Use reference counting for storing inherited run trees to support garbage collection (#36660) docs(core): nit (#36685) release(core): 1.3.0a1 (#36656) chore(core): reduce streaming metadata / perf (#36588) release(core): release 1.2.28 (#36614) fix(core): add more sanitization to templates (#36612) release(core): 1.2.27 (#36586) fix(core): handle symlinks in deprecated prompt save path (#36585) chore: add comment explaining pygments>=2.20.0 (#36570) release(core): 1.2.26 (#36511) fix(core): add init validator and serialization mappings for Bedrock models (#34510) feat(core): add ChatBaseten to serializable mapping (#36510) chore(core): drop gpt-3.5-turbo from docstrings (#36497) fix(core): correct parameter names in filter_messages docstring example (#36462) release(core): 1.2.25 (#36473) fix(core): harden check for txt files in deprecated prompt loading functions (#36471) fix(core): fixed typos in the documentation (#36459) release(core): 1.2.24 (#36434) feat(core): impute placeholder filenames for OpenAI file inputs (#36433) chore: pygments>=2.20.0 across all packages (CVE-2026-4539) (#36385) fix(core): add "computer" to _WellKnownOpenAITools (#36261) release(core): 1.2.23 (#36323) revert: Revert "fix(core): trace invocation params in metadata" (#36322) chore: bump requests from 2.32.5 to 2.33.0 in /libs/core (#36243) release(core): 1.2.22 (#36201) fix(core): validate paths in prompt.save and load_prompt, deprecate methods (#36200) release(core): 1.2.21 (#36179) fix(core,model-profiles): add missing ModelProfile fields, warn on schema drift (#36129) chore(core): remove stale blockbuster allowlist for deleted context module (#36168) ci: suppress pytest streaming output in CI (#36092) release(core): 1.2.20 (#36085) fix(core): trace invocation params in metadata (#36080) feat: Add LangSmith integration metadata to create_agent and init_chat_model (#35810) feat(core): harden anti-ssrf (#35960) ci: avoid unnecessary dep installs in lint targets (#36046) docs(core): document base_url in mermaid api (#35961) chore: bump orjson from 3.11.5 to 3.11.6 in /libs/core (#35805) chore: housekeeping (#35850) release(core): 1.2.19 (#35832) chore(core): move BaseCrossEncoder to langchain-core (#35809) chore: bump tornado from 6.5.2 to 6.5.5 in /libs/core (#35775) release(core): 1.2.18 (#35704) fix(core): fix double backticks in deprecation docstring for alternative_import (#35658) fix(core): preserve default_factory when generating tool call schema (#35550) feat(openai): support tool search (#35582) chore: bump the minor-and-patch group across 3 directories with 7 updates (#35605) release(core): 1.2.17 (#35527) fix(core): extract usage metadata from serialized tracer message outputs (#35526) chore: bump the langchain-deps group across 3 directories with 7 updates (#35513) chore: bump the langchain-deps group across 3 directories with 14 updates (#35441) release(core): 1.2.16 (#35439) fix(core): treat empty tool chunk ids as missing in merge (#35414) fix(core): improve error message for non-JSON-serializable tool schemas (#34376) fix(core): improve typing/docs for on_chat_model_start to clarify required positional args (#35324) perf(core): defer specific langsmith imports to reduce import time (#35298) revert: add ChatAnthropicBedrockWrapper (#35371) release(core): 1.2.15 (#35367) fix(anthropic): replace retired model IDs in tests and docstrings (#35365) feat(anthropic): add ChatAnthropicBedrock wrapper (#35091) style: fix some ruff noqa (#35321) release(core): 1.2.14 (#35328) chore(core): remove langserve from sys info util, add deepagents (#35325) fix(core): fix merge_lists incorrectly merging parallel tool calls (#35281) fix(core): accept int temperature in _get_ls_params for LangSmith tracing (#35302) revert: accept integer temperature values in _get_ls_params (#35319) fix(core): accept integer temperature values in _get_ls_params (#35317) docs(core): update load note to be precise (#35309) fix(core): prevent recursion error when args_schema is dict (#35260) fix(core): preserve index and timestamp fields when merging (#34731) docs(core): add security warnings and best practices for deserialization (#35282) docs: fix docstring inaccuracies and update outdated LangSmith URLs (#35283) fix(core): correct misleading jinja2 sandboxing comment (#35183) chore: bump the langchain-deps group across 3 directories with 8 updates (#35257) release(core): 1.2.13 (#35230) docs(core): expanded get_lc_namespace docstring (#35229) feat(openrouter): add langchain-openrouter provider package (#35211) style: bump ruff version to 0.15 (#35042) release(core): 1.2.12 (#35192) fix(core): fix setting ChatGeneration.text (#35191) release(core): 1.2.11 (#35144) fix(openai): sanitize urls when counting tokens in images (#35143) chore(core): clean up docstring mismatch and redundant logic in langchain-core (#35064) fix(core): replace bare except with Exception in tracer (#35138) release(core): 1.2.10 (#35136) chore(deps): bump the langchain-deps group across 3 directories with 40 updates (#35129) chore(deps): bump the langchain-deps group across 3 directories with 11 updates (#35121) feat(core): add ContextOverflowError, raise in anthropic and openai (#35099) feat(model-profiles): add text_inputs and text_outputs (#35084) feat(core): count tokens from tool schemas in count_tokens_approximately (#35098) docs(core): add missing name docstring for RunnableSerializable (#35088) release(core): 1.2.9 (#35025) fix(core): adjust cap when scaling approximate token counts (#35017) revert: precompile hex color regex pattern at module level (#35016) chore: add make type target (#35015) revert: "chore: add typing target in Makefile" (#35013) chore: add typing target in Makefile (#35012) fix(core): apply cap when scaling approximate token counts (#35005) feat(core): allow scaling by reported usage when counting tokens approximately (#34996) test(core): increase delta_time for flaky test (#34982) chore: enrich pyproject.toml files (#34980) release(core): 1.2.8 (#34975) docs(core): add examples for pretty_repr, pretty_print (#34968) docs(core): use proper admonition for get_buffer_string (#34967) docs: add usage examples to core classes (#34841) chore(core): fix docstring format (#34966) chore(deps): bump the uv group across 20 directories with 3 updates (#34941) docs: add example to create_message function docstring (#34851) docs(core): clarify @tool decorator argument and return type requirements (#34860) fix(core): fix nested mustache variable extraction and update docs (#34872) fix(core): allow base model annotations for empty model (#34932) chore: upgrade urllib3 to 2.6.3 (#34940) fix(core): prevent crash in ParrotFakeChatModel when messages list is empty (#34943) fix(core): google docstring parsing with no arguments/reserved arguments (#34861) test(core): add tests for approximate token counting with multimodal messages (#34898) fix(core): replace Iterable with Iterator for block iteration (#34934) fix(core): yield_blobs returns Iterator (#34935) docs: Fix typo in Runnable description of async variants (#34905) fix(core): raise outputparserexception for unknown tools (#34923) docs(core): nit (#34914) chore(core): nits (#34897) feat(core): add multimodal support to count_tokens_approximately (#34883) fix(core): fix typo 'use a a' -> 'use as a' in check_version.py (#34878) style(core): lint (#34862) feat(core): add XML format option for get_buffer_string (#34802) chore(core): relax packaging constraints (#34832) chore(deps-dev): bump setuptools from 67.8.0 to 78.1.1 in /libs/core in the uv group across 1 directory (#34825) chore(core, langchain): add version consistency check pre-commit hooks (#34782) docs(core): enhance docstring for RunnableConfig for clarity on total=False (#34756) docs(core): clean up callbacks param descriptions (#34738) fix(core): correctly guard against non-text-block types (#34729) chore: update twitter URLs (#34736) refactor(core): generalize comma_list utility to support any Iterable (#34714) fix(core): add explicit tags parameter to sync LLMManagerMixin methods (#34722) docs(core): enhance docstrings for ToolCall and ToolCallChunk (#34719) fix(core): add tool_call_id to on_tool_error event data (#33731) fix(core): improve error message for missing title in JSON schema functions (#34683) fix(core): make yield_keys prefix keyword-only to match BaseStore (#34659) chore(core): bump lock (#34695) chore(core): improve types for RunnableLambda (#34539) chore(core): improve types for StreamingRunnable (#34540) style(core): fix some noqa escapes (#34675) style: bump ruff version to 0.14.11 (#34674) fix: remove relative imports (#34680) release: langchain-core 1.2.7 (#34678) fix: don't trace injected args only found in signature (#34670) feat(core): add more file extensions to ignore in HTML link extraction (#34552) refactor(core): improve docstrings for HTML link extraction utilities (#34550) test(core): add edge case for empty examples in LengthBasedExampleSelector (#34641) fix(core): fix strict schema generation for functions with optional args (#34599) feat(core): support custom message separator in get_buffer_string() (#34569) refactor(core): add warning for fallback GPT-2 tokenizer usage (#34621) fix(core,langchain): use get_buffer_string for message summarization (#34607) test(core): add tests for formatting utils and merge functions (#34511) fix(core): strip message IDs from cache keys using model_copy (#33915) fix(core): exclude injected args from tool schema (#34582) refactor(core): select chunk_id via ranking and remove extra allocation (#34588) release(core): 1.2.6 (#34586) chore(core): Update LangChainTracer to use Pydantic v2 methods (#34541) docs(core): add docstrings to internal helper functions (#34525) docs(core): refresh content.py docstrings (#34546) chore(deps): bump mypy to v1.19 and ruff to v1.14 (#34521) refactor(core): fix some missing generic types (#31658) style(core): add ruff RUF012 rule (#34492) fix(core): support (message class, template) tuples in ChatPromptTemplate.from_messages (#33989) test(core): add regression test for list-index $ref resolution (#34097) fix(core): fix callback manager merge mixing handlers (#32028) (#33617) style: add ruff ISC001 rule (#34493) style(core): fix mypy no-any-return violations (#34204) docs(core): image url docstring enhancement (#34488) test(core): URL-encode bgColor parameter in mermaid.ink API calls (#34466) style(core): fix some noqa: ARG rules (#34437) fix(core): URL-encode bgColor in mermaid API calls (#34461) perf(core): move origin type map to module level in function_calling.py (#34481) style(core): add ruff rules TC (#34476) perf(core): precompile hex color regex pattern at module level (#34480) docs(core): update to indicate betas (#34457) release(core): 1.2.5 (#34456) fix(core): serialization patch (#34455) fix(core): RunnablePick method return types (#34208) fix(core): preserve Field(description=...) in @tool decorator (#34354) fix(core): populate default args from tool's args_schema (#34399) fix(core): use tool_calls instead of deprecated function_call in get_buffer_string (#34355) feat(core): add PEP 702 __deprecated__ attribute support to @deprecated (#34257) fix(core): ensure tool_call_count is never null (#34431) feat(core): automatically count and store meta for tool call count (#33756) feat(core): add 'approximate' alias in place of count_tokens_approximately (#33045) chore(core): fix some ruff preview rules (#34425) release(core): 1.2.4 (#34429) feat(core): add usage_metadata to metadata in LangChainTracer (#34414) fix(core): defer persisting traces for iterator inputs (#34416) chore(core): fix some docstrings (#34426) release(core): 1.2.3 (#34421) fix(core): allow unknown blocks in convert_to_openai_messages (#34420) feat(infra): add CI check for out of date lockfiles (#34397) chore(core): bump lockfile (#34392) release(core): 1.2.2 (#34391) fix(core): use get_type_hints for Python 3.14 TypedDict compatibility (#34390) release(core): 1.2.1 (#34370) fix(core): handle None arguments in parse_tool_call (#34242) chore(core): fix some types related to ToolCallChunk (#34283) release(core): 1.2 (#34319) style(core): docs nit (#34312) fix(core): widen openai tool/function conversion input type to Mapping (#34304) chore(core): add admonitions around use of load (#34285) feat(core,anthropic): extras on BaseTool (#34120) release: langchain-core 1.1.3 (#34266) fix(core): undo jinja2 restrictions (#34072) fix: remove partial usage for retriever func + afunc (#34265) release(core): 1.1.2 (#34253) fix(core): pass tool_call_id to on_tool_start callback (#34235) chore(core): improve typing of messages utils functions (#34225) fix(core): prevent async task garbage collection (RUF006) (#34238) chore(core): use anext and deprecate py_anext (#34211) feat(core): support google maps grounding in genai block translator (#34244) docs(core,groq,openai): nits for ref docs (#34243) docs(core): improve style for refs (#34227) docs(core): update StrOutputParser docstring (#34213) release: langchain-core 1.1.1 (#34212) feat: Use uuid7 for run ids (#34172) fix: tool call id bug introduced w/ runtime injection (#34185) chore: update test to be compatible with mem-optimized runtree (#34176) docs(core): update docstrings in RunnableConfig, dereference_refs (#34131) docs(anthropic,core,langchain): updates (#34106) style(core,langchain,qdrant): fix some docstrings for refs (#34105) fix(core): handle missing StructuredPrompt schema (#34096) fix(core): ensure_ascii=False in PydanticOutputParser exception formatting (#34006) fix(infra,core): nits (#34079) style(core,langchain-classic,openai): fix griffe warnings (#34074) chore(docs): fix a few refs syntax errors (#34044) release(core): 1.1.0 (#34063) feat(model-profiles): distribute data across packages (#34024) release(core): 1.0.7 (#34036) fix(core): fix validation for input variables in f-string templates, restrict functionality supported by jinja2, mustache templates (#34035) release: langchain-core 1.0.6 (#34018) chore: Support tool runtime injection when custom args schema is prov… (#33999) feat(core): add proxy support for mermaid png rendering (#32400) release(core): 1.0.5 (#33973) fix(core): don't mask exceptions (#33959) docs(core): add clarity to base token counting methods (#33958) chore(core,infra): nits (#33954) chore(core): fix some ruff TC rules (#33929) chore: update README.md files (#33919) test(core): add comprehensive tests for groq block translator (#33906) revert(core): "applied secrets_map in load to plain string values" (#33913) fix(core): applied secrets_map in load to plain string values (#33678) release(core): 1.0.4 (#33886) feat(core): support draw subgraph using pygraphviz (#32966) fix(core): Fix tool name check in name_dict for PydanticToolsParser (#33479) fix(core): Filter empty content blocks from formatted prompts (#32519) fix(core): context preservation in shielded async callbacks (#32163) fix(core): RunnablePick may not return a dict if keys is a string (#31321) fix(core): fix Runnable parallel schema being empty when children runnable input schemas use TypedDict (#28196) docs: fix typos in libs/core/langchain_core/utils/function_calling.py (#33873) docs: fix typos in libs/core/tests/unit_tests/utils/test_strings.py (#33875) docs: fix typos in libs/core/tests/unit_tests/indexing/test_hashed_document.py (#33874) docs: fix typos in libs/core/tests/unit_tests/test_tools.py (#33876) docs: fix typos in some files (#33867) style: some cleanup (#33857) chore: attribute package change versions (#33854) fix(core): handle missing dependency version information (#33844) chore: correct langchain-community references (#33827) chore(core): add ruff rule PLR2004 (#33706) chore(core): clean pyproject formatting (#33821) docs(model-profiles): fix typo (#33820) style: refs pass (#33813) fix(core): add no colors check (#33780) release(core): 1.0.3 (#33768) style: misc refs work (#33771) docs(core): improve tools module docstrings (#33755) feat(core): mint langchain-model-profiles and add profile property to BaseChatModel (#33728) chore: use model IDs, latest anthropic models (#33747) release: core 1.0.2 and langchain 1.0.3 (#33736) fix: filter out injected args from tracing (#33729) style: more refs fixes (#33730) fix(core): improve JSON get_format_instructions using Opik Agent Optimizer (#33718) style(core): more cleanup all around (#33711) style: more refs work (#33707) fix(core): translate Google GenAI text blocks to v1 (#33699) feat(langchain): export UsageMetadata (#33692) fix: links (#33691) fix(core): fix PydanticOutputParser's get_format_instructions for v1 models (#32479) refactor(core): Minor refactor for code readability (#33674) fix(infra): add emacs backup files to gitignore (#33675) fix: update some links (#33686) style(core): more refs work (#33664) fix(core): make handling of schemas more defensive (#33660) release(core): 1.0.1 (#33639) feat(core): automatic set required to include all properties in strict mode (#32930) docs(core): Updated docs for mustache_template_vars (#33481) style: even more refs work (#33619) style: more refs work (#33616) style: more refs polishing (#33601) ci(infra): test CodSpeed with Python 3.13 (#33599) style(anthropic): use aliases for model names (#33590) chore: update pyproject.toml url entries (#33587) release(core): 1.0.0 (#33562) fix(core): support for Python 3.14 (#33461) docs: more fixes for refs (#33554) release: joint rcs for core + langchain (#33549) chore(langchain): allow injection of ToolRuntime and generic ToolRuntime[ContextT, StateT] (#33546) chore: more sweeping (#33533) release(core): 1.0.0rc2 (#33530) docs(anthropic): update extended thinking docs and fix urls (#33525) feat(core): support vertexai standard content (#33521) style: more sweeping refs work (#33513) style: more work for refs (#33508) feat(core): include original block type in server tool results for google-genai (#33502) release(core): 1.0.0rc1 (#33497) chore(core): delete BaseMemory, move to langchain-classic (#33373) docs: update package READMEs (#33488) fix(core): propagate extras when aggregating tool calls in v1 content (#33494) chore(core): delete items marked for removal in schemas.py (#33375) fix(docs): Fix several typos and grammar (#33487) chore(core): delete function_calling.py utils marked for removal (#33376) chore(core): delete pydantic_v1/ (#33374) feat(groq): support built-in tools in message content (#33459) chore(core): delete get_relevant_documents (#33378) style: llm -> model (#33423) chore(langchain): remove arg types from docstrings (#33413) style: fix tables, capitalization (#33417) fix(core): handle parent/child mustache vars (#33345) style: remove Defaults to None (#33404) style: .. code-block:: admonition translations (#33400) style: address Sphinx double-backtick snippet syntax (#33389) chore(core): remove arg types from docstrings (#33388) chore: update Sphinx links to markdown (#33386) fix(core): override streaming callback if streaming attribute is set (#33351) refactor(core): clean up sys_info.py (#33372) style: remove more Optional syntax (#33371) chore: drop UP045 (#33362) refactor(core): remove keep-runtime-typing from pyproject.toml following dropping 3.9 (#33360) style: monorepo pass for refs (#33359) fix(core): don't print package if no version found (#33347) chore: enrich pyproject.toml files with links to new references, others (#33343) release(core): 1.0.0a8 (#33341) fix(core): add back add_user_message and add_ai_message (#33340) release(core): 1.0.0a7 (#33309) fix(core,openai,anthropic): delegate to core implementation on invoke when streaming=True (#33308) fix(core): fix string content when streaming output_version="v1" (#33261) chore(infra): pdm -> hatchling (#33289) style(core): drop python 39 linting target for 3.10 (#33286) chore(core): docstring nits (#33285) chore(core,langchain,langchain_v1)!: remove globals from langchain-v1, update globals in langchain-classic, langchain-core (#33251) feat(core): add optional include_id param to convert_to_openai_messages function (#33242) chore: delete deprecated items (#33192) docs: v1 docs updates (#33173) release: v1.0.0 (#32567)

Fetched May 11, 2026