unstale

pypi / langchain-core

langchain-core

What changed in langchain-core 0.3 to 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.

13 breaking17 security7 deprecations38 new APIs and options4 performance21 behavior and defaults1 tooling119 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.2 on npm

langchain-core 1216 changes

Breaking changes 12

Security 15

Deprecations 7

New APIs and options 38

  • LangChainTracer now accepts an address.

    1.6.11release notes

  • Model profiles can declare mid-conversation support.

    1.6.10release notes

  • with_retry now accepts a callable.

    1.6.9release notes

  • Model name and provider tracing metadata can be overridden based on the gateway response.

    1.6.3release notes

  • OpenAI integration supports async tools.

    1.6.2release notes

  • Standard model exception types are available for handling model errors.

    1.6.0release notes

  • Anthropic, Fireworks, and OpenAI integrations support the LangSmith gateway through an environment variable.

    1.5.1release notes

  • Adds reasoning_effort as a standard chat model parameter.

    1.5.0release notes

  • Callbacks now support content block tokens.

    1.4.4release notes

  • Adds support for the OpenAI built-in apply_patch tool.

    1.4.3release notes

  • Adds approximate as an alias for count_tokens_approximately.

    1.4.0release notes

  • Adds the ChatAnthropicBedrock wrapper.

    1.4.0release notes

  • Adds an optional include_id parameter.

    1.4.0release notes

  • Adds an XML format option and support for a custom message separator.

    1.4.0release notes

  • Creates the langchain-model-profiles package and adds a profile property to BaseChatModel.

    1.4.0release notes

  • Supports tool runtime injection with custom argument schemas and generic ToolRuntime types.

    1.4.0release notes

  • Adds content-block-centric streaming (v2).

    1.3.2release notesrelease notes

  • Adds chat model and LLM invocation parameters to traceable metadata.

    1.3.0release notesrelease notes

  • Adds ChatBaseten to the serializable mapping.

    1.2.26release notesrelease notes

  • Adds support for tool search.

    1.2.18release notesrelease notes

  • Adds the OpenRouter provider package for developers integrating OpenRouter with LangChain.

    1.2.13release notes

  • Adds ContextOverflowError, raised in Anthropic and OpenAI integrations.

    1.2.10release notesrelease notes

  • Adds text_inputs to model profiles.

    1.2.10release notes

  • Adds text_outputs to model profiles.

    1.2.10release notes

  • Approximate token counts can now be scaled by reported usage.

    1.2.9release notes

  • Adds an XML format option for rendering the buffer string.

    1.2.8release notes

  • Sync methods now have an explicit tags parameter.

    1.2.8release notes

  • Supports a custom message separator when converting messages to a buffer string.

    1.2.7release notes

  • Supports (message class, template) tuples in from_messages.

    1.2.6release notes

  • The decorator supports the PEP 702 __deprecated__ attribute.

    1.2.5release notes

  • Adds usage_metadata to metadata in LangChainTracer.

    0.3.82, 1.2.4release notesrelease notes

  • Adds extras to BaseTool, enabling additional tool metadata.

    1.2.0release notesrelease notes

  • The genai block translator now supports Google Maps grounding.

    1.1.2release notes

  • Mermaid PNG rendering supports proxies.

    1.0.6release notes

  • Adds support for drawing subgraphs using pygraphviz.

    1.0.4release notes

  • Adds a profile property to BaseChatModel.

    1.0.3release notes

  • Adds the langchain-model-profiles package for model profiles.

    1.0.3release notes

  • Messages gain a provider-agnostic content_blocks property for accessing standardized content such as reasoning, citations, and tool calls.

    1.0.0release notes

Performance 4

  • The transformers package is imported lazily.

    1.6.0release notes

  • Memoizes the subset model for the tool-call schema, improving performance when accessing it.

    1.4.8release notes

  • Caches model_json_schema results to improve performance.

    1.4.8release notes

  • Specific langsmith imports are deferred to reduce import time.

    1.2.15release notes

Behavior and default changes 21

  • Gateway information is propagated on the error path.

    1.6.1release notes

  • The function handles callables and non-dict mappings.

    1.6.0release notes

  • Mustache templates accept non-dict Mapping values.

    1.6.0release notes

  • Gateway metadata is incorporated into traces, making that metadata available in trace data.

    1.5.6release notes

  • Package versions are tracked in tracing metadata.

    1.4.6release notes

  • Tool error content can now be provided as a sequence.

    1.4.4release notes

  • Counts tokens from tool schemas and supports multimodal messages; can scale counts by reported usage and applies a cap when scaling.

    1.4.0release notes

  • Marks stream_v2 and astream_v2 as beta.

    1.4.0release notes

  • astream_v2 is marked as beta.

    1.3.3release notes

  • stream_v2 is marked as beta.

    1.3.3release notes

  • Allows a list of ToolOutputMixin instances to pass through.

    1.3.1release notesrelease notes

  • Updates inheritance behavior for tracer metadata for special keys.

    1.3.1release notesrelease notes

  • Imputes placeholder filenames for OpenAI file inputs.

    1.2.24release notesrelease notes

  • Adds LangSmith integration metadata to create_agent.

    1.2.20release notes

  • Adds LangSmith integration metadata to init_chat_model.

    1.2.20release notes

  • Includes tool schemas when approximately counting tokens.

    1.2.10release notes

  • Approximate token counting supports multimodal messages.

    1.2.8release notes

  • HTML link extraction ignores more file extensions.

    1.2.7release notes

  • Tool call counts and their metadata are counted and stored automatically.

    1.2.5release notes

  • Uses uuid7 for run IDs.

    1.1.1release notesrelease notes

  • Tool runtime injection is supported when a custom args schema is provided.

    1.0.6release notes

Tooling 1

Fixes and other changes 118

  • Extras are now propagated on content-block-start events.

    1.6.12release notes

  • Hardens handling around inspect.signature for Python 3.14.

    1.6.7release notes

  • Includes OpenAI redacted_content in v1 output for Bedrock Converse.

    1.6.7release notes

  • Adds compatibility with Claude Sonnet 5.5 for developers using the Anthropic integration.

    1.6.6release notes

  • Long tool IDs are abbreviated in XML buffer strings.

    1.6.5release notes

  • Avoids mutation in Bedrock Converse standard content.

    1.6.2release notes

  • Avoids mutation in Google GenAI standard content.

    1.6.2release notes

  • Indexing in genai v1 streaming content was fixed.

    1.6.1release notes

  • StructuredTool was made JSON-serializable.

    1.6.1release notes

  • Chain-group runs are finalized when a BaseException is raised.

    1.6.0release notes

  • RunnablePick instances can now be deserialized.

    1.6.0release notes

  • Postponed annotations are resolved when determining injected argument keys.

    1.6.0release notes

  • Now handles None and zero sizes consistently with batch_iterate.

    1.5.5release notes

  • Fixes issues in merging chunks.

    1.5.5release notes

  • Preserves non-string, non-dictionary items in list values.

    1.5.5release notes

  • Fixes handling of tool descriptions when infer_schema is false.

    1.5.5release notes

  • Handles falsy LLM and chat model caches.

    1.5.5release notes

  • Validation now respects Pydantic aliases for tool inputs.

    1.5.5release notes

  • Clears the callback when an exception occurs in the context manager.

    1.5.5release notes

  • Handles v1 base model validation in the async path.

    1.5.5release notes

  • Injected arguments are handled for subclasses of BaseTool.

    1.5.4release notes

  • filter_args respects include_injected=False.

    1.5.4release notes

  • OpenAI file blocks are preserved.

    1.5.4release notes

  • Compatibility with pydantic 2.14 was fixed.

    1.5.4release notes

  • Runables using RootModel preserve a flat tool args schema.

    1.5.4release notes

  • Streaming tracers close event loops they create internally.

    1.5.4release notes

  • StructuredPrompt no longer mutates caller kwargs.

    1.5.4release notes

  • Text stream projections have corrected types.

    1.5.4release notes

  • The gateway now falls back to LANGSMITH_API_KEY for authentication.

    1.5.3release notes

  • Handles empty strings in gateway environment variables.

    1.5.2release notes

  • Uses the tool_call_schema cache for BaseTool token counting.

    1.5.1release notes

  • Uses asyncio.get_running_loop() in async contexts.

    1.4.9release notes

  • Improved error messages from LangSmith loaders, making loader failures clearer to developers.

    1.4.9release notes

  • Fixed handling of continuation lines containing colons when parsing Google-style docstrings.

    1.4.9release notes

  • Added messages to bare raise ValueError calls, making these errors more informative.

    1.4.9release notes

  • Fixed bugs in XML and Pydantic output parsers.

    1.4.9release notes

  • Preserves usage token details in v3 streaming events.

    1.4.8release notes

  • The package version trace metadata was renamed.

    1.4.7release notes

  • Pydantic v1 support in tools/runnable was fixed.

    1.4.7release notes

  • Normalize v1 streamed tool calls.

    1.4.6release notes

  • Fixes the async tracer fallback for on_chat_model_start when called in a sync context.

    1.4.5release notes

  • Tightens structured output model fallbacks.

    1.4.5release notes

  • The output type of structured tool error handlers is fixed.

    1.4.4release notes

  • Accepts the Serializable constructor-envelope wire shape.

    1.4.1release notes

  • Removes Bedrock prevalidation from load.

    1.4.1release notes

  • Preserves reasoning blocks alongside tool_call in the v3 stream.

    1.4.1release notes

  • Preserves chunk additional_kwargs across v3 stream assembly.

    1.4.1release notes

  • Adds add_user_message and add_ai_message back.

    1.4.0release notes

  • Avoids eagerly importing pydantic.v1 when using the deprecated decorator.

    1.4.0release notes

  • Fixes string content when streaming with output_version="v1".

    1.4.0release notes

  • Adds support for Python 3.14, including TypedDict compatibility using get_type_hints.

    1.4.0release notes

  • Delegates to the core implementation on invoke when streaming=True.

    1.4.0release notes

  • Includes tool_call_id in on_tool_error event data and passes it to on_tool_start callbacks.

    1.4.0release notes

  • Validates batch_size in _batch and _abatch to prevent an infinite loop.

    1.3.3release notesrelease notes

  • Preserves structured inputs on tool runs in tracers.

    1.3.3release notesrelease notes

  • Makes the removal argument optional.

    1.3.3release notesrelease notes

  • Handles response content blocks that lack a type key during conversion.

    1.3.0release notes

  • Restores cloud metadata IPs and the link-local range in the SSRF policy.

    1.3.0release notesrelease notes

  • Handles symlinks in the deprecated prompt save path.

    1.2.27release notesrelease notes

  • Adds an initialization validator and serialization mappings for Bedrock models.

    1.2.26release notes

  • Adds computer to the set of well-known OpenAI tools.

    1.2.24release notesrelease notes

  • Adds missing ModelProfile fields and warns on schema drift.

    1.2.21release notesrelease notes

  • Invocation parameters are now traced in metadata.

    1.2.20release notes

  • Tool call schema generation now preserves default_factory.

    1.2.18release notes

  • Usage metadata is now extracted from serialized tracer message outputs.

    1.2.17release notes

  • Empty tool chunk IDs are treated as missing during merge.

    1.2.16release notes

  • Typing and documentation clarify that on_chat_model_start requires positional arguments.

    1.2.15release notes

  • Error messages for non-JSON-serializable tool schemas are improved, making these failures easier to understand.

    1.2.15release notes

  • Prevents a recursion error when args_schema is a dict.

    1.2.14release notes

  • Accepts integer temperature values for LangSmith tracing.

    1.2.14release notes

  • Fixes incorrect merging of parallel tool calls.

    1.2.14release notesrelease notes

  • Preserves index and timestamp fields when merging.

    1.2.14release notes

  • Fixes setting ChatGeneration.text.

    1.2.12release notes

  • The tracer now catches Exception instead of using a bare except.

    1.2.11release notes

  • The cap is applied and adjusted when scaling approximate token counts.

    1.2.9release notes

  • Base model annotations are allowed for an empty model.

    1.2.8release notes

  • Block iteration uses Iterator instead of Iterable.

    1.2.8release notes

  • Fixes parsing when docstrings have no arguments or reserved arguments.

    1.2.8release notes

  • Improves the error message when a title is missing.

    1.2.8release notes

  • Nested Mustache variable extraction is fixed.

    1.2.8release notes

  • Correctly guards against non-text-block types.

    1.2.8release notes

  • The event data now includes tool_call_id.

    1.2.8release notes

  • Prevents a crash when the messages list is empty.

    1.2.8release notes

  • The return type is Iterator.

    1.2.8release notes

  • Injected arguments found only in a tool signature are no longer traced.

    1.2.7release notes

  • Injected arguments are excluded from tool schemas.

    1.2.7release notes

  • Message IDs are stripped from cache keys using model_copy.

    1.2.7release notes

  • Strict schema generation is fixed for functions with optional arguments.

    1.2.7release notes

  • URL-encodes the bgColor parameter in mermaid API calls.

    1.2.6release notes

  • Fixes callback manager merging that mixed handlers.

    1.2.6release notes

  • Default arguments are populated from a tool's args_schema.

    1.2.5release notes

  • Uses tool_calls instead of the deprecated function_call when formatting messages.

    1.2.5release notesrelease notes

  • The return types of RunnablePick methods were fixed.

    1.2.5release notes

  • A serialization issue was fixed.

    1.2.5release notes

  • The decorator now preserves descriptions supplied through Field(description=...).

    1.2.5release notes

  • tool_call_count is ensured to never be null.

    1.2.5release notes

  • Trace persistence is deferred for iterator inputs.

    0.3.82, 1.2.4release notesrelease notes

  • Allows unknown blocks in convert_to_openai_messages.

    1.2.3release notes

  • Uses get_type_hints for Python 3.14 TypedDict compatibility.

    1.2.2release notes

  • Handles None arguments in parse_tool_call.

    1.2.1release notes

  • The conversion input type was widened to Mapping, allowing mapping inputs.

    1.2.0release notes

  • Jinja2 restrictions were undone, changing the restrictions applied when using Jinja2.

    1.1.3release notes

  • Prevents async tasks from being garbage-collected.

    1.1.2release notes

  • The callback now receives tool_call_id.

    1.1.2release notes

  • Uses ensure_ascii=False when formatting exceptions.

    1.1.1release notes

  • Handles a missing schema for StructuredPrompt.

    1.1.1release notes

  • Fixes a tool call ID bug introduced with runtime injection.

    1.1.1release notes

  • Exceptions are no longer masked, so callers can observe the original exception.

    1.0.5release notes

  • Empty content blocks are filtered from formatted prompts.

    1.0.4release notes

  • Fixes tool name checking in name_dict.

    1.0.4release notes

  • Fixes empty parallel schemas when child runnable input schemas use TypedDict.

    1.0.4release notes

  • Fixes the case where RunnablePick may not return a dict when keys is a string.

    1.0.4release notes

  • Preserves context in shielded async callbacks.

    1.0.4release notes

  • JSON get_format_instructions is improved using Opik Agent Optimizer.

    1.0.2release notes

  • PydanticOutputParser format instructions are fixed for v1 models.

    1.0.2release notes

  • Google GenAI text blocks are translated to v1.

    1.0.2release notes

  • Injected arguments are filtered out from tracing.

    1.0.2release notes

  • Schema handling is more defensive.

    1.0.1release notes

langchain-core 0.34 changes

Breaking changes 1

  • Run IDs now use UUID7, changing the format of generated run identifiers.

    0.3.83release notes

Security 2

Fixes and other changes 1

  • A serialization patch was included; the notes do not specify further details.

    0.3.81release notes