LangChain has announced the release of version 0.3, bringing significant upgrades and improvements to both Python and JavaScript ecosystems, according to the LangChain Blog.
What’s Changed
Python
All packages have been upgraded from Pydantic 1 to Pydantic 2 internally, fully supporting the use of Pydantic 2 in user code without the need for bridges like langchain_core.pydantic_v1
or pydantic.v1
. Pydantic 1, which reached its end-of-life in June 2024, will no longer be supported. Additionally, Python 3.8 support will be discontinued as its end-of-life is scheduled for October 2024.
JavaScript
All LangChain packages now list @langchain/core
as a peer dependency instead of a direct dependency to avoid type errors related to core version conflicts. Users must explicitly install @langchain/core
rather than relying on an internally resolved version from other packages. Other changes include making callbacks backgrounded and non-blocking by default, and the removal of deprecated document loader and self-query entrypoints from langchain
in favor of entrypoints in @langchain/community
and integration packages. Deprecated Google PaLM entrypoints have also been removed in favor of entrypoints in @langchain/google-vertexai
and @langchain/google-genai
. Furthermore, objects with a "type"
as a BaseMessageLike
are deprecated in favor of the more OpenAI-like MessageWithRole
.
What’s New
LangChain v0.3 introduces several new features and improvements:
- More integrations have been moved from
langchain-community
to their ownlangchain-{name}
packages, allowing better dependency management, testing, and versioning. The legacy implementations remain inlangchain-community
but are marked as deprecated. - Revamped integration docs and API references.
- Simplified tool definition and usage.
- New utilities for interacting with chat models, including a universal model constructor, message trimming, filtering and merging utilities, and a rate limiter.
- Ability to dispatch custom events.
How to Update Your Code
To assist users in migrating to LangChain v0.3, detailed how-to guides for both Python and JavaScript are available.
Documentation
LangChain documentation is versioned, and previous versions will remain accessible at their respective URLs.
LangGraph
LangGraph is a library for building stateful, multi-actor applications with LLMs. As of LangChain v0.2, LangGraph is the recommended way to build agents. It includes a pre-built LangGraph object equivalent to the LangChain AgentExecutor, simplifying the use of out-of-the-box agent solutions.
What’s Coming
The LangChain team is planning further improvements to LangChain’s multi-modal capabilities and continues to work on enhancing documentation and integration reliability.
Image source: Shutterstock